(完整版)单片机控制节日彩灯控制器(内含汇编程序)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
节日彩灯控制器
一、设计目的
1、了解节日彩灯控制器的工作原理
2、掌握按键输入的消抖处理程序和延时程序的编写
3、掌握电路板的实物焊接
二、设计内容
1、设计4个按键S17、S18、S19、S20,
S17—开始,按此键则灯开始流动(由上而下)。
S18—停止,按此键则停止流动,所有灯为暗。
S19—上,按此键则灯由上向下流动。
S20—下,按此键则灯由下向上流动。
2、由按键控制功能的流水灯,其中的LED采取共阳极接法,通过依次向连接LED 的I/O口送出低电平,可实现题目要求的功能。
3、要求做出实物。
三、电路及连线设计
图1电路图
1、所需元器件
1)电阻:10KΩ(1个)、200Ω(8个)、500Ω(2个)
2)电容:10μF(1个)、30pF(2个)
3)LED灯(8个)、按钮(4个)、晶振(12MHZ)
四、使用说明
1、使用5V电源供电
2、按启动键S17,开始从右到左依次循环点亮
3、按第一个转换键S19,灯变为从左到右依次循环点亮
4、按第二个转换键S20, 灯变为从右到左依次循环点亮
5、按停止按键S18,灯停止循环,全部熄灭
五、流程图设计
图2程序流程图
六、程序设计如下
org 00h
ljmp start
org 30h
start: mov p3,#0ffh
jnb p3.3,kaishi
sjmp start
stop: mov p1,#0ffh
sjmp start
kaishi: mov p1,#0feh
lcall delay
loop: mov a,p1
rl a
mov p1,a
lcall delay
jnb p3.2,stop
jnb p3.1,kaishi ;判断有没有3号键按下
jnb p3.0,fan
sjmp loop
fan: mov p1,#07fh
lcall delay
lop: mov a,p1
rr a
mov p1,a
lcall delay
jnb p3.2,stop
jnb p3.1,kaishi ;判断有没有3号键按下
sjmp lop
delay: mov r6,#200 ;(4*250+3)*200+2=0.2s
loop2: mov r7,#250
loop1: nop
nop
djnz r7,loop1
djnz r6,loop2
ret
end
七、设计总结:
感谢学校安排这次单片机小学期,让我们有了将理论与实践同步的机会。这次实践过程中我与组员经过将近四天的努力,完成了小学期的单片机课程设计,包括硬件和软件,过程虽是辛苦的,但从中我却学到了很多东西。首先巩固了课上学习的理论知识,对于计算机汇编语言的系统化整体化有了更深的认识。在编写程序的过程中遇到了很多困难经过我们经过反复调试不断修正最终才得到现在的程序,这让我明白写程序只不过是设计的很小一部分,调试和验证才是最为重要的。最难的部分焊接实物,实验要求八个二极管是共阳极接法,我们先用Protel 99se将接线图画出,然后按照接线图进行焊接,在接下来焊接的过程中我们遇到了很多问题:电解电容正负接反,开关使用方法不正确焊接虚焊等等,在老师的指导和自己细心检查后才焊接成功。整个设计过程最大的收获就是意识到理论知识扎实的重要性,实践是建立在理论之上的;另外就是合作的重要性,每个人都有他的特长一个人难免有疏漏,只有大家共同努力才能顺利的完成任务。
最后感谢马丽老师和高艳玲老师,我们今天的收获是建立在你们这几天的辛苦指导上的。虽然只有短短的几天,但我学到的却很多,这为我今后进入工作岗位奠定了坚实的基础。
参考文献:
[1] 高峰.单片微型计算机原理与接口技术.科学出版社,2007
[2]l李飞.单片机原理及其应用西安电子科技大学出版社,2007