单片机交通灯课程设计报告.docx
- 文档编号:14500119
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:14
- 大小:37.21KB
单片机交通灯课程设计报告.docx
《单片机交通灯课程设计报告.docx》由会员分享,可在线阅读,更多相关《单片机交通灯课程设计报告.docx(14页珍藏版)》请在冰点文库上搜索。
单片机交通灯课程设计报告
目录0
1设计任务0
2设计方案1
2.1任务分析1
2.2方案设计1
2.4软件方案1
3系统硬件设计3
3.1单片机的最小系统3
3.2电源电路设计3
3.3数码管显示电路3
4系统软件设计3
4.1主程序设计3
4.2系统程序4
5调试及性能分析4
5.1软件调试4
5.2硬件调试4
5.3系统功能调试4
6遇到的问题及解决5
7心得体会5
这学期是我们首次接触单片机这门课程,大一的时候学长为我们展示了单片机,告诉我们这是我们以后要学习的很重要的东西,那时候只看到一块板子上可以显示数字,现在我知道了那个叫数码管。
单片机刚刚学习的时候我觉得很难,代码都看不懂,更别说编程了,所以这次课设对我们来说很困难,可是随着组员之间的讨论我们解决了一些问题,也更深的了解了单片机的原理,交通灯在所有课设里面不算是难的,可是对我们来说都一样很困难。
问题虽然很多但我们还是努力去解决,从计时到LED亮都很难,从书本学习的东西用在实际中才知道有多重要,最后我们只实现了简单的红绿灯而没有黄灯,这是我们的课设需要改进的。
在以后的学习中我们应该勤动手,多动脑,遇到问题思考怎么解决,并且要有合作意识,团队的能力总是比一个人要大的,我们会改进作品,更好的使用单片机。
5
附录:
5
1设计任务
利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
用红、绿、黄发光二极管作信号灯。
2设计方案
2.1任务分析
模拟交通灯控制器就是使用单片机来控制一些LED和数码管,模拟真实交通灯的功能。
红、黄、绿交替点亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。
2.2方案设计
我们设计的是十字路口的红绿灯,有东西,南北两个走向,前两个灯是东西的红灯和绿灯,后两个是南北的红灯和绿灯,前两个灯不会同时亮,后两个灯不会同时亮,第1个和第3个不会同时亮,暂时没有黄灯的功能。
2.3硬件方案
根据设计的要求可知,系统的硬件原理框图如下图所示
单片机
LED数码管显示
晶振电路
复位电路
数码管显示
图1硬件原理框图
单片机可选用STC89C52,它与8051系列单片机全兼容,但其内部带有8KB的FLASHROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。
南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。
按键可以根据系统的需要进行复位。
用三极管驱动数码管显示,三极管控制共阳位选端,控制数码管的显示。
2.4软件方案
首先南北方向红灯、东西方向绿灯亮,南北方向红灯15秒、东西方向绿灯10秒,相应的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间5秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。
南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为10秒,东西方向有黄灯跳转为红灯,时间为15秒。
当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。
进入开始的状态,循环执行。
根据设计要求,程序框图如图所示。
软件可由汇编语言完成,也可由C语言完成。
软件设计可以分为以下几个功能模块:
数码管显示模块
动态显示方式:
动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。
对于每一位显示器来说,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。
通过调整电流和时间参数,可以既保证亮度,又保证显示。
若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。
LED红绿灯显示模块
状态1,东西绿灯亮,南北红灯亮
状态2,东西黄灯亮,南北红灯亮
状态3,东西红灯亮,南北绿灯亮
状态4,东西红灯亮,南北黄灯亮
结构框图
图2LED红绿灯显示框图
3系统硬件设计
3.1单片机的最小系统
STC公司生产的AT89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。
3.2电源电路设计
电源用5V直流变压器直接供电,usb接口供电。
3.3数码管显示电路
显示电路采用4个共阳数码管,用74HC244做驱动器,P0口作为数码管的输入,ULN2803作为控制位选端,P2.0,P2.1,P2.2,P2.3分别作为东西,南北四路数码管的位选端。
4系统软件设计
4.1主程序设计
系统程序流程图
图3系统程序流程图
4.2系统程序
根据设计方案,设计满足要求的程序,并将程序烧写进单片机,运行程序,观察现象是否符合要求,若不符合要求继续修改程序。
直至能达到要求。
程序清单见附录
5调试及性能分析
5.1软件调试
软件调试主要是利用protus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。
5.2硬件调试
硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。
具体步骤及测试结果如下:
(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。
(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。
(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。
5.3系统功能调试
通过通电调试系统的功能,观察系统是否正常运行,是否达到设计指标,通过修改软件完成系统的系能指标,也可以通过仿真软件进行仿真运行,调试并修改系统,以便达到最佳水准。
让系统最大限度的发挥其功效。
6遇到的问题及解决
在设计过程中,会出现了一些问题,但都是常见的小问题,如:
代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。
综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。
在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。
由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。
但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不完善效率还不是很高等等,这需要在实践中进一步完善。
7心得体会
这学期是我们首次接触单片机这门课程,大一的时候学长为我们展示了单片机,告诉我们这是我们以后要学习的很重要的东西,那时候只看到一块板子上可以显示数字,现在我知道了那个叫数码管。
单片机刚刚学习的时候我觉得很难,代码都看不懂,更别说编程了,所以这次课设对我们来说很困难,可是随着组员之间的讨论我们解决了一些问题,也更深的了解了单片机的原理,交通灯在所有课设里面不算是难的,可是对我们来说都一样很困难。
问题虽然很多但我们还是努力去解决,从计时到LED亮都很难,从书本学习的东西用在实际中才知道有多重要,最后我们只实现了简单的红绿灯而没有黄灯,这是我们的课设需要改进的。
在以后的学习中我们应该勤动手,多动脑,遇到问题思考怎么解决,并且要有合作意识,团队的能力总是比一个人要大的,我们会改进作品,更好的使用单片机。
附录:
ORG0000H
LJMPMAIN
ORG0003H
LJMPINTT0
ORG0013H
LJMPINTT1
ORG001BH
LJMPTT1
ORG0100H
TT1:
MOVTH1,#0D8H;定时器1,定时10us
MOVTL1,#0F0H
DJNZR6,EXIT
MOVR6,#100;定时器定时100次
MOVR1,#0FFH
EXIT:
RETI
INTT0:
MOVP1,#0BEH;外部中断0,
JBP3.4,$
RETI
INTT1:
MOVP1,#0BBH;外部中断1,
JBP3.4,$
RETI
ORG1000H
MAIN:
MOVR6,#100;主程序;
MOVR1,#00H
MOVTMOD,#10H;初始化
MOVTH1,#0D8H
MOVTL1,#0F0H
MOVIE,#8DH
MOV20H,#10
MOV21H,#5
MOV22H,#10
MOV23H,#15
MOV24H,#15
SETBTR1
ST1:
MOVP1,#0EBH
CJNER1,#0FFH,TZ1
MOVR1,#00H
DEC20H
DEC23H
TZ1:
MOVR2,20H
MOVR3,23H
LCALLDISP
MOVA,20H
CJNEA,#00H,ST1
MOV20H,#10
ST2:
MOVP1,#0EDH
CJNER1,#0FFH,TZ2
MOVR1,#00H
DEC21H
DEC23H
TZ2:
MOVR2,21H
MOVR3,23H
LCALLDISP
MOVA,21H
CJNEA,#00H,ST2
MOV21H,#05
MOV23H,#15
ST3:
MOVP1,#0BEH
CJNER1,#0FFH,TZ3
MOVR1,#00H
DEC24H
DEC22H
TZ3:
MOVR2,24H
MOVR3,22H
LCALLDISP
MOVA,22H
CJNEA,#00H,ST3
MOV22H,#10
ST4:
MOVP1,#0DEH
CJNER1,#0FFH,TZ4
MOVR1,#00H
DEC24H
DEC21H
TZ4:
MOVR2,24H
MOVR3,21H
LCALLDISP
MOVA,21H
CJNEA,#00H,ST4
MOV21H,#05
MOV24H,#15
LJMPST1
DISP:
MOVA,R2
MOVB,#10
DIVAB
MOV60H,A
MOV61H,B
MOVA,R3
MOVB,#10
DIVAB
MOV62H,A
MOV63H,B
MOV40H,#04H
MOVR5,#01H
MOVR0,#60H
LLP:
MOVA,@R0
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVA,R5
MOVP2,A
LCALLDELAY1
MOVP2,#00H;
RLA
MOVR5,A
INCR0
DJNZ40H,LLP
RET
DELAY1:
;延时子程序
MOVR4,#12
DL2:
MOVR7,#12
DJNZR7,$
DJNZR4,DL2
RET
TABLE:
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H
END
总结
交通灯的设计总结:
通过此次课程设计,使我更加扎实的掌握了有关电子线路方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。
实践出真知,通过自己亲手实践,是我们掌握的知识不再是纸上谈兵。
过而能改,善莫大焉。
在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。
最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。
在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会极大人的认可。
课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。
同时,设计让我感触很深。
使我对抽象的理论有了具体的认识。
通过这次课程设计,我掌握了NIMultisim软件的使用方法,了解了红绿灯的实际控制过程,以及如何提高电路的性能等等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 交通灯 课程设计 报告