电子线路CAD课程设计交通灯.docx
《电子线路CAD课程设计交通灯.docx》由会员分享,可在线阅读,更多相关《电子线路CAD课程设计交通灯.docx(21页珍藏版)》请在冰豆网上搜索。
电子线路CAD课程设计交通灯
电子线路CAD课程设计报告
十字路交通灯设计
专业:
班级:
姓名:
学号:
指导老师:
电子通信与物理学院
日期:
2015年1月15日
教师评价:
一、设计内容
1、设计背景
在日常生活中,交通灯作为管理交通、调协车辆的一个便捷的手段,起着很大的作用。
各种交通工具、行人都要根据交通灯的变化来决定是否前行,通行的时间的规定协调了它们的步伐,极大的减少了由于交通混乱引起的各种事故的发生。
因此,一个完善的交通系统中,交通灯是必不可少的设备,一个完善的交通灯程序会更有效的管理当前道路中出现的实际情况,使车辆、行人的行进变得更顺畅、更和谐。
随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现.如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题.目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯加上一个倒计时的显示器来控制行车。
在老师给出的几个课题中,我认为交通灯的课题更加贴近我们的生活,而且相对其他几个课题,这个交通灯主要运用的是中断程序,我相对来说比较熟悉,所以选择了这个交通灯的课题
2、设计要求
(1)设计目的
随着单片机应用的日益广泛,在校学生加强对单片机动手实践能力的培养,已经是非常重要的一项锻炼。
课程设计就是为加强实践机会、培养学生动手能力的一个重要环节,将理论知识与实际联系起来的一个关键机会。
(2)设计任务
①设计四组十字路口的红、绿、兰三色交通灯,并模拟交通灯的现场情形,控制交通灯的亮灭.
②设计四组LED显示器,分别倒计时显示十字路口每个方向的红灯或绿灯的剩余时间。
③可适当根据实际需要增加扩展功能。
④利用PROTEUS软件画出电路图,根据以上功能编写软件,在protel中画出原理图和PCB版图.
二、原理图设计
1、交通灯变化规律分析
(1)实际交通灯的变化规律
实际交通灯分为东南西北四个方向以及左转右转,本次课程设计我们涉及的是简易交通灯,不包含左转右转,只包括东西直行和南北直行,原理较为简单,图1.1是十字楼口的模拟图。
图2.1十字路口
东西通行,南北红灯亮。
过一段时间后,转状态.东西绿灯灭,黄灯亮.再转状态;东西红灯亮,南北绿灯亮通行.过一段时间后转状态;南北绿灯灭,黄灯亮。
一段时间后,又循环至初始状态。
(2)交通信号灯的状态
下表即为交通灯的状态表,高电平有效,1表示灯亮,0表示灯灭。
总共包含初始化东西绿灯南北红灯,东西黄灯南北红灯,以及南北红绿东西红灯和南北黄灯东西红灯四种状态情况。
首先初始状态东西绿灯亮,然后依次是东西黄灯亮,南北绿灯亮,南北亮,然后照此循环。
表2.2交通灯信号状态表
状态
北
西
南
东
绿黄红
绿黄红
绿黄红
绿黄红
1
001
100
001
100
2
001
010
001
010
3
100
001
100
001
4
010
001
010
001
注:
1代表灯亮,0代表灯灭
(3)单片机接口分析:
对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。
2、硬件电路分析
(1)P1口:
做为输出口,接发光二极管,其状态及对应的十六进制值如下图。
(2)发光二极管用来显示灯亮情况。
表2。
1即是发光二极管显示接口及原理。
总共12个发光二极管,由于东西方向和南北方向的亮灯情况分别相同,故12个发光二极管只需要用到六个控制端就可以了,本系统中使用p1。
0、p1.1、p1.2控制东西方向;p1。
3、p1。
4、p1.5控制南北方向。
表2.3发光二极管接口显示原理
方向
状态
无
南北
东西
十六进制值
说明
P1.7P1.6
P1。
5P1。
4P1。
3
P1。
2P1.1P1.0
1
00
101
110
2EH
东西绿南北红
2
00
101
011
2BH
东西黄南北红
3
00
110
101
35H
东西红南北绿
4
00
011
101
1DH
东西红南北黄
5
00
011
011
1BH
东南西北全黄
3、硬件电路
晶振是晶体振荡的简称,实为单片机提供额定频率的器件,如果没有晶振,单片机将不能工作。
图3。
1即为本次课程设计的硬件电路图,图中标明有东南西北四个方向,表示四个路口,每个路口有三个灯,分别为绿灯、黄灯、红灯。
每个路口还有两个数码显示管,用于显示还剩下的通行时间或者等待时间.中间部门为控制系统80C51单片机,其中包括晶振和复位电路。
图3.1硬件电路图
4、软件设计
图4。
1为本系统的程序流程图,初始化东西亮绿灯,南北亮红灯,系统自动判断是否已达预定时间,然后是东西亮黄灯,接着南北亮绿灯,东西亮红灯,最后南北亮黄灯,依次循环。
5、程序代码分析
通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理.每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。
通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展.
主程序分析:
ORG0000H
MAIN:
MOVTMOD,#01H;工作方式1
MOVTL0,#0B0H;设置定时器初始值为06B0H
MOVTH0,#06H
SETBEA;对中断允许标志位置1
SETBET0
SETBTR0
MOVP0,#00H;初始化P0,P1,P2口,此处P0口为00H
MOVP2,#0FFH
MOVP1,#0FFH
这一段代码是对定时器进行中断方式的定义工作于工作方式一,对P0、P1、P2口进行初始化.但是这里不是定义一秒,而是定义了62。
8ms.下面有另外的程序将定时时间延长。
LOOP0:
MOVP1,#2EH;东西通行南北禁止通行
CLRP2.2
JNBP3。
4,LOOP5
MOVR0,#25;25秒绿灯
MOVR1,#30;30秒红灯
L1:
MOVR2,#14H
对定时器时间进行延长,延长到接近于1s。
25秒绿灯,30秒红灯
LOOP1:
LCALLDIS
MOVTL0,#0B0H
MOVTH0,#06H
CLRTF0
DJNZR2,LOOP1
DECR0;减1循环操作
DECR1
JNBP3.4,LOOP5
CJNER0,#00H,L1
MOVP1,#2BH;
MOVR0,#05
红绿灯分别对应的输出十六进制:
2EH东西绿南北红
2BH东西黄南北红
35H东西红南北绿
1DH东西红南北黄
1BH东南西北全黄
LL2:
LJMPMAIN
DIS:
MOVDPTR,#TAB
MOVA,R0
MOVB,#10
DIVAB;得出数码管的十进制高位
MOVCA,@A+DPTR
SETBP2。
1
MOVP0,#0FEH
CLRP2.1
SETBP2.0
MOVP0,A
LCALLD1MS
CLRP2。
0
SETBP2.1
MOVP0,#0FDH
MOVA,B
MOVCA,@A+DPTR
CLRP2.1
SETBP2.0
MOVP0,A
LCALLD1MS
MOVA,R1
MOVB,#10
DIVAB
MOVCA,@A+DPTR
CLRP2。
0
SETBP2。
1
MOVP0,#0FBH
CLRP2。
1
SETBP2。
0
MOVP0,A
LCALLD1MS
CLRP2。
0
SETBP2.1
MOVP0,#0F7H
MOVA,B
MOVCA,@A+DPTR
CLRP2。
1
SETBP2。
0
MOVP0,A
LCALLD1MS
JBTF0,L5
SJMPDIS
这一段程序是控制数码管的显示,把二进制码转换成十进制,并用DIV命令分别得到数码管的高位和地位显示。
6、元件清单:
名称
件数
参数
选择理由
电阻
8
10K
限流,以免烧坏数码管
发光二极管
12
3色
便于仿真显示
AT89C51
1
4K闪存
低电压,高性能八位微处理器
七段显示数码管
8
常用数字显示,便于仿真
开关
3
特殊情况使用
排阻
2
50Ω
74HC373
2
锁存器,锁存信号
晶振
时钟脉冲信号
三、测试
1、Proteus简介
Proteus是一款labcenter出品的电路分析实物仿真图,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片软件仿真系统。
该软件具有以下特点:
(1)全部满足我们提出的单片机仿真系统的标准,并在同类产品中具有明显的优势。
(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
(3)目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片.
(4)支持大量的存储器和外围芯片。
总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC。
Proteus组合了高级原理布图、混合模式SPICE仿真,PBC设计以及自动布线来实现一个完整的电子设计系统,此系统收益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—theroutetopcbcad。
。
proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。
用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
PROSPICE仿真器的一个扩展PROTEUSVSM:
便于包括所有相关器件的基于微处理器的协同仿真。
此外,还可以结合微控制器软件使用动态的键盘,开关,按钮.LED甚至LCD显示CPU模型.
2、仿真调试
图5。
1中有东西南北每组三个共十二盏模拟交通灯,由于proteus中自带晶振和复位电路,所以图中没有显示,东南西北每个方位对应有一组数码显示管,用于显示剩下的通行时间或等待时间.
图5.1东西绿灯亮,南北红灯
初始化之后,系统自动判断是否已经到了25秒,到了之后则转为东西方向黄灯亮,南北方向红灯禁行,图5.2为南北方向绿灯东西向红灯时的仿真截图。
图5。
2东西方向红灯仿真图
本系统设置有夜间模式,当夜间模式按下时,系统所有方向均为黄灯,直到开关断开时为止,图5。
5所示为黄灯亮时的仿真截图。
图5.5所示为黄灯亮时的仿真截图
四、PCB设计
1、原理图设计
图5。
6原理图
2、PCB版图设计
图5.7PCB版图
五、心得体会
我这次做课程设计的感受是很深刻的,平时上课学习汇编语言,学习中断,学习定时器计数器,都只是片面的学习单片机的基础知识,太过于零散,没有把它们有机的结合在一起,而且平时老师要我们画的电路仿真图也大多是比较简单易懂的,这次电路比较复杂,而且更加需要细心,不能有一个元器件选择错误。
这次的交通灯设计主要是运用了串行口和中断以及定时器方面的知识。
在PCB版图设计过程中,充分锻炼了自己的耐心,同时巩固了protel知识,在对软件的应用方面有了很大的提升.
这次课程设计主要完成两大项任务,第一就是硬件连接图;第二是编写相应的程序来实现硬件功能。
看似简单,实际上需要过硬的知识作为基础,平时看看书考试那样的过程,是难以完成这样的任务的。
因为我们水平有限,我们这组设计的电路程序比较简单,虽然有一百来条,但是主要是几个几乎相同的循环程序在里面,所以其实难度并不是很大,几乎用的都是汇编语言中经常用的那几条汇编指令,而且电路只是设置了四组简单的发光二级管.
其中,在做整个课程设计的过程中,因为两个同方向的数码管不能正常显示4和1,我们在调试程序以及硬件电路上花了很大功夫,我们一开始以为是程序控制出了错误,后来调试很久都没有发现错误,于是我们怀疑是硬件电路出了错误,在更换了好几个芯片后,才发现应该要用74HC373代替74LS373.HC373是5V的通过这次的课程设计我们学到了很多以前从,课堂上不能得到的知识。
而且在画硬件电路图时,一定要注意好你程序选择的是共阴数码管,那么你硬件电路图也应该选择共阴数码管,否则就出不来你想要的结果,而且排阻的阻值不要设置过大,否则会影响高电平的输入到数码管。
连线时要注意有没有虚画的,就是两根线没有实际连在一起的,也要注意.在使用标号法标注相同的连线端时一定要注意标注相应准确的标注,如果标注错误也会影响仿真结果。
这次课程设计让我把许多以前不知道的东西都变成了自己懂的东西,在不断借鉴的过程中进行着自己的创新。
这次做课设,我有上网查阅很多资料,也翻阅许多书本查找相关知识,让我明白,在以后的学习中,应更注重知识的应用,更注重实质的掌握。
当然这次课程设计,提高了知识的应用能力和和实践能力,同时提高了独立思考独立完成任务的能力,当然同组之间,遇到了实在没办法解决的问题,也相互的咨询和讨论,加强了大家的合作精神和团结能力。
这对以后的学习和工作都有重要意义。
六、程序设计
主程序:
ORG0000H
MAIN:
MOVTMOD,#01H;工作方式1
MOVTL0,#0B0H;设置定时器初始值为06B0H
MOVTH0,#06H
SETBEA;对中断允许标志位置1
SETBET0
SETBTR0
MOVP0,#00H;初始化P0,P1,P2口,此处P0口为00H
MOVP2,#0FFH
MOVP1,#0FFH
LOOP0:
MOVP1,#2EH;东西通行南北禁止通行
CLRP2。
2
JNBP3。
4,LOOP5
MOVR0,#25;25秒绿灯
MOVR1,#30;30秒红灯
L1:
MOVR2,#14H
LOOP1:
LCALLDIS
MOVTL0,#0B0H
MOVTH0,#06H
CLRTF0
DJNZR2,LOOP1
DECR0;减1循环操作
DECR1
JNBP3.4,LOOP5
CJNER0,#00H,L1
MOVP1,#2BH;东西蓝灯南北红灯
MOVR0,#05
L2:
MOVR2,#14H
LOOP2:
LCALLDIS
MOVTL0,#0B0H
MOVTH0,#06H
CLRTF0
DJNZR2,LOOP2
DECR0
DECR1
JNBP3。
4,LOOP5
CJNER0,#00H,L2
MOVP1,#35H;东西禁止通行南北通行
MOVP2,#0FFH
CLRP2。
5
MOVR0,#30
MOVR1,#25
L3:
MOVR2,#14H
LOOP3:
LCALLDIS
MOVTL0,#0B0H
MOVTH0,#06H
CLRTF0
DJNZR2,LOOP3
DECR0
DECR1
JNBP3.4,LOOP5
CJNER1,#00H,L3
MOVP1,#1DH;东西红灯南北蓝灯
MOVP2,#0FFH
MOVR1,#05
L4:
MOVR2,#14H
LOOP4:
LCALLDIS
MOVTL0,#0B0H
MOVTH0,#06H
CLRTF0
DJNZR2,LOOP4
DECR0
DECR1
JNBP3。
4,LOOP5
CJNER1,#00H,L4
AJMPLL1
LL1:
LJMPLOOP0
LOOP5:
LCALLDIS
MOVTL0,#0B0H
MOVTH0,#06H
CLRTF0
MOVP1,#1BH;东南西北全蓝灯
MOVR0,#00H
MOVR1,#00H
SETBP2.2
SETBP2.5
JBP3。
4,LL2
AJMPLOOP5
LL2:
LJMPMAIN
DIS:
MOVDPTR,#TAB
MOVA,R0
MOVB,#10
DIVAB;得出数码管的十进制高位
MOVCA,@A+DPTR
SETBP2。
1
MOVP0,#0FEH
CLRP2。
1
SETBP2。
0
MOVP0,A
LCALLD1MS
CLRP2.0
SETBP2。
1
MOVP0,#0FDH
MOVA,B
MOVCA,@A+DPTR
CLRP2.1
SETBP2。
0
MOVP0,A
LCALLD1MS
MOVA,R1
MOVB,#10
DIVAB
MOVCA,@A+DPTR
CLRP2.0
SETBP2.1
MOVP0,#0FBH
CLRP2.1
SETBP2.0
MOVP0,A
LCALLD1MS
CLRP2。
0
SETBP2。
1
MOVP0,#0F7H
MOVA,B
MOVCA,@A+DPTR
CLRP2.1
SETBP2。
0
MOVP0,A
LCALLD1MS
JBTF0,L5
SJMPDIS
L5:
RET
D1MS:
MOVR4,#02H
DL:
MOVR3,#0FFH
DL1:
DJNZR3,DL1
DJNZR4,DL
RET
TAB:
DB3FH,06H,5BH,4FH,66H;使用的是共阴数码管
DB6DH,7DH,07H,7FH,6FH
END