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

上传人:b****8 文档编号:9970916 上传时间:2023-05-22 格式:DOCX 页数:14 大小:89.54KB
下载 相关 举报
单片机交通灯专周实习报告.docx_第1页
第1页 / 共14页
单片机交通灯专周实习报告.docx_第2页
第2页 / 共14页
单片机交通灯专周实习报告.docx_第3页
第3页 / 共14页
单片机交通灯专周实习报告.docx_第4页
第4页 / 共14页
单片机交通灯专周实习报告.docx_第5页
第5页 / 共14页
单片机交通灯专周实习报告.docx_第6页
第6页 / 共14页
单片机交通灯专周实习报告.docx_第7页
第7页 / 共14页
单片机交通灯专周实习报告.docx_第8页
第8页 / 共14页
单片机交通灯专周实习报告.docx_第9页
第9页 / 共14页
单片机交通灯专周实习报告.docx_第10页
第10页 / 共14页
单片机交通灯专周实习报告.docx_第11页
第11页 / 共14页
单片机交通灯专周实习报告.docx_第12页
第12页 / 共14页
单片机交通灯专周实习报告.docx_第13页
第13页 / 共14页
单片机交通灯专周实习报告.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《单片机交通灯专周实习报告.docx》由会员分享,可在线阅读,更多相关《单片机交通灯专周实习报告.docx(14页珍藏版)》请在冰点文库上搜索。

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

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

单片机专周实习

专业:

班级:

姓名:

学号:

前言

交通的发达,标志着城市的发达,于是交通的管理也显得越来越重要。

对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必须按照一定的规律变化,以便于车辆行人都能顺利地通过十字路口。

考虑到单片机具有性价比高、功能强、使用方便灵活、可靠性强等特点,故我们拟采用AT89C51系列的单片机来实现十字路口交通信号灯的控制。

正常情况下,十字路口的红绿灯应交替变换,以下设计中,将用发光二极管来模拟信号灯。

交通信号灯系统设计

设计目的:

1、通过交通信号灯系统的设计,掌握AT89C51并行口传输数据的方法,以控制发光二极管的亮与灭;

2、用AT89C51作为输出口,控制6个发光二极管亮与灭,模拟交通灯管理.

3、通过单片机控制设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;

4、完成控制系统的硬件设计、软件设计、仿真调试。

一、任务

1.交通控制系统AB方向亮绿灯60s,然后黄灯闪烁3次,每次一秒(亮灭各50ms),红灯40s,同时CD方向红灯65s,绿灯35s,黄灯闪烁3s

2.各路灯用LED模拟显示,同时用七段数码管显示两路的倒计时时间

3.利用键盘可修改灯亮时间

4.PC机设置灯亮时间,利用PC与单片机串口通信实现

二、方案比较

1、单片机型号选择

(1)ATMEL公司生产的AT89C51单片机作为主控制器进行对采集到的信号处理再输送给八段数码显示。

Intel公司生产的AT89C51是一个低功耗,字长为8位的单片微型计算机,由中央处理器、片内128BRAM、片内4KBROM、两个16位的定时计数器、四个8位的I/O口(P0、Pl、P2、P3)、一个全双工的串行口、五个中断源以及时钟等组成。

它具有体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好。

(2)TI公司生产的MSP430系列是一个特别强调超低功耗的单片机品种,很适合采用电池供电的长时间工作场合。

在这个系列中有很多型号,它们是有一些基本功能模块按不同不同的应用目标组合而成。

MSP430系列的CUP采用16位精简指令集系统,集成有16位寄存器和常数发生器,发挥了最高的代码效率。

它采用了数字控制振荡器,使得从低功耗模式到唤醒模式的转换时间小于6微妙。

其中MSP430X41X系列微控制器设计有一个16位定时器,一个比较器,96段LCD驱动器和48个通用I/O口引脚。

综合比较上面两点,虽然方案一的单片机没有方案二的速度快,功能也没那么强,但是它价格相对而言低廉一些,而且完全满足本题目的设计要求,所以选择了方案一。

2、译码器型号选择

(1)74138,其是一个3到8的译码器,其输出为低电平有效,使能端G1为高电平有效,/G2,/G3为低电平有效,当其中一个为低电平,输出端全部为1。

使用74138须注意两点:

  1.74138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门(因为每次仅一个为低电平,其余皆为高电平);

2.74138与前面不同的是,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。

下图给出了其最终的电路。

74HC138:

74LS138为3线-8线译码器,共有54/74S138和54/74LS138两种线路结构型式,其74LS138工作原理如下:

当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。

74LS138的作用:

利用G1、/(G2A)和/(G2B)可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。

若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器用与非门组成的3线-8线译码器。

74LS13871LS138有三个附加的控制端、和。

当、时,输出为高电平(S=1),译码器处于工作状态。

否则,译码器被禁止,所有的输出端被封锁在高电平,如表3.3.5所示。

这三个控制端也叫做“片选”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。

