闪烁LED灯的设计单片机课程设计.docx
- 文档编号:6300642
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:9
- 大小:281.29KB
闪烁LED灯的设计单片机课程设计.docx
《闪烁LED灯的设计单片机课程设计.docx》由会员分享,可在线阅读,更多相关《闪烁LED灯的设计单片机课程设计.docx(9页珍藏版)》请在冰豆网上搜索。
闪烁LED灯的设计单片机课程设计
闪烁LED灯的设计
本设计的闪烁小灯控制器,可使小灯轮流点亮、逐个点亮、间隔闪亮。
如果要控制交流彩灯,可在P1端口加接继电器或可控硅接口电路。
本设计可应用在广告彩灯控制器和舞台灯光控制器等领域。
一、系统硬件电路的设计
图1为闪烁小灯控制器的电路原理图,其中:
单片机采用AT89C2051,P1口作LED发光管输出控制用,P3.0-P3.2口为闪烁方式控制开关K1、K2、K3按键接口,P3.3口的按键作备用,限流电阻为510Ω,发光管工作电流约10mA,采用12MHz晶振。
图1闪烁小灯电路原理图
二、系统主要程序的设计
1、主程序
通过扫描P3.0-P3.2口,判断是否有按键按下,然后在20H内存单元的低3位的对应位置1标志,确定应执行的闪烁功能。
当20H.0为1时,发光管轮流点亮;当20H.1为1时,发光管逐点点亮;当20H.2为1时,发光管间隔闪亮。
在主程序对20H的低3位进行位值判定后,转入相应的闪烁控制程序。
上电初始化时,对20H的最低位置1,系统进入轮流点亮方式。
主程序流程图如图2所示。
2、键扫描子程序
因按键较少,采用直接端口扫描键开关,用软件延时消抖确认后,对20H内存单元相应的位置1,并把其余位清0。
图2主程序流程图
3、闪烁控制程序
闪烁控制程序用来控制P1口的发光管发光变化方式,其中:
执行功能程序0(FUN0)时的P1口输出值变化为11111110→延时→11111101→延时→11111011→延时→11110111→延时→11101111→延时→11011111→延时→10111111→延时→01111111→延时→结束转主程序。
执行功能程序1(FUN1)时的P1口输出变化为11111110→延时→11111100→延时→11111000→延时→11110000→延时→11100000→延时→11000000→延时→10000000→延时→00000000→延时→结束转主程序。
执行功能程序2(FUN2)时的P1口输出变化为10101010→延时→01010101→延时→结束转主程序。
4、延时子程序
延时子程序有10ms和0.5s两个,用作键扫描消抖及发光管闪烁延时。
发光管闪烁的快慢可由R4寄存器内的初值进行改变。
本控制器在使用中,如果要改变闪烁的方式,可按下相应的功能按键。
当一个完整的闪烁循环结束后,即可转入新的闪烁方式。
由于键扫描是在闪烁循环结束时进行,因此,功能开关按下的时间应较长才能被读入。
改进的方法是把DL05S延时子程序用键扫描子程序来代替,这样,只要按下按键即可被键扫描程序读入。
三、汇编语言
以下是闪烁LED小灯控制器完整的汇编程序清单:
小灯控制程序
中断入口程序
ORG0000H;程序执行开始地址
LJMPSTART;跳到START执行
ORG0003H;外中断0中断入口地址
RETI;中断返回(不开中断)
ORG000BH;定时器T0中断入口地址
RETI;中断返回(不开中断)
ORG0013H;外中断1中断入口地址
RETI;中断返回(不开中断)
ORG001BH;定时器T1中断入口地址
RETI;中断返回(不开中断)
ORG0023H;串行口中断入口地址
RETI;中断返回(不开中断)
初始化程序
CLEAR:
MOV20H,#00H;20H单元内存清0(闪烁标志清0)
SETB00H;20H.0位置1(上电时自动执行闪烁功能1)
RET;子程序返回
主程序
START:
ACALLCLEAR;调用初始化子程序
MAIN:
LCALLKEYWORK;调用键扫描子程序
JB00H,FUN0;20H.0位为1时执行FUN0
JB01H,FUN1;20H.1位为1时执行FUN1
JB02H,FUN2;20H.2位为1时执行FUN2
JB03H,MAIN;备用
AJMPMAIN;返回主程序MAIN
功能程序
第1种闪烁功能程序
FUN0:
MOVA,#0FEH;累加器赋初值
FUN00:
MOVP1,A;累加器值送至P1口
LCALLDL05S;延时
JNBACC.7,MAIN;累加器最高位为0时转MAIN
RLA;累加器A中数据循环左移1位
AJMPFUN00;转FUN00循环
第2种闪烁功能程序
FUN1:
MOVA,#0FEH;累加器赋初值
FUN11:
MOVP1,A;累加器值送至P1口
LCALLDL05S;延时
JZMAIN;A为0转MAIN
RLA;累加器A中数据循环左移1位
ANLA,P1;A同P1口值相“与”
AJMPFUN11;转FUN11循环
第3种闪烁功能程序
FUN2:
MOVA,#0AAH;累加器赋初值
MOVP1,A;累加器值送至P1口
LCALLDL05S;延时
CPLA;A中各位取“反”
MOVP1,A;累加器值送至P1口
LCALLDL05S;延时
AJMPMAIN;转MAIN
扫描程序
KEYWORK:
MOVP3,#0FFH;置P3口为输入状态
JNBP3.0,KEY0;读P3.0口,若为0转KEY0
JNBP3.1,KEY1;读P3.1口,若为0转KEY1
JNBP3.2,KEY2;读P3.2口,若为0转KEY2
JNBP3.3,KEY3;读P3.3口,若为0转KEY3
RET;子程序返回
闪烁功能0键处理程序
KEY0:
LCALLDL10MS;延时10ms消抖
JBP3.0,OUT0;P3.0为1,子程序返回(干扰)
SETB00H;20H.0位置1(执行闪烁功能1标志)
CLR01H;20H.1位清0
CLR02H;20H.2清0
CLR03H;20H.3位清0
OUT0:
RET;子程序返回
闪烁功能1键处理程序
KEY1:
LCALLDL10MS
JBP3.1,OUT1
SETB01H;20H.1位置1(执行闪烁功能2标志)
CLR00H
CLR02H
CLR03H
OUT1:
RET
闪烁功能2键处理程序
KEY2:
LCALLDL10MS
JBP3.2,OUT2
SETB02H;20H.2位置1(执行闪烁功能3标志)
CLR01H
CLR00H
CLR03H
OUT2:
RET
闪烁功能(备用)键处理程序
KEY3:
LCALLDL10MS
JBP3.3,OUT3;20H.3位置1(执行备用闪烁功能标志)
SETB03H
CLR01H
CLR02H
CLR00H
OUT3:
RET
延时程序
延时子程序,执行一次时间为513μs
DL512:
MOVR2,#0FFH
LOOP1:
DJNZR2,LOOP1
RET
10ms延时子程序(调用20次0.5ms延时子程序)
DL10MS:
MOVR3,#14H
LOOP2:
LCALLDL512
DLNZR3,LOOP2
RET
延时子程序,改变R4寄存器初值可改变闪烁的快慢(时间为25ms×15)
DL05S:
MOVR4,#0FH
LOOP3:
LCALLDL25MS
DLNZR4,LOOP3
RET
25ms延时子程序,调用扫键子程序延时,可快速读出功能按键值
DL25MS:
MOVR5,#0FFH
LOOP4:
LCALLKEYWORK
DJNZR5,LOOP4
RET
END;程序结束
四、程序仿真调试
基于单片机的闪烁LED灯的设计,我们小组使用了keiluvision3和Proteus两种单片机开发软件进行仿真调试。
KeiluVision3是德国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。
KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,Proteus集成了原理图捕获、SPICE电路仿真和PCB设计,形成一个完整的电子设计系统。
1、汇编程序,建立源程序
使用KeiluVision3软件编写闪烁LED灯控制程序,调试程序
图3汇编程序
图4调试程序
2、闪烁LED电路仿真
使用Proteus进行电路仿真,利用上面已编好的源程序对设计电子电路进行虚拟模型仿真
图5电路仿真
五、设计总结
LED灯具有使用低压电源、耗能少、适用性强、稳定性高、响应时间短、对环境无污染、多色发光等的优点,LED灯广泛使用于我们的生活中,给我们带来了色彩丰富的世界。
本设计的闪烁LED灯的控制原理,广泛应用在广告彩灯控制器和舞台灯光控制器等领域,关于LED灯产品的商业效益有着不错的发展前途。
经过这次的设计,我们小组对单片机有了更进一步的了解,知道了它的内部结构的程序的运行过程,同时对汇编语言有了进一步的了解,能用它实现简单功能的单片机设计。
在本次设计中,使用到了Keil和Proteus两种单片机仿真软件,逐步深入了解这两个软件的使用,对以后关于单片机的电子设计有着
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 闪烁 LED 设计 单片机 课程设计