- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息与电子工程系
课 程 设 计 报 告
题目: 交通信号灯模拟控制系统
专 业:应用电子技术
班 级:10级1班
学 号:1006010125
姓 名:黄 斌
指导老师:杨俊鸣
答辩日期:2012.12.4
绪论1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点。
图1 系统框图
2.2 设计思路
(1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。
(2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,基于实际情况,又增加了紧急状况处理和通行时间可调这两项特殊功能。
(3)进行显示电路,灯状态电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。
(4)进行软件系统的设计,对于本系统,本组采用单片机汇编语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。
(5)还得有程序下载和调试,以及成品的性能测试和分析,功能的检测。、
(6)编写实验报告,制作PPT进行演示。
主要电路模块的实现方案比较及选择
3.1 显示模块的方案比较和选择
在显示模块的设计上,我考虑了两种方案:
方案一:采用数码管显示。这种方案只显示有限的符号和数码方案二:采用点阵式LED 显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等综上所述,选择第种方案。LED显示虽然功能强大,但是对于这次的设计,数码管就行了。
3.2按键模块的方案比较和选择
在按键电路上,我了两种方案:方案一:采用8155扩展I/O 口及键盘显示。该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。方案二: 直接在IO口线上接上按键开关。由于该系统对于交通灯及数码管的控制,只用本身的I/O 口就可实本身的计数器及RAM已经够用,故选择方案二通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:
图2 系统电路图
4.1信号灯模块的连接
信号灯的连接是靠AT89C52的P1.0,P1.1,P1.2,P1.3,P1.4,P1.5分别控制南北绿,南北黄,南北红,东西绿,东西黄,东西红,如图3。
图3 信号灯电路图
4.2数码管模块的连接
信号灯的连接是靠AT89C52的P2.0,P2.1,P2.2,P2.3来控制,其中P2.0和P2.2控制数码管个位,P2.1和 P2.3控制数码管的十位,如图4.
图4 数码管电路图
4.3按键模块的连接
按键电路的连接是靠AT89C52的P3.0,P3.1,P3.2,P3.3四个端口来实现,其中P3.0 控制加一按键,P3.1控制减一按键, P3.2控制紧急按键, P3.3控制暂停按键,如图5。
图5 按键模块电路图
系统的软件设计
5.1程序主流程图
图6 系统主流程图
5.2 TO主程序
void T0_1s(void) interrupt 1// T0中断子程序开始
{ TH0=TH_M1; TL0=TL_M1; // 设置T0计数量高8位元、低8位元
if (++count_T0==20) // 若中断20次,即0.05x20=1秒
{ count_T0=0; // 重新计次
if (a!=0)
{ a--;
seconds=a;fen=a;
LED=0xde;
if(a5) {LED=0xdf;delay1ms(15);LED=0xdd;}
if(a==0) {b=15; fen=15;seconds=15;}
}
else if(b!=0)
{ b--;fen=b; seconds=b;
LED=0xf3;if(b5) {LED=0xfb;delay1ms(15);LED=0xeb;}
if(b==0) {a=20;seconds=20;fen=20;}
}
T0中
文档评论(0)