收藏 分享(赏)

单片机交通灯专周实习报告.doc

上传人:weiwoduzun 文档编号:4542861 上传时间:2019-01-02 格式:DOC 页数:17 大小:320.50KB
下载 相关 举报
单片机交通灯专周实习报告.doc_第1页
第1页 / 共17页
单片机交通灯专周实习报告.doc_第2页
第2页 / 共17页
单片机交通灯专周实习报告.doc_第3页
第3页 / 共17页
单片机交通灯专周实习报告.doc_第4页
第4页 / 共17页
单片机交通灯专周实习报告.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、0单片机专周实习交通灯控制系统专业: 班级: 姓名: 学号: 1前言交通的发达,标志着城市的发达,于是交通的管理也显得越来越重要。对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必须按照一定的规律变化,以便于车辆行人都能顺利地通过十字路口。考虑到单片机具有性价比高、功能强、使用方便灵活、可靠性强等特点,故我们拟采用 AT89C51 系列的单片机来实现十字路口交通信号灯的控制。 正常情况下,十字路口的红绿灯应交替变换, 以下设计中,将用发光二极管来模拟信号灯。交通信号灯系统设计设计目的:1、通过交通信号灯系统的设计,掌握 AT89C51 并行口传输数据的方法,以控制发

2、光二极管的亮与灭;2、用 AT89C51 作为输出口,控制 6 个发光二极管亮与灭,模拟交通灯管理.3、通过单片机控制设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;4、完成控制系统的硬件设计、软件设计、仿真调试。一、任务1.交通控制系统 AB 方向亮绿灯 60s,然后黄灯闪烁 3 次,每次一秒(亮灭各50ms) ,红灯 40s,同时 CD 方向红灯 65s,绿灯 35s,黄灯闪烁 3s2.各路灯用 LED 模拟显示,同时用七段数码管显示两路的倒计时时间3.利用键盘可修改灯亮时间4.PC 机设置灯亮时间,利用 PC 与单片机串口通信实现二、 方案比较1、单片

3、机型号选择(1) ATMEL 公司生产的 AT89C51 单片机作为主控制器进行对采集到的信号处理再输送给八段数码显示。Intel 公司生产的 AT89C51 是一个低功耗,字长为 8 位的单片微型计算机,由中央处理器、片内 128B RAM、片内 4KBROM、两个16 位的定时计数器、四个 8 位的 IO 口(P 0、P l、P 2、P 3)、一个全双工的串行口、五个中断源以及时钟等组成。它具有体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好。2(2)TI 公司生产的 MSP430 系列是一个特别强调超低功耗的单片机品种,很适合采用电池供电的长时间工作场合。在这个

4、系列中有很多型号,它们是有一 些基本功能模块按不同不同的应用目标组合而成。MSP430 系列的 CUP采用 16 位精简指令集系统,集成有 16 位寄存器和常数发生器,发挥了最高的代码效率。它采用了数字控制振荡器,使得从低功耗模式到唤醒模式的转换时间小于 6 微妙。其中 MSP430X41X 系列微控制器设计有一个 16 位定时器,一个比较器,96 段 LCD 驱动器和 48 个通用 IO 口引脚。综合比较上面两点,虽然方案一的单片机没有方案二的速度快,功能也没那么强,但是它价格相对而言低廉一些,而且完全满足本题目的设计要求,所以选择了方案一。2、译码器型号选择(1)74138, 其 是 一

5、个 3 到 8 的 译 码 器 , 其 输 出 为 低 电 平 有 效 , 使 能 端G1 为 高 电 平 有 效 , /G2,/G3 为 低 电 平 有 效 , 当 其 中 一 个 为 低 电 平 , 输 出 端 全部 为 1。 使 用 74138 须 注 意 两 点 : 1.74138 的 输 出 是 低 电 平 有 效 , 故 实 现 逻 辑 功 能 时 , 输 出 端 不 可 接 或 门及 或 非 门 ( 因 为 每 次 仅 一 个 为 低 电 平 , 其 余 皆 为 高 电 平 ) ; 2.74138 与 前 面 不 同 的 是 , 其 有 使 能 端 , 故 使 能 端 必 须 加

