电子线路CAD课程设计交通灯Word格式.docx
《电子线路CAD课程设计交通灯Word格式.docx》由会员分享,可在线阅读,更多相关《电子线路CAD课程设计交通灯Word格式.docx(21页珍藏版)》请在冰点文库上搜索。
东西通行,南北红灯亮。
过一段时间后,转状态.东西绿灯灭,黄灯亮.再转状态;
东西红灯亮,南北绿灯亮通行.过一段时间后转状态;
南北绿灯灭,黄灯亮。
一段时间后,又循环至初始状态。
(2)交通信号灯的状态
下表即为交通灯的状态表,高电平有效,1表示灯亮,0表示灯灭。
总共包含初始化东西绿灯南北红灯,东西黄灯南北红灯,以及南北红绿东西红灯和南北黄灯东西红灯四种状态情况。
首先初始状态东西绿灯亮,然后依次是东西黄灯亮,南北绿灯亮,南北亮,然后照此循环。
表2.2交通灯信号状态表
状态
北
西
南
东
绿黄红
1
001
100
2
010
3
4
注:
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。
2P1.1P1.0
00
101
110
2EH
东西绿南北红
011
2BH
东西黄南北红
35H
东西红南北绿
1DH
东西红南北黄
5
00
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。
MOVP0,#0FEH
CLRP2.1
SETBP2.0
MOVP0,A
LCALLD1MS
CLRP2。
SETBP2.1
MOVP0,#0FDH
MOVA,B
MOVCA,@A+DPTR
MOVP0,A
MOVA,R1
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOVP0,#0FBH
MOVP0,A
MOVP0,#0F7H
MOVA,B
JBTF0,L5
SJMPDIS
这一段程序是控制数码管的显示,把二进制码转换成十进制,并用DIV命令分别得到数码管的高位和地位显示。
6、元件清单:
名称
件数
参数
选择理由
电阻
8
10K
限流,以免烧坏数码管
发光二极管
12
3色
便于仿真显示
AT89C51
4K闪存
低电压,高性能八位微处理器
七段显示数码管
常用数字显示,便于仿真
开关
特殊情况使用
排阻
50Ω
74HC373
锁存器,锁存信号
晶振
时钟脉冲信号
三、测试
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为南北方向绿灯东西向红灯时的仿真截图。
2东西方向红灯仿真图
本系统设置有夜间模式,当夜间模式按下时,系统所有方向均为黄灯,直到开关断开时为止,图5。
5所示为黄灯亮时的仿真截图。
图5.5所示为黄灯亮时的仿真截图
四、PCB设计
1、原理图设计
6原理图
2、PCB版图设计
图5.7PCB版图
五、心得体会
我这次做课程设计的感受是很深刻的,平时上课学习汇编语言,学习中断,学习定时器计数器,都只是片面的学习单片机的基础知识,太过于零散,没有把它们有机的结合在一起,而且平时老师要我们画的电路仿真图也大多是比较简单易懂的,这次电路比较复杂,而且更加需要细心,不能有一个元器件选择错误。
这次的交通灯设计主要是运用了串行口和中断以及定时器方面的知识。
在PCB版图设计过程中,充分锻炼了自己的耐心,同时巩固了protel知识,在对软件的应用方面有了很大的提升.
这次课程设计主要完成两大项任务,第一就是硬件连接图;
第二是编写相应的程序来实现硬件功能。
看似简单,实际上需要过硬的知识作为基础,平时看看书考试那样的过程,是难以完成这样的任务的。
因为我们水平有限,我们这组设计的电路程序比较简单,虽然有一百来条,但是主要是几个几乎相同的循环程序在里面,所以其实难度并不是很大,几乎用的都是汇编语言中经常用的那几条汇编指令,而且电路只是设置了四组简单的发光二级管.
其中,在做整个课程设计的过程中,因为两个同方向的数码管不能正常显示4和1,我们在调试程序以及硬件电路上花了很大功夫,我们一开始以为是程序控制出了错误,后来调试很久都没有发现错误,于是我们怀疑是硬件电路出了错误,在更换了好几个芯片后,才发现应该要用74HC373代替74LS373.HC373是5V的通过这次的课程设计我们学到了很多以前从,课堂上不能得到的知识。
而且在画硬件电路图时,一定要注意好你程序选择的是共阴数码管,那么你硬件电路图也应该选择共阴数码管,否则就出不来你想要的结果,而且排阻的阻值不要设置过大,否则会影响高电平的输入到数码管。
连线时要注意有没有虚画的,就是两根线没有实际连在一起的,也要注意.在使用标号法标注相同的连线端时一定要注意标注相应准确的标注,如果标注错误也会影响仿真结果。
这次课程设计让我把许多以前不知道的东西都变成了自己懂的东西,在不断借鉴的过程中进行着自己的创新。
这次做课设,我有上网查阅很多资料,也翻阅许多书本查找相关知识,让我明白,在以后的学习中,应更注重知识的应用,更注重实质的掌握。
当然这次课程设计,提高了知识的应用能力和和实践能力,同时提高了独立思考独立完成任务的能力,当然同组之间,遇到了实在没办法解决的问题,也相互的咨询和讨论,加强了大家的合作精神和团结能力。
这对以后的学习和工作都有重要意义。
六、程序设计
主程序:
ORG0000H
MOVTMOD,#01H;
MOVTL0,#0B0H;
SETBEA;
MOVP0,#00H;
初始化P0,P1,P2口,此处P0口为00H
MOVP2,#0FFH
LOOP0:
MOVP1,#2EH;
MOVR0,#25;
MOVR1,#30;
MOVR2,#14H
MOVTL0,#0B0H
DJNZR2,LOOP1
CJNER0,#00H,L1
MOVP1,#2BH;
东西蓝灯南北红灯
MOVR0,#05
L2:
MOVR2,#14H
LOOP2:
MOVTL0,#0B0H
MOVTH0,#06H
DJNZR2,LOOP2
DECR0
CJNER0,#00H,L2
MOVP1,#35H;
东西禁止通行南北通行
MOVP2,#0FFH
MOVR0,#30
MOVR1,#25
L3:
LOOP3:
MOVTL0,#0B0H
DJNZR2,LOOP3
JNBP3.4,LOOP5
CJNER1,#00H,L3
MOVP1,#1DH;
东西红灯南北蓝灯
MOVP2,#0FFH
MOVR1,#05
L4:
LOOP4:
DJNZR2,LOOP4
CJNER1,#00H,L4
AJMPLL1
LL1:
LJMPLOOP0
LOOP5:
MOVTH0,#06H
MOVP1,#1BH;
东南西北全蓝灯
MOVR0,#00H
MOVR1,#00H
SETBP2.2
SETBP2.5
JBP3。
4,LL2
AJMPLOOP5
LL2:
DIS:
MOVDPTR,#TAB
MOVA,R0
DIVAB;
MOVCA,@A+DPTR
MOVP0,#0FEH
MOVP0,A
CLRP2.0
MOVP0,#0FDH
MOVP0,#0FBH
L5:
RET
D1MS:
MOVR4,#02H
DL:
MOVR3,#0FFH
DL1:
DJNZR3,DL1
DJNZR4,DL
TAB:
DB3FH,06H,5BH,4FH,66H;
使用的是共阴数码管
DB6DH,7DH,07H,7FH,6FH
END