带控制输入端的译码器又是一个完整的数据分配器。

在图3.3.8电路中如果把作为“数据”输入端(在同一个时间),而将作为“地址”输入端,那么从送来的数据只能通过所指定的一根输出线送出去。

这就不难理解为什么把叫做地址输入了。

例如当=101时,门的输入端除了接至输出端的一个以外全是高电平,因此的数据以反码的形式从输出,而不会被送到其他任何一个输出端上。

(2)74LS47是一个4到8的译码器

74LS47的端子功能图如下图:

74LS47的主要功能端如下:

BI为熄灭输入端,低电平有效,当BI=0时,无论其他输入端状态如何,译码器输出七段同时熄灭;BI=1时,不影响译码器正常译码。

LT为测试输入端,低电平有效,用于检查数码管的七段是否正常发光。

当LT=0,同时BI=1时,不管输入的BCD码是什么状态,都可使驱动数码管的七段同时点亮。

译码器要正常译码,必须LT输入无效电平。

RBI为灭零输入端,低电平有效。

设置灭零输入端的目的是为了能将不希望显示的0熄灭,例如一个四位数码显示电路,整数部分两位,小数部分两位,在显示6.4时,将出现06.40的字样,如果将前、后多余的0熄灭,显示的结果更醒目一些。

灭零输入端只能对显示的0进行熄灭,而对其他数字没有影响。

在原理图中,译码器与数码管的连接如图:

综合比较上述资料,考虑到价格、电路需要等因素,74LS47比较常用且便宜,所以选择4LS47设计译码电路的方案。

3、数码管显示选择

静态显示方式:

静态显示就是显示驱动电路具有输入的锁存功能,单片机将所要显示的数据送出后就不再管,知道下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用CPU时间少。

静态显示数据稳定,但接线复杂。

动态显示方式:

动态扫描显示的硬件接口简单,只需要一个公共的七段码输入口,一个选择显示位的数位选择口,显示时,从左到右轮流点亮每位显示器。

动态显示的它硬件成本低,接口简单,但它要求CPU频繁地显示服务。

综合比较上面两点,虽然静态显示比动态显示稳定、占用CPU时间少,但静态显示接线复杂,而动态显示的它硬件成本低,接口简单,但它要求CPU频繁地显示服务。

所以选择动态显示方案。

三、功能模块介绍

按键模块:

本设计采用了四个功能按键,根据题目要求,一个按键为设置按键,一个对时间设置进行确认的按键,一个对时间进行60至1秒进行减可调按键,一个对时间进行1至60秒进行加可调按键。

采用独立按键格式,图如下:

数码显示:

本机数码管显示部分由两个两位共阴极7段数码显示管、1片七段译码器74LS47译码器及相关驱动电路组成,接口是一个8位的接口。

本模块可以用来显示数值等信息。

74LS47是高速的七段译码器。

有四根数据输入口线,及八根译码输出口线。

可用于数码管的驱动中。

实验板电路如下图:

串行通信模块:

通过MAX232芯片将单片机、主机的电平进行转换,使之达到通信的电平的要求。

通过TxD、RxD接口实现主从机之间的通信。

串行通信模块电路如下:

四、硬件图

五、系统硬件设计

1、系统硬件设计

选用设备:

AT89C51弹片机一片,74LS47芯片二片,电阻排RESPACK-7三个,共阴极的七段数码管7SEG-MPX2-CA两个,红、黄、绿交通灯各四个,开关键盘、连线、电阻、电容若干。

2、系统总框图如下:

3、系统工作原理

(1)开关键盘:

改变数码管显示的时间。

(2)由AT89C51单片机每秒钟通过P0、P2口向74LS47的数据口送信息,由P1口显示红、绿、黄灯的燃亮情况;由7SEG-MPX2-CA显示每个灯的燃亮时间。

(3)AT89C51P3.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方向绿灯35秒。

(8)当CD方向绿灯35秒倒计时完,第五阶段,AB方向红灯3秒,CD方向黄灯3秒。

(8)AB方向红灯和CD方向黄灯3秒同时倒计时完毕,重新循环。

六、系统软件设计

1、每秒钟的设定

延时方法可以有两种一中是利用AT89C51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。

2、1秒的方法

我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒.这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。

在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。

为零表示1秒已到可以返回到输出时间显示程序.

3、软件框图

七、汇编程序

ORG0000H;伪指令、程序开始、中断入口地址

LJMPMAIN

ORG0003H

LJMPZHD1

ORG000BH

LJMPZHD2

ORG0013H

LJMPZHD3

ORG1000H

;主程序

MAIN:

MOVTMOD,#01H;设工作方式

MOVTL0,#0F0H;设初值,单片机晶振12M,定时10ms

MOVTH0,#0D8H

SETBEA;开放总中断

SETBET0;开放T0中断

SETBTR0;启动T0定时

SETBEX0;开放外中断0

SETBEX1;开放外中断1

SETBIT0;设外中断0为边沿触发

CLRIT1;设外中断1为低电平有效

SETBPT0

CYCLE:

MOVR0,#60;AB方向绿灯显示时间

MOVR1,#65;CD方向红灯显示时间

MOVR2,#25;为延时1秒而用

;CD红灯AB绿灯

LOOP1:

SETBP3.4

MOVP1,#01H

SETBP1.7;点亮红灯

SETBP1.4;点亮绿灯

LCALLDISPLAY;调用显示程序

DJNZR2,LOOP1

MOVR2,#25

DECR1

DJNZR0,LOOP1

MOVR0,#3;AB方向黄灯显示时间

;CD红灯AB黄灯

LOOP2:

MOVP1,#01H

SETBP1.7;点亮红灯

SETBP1.3;点亮黄灯

LLJ:

LCALLDISPLAY;调用显示程序

CPLP1.3

DJNZR2,LLJ

DECR1

MOVR2,#25

DJNZR0,LOOP2

MOVR0,#40;AB方向红灯显示时间

;CD红灯AB红灯

LOOP3:

MOVP1,#01H

SETBP1.7;点亮红灯

SETBP1.2;点亮红灯

LCALLDISPLAY;调用显示程序

DJNZR2,LOOP3

MOVR2,#25

DECR0

DJNZR1,LOOP3

MOVR1,#35;CD方向绿灯显示时间

;CD绿灯AB红灯

LOOP4:

MOVP1,#01H

SETBP1.5;点亮绿灯

SETBP1.2;点亮红灯

LCALLDISPLAY;调用显示程序

DJNZR2,LOOP4

MOVR2,#25

DECR0

DJNZR1,LOOP4

MOVR1,#3;CD方向黄灯显示时间

;CD黄灯AB红灯

LOOP5:

MOVP1,#01H

SETBP1.6;点亮黄灯

SETBP1.2;点亮红灯

LLJ1:

LCALLDISPLAY;调用显示程序

CPLP1.6

DJNZR2,LLJ1

MOVR2,#25

DECR0

DJNZR1,LOOP5

LJMPCYCLE

;键盘中断程序

ZHD1:

LCALLDISPLAY

JBP3.6,Q2

INCR1

INCR0

CJNER1,#99,TIAO2

MOVR1,#00H

TIAO2:

CJNER0,#99,TIAO3

MOVR0,#00H

TIAO3:

LCALLDISPLAY

LCALLDISPLAY

LCALLDISPLAY

LCALLDISPLAY

LCALLDISPLAY

LCALLDISPLAY

JNBP1.0,Z2

Q2:

JBP3.7,WAIT1

DECR1

DECR0

CJNER1,#00H,TIAO

MOVR1,#99

TIAO:

CJNER0,#00H,TIAO1

MOVR0,#99

TIAO1:

LCALLDISPLAY

LCALLDISPLAY

LCALLDISPLAY

LCALLDISPLAY

LCALLDISPLAY

LCALLDISPLAY

WAIT1:

JNBP1.0,Z2

WAIT:

LJMPZHD1

Z2:

RETI

;时间中断程序

ZHD2:

MOVTL0,#0F0H;重先赋值

MOVTH0,#0D8H

CLRP3.4

RETI

;应急通道中断程序

ZHD3:

MOVP1,#85H

MOVP0,#30H

MOVP2,#30H

JNBP3.3,ZHD3

RETI

;数显显示

DISPLAY:

MOVA,R0;AB方向时间的显示

MOVB,#10

DIVAB;把要显示的数的十位存放在A中,个位存放在B中

ADDA,#00H;位选通十位

MOVP0,A;显示十位数字

TI0:

JNBP3.4,TT

SJMPTI0

TT:

SETBP3.4

MOVA,B

ADDA,#10H;位选通个位

MOVP0,A;显示个位数字

TI1:

JNBP3.4,TT1

SJMPTI1

TT1:

SETBP3.4

;CD方向的显示

MOVA,R1;CD方向时间的显示

MOVB,#10

DIVAB

ADDA,#40H;位选通十位

MOVP0,A;显示十位数字

TI2:

JNBP3.4,TT2

SJMPTI2

TT2:

SETBP3.4

MOVA,B

ADDA,#50H;位选通个位

MOVP0,A;显示个位数字

TI3:

JNBP3.4,TT3

SJMPTI3

TT3:

SETBP3.4

HEAR:

RET

八、参考文献

【1】李晓林,等.单片机原理与接口技术。

北京:

电子工业出版社2008.

【2】段晨东单片机原理及接口技术北京:

清华大学出版社2008

【3】曾一江单片微机原理及接口技术成都:

科学出版社2005

【4】李朝阳编着单片机原理及接口技术(第3版北京航空航天大学出版社)

【5】江志红编着51单片机技术与应用系统开发例案精选清华大学出版社

【6】蒋正萍、刘虹、张松、李小平编着《数字电子技术》

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2