《单片机原理与应用》课程设计报告范本.docx
《《单片机原理与应用》课程设计报告范本.docx》由会员分享,可在线阅读,更多相关《《单片机原理与应用》课程设计报告范本.docx(16页珍藏版)》请在冰豆网上搜索。
![《单片机原理与应用》课程设计报告范本.docx](https://file1.bdocx.com/fileroot1/2023-8/3/8580c17b-fd69-4370-88a9-cc7434bdbb5b/8580c17b-fd69-4370-88a9-cc7434bdbb5b1.gif)
《单片机原理与应用》课程设计报告范本
江西理工大学应用科学学院机电工程系
单片机原理与应用课程设计报告
设计题目:
智能路灯
专业:
自动化
班级:
071
学号:
25、27、28
参与人员:
汪志敏、袁峰、武海林
指导老师:
李振凯
完成日期:
2010-07-09
指导老师评语:
得分:
指导教师签名:
目录
1设计任务和性能指标1
1.1设计任务1
1.2性能指标1
2设计方案1
2.1需求分析1
2.2方案论证2
3系统硬件设计2
3.1硬件需求分析:
2
3.2时钟电路3
3.3复位3
3.4AT89C52功能说明4
4系统软件设计5
4.1软件需求分析5
4.2程序流程图6
4.3数码管显示子程序6
4.4交通灯显示子程序7
5系统硬件设计7
5.1调试步骤8
5.2性能分析10
6总结10
参考文献11
附录1系统硬件电路图11
附录2程序清单12
1设计任务和性能指标
1.1设计任务
设计一个具有特定功能的十字路口交通灯。
首先东西路口红灯亮,南北路口绿灯亮,同时开始倒计时25秒,以七段数码管显示时间,20秒结束后,开始5秒倒计时,南北路口绿灯闪烁,计时到最后3秒时,南北路口黄灯亮,完成这样是1次循环需要25秒,25秒后,南北路口红灯亮,东西路口亮绿灯,并重新开始25秒倒计时,依次循环。
1.2性能指标
(1)LED数码管显示屏性能指标
1最大亮度
2基色主波长误差
3占空比
4刷新频率
(2)红绿灯性能指标
1.光学性能1.1光强分布符合GB14887的要求1.2色度坐标符·合CIE国际委员会制定的《灯光信号颜色》标准中要求的,包括颜色视觉功能有缺陷的观察者所要达到的有关规定,(该指标比GB14887还要严格)
2.电气性能2.1工作电压AC220+10/-15%V50Hz2.2额定功率单灯<15W2.3绝缘电阻>10MΩ2.4介电强度耐压1440VAC2.5燃点寿命50000h
3.物理、机械性能3.1抗风压145km/h3.2抗振动要求符合GB14887要求3.3防护等级大于IP65,光学部件LED处可达IP65
4.适应环境4.1信号灯工作环境温度为-40℃~50℃4.2温度为25℃时,空气相对湿度不大于95%
2设计方案
2.1需求分析
随着经济的高速发展,交通运输业面临巨大挑战,人口的巨增,生活水平的提高,私家车的大量拥入,城市中心的交通安全也就成了我们面临的主要问题。
为了缓解交通拥挤和交通安全问题,交通灯随之问世,然而,交通灯并不是万能的,虽然现在的交通灯有显示倒记时的功能,但是对于色盲者,红绿色盲者,交通灯也就失去了作用,幸好现在的交通灯在显示倒记时的同时,还有相关的交通图形显示,这样,的确从一定的程度上缓解了交通安全问题,如果要想从根本上解决问题,关键还是要靠我们广大群众一起努力。
2.2方案论证
由于电路简单,程序少于4KB,所以选择AT89C52单片机的I/O串行口直接作输入输出使用,不在扩展其他口与功能模块。
用4快数码管静态显示通车倒计时时间,用单片机P2口控制。
用红绿黄个6个发光二极管代替交通路口的红绿黄灯,其状态的改变用单片机P3口控制数码管的时间显示。
当出现紧急状态时通过外部按键进行相应处理。
方案一:
数码管用并口方式输出显示,需要有一个口来控制它的七段数码管,还要用一个译码器来控制它的位选段,还需要一个口来控制发光二极管。
但显示不稳定
方案二:
数码管用串行口输出显示,需要一个移位寄存器,通过移位寄存器来控制数码管,
用一个口来控制法光二极管,这样可以少用一个口。
时间显示也稳定,所以选择方案二。
3系统硬件设计
3.1硬件需求分析:
通过分析可以知道完成此项任务所需元器件有:
89C52芯片一块,无极电容,有机电容,电阻,晶振,74ls164(移位寄存器),数码管,7405(非门),红,黄,绿发光二极管。
功能模块图如下:
3.2时钟电路
AT89C52单片机内部有一个用于构成振荡器的高增益反相放大器,其输入端引脚XTAL1输出端引脚XTAL2,而在芯片外部,XTAL1和XTAL2之间接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,一般电容C1和C2取30pF左右,晶体的振荡频率范围是1.2—12MHz。
晶体振荡频率越高,则系统的时钟频率越高,单片机运行速度也就越快。
电路图如下:
3.3复位
RST引脚是复位信号的输入端,复位信号为高电平有效。
当高电平持续24个振荡脉冲周期以上才有效,单片机完成复位。
复位方式有两种,一种是上电自动复位,一种是按键手动复位,复位电路中的电阻,电容数值是为了保证在RST端能够保持两个机器周期以上的高电平以完成复位而设定的,上电自动复位是单片机接通电时,对电容充电来实现的,上电瞬间,RST端的电位与Vcc相同,随着充电电流的减小,RST端的电位下降只要在RST端有足够长时间保持阈值电压,单片机就可自动复位。
电路图如下:
3.4AT89C52功能说明
AT89C52是美国ATMEL公司生气的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。
主要性能参数:
·与MCS-51产品指令和引脚完全兼容
·8K字节可重擦写Flash闪速存储器
·1000次擦写周期
·全静态操作:
0Hz—24MHz
·三级加密程序存储器
·256×8字节内部RAM
·32个可编程I∕O口线
·3个16位定时器∕计数器
·8个中断器
·可编程串行UART通道
·低功耗空闲和掉电模式
功能特性概述:
AT89C52提供以下标准功能:
8k字节Flash闪速存储器,256字节内部RAM,32个I∕O口线,3个16位定时器∕计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式,空闲方式停止CPU的工作,但允许RAM,定时∕计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有其它部件工作直到下一个硬件复位。
电路图如下:
4系统软件设计
4.1软件需求分析
通过软件来完成对交通的亮灭,来指挥交通和数码管显示时间功能模块。
软件烧入AT89C52让硬件完成这些功能,功能图如下:
4.2程序流程图
4.3数码管显示子程序
DISPLAY:
MOVA,SECOND1
MOVB,#10
DIVAB
MOVDBUF+3,A
MOVA,B
MOVDBUF+2,A
MOVA,SECOND2
MOVB,#10
DIVAB
MOVDBUF+1,A
MOVA,B
MOVDBUF,A
MOVR0,#DBUF
MOVR1,#TEMP
MOVR7,#4
DP10:
MOVDPTR,#LEDMAP
MOVA,@R0
MOVCA,@A+DPTR
MOV@R1,A
INCR0
INCR1
DJNZR7,DP10
MOVR0,#TEMP
MOVR1,#4
DP12:
MOVR7,#8
MOVA,@R0
DP13:
RLCA
MOVP3.0,C
CLRP3.1
SETBP3.1
DJNZR7,DP13
INCR0
DJNZR1,DP12
RET
LEDMAP:
DB3FH,6,5BH,4FH,66H,6DH
DB7DH,7,7FH,6FH,77H,7CH
DB58H,5EH,7BH,71H,0,40H
4.4交通灯显示子程序
STATE1:
SETBLED_G1
CLRLED_Y1
CLRLED_R1
CLRLED_G2
CLRLED_Y2
SETBLED_R2
RET
STATE2:
CLRLED_G1
CLRLED_R1
CLRLED_G2
CLRLED_Y2
SETBLED_R2
RET
STATE3:
CLRLED_Y1
CLRLED_R1
CLRLED_G2
CLRLED_Y2
SETBLED_R2
SETBLED_G1
RET
STATE4:
CLRLED_G1
CLRLED_Y1
SETBLED_R1
SETBLED_G2
CLRLED_Y2
CLRLED_R2
RET
STATE5:
CLRLED_G1
CLRLED_Y1
SETBLED_R1
CLRLED_G2
CLRLED_R2
RET
STATE6:
CLRLED_G1
CLRLED_Y1
SETBLED_R1
CLRLED_Y2
CLRLED_R2
SETBLED_G2
RET
5系统硬件设计
5.1调试步骤
(1)打开Keil,新建keil项目,选择AT89C52,单片机CPU,新建汇编源文件,编写程序,并将导入到SourceGroup1中,在OptionsforTarget对话窗口中,选中Ourput选项中的Createhexfile选项和Debug选项中的Useproteousvsmsimulator选项,编译程序,改正程序中的错误。
(2)在Proteousisis中,选中AT89C52并单击鼠标左键,打开editcomponent对话窗口,晶振频率为12Mhz,再选择先前生成的Hex文件,再保存设计。
在打开Proteousisis菜单中的,debug菜单,在此菜单中useremotedebugmonitor选择,
(3)在proteousisis中观察结果。
5.2性能分析
1.能精确的倒计时
2.红绿灯的跳变很准确
3.数码管的显示有点不稳定
4.能达到此实验的要求
6总结
1、通过这次课程设计,加强了我们动手、思考和解决问题的能力。
在整个设计过程中,我们通过这个方案包括设计了一套电路原理和PCB连接图,和芯片上的选择。
这个方案总共使用了74LS164,数码管,7405,AT89C52,移位寄存器,电阻,电容。
2、在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。
3、我们在做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。
平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。
而且还可以记住很多东西。
比如一些芯片的功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个元件映象深刻。
认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。
所以这个期末测试之后的课程设计对我们的作用是非常大的。
4、在制作PCB时,发现细心耐心,恒心一定要有才能做好事情,首先是线的布局上既要美观又要实用和走线简单,兼顾到方方面面去考虑是很需要的,否则只是一纸空话。
5、在画好原理图后的做PCB版时,由于项目组成员对单面板的不熟悉,导致布线后元件出现在另一边,增加了布线难度,也产生很多不曾注意的问题,今后要牢记这个教训,使以后布线更加顺利。
6、此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。
7、在此,感谢刘老师的细心指导,也同样谢谢其他各组同学的无私帮助!
参考文献
《单片机课程设计指导》 北京航天航空大学出版社
《基于MCS-51系列的单片机原理的应用设计》 国防工业出版社
《单片机实训教程》 北京大学出版社
《单片机系统原理及应用》
《拟电子技术基础》高等教育出版社
《字电子技术基础》高等教育出版社
《电路》
附录1系统硬件电路图
附录2程序清单