单片机控制交通灯控制系统设计说明Word文件下载.docx
《单片机控制交通灯控制系统设计说明Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机控制交通灯控制系统设计说明Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
2.1MSC-51芯片简介….................................................................5
2.2双色发光二极管…....................................................................5
2.3双色灯与数码显示的对应关系………………..……………….....5
2.4交通灯的状态………………...……………………………….....6
2.5硬件连线……………………………………..……………….....6
2.68279使用简介................................................................................6
3CAD电路原理图与说明....................................................................84件设计流程图与源程序清单............................................................9
5实验心得与体会...............................................................................20
6参考文献...........................................................................................21
1引言
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
大多红绿灯由红绿黄三色圆形投光器组成:
“红”灯表示“停止”,“黄”灯表示“注意”,“绿”灯表示“通行”。
本电路设计了一个简易的交通灯控制系统,利用51单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。
并运用按键设置两个方向的通行时间(绿灯点亮的时间),使系统的工作符合一般交通灯控制要求。
2元器件的型号及参数
2.1MSC-51芯片简介
AT89S52是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
AT89S52单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
2.2双色发光二极管
双色发光二极管是将一个红色LED管芯和一个绿色LED管芯封装在一起、公用负端的一个集成器件。
当红色正端加高电平,绿色正端加低电平时,红灯亮;
红色正端加低电平,绿色正端加高电平时,绿灯亮;
两端都加高电平时,黄灯亮。
实验中,采用4只双色发光二极管(DLED)分别模拟安装在东、西、南、北4个路口上的4只交通灯,每只双色发光二极管由74LS240反向驱动器驱动,74LS240输入控制端为DR和DG,分别控制DLED红灯和黄灯的工作。
具体控制如下:
发光二极管的控制:
R0G1红色
R1G0绿色
R0G0黄色
R1G1不发光
2.3双色灯与数码管显示的对应关系
3号数码管(DR4)北
2号数码管(DR3)西
1号数码管(DR2)南
0号数码管(DR1)东
2.4交通灯的状态
(1)正常状态:
状态
数值
持续时间
工作状况
1
01101010(5AH)
20秒
东西红灯南北绿灯
2
00001010(0AH)
1秒
东西红灯南北黄灯闪烁
3
10100110(A5H)
东西绿灯南北红灯
4
00000110(05H)
南北红灯东西黄灯闪烁
(2)紧急状态
00001111(OFH)
10秒
东西南北全部红灯
2.5硬件连线
(1)采用P1口输出,P1.0~P1.7分别与DG1,DR1,DG2,DR2,DG3,DR3,DG4,DR4相连;
(2)P3.2和P3.3分别与按键开关K1、K2相连,K1的优先级高于K2;
(3)在爱迪克实验教学机上,数码管和8279内部已经连接好,不需再连线。
2.68279使用简介
8279可按其功能分为:
键盘功能块;
显示功能块;
控制功能块;
与CPU接口功能块控制功能块包括控制和定时寄存器,定时和控制,扫描计数器三部分。
它主要用来控制键盘和显示功能块工作.控制和定时寄存器:
用于存贮来自CPU的编程命令,CPU对8279编程以确定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0=1,WR=0CS=0,并在WR上升沿把命令键存在控制和定时寄存器中,并经译码,建立适当的功能.
定时和控制:
它含基本的定时计数器,第一个计数器是一个分频系数为2-31的前置定时器,分频系数可由程序预置,使内部频率为100KHz,从而能给出5.1ms键盘扫描时间和10.3ms反跳时间,其它计数器将此基本频率分频后,提供适当的按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数.
本图片为8279引脚图
[1]
8279在键盘工作方式时,可设置为双键互锁方式和N键循回方式。
双键互锁方式:
若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入FIFORAM中。
N键循回方式:
一次按下任意个键均可被识别,按键值按扫描次序被送入FIFORAM中。
2.5.2显示方式
显示功能块包括:
显示寄存器,16X8显示RAM,显示地址寄存器.
显示RAM和显示寄存器8279内部有16X8的显示RAM,通过显示寄存器和两个四位端口0UTA0-3,0UTBO-3来刷新显示,显示器可以是白炽灯,也可以是8段数码管,显示RAM可以是16X8的形式,也可以构成两个16x4的RAM形式,显示RAM可由CPU进行读写,被读写的RAM字节地址由显示地址寄存器指示.
显示地址寄存器保存当前CPU读或写的那个RAM地址,以及正显示着的那两个4位半字节的地址,读写地址由CPU命令编程,也可置为每次读写后地址自动加1的工作方式,在设置了正确的工作方式后,显示RAM可直接由CPU读出,半字节A和半字节B地址自动由8279更新,以适应由CPU送入的数据,A和B半字节可独立送入,也可作为一个字送入,随CPU所设置的工作方式而定
3CAD电路原理图与说明
4软件设计流程图与源程序清单及注解
4.1主程序流程图
主程序
程序注入
4.2源程序清单及注解
Z8279EQU08701H;
8279状态/命令口地址
D8279EQU08700H;
8279数据口地址
LEDMODEQU00H;
左边输入八位字符显示
;
外部译码键扫描方式,双键互锁
LEDFEQEQU2FH;
扫描速率
LEDCLSEQU0C1H;
清除显示RAM
LEDWR0EQU80H;
设定的将要写入的显示RAM地址
ORG0000H
AJMPSTART
ORG0003H;
INT0中断入口地址
LJMPINT_0
ORG000BH;
INTT0入口地址
AJMPINT_T0
ORG001BH;
INTT1入口地址
AJMPINT_T1
ORG0040H
START:
MOVSP,#60H
LCALLINIT8279;
初始化8279
MOVR6,#00H
MOVR1,#0H;
南北
MOVR2,#0H;
东西
MOV32h,#10
MOV33h,#8
MOVTMOD,#10H;
置T1为方式1
SETBEX0;
INT0中断有效
SETBIT0
SETBPX0
MOVTMOD,#11H
MOVTL0,#00H;
50mS的时间常数
MOVTH0,#04CH
MOVTL1,#00H;
MOVTH1,#04CH
MOVR0,#20H
SETBTR0
SETBTF1
SETBET0
SETBTR1
SETBET1
SETBEA;
开总中断
LCALLST0;
置初始状态南北东西全红
WAIT0:
MOVA,R1
MOVR2,A
MOVR3,A
LCALLDISPLAY
CJNER1,#00,WAIT0
CIRCLE:
LCALLST1
WAIT1:
CJNER1,#02,WAIT1
FLASH:
LCALLST2
CJNER1,#00,flash
LCALLST3
WAIT3:
CJNEr1,#02,WAIT3
FLASH1:
LCALLST4
MOVR3,A
CJNER1,#00,FLASH1
LJMPCIRCLE
ST0:
MOVDPTR,#8300h
MOVa,#0FH;
东西南北全红
MOVX@DPTR,a
MOVR1,#05
RET
ST1:
MOVDPTR,#8300H;
东西绿灯南北红灯
MOVA,32h
MOVR1,A
MOVA,#5AH
MOVX@DPTR,A
ST2:
MOVDPTR,#8300H
绿灯闪3次
MOVA,#5FH
M