Protous仿真交通灯文档.docx
- 文档编号:8622909
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:8
- 大小:170.08KB
Protous仿真交通灯文档.docx
《Protous仿真交通灯文档.docx》由会员分享,可在线阅读,更多相关《Protous仿真交通灯文档.docx(8页珍藏版)》请在冰豆网上搜索。
Protous仿真交通灯文档
前言
一个国家交通行业的发达程度牵制着整个国家的经济发展情况,交通领域的发展将越来越被重视。
交通的发展必须依照交通规则,在当今自动化的交通领域里,交通灯的出现无疑是个必要。
用交通灯来代替交警指挥交通实现了自动化,既节省了人力资源,又完成了交通使命,交通灯的出现是交通领域的革新!
基于交通灯电路的典型性、代表性、重要性且易在实验室实现,所以本次实训选择做交通灯。
实训目的
1交通灯电路具有代表性,做实验室要弄清每一个步骤,弄清每一道程序,完成对所学内容的巩固。
2通过交通信号灯控制系统的设计,掌握STC89C52RC并行口传输数据的方法,以控制发光二极管的亮与灭;
3用STC89C52作为输出口,控制十二个发光二极管熄灭,模拟交通灯管理.
4通过单片机控制设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;
5完成控制系统的硬件设计、软件设计、仿真调试。
6通过对单片机的实训,掌握电路原理,设计技巧,做到举一反三,为自己以后的自我创新做好铺垫。
STC89C52RC引脚图
STC89C52单片机芯片引脚介绍
STC89C52芯片共40引脚:
1~8脚:
通用I/O接口p1.0~p1.7
9脚:
(RST/Vpd)复位键,备用电源
10~17:
I/Op3接口(12,13脚INT0中断0 INT1中断1,P3.0=RXD,P3.1=TXD,P3.2=-INT0,P3.3=-INT1,P3.4=T0,P3.5=T1,P3.6=-WR,P3.7=-RD
10.11脚:
RXD串口输入TXD串口输出
14,15:
计数脉冲T0T116,17:
WR写控制RD读控制输出端)
18,19:
晶振谐振器(18=XTAL2,19=XTAL1)
20地线 (VSS)
21~28p2接口高8位地址总线
29:
psen片外rom选通端 单片机对片外rom操作时29脚(psen)输出低电平
30:
ALE/PROG地址锁存器
31:
EArom取指令控制器高电平片内取低电平片外取
32~39:
p0.7~p0.0(注意此接口的顺序与其他I/O接口不同与引脚号的排列顺序相反)
40:
电源+5V
注:
引脚功能前加“-”,说明其是低电平有效。
如P3.2=-INT0
单片机最小应用系统
STC89C52与串口电平转换电路
交通灯仿真电路图
设计要求
交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。
利用控制STC89C52输出口的高低电平来控制十二个发光二极管燃灭,模拟交通灯管理。
如图所示:
1、设计一个十字路口的交通灯控制电路,要求东西方
向车道和南北方向车道两条交叉道路上的车辆交替运行,时间可设置修改。
2、在绿灯转为红灯时,要求黄灯闪烁5次,才能变换运行车道
设计任务和内容
任务:
设计一个能够控制十二盏交通信号灯的模拟系统。
并且要求交通信号灯按照交通规则的模试来运行。
内容:
利用控制单片机输出口的高低电平来控制交通指示灯的变化情况和规律。
按下开始键后交通灯开始工作,假设一个十字路口为东西南北走向。
然后转状态1南北红灯,东西绿灯通车。
过一段时间转状态2东西绿灯灭,黄灯闪烁几次,南北仍然红灯。
再转状态3,南北绿灯通车,东西红灯。
过一段时间转状态4,南北绿灯灭,闪几次黄灯,东西仍然红灯。
最后循环至状态1。
特殊情况按下中断键,使东西南北的灯都指示红灯,特殊情况过后,安开始键交通指示灯继续工作。
交通信号灯模拟控制系统设计程序流程图
交通灯汇编程序
org0000h;设置程序地址指令
ajmpstart
org0003h;设置中断地址指令
ljmpint0
start:
movp0,#0e7h;初始化程序
setbea;开中断
setbex0;允许外部中断0中断
SETBIT0;设高电平中断优先
jbp3.0,$;等待开始脉冲
loop:
p0,#0DBh;东西红南北绿
lcalldalay1;设置持续时间
movr0,#5;设置黄灯闪烁次数
loop0:
movp0,#0BBh
lcalldalay2;设置黄灯亮时间
movp0,#0FBH
LCALLdalay2;设置黄灯灭的时间
djnzr0,loop0
movp0,#7eh;东西绿南北红
lcalldalay1;设置持续时间
movr0,#5;设置黄灯闪烁次数
loop1:
movp0,#7dhlcalldalay2;设置黄灯亮时间
movp0,#7fh
lcalldalay2;设置黄灯灭时间
djnzr0,loop1
ljmploop;跳回主程序循环
int0:
pushp0;P0数据压入堆栈保存
movp0,#63h;设置中断响应状态
jbp3.0,int0;设置开始脉冲响应接口
popp0;弹出P0口数据
reti;中断撤销返回
dalay1:
movr7,#200;延时程序
d1:
movr6,#100
d2:
movr5,#100
d3:
nop
djnzr5,d3
DJNZR6,d2
DJNZR7,d1
Ret;调用指令返回
dalay2:
movr7,#25;延时程序
d21:
movr6,#75
d22:
movr5,#25
d23:
nop
djnzr5,d23
DJNZR6,d22
CPLP0.
DJNZR7,d21
Ret;调用指令返回调试与检测
软件调试:
软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
用伟福编辑好程序后,查看程序是否有逻辑的错误。
对电路的软件调试用Protous仿真,初步完成对电路的调试
硬件检测
第一步:
目测,检查外部的各种元件或则电路是否有断点;
第二步:
用万用表测试。
先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象;
第三步:
加电检测。
给板加电,检测所有的插座或是器件的电源端是否符合要求的值;
第四步:
是联机检查。
因为只有用单片机开发系统才能完成对用户系统的调试。
实训体会
通过对Pruotous课程的学习、实训,使自己的头脑得到充实,利用所学的知识,借单片机控制设计了一个交通灯控制系统,我对单片机有了更深的体会。
了解和掌握了一些简单的编程思想和对I/O口的使用。
这次实训通过单片机的I/O口来控制交通灯。
在编程的过程中,可以说是比较顺利,只是摸仿其他的编程思路,在加上一些自己的思想来满足这次实训的任务。
并且在编程过程中理解了一些编程技巧。
通过这次的实践,对单片机I/O口的使用的条件有更深的理解,对单片机的各个管脚功能的理解也加深了,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。
这次的课程设计让我把单片机的理论知识用在实践中,实现了理论和实践相结合,从中更懂得理论是实践的基础,用实践来验证理论的重要性,此次实训获益匪浅,这将对我以后参加工作或继续深造打定基础!
参考文献
1教学课本《单片机原理与应用》
2教学课本《Protous》
3XX图库
4XX知识文库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Protous 仿真 交通灯 文档