单片机 节日彩灯控制器.docx
《单片机 节日彩灯控制器.docx》由会员分享,可在线阅读,更多相关《单片机 节日彩灯控制器.docx(10页珍藏版)》请在冰豆网上搜索。
![单片机 节日彩灯控制器.docx](https://file1.bdocx.com/fileroot1/2023-2/2/a65a139b-0e1d-40bb-9290-5834b7541a16/a65a139b-0e1d-40bb-9290-5834b7541a161.gif)
单片机节日彩灯控制器
单片机课程设计报告书
课题名称
节日彩灯控制器
姓名
学号
院、系、部
电气系
专业
自动化
指导教师
节日彩灯控制器
一、设计目的
学习和掌握单片机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
二、设计要求
设计节日彩灯控制器达到以下要求:
1、设计4个按键S0、S1、S2、S3,
S0—开始,按此键则灯开始流动(由上而下)。
S1—停止,按此键则停止流动,所有灯为暗。
S2—上,按此键则灯由上向下流动。
S3—下,按此键则灯由下向上流动。
2.由按键控制功能的流水灯,其中的LED采取共阳极接法,通过依次向连接LED的I/O口送出低电平,可实现题目要求的功能。
3、要求做出实物。
三、硬件电路设计
图3-1
图3-2
图3-3
器件清单:
8个发光二极管,一个89C52芯片,8个限流电阻每个一千欧,两个晶振电容,每个22pf,4个独立按键,一个12MHZ的晶振,一个max232芯片,一个滤波电容,4个1uf电解电容,一个电源开关,一个电源指示灯,一个十千欧复位电阻,一个九针串口,一个usb接口。
四、流程图设计
开始
五、程序设计如下
为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。
把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。
所谓“模块”,实质上就是能完成一定功能,并相对独立的程序段,这种程序设计方法称为模块程序设计法。
模块程序设计法的主要优点是:
(1)单个模块比起一个完整的程序易编写、调试及修改。
(2)程序的易读性好。
(3)程序的修改可局部化。
(4)模块可以共存,一个模块可以被多个任务在不同条件下调用。
(5)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。
本系统软件采用模块化结构,由主程序﹑停止程序、反向程序和延时等子程序构成。
源程序:
org00h
jmpstart
org30h
start:
movp3,#0ffh;P3口置一
jnbp3.0,s0;p3.0为0时执行S0程序段
jnbp3.1,s1;p3.1为0时执行S1程序段
jnbp3.2,s2;p3.2为0时执行S2程序段
jnbp3.3,s3;p3.3为0时执行S3程序段
sjmpstart
s1:
mova,#0ffh;停止程序
movp1,a
sjmpstart
s3:
mova,#0feh;左移亮灯程序
movp1,a
lcalldelay;调用延时
restart:
movr7,#7
loop:
mova,p1
rla;左移
movp1,a
lcalldelay;调用延时
jnbp3.1,s1
jnbp3.0,s0
jnbp3.2,s2
djnzr7,loop
sjmpstart
s0:
mova,#0feh;右移亮灯程序(起始亮的灯为最右边的)
movp1,a
lcalldelay
restart1:
movr7,#7
lop:
mova,p1
rra;右移
movp1,a
lcalldelay;调用延时
jnbp3.3,s3
jnbp3.1,s1
jnbp3.2,s2
djnzr7,lop
sjmprestart1
ret
s2:
mova,#7fh;右移亮灯程序(起始亮的灯为最左边的)
movp1,a
lcalldelay
restart2:
movr7,#7
loop3:
mova,p1
rra;右移
movp1,a
lcalldelay
jnbp3.0,s0
jnbp3.1,s1
jnbp3.3,s3
djnzr7,loop3
sjmprestart2
ret
delay:
;延时程序
movr6,#200
loop2:
movr7,#250
loop1:
nop
nop
djnzr7,loop1
djnzr6,loop2
ret
end
六、设计总结
通过这次单片机课程设计,使我充分了解了单片机的知识,并深入的运用到试验中,理论与现实相结合。
但在此过程中,我也了解到自己在单片机方面还有很多不足,特别是单片机指令系统和各引脚的功能等等知识不够了解。
因此我在设计中遇到不懂的东西就马上查资料或请教老师。
这不仅加深了我对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,使自己学到了不少知识,也经历了不少艰辛,但是我们确实有了很大的提高和收获。
七、参考文献
[1]高峰.单片微型计算机原理与接口技术.科学出版社,2007.
[2]刘红玲、邵晓根,《微机原理与接口技术》,中国电力出版社,2006.