6、 以 处 理 , 否 则无 法 实 现 需 要 的 逻 辑 功 能 。 下 图 给 出 了 其 最 终 的 电 路 。74HC138:74LS138 为 3 线8 线译码器,共有 54/74S138 和 54/74LS138 两种线路结构型式,其 74LS138 工作原理如下: 当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。 74LS138 的作用:利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。若将选通端中的一个作为数据

7、输入端时,74LS138 还可作数据分配器用与非门组成的 3 线-8 线译码器。374LS13871LS138 有三个附加的控制端、和。当、时,输出为高电平(S1),译码器处于工作状态。否则,译码器被禁止,所有的输出端被封锁在高电平,如表 3.3.5 所示。这三个控制端也叫做“片选”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。带控制输入端的译码器又是一个完整的数据分配器。在图 3.3.8 电路中如果把作为“数据”输入端(在同一个时间),而将作为“地址”输入端,那么从送来的数据只能通过所指定的一根输出线送出去。这就不难理解为什么把叫做地址输入了。例如当101 时,门的输入端除了接

8、至输出端的一个以外全是高电平,因此的数据以反码的形式从输出,而不会被送到其他任何一个输出端上。(2) 74LS47 是 一 个 4 到 8 的 译 码 器74LS47 的端子功能图如下图: 74LS47 的主要功能端如下:BI 为熄灭输入端,低电平有效,当 BI=0 时,无论其他输入端状态如何,4译码器输出七段同时熄灭;BI=1 时,不影响译码器正常译码。LT 为测试输入端,低电平有效,用于检查数码管的七段是否正常发光。当LT=0,同时 BI=1 时,不管输入的 BCD 码是什么状态,都可使驱动数码管的七段同时点亮。译码器要正常译码,必须 LT 输入无效电平。RBI 为灭零输入端,低电平有效。

9、设置灭零输入端的目的是为了能将不希望显示的 0 熄灭,例如一个四位数码显示电路,整数部分两位,小数部分两位,在显示 6.4 时,将出现 06.40 的字样,如果将前、后多余的 0 熄灭,显示的结果更醒目一些。灭零输入端只能对显示的 0 进行熄灭,而对其他数字没有影响。在原理图中,译码器与数码管的连接如图:综合比较上述资料,考虑到价格、电路需要等因素,74LS47 比较常用且便宜,所以选择 4LS47 设计译码电路的方案。3、数码管显示选择静态显示方式:静态显示就是显示驱动电路具有输入的锁存功能,单片机将所要显示的数据送出后就不再管,知道下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占

10、用 CPU 时间少。静态显示数据稳定,但接线复杂。5动态显示方式:动态扫描显示的硬件接口简单,只需要一个公共的七段码输入口,一个选择显示位的数位选择口,显示时,从左到右轮流点亮每位显示器。动态显示的它硬件成本低,接口简单,但它要求 CPU 频繁地显示服务。综合比较上面两点,虽然静态显示比动态显示稳定、占用 CPU 时间少,但静态显示接线复杂,而动态显示的它硬件成本低,接口简单,但它要求 CPU 频繁地显示服务。所以选择动态显示方案。三、功能模块介绍按键模块:本设计采用了四个功能按键,根据题目要求,一个按键为设置按键,一个对时间设置进行确认的按键,一个对时间进行 60 至 1 秒进行减可调按键,

11、一个对时间进行 1 至 60 秒进行加可调按键。采用独立按键格式,图如下:数码显示:本机数码管显示部分由两个两位共阴极 7 段数码显示管、1 片七段译码器 74LS47 译码器及相关驱动电路组成,接口是一个 8 位的接口。本模块可以用来显示数值等信息。74LS47 是高速的七段译码器。有四根数据输入口线,及八根译码输出口线。6可用于数码管的驱动中。实验板电路如下图:串行通信模块:通过 MAX232 芯片将单片机、主机的电平进行转换,使之达到通信的电平的要求。通过 TxD、RxD 接口实现主从机之间的通信。串行通信模块电路如下:四、 硬件图7五、系统硬件设计1、系统硬件设计选用设备:AT89C5

