用51单片机做一个简易呼吸灯

发布者:HeavenlyJoy444最新更新时间:2020-01-12 来源: 51hei关键字:51单片机  简易呼吸灯  占空比 手机看文章 扫描二维码
随时随地手机看文章

利用占空比的方式来控制灯的变暗和变亮

占空比就是高电平和低电平的比例;

实现呼吸灯效果是利用人眼的分辨率只能看到25帧每秒,甚至还不够,

所以用单片机做呼吸灯是利用频率来控制呼吸灯的呼吸时间,用占空比来控制灯的亮度

代码如下

#include

sbit LED1=P2^0;         //定义灯的位置

int PWM_Low,Clock=500;

void delay(unsigned int x) //延迟函数

{

   int i;

   for(i=0;i}           

void main(void)

{

    while(1)

          {

            for(PWM_Low=Clock;PWM_Low>0;PWM_Low--) //逐渐变暗

             {

                   LED1=1;

                   delay(PWM_Low);

                   LED1=0;

                   delay(Clock-PWM_Low);

                 }

            for(PWM_Low=0;PWM_Low                  {

                                LED1=1;

                                delay(PWM_Low);

                                LED1=0;

                                delay(Clock-PWM_Low);

                  }           

           }

}


关键字:51单片机  简易呼吸灯  占空比 引用地址:用51单片机做一个简易呼吸灯

上一篇:51单片机定时器初值怎么精确计算?
下一篇:基于51单片机产生占空比和频率可调的方波信号发生器

推荐阅读最新更新时间:2024-11-13 10:39

数显温度计设计电路图大全(DS18B20/89S51单片机/液晶)
数显温度计设计电路图(一):液晶显示的数字式电脑温度计电路 如图为液晶显示的数字式电脑温度计电路。该八段式四位LCD显示器,内置驱动器,串行数据传送,使用方便。 液晶显示的数字式电脑温度计电路 数显温度计设计电路图(二) 介绍一种具有简单人工智能的温度控制电路,使用该电路进行温度控制时,只需将开关打在2的位置,通过设定控制温度,并通过3位半数显表头所显示的温度值,即可精确地控制温度,使得温控操作变得十分方便。LM35是一种内部电路已校准的集成温度传感器,其输出电压与摄氏温度成正比,线性度好,灵敏度高,精度适中.其输出灵敏度为10.0MV/℃,精度达 0.5℃.其测量范围为-55—150℃。在静止温度中自热效应低.工作电压较
[单片机]
数显温度计设计电路图大全(DS18B20/89S<font color='red'>51单片机</font>/液晶)
8051单片机片内数据存储器分为哪几个性质和用途不同的区
8051内部128B的数据RAM区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。各区域的特性如下: (1)00H~1FH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器R0~R7。当前工作寄存器组的选择是由程序状态字PSW的RS1、RS0两位来确定。如果实际应用中并不需要使用工作寄存器或不需要使用4组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri的寄存器间接寻址来访问。 (2)20H~2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H~7FH。 当然,位寻址区也可以用作字节寻址的一般数据
[单片机]
基于51单片机-C语言之预处理总结
预处理命令由符号“#”开头,包括宏定义,文件包含,条件处理三个部分。 其中条件编译我还没有用过,所以就详细介绍一下宏定义和文件包含。 一.宏定义 宏定义命令为#define,它的作用就是实现用一个简单易读的字符串来代替 另一个字符串。增加程序的可读性,和维护性。 宏定义分为不带参数的宏定义,和带参数的宏定义。 不带参的宏定义: 一般格式:#define 标识符 常量表达式 例如用一个字符代替一个常数 #define PI 3.1415926 当程序中出现3.1415926这个常数的时候就可以用PI这个字符代替,如果想修改这个常数只需要修改这个宏定义中的常数,就可以达到修改整个文件中这个常数的
[单片机]
51单片机-输入捕获
1.捕获高电平时间 我们利用定时器0的计数功能实现捕获外部引脚的高电平时间。定时器在不同用法里有不同称呼,比如我们这次是想得知某段过程持续了多长时间,用定时器的计数方式的话就叫做计数器。 我们这次选用的外部引脚还是P1.6,初始时先让该引脚输出低电平。 我们之前没有说过当TMOD低四位里的第三位GATE为1时是什么作用,这里说明一下,当这个位被置1的话,如果此时有“TR0=1;”,且P3.2必须为高电平的时候,才会触发定时器0的计数(P3.2为低电平时不会触发),也就是TL0每隔(12/11059200)秒就会加1,加到256变为0之后TH0就加1。一直加到65535就会有“TL0=255;”和“TH0=255;”,再加
[单片机]
<font color='red'>51单片机</font>-输入捕获
51单片机串口通信例子
小记:本例子是在别人的版本修改而来的,因本人没有11.0592MHz的晶振,进而采用12MHz的,经过波特率的调整发现在波特率为1200时,定时器工作在方式二,穿口工作在模式二,且SMOD=1.此时定时器的TH1=TL1=0xCC,此时调试串口没有错误。 发送例子: #include reg52.h #include stdio.h void delay(unsigned int i); char code message ="welcome"; unsigned char a; void main(void) { SCON=0x50; //REN=1 ,串口工作模式2; TMOD=0x20; //
[单片机]
51单片机 蜂鸣器
蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。三极管的作用为驱动,通过三极管放大驱动电流,从而可以让蜂鸣器发出声音。 有源蜂鸣器和无源蜂鸣器的区别: 这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。 有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。 无源蜂鸣器的优点是:1。便宜,2。声音频率可控,可以做出“多来米发索拉西”的效果。
[单片机]
<font color='red'>51单片机</font> 蜂鸣器
51单片机使用槽型光耦测速模块
【测速模块】 模块资料 我使用的是窄体的槽型光耦测速模块,如下图所示: 接线 1、VCC接电源正极3.3V-5V 2、GND接电源负极 3、D0(TTL开关信号输出)接单片机外部中断 4、A0无效 使用说明 1、模块槽中无遮挡时,接收管导通,模块DO输出低电平,遮挡时,DO输出高电平; 2、DO输出接口可以与单片机10口直接相连,检测传感器是否有遮档,如用电机码盘则可检测电机的转速。 3、模块DO可与继电器相连,组成限位开关等功能,也可以与有源蜂鸣器模块相连,组成报警器。 【单片机程序】 我使用的是传统的89C51单片机,外部晶振为11.0592M。以下程序仅提供思路,省去无关的定义内容等等
[单片机]
<font color='red'>51单片机</font>使用槽型光耦测速模块
51单片机电梯控制系统软硬件设计
电梯系统的升降的方案 为了更有效的进行电梯控制,现在使用最左边的数码管表示电梯上升和下降状态,使用另外一个一个数码管表示电梯此时所在的楼层,使用按键来控制电梯上升或者下降的状态。在每层楼之后需要进行判断上升或者下降。如果是在上升过程中,应先判断是否继续上升,然后在判断是否下降。如果是在下降过程中,应先判断是否继续下降,在判断是否上升。在上升改变为下降状态时,或者下降改变为上升状态时。数码管的状态应该相应改变 总体硬件设计 2.3按键系统设计 运用单片机的按键模拟电梯的楼层按键系统,可以在由一楼上升到八楼过程中,按下下降按键则可以改变上升状态变为下降状态。然后在八楼到一楼的下降过程中,按下上升按键则可以改变下降状态为上升状
[单片机]
<font color='red'>51单片机</font>电梯控制系统软硬件设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved