交通灯课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

选择芯片器件、模块化编程等多项知识。

(2)用单片机模拟实现具体应用,使个人设计能够真正使用。

(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。

(4)提高利用已学知识分析和解决问题的能力。

(5)提高实践动手能力。

1.3 设计任务和内容

1.3.1设计任务

结合教材及参考资料,用AT89C51单片机模拟实现十字路口的交通灯亮灭、倒计时显示等功能。

1.3.2设计内容

(1)填写设计任务书。

(2)进行总体设计,画出原理图。

(3)编写并调试程序。

(4)用Proteus软件进行仿真。

第二章总体设计及核心器件简介

2.1总体设计

整个设计以AT89C51单片机为核心,LED数码管显示,晶振电路,复位电路组成。

硬件模块入图2-1。

AT89C51

单片机

LED数码

管显示晶振电路复位电路

图2-1 硬件模块

2.2 AT89C51

1.AT89C51单片机简介

AT89C51是美国A TMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM (快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。

图2-2 89C51内部结构图

与EEPROM相比较,FPEROM大大缩短了存储内容擦除和写入的时间,为在线改写程序提供了极大的方便,而且价格也比带EPROM87C系列单片机便宜,这更显示出了89C 系列的优越性。它还有128*8Bit的片内RAM;32根I/O线;2个16位定时/计数器;5个中断源;一个全双工的异步串行口;间歇和掉电工作模式;三级程序存储器加密;全静态工作,晶振工作范围:0Hz—24MHz。

2.管脚功能

AT89C51单片机为40引脚芯片如图2-3所示。

①I/O口线: P0、P1、P2、P3共四个八位P0口是三态双向口, 通称数据总线口, 因为只有该口能直接用于对外部存储器的读ˆ写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出, 故应在外部加锁存器将此地址数据锁存, 地址锁存信号用ALE。P1口是专门供用户使用的I/O口, 是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时, P口也可P2口也是准双向口。P3口是双功能口, 该口的每一位均可独立地定义为第一I/O 功能或第二I/O功能。作为第一功能使用时操作同P1口。

P3口的第二功能如表2-1。

图2-3 89C51引脚图

②控制口线: PSEN (片外取控制)、AL E( 地址锁存控制)、EA (片外储器选择)、RE2SET (复位控制) ;

③电源及时钟: CCC、VSS; XTAL 1, XTAL 2

表2-1 引脚功能表

2.3 74LS164

74LS164引脚定义如图2-5所示,其真值表如表2-2所示,其功能是将外部输入的串行数据转化为8位的并行数据输出具有锁寸功能。A、B端为串行数据输入端,QA ~ QH 为数据输出端,CLK为外部时钟输入端,CLR为清零端。

图2-5 74LS164引脚图

输入输出

CLEAR CLOCK A B Q A Q B……Q H

L X X X L L L

H L X X Q A0Q B0 Q H0

H ↑H H H Q An Q Gn

H ↑L X L Q An Q Gn

H ↑X L L Q An Q Gn

第三章单元电路模块设计

3.1复位电路

3-1 复位电路

3.2晶振电路

3-2晶振模块原理图

选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取22uF,晶振为11.0592Hz。

3.3 LED数码管显示电路

在单片机应用系统中,数码管显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新

的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小,可以提供单独锁存的I/O接口电路很多。所以本设计采用串并转换电路74LS164的静态显示电路。其电路图如图3-4所示。

图3-4 数码管显示静态驱动电路

3.4 总体设计原理图及功能介绍

功能介绍:

LED数码管则用来对各种状态进行倒计时的显示。设计中采用74LS164静态驱动LED数码管,利用单片机的RXD作为数据的输出端给164送数。利用164的移位进行多位的显示。利用延时程序控制每秒时间,从而控制RXD送数的时间间隔。

第四章软件编程设计

4.1 设计思想

交通灯根据其显示情况可以分为四个状态,可以通过定时来控制每个状态的时间;通过定时也可以向LED数码管中每隔1秒送一个数,显示该状态剩余的时间。

4.2 程序框图

图4-1 主程序框图

4.3 源程序

SECOND1 EQU 30H ;东西路口计时寄存器SECOND2 EQU 31H ;南北路口计时寄存器

DBUF EQU 40H ;显示码缓冲区1

TEMP EQU 44H ;显示码缓冲区2

LED_G1 BIT P2.1 ;东西路口绿灯

LED_Y1 BIT P2.2 ;东西路口黄灯

LED_R1 BIT P2.3 ;东西路口红灯

LED_G2 BIT P2.4 ;南北路口绿灯

LED_Y2 BIT P2.5 ;南北路口黄灯

LED_R2 BIT P2.6 ;南北路口红灯

ORG 0000H

LJMP START

ORG 0100H

START: MOV TMOD,#01H ;置T0为工作方式1

MOV TH0,#3CH ;置T0定时初值50ms

MOV TL0,#0B0H

CLR TF0

SETB TR0 ;启动T0

CLR A

MOV P1,A ;关闭不相关的LED

LOOP: MOV R2,#20 ;置1S计数初值,50ms*20=1s MOV R3,#20 ;红灯亮20S

MOV SECOND1,#25 ;东西路口计时显示初值25s

MOV SECOND2,#25 ;南北路口计时显示初值25s

LCALL DISPLAY

LCALL STATE1 ;调用状态1

WAIT1: JNB TF0,WAIT1 ;查询50ms到否

CLR TF0

MOV TH0,#3CH ;回复T0定时初值50ms

MOV TL0,#0B0H

DJNZ R2,W AIT1 ;判断1S到否未到继续状态1

MOV R2,#20 ;置50MS计数初值

相关文档
最新文档