12、1 弹片机一片,74LS47 芯片二片,电阻排 RESPACK-7 三个,共阴极的七段数码管 7SEG-MPX2-CA 两个,红、黄、绿交通灯各四个,开关键盘、连线、电阻、电容若干。2、系统总框图如下:874LS47七段驱动器数据口数码管显示 CD方向时 间89C51系 统 处 理键盘设置时间参数AB 和 CD方向红绿黄三种灯的显示情况74LS47七段驱动器数据口数码管显示 AB方向时 间3、系统工作原理(1)开关键盘:改变数码管显示的时间。(2) 由 AT89C51 单片机每秒钟通过 P0、P2 口向 74LS47 的数据口送信息,由 P1 口显示红、绿、黄灯的燃亮情况;由 7SEG-MPX

13、2-CA 显示每个灯的燃亮时间。(3) AT89C51 P3.2 有下降沿触发时,时间暂停,进入时间显示状态,但 P3.6为低电平时,时间显示以 1 秒的速度进行加 1,但 P3.7 为低电平时,时间显示以 1 秒的速度进行减一。(4)初始状态 AB 方向绿灯 60 秒 CD 方向红灯 65 秒。(5)当 AB 方向绿灯 60 秒倒计时完了,进入下一阶段,AB 方向黄灯 3 秒,CD 方向红灯 5 秒。(6)当 AB 方向黄灯 3 秒倒计时完,第三阶段,AB 方向红灯 40 秒,CD 方向红灯 2 秒。(7)当 CD 方向红灯 2 秒倒计时完,第四阶段,AB 方向红灯 38 秒,CD 方向绿灯

14、 35 秒。(8)当 CD 方向绿灯 35 秒倒计时完,第五阶段,AB 方向红灯 3 秒,CD 方向黄灯 3 秒。(8)AB 方向红灯和 CD 方向黄灯 3 秒同时倒计时完毕,重新循环。9六、系统软件设计1、每秒钟的设定延时方法可以有两种一中是利用 AT89C51 内部定时器才生溢出中断来确定1 秒的时间,另一种是采用软延时的方法。2、秒的方法我们采用在主程序中设定一个初值为的软件计数器和使定时毫秒这样每当到毫秒时就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,先使软件计数器减,然后判断它是否为零。为零表示秒已到可以返回到输出时间显示程序.3、软件框图10开始初始化AB 方

15、向绿灯倒计时,CD 方向红灯倒计时AB 方向黄灯倒计时,CD 方向红灯倒计时AB 方向红灯倒计时,CD 方向红灯倒计时AB 方向红灯倒计时,CD 方向绿灯倒计时AB 方向红灯倒计时,CD 方向黄灯倒计时AB 方向数码是否为 0AB 方向数码是否为 0CD 方向数码是否为 0CD 方向数码是否为 0AB 方向数码是否为 0结束N N N N N YYYYY自动返回11七、汇编程序ORG 0000H ;伪指令、程序开始、中断入口地址LJMP MAINORG 0003HLJMP ZHD1ORG 000BHLJMP ZHD2ORG 0013HLJMP ZHD3ORG 1000H;主程序MAIN:MOV

16、 TMOD,#01H ;设工作方式MOV TL0,#0F0H ;设初值 ,单片机晶振 12M,定时 10msMOV TH0,#0D8HSETB EA ;开放总中断SETB ET0 ;开放 T0 中断SETB TR0 ;启动 T0 定时SETB EX0 ;开放外中断 0SETB EX1 ;开放外中断 1SETB IT0 ;设外中断 0 为边沿触发CLR IT1 ;设外中断 1 为低电平有效SETB PT0CYCLE:MOV R0,#60 ;AB 方向绿灯显示时间MOV R1,#65 ;CD 方向红灯显示时间MOV R2,#25 ;为延时 1 秒而用;CD 红灯 AB 绿灯LOOP1:SETB P

17、3.4MOV P1,#01H12SETB P1.7 ;点亮红灯SETB P1.4 ;点亮绿灯LCALL DISPLAY ;调用显示程序DJNZ R2,LOOP1MOV R2,#25DEC R1DJNZ R0,LOOP1MOV R0,#3 ;AB 方向黄灯显示时间;CD 红灯 AB 黄灯LOOP2:MOV P1,#01HSETB P1.7 ;点亮红灯SETB P1.3 ;点亮黄灯LLJ: LCALL DISPLAY ;调用显示程序CPL P1.3DJNZ R2,LLJDEC R1MOV R2,#25DJNZ R0,LOOP2MOV R0,#40 ;AB 方向红灯显示时间;CD 红灯 AB 红灯L

18、OOP3:MOV P1,#01HSETB P1.7 ;点亮红灯SETB P1.2 ;点亮红灯LCALL DISPLAY ;调用显示程序DJNZ R2,LOOP3MOV R2,#25DEC R0DJNZ R1,LOOP3MOV R1,#35 ;CD 方向绿灯显示时间13;CD 绿灯 AB 红灯LOOP4:MOV P1,#01HSETB P1.5 ;点亮绿灯SETB P1.2 ;点亮红灯LCALL DISPLAY ;调用显示程序DJNZ R2,LOOP4MOV R2,#25DEC R0DJNZ R1,LOOP4MOV R1,#3 ;CD 方向黄灯显示时间;CD 黄灯 AB 红灯LOOP5:MOV

19、P1,#01HSETB P1.6 ;点亮黄灯SETB P1.2 ;点亮红灯LLJ1: LCALL DISPLAY ;调用显示程序CPL P1.6DJNZ R2,LLJ1MOV R2,#25DEC R0DJNZ R1,LOOP5LJMP CYCLE;键盘中断程序ZHD1: LCALL DISPLAYJB P3.6,Q2INC R1INC R0CJNE R1,#99,TIAO2MOV R1,#00HTIAO2:CJNE R0,#99,TIAO314MOV R0,#00HTIAO3:LCALL DISPLAYLCALL DISPLAYLCALL DISPLAYLCALL DISPLAYLCALL D

20、ISPLAYLCALL DISPLAYJNB P1.0,Z2Q2: JB P3.7,WAIT1DEC R1DEC R0CJNE R1,#00H,TIAOMOV R1,#99TIAO: CJNE R0,#00H,TIAO1MOV R0,#99TIAO1:LCALL DISPLAYLCALL DISPLAYLCALL DISPLAYLCALL DISPLAYLCALL DISPLAYLCALL DISPLAYWAIT1:JNB P1.0,Z2WAIT: LJMP ZHD1Z2: RETI;时间中断程序ZHD2: MOV TL0,#0F0H ;重先赋值MOV TH0,#0D8HCLR P3.4RET

21、I15;应急通道中断程序ZHD3:MOV P1,#85HMOV P0,#30HMOV P2,#30HJNB P3.3,ZHD3RETI;数显显示DISPLAY:MOV A,R0 ;AB 方向时间的显示MOV B,#10DIV AB ;把要显示的数的十位存放在 A 中,个位存放在 B 中ADD A,#00H ;位选通十位MOV P0,A ;显示十位数字TI0: JNB P3.4,TTSJMP TI0TT: SETB P3.4MOV A,BADD A,#10H ;位选通个位MOV P0,A ;显示个位数字TI1: JNB P3.4,TT1SJMP TI1TT1: SETB P3.4;CD 方向的显

22、示MOV A,R1 ;CD 方向时间的显示MOV B,#10DIV ABADD A,#40H ;位选通十位MOV P0,A ;显示十位数字TI2: JNB P3.4,TT2SJMP TI216TT2: SETB P3.4MOV A,BADD A,#50H ;位选通个位MOV P0,A ;显示个位数字TI3: JNB P3.4,TT3SJMP TI3TT3: SETB P3.4HEAR: RET八、参考文献【1】李晓林,等.单片机原理与接口技术 。北京:电子工业出版社 2008.【2】段晨东 单片机原理及接口技术 北京:清华大学出版社 2008【3】曾一江 单片微机原理及接口技术 成都:科学出版社 2005【4】李朝阳编著 单片机原理及接口技术(第 3 版 北京航空航天大学出版社)【5】江志红编著 51 单片机技术与应用系统开发例案精选 清华大学出版社【6】蒋正萍、刘虹、张松、李小平编著 数字电子技术

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 农林牧渔

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报