《单片机原理与应用》
课程设计报告
1.设计目的及要求
1.1设计目的
1.熟悉单片机控制系统,并了解系统设计的一般规律。
2.掌握8255芯片的结构及编程方法。
3.熟悉模拟交通灯控制的实现方法。
1.2设计要求
设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后将开关拨回原位,系统恢复原状态运行。
2.设计使用的仪器和设备
计算机,Dais MCS-51设计软件,Dais-PG系列嵌入式MCS-51教学实验平台, 基本电路器件(电阻、电容等)和连线。
3.系统硬件设计方案
3.1系统硬件方案框图
总体设计框图由四部分组成,CPU,扩展并行I/O口8255,开关,单脉冲,LED显示。硬件方案框图如图1所示:
图1
这里用CPU连接了一个并行I/O接口8255 LED显示器,根据人们的要求来实现对交通灯的控制。本系统通过中断系统来实现东西方向和南北方向全部变为红灯,再按动开关后又恢复正常。
3.2 8255交通灯的电路原理图
8255交通灯的电路原理图如图2所示:
图2 8255交通灯电路原理图
中断服务程序的关键是:
1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
2.必须在中断程序中设定是否允许中断重入,即设置EX0位。
4.系统软件设计方案
4.1 扩展并行I/O口8255
8255A芯片是一个采用NMOS工艺制造的、40引脚双列直插式封装组建的大规模集成电路,采用单一+5V电源供电。40个引脚中有24个为与外围设备的接口。8255结构图如图3所示:
图3 8255结构图
1.数据总线缓冲器
这是一个三态双向缓冲器,其宽度是8位,用做8255的内部数据总线与系统中的数据总线相连时的缓冲部件。缓冲器向数据总线送出数据,或从数据总线接收数据都是CPU指令控制下进行的。
2.读写逻辑控制
这一部件用来管理所有的数据、控制字或状态资的传送。他接收来自CPU的各种控制信号,并以此为依据,控制数据总线缓冲器数据的传送方向。与CPU相连的个引脚说明如下:
1) CS:芯片选择信号。来自地址译码器,低电平有效。
2) RD:芯片读出信号。来自系统总线,低电平有效。
3) WR:芯片写入信号。来自系统总线,低电平有效。
4) RESET复位信号。当它为高电平时,清除所有内部寄存器的内容,并将3个数据端口PA,PB,PC置为输入方式。
5) A1,A0:端口地址选择信号。用于选择8255A的3个数据端口和1个控制口。当A1A0为00、01、10时,分别选择数据端口PA、PB、PC;当A1A0为11时,选择控制口。
6) Vcc、GND:电源和地线。
3.端口PA,PB与PC
8255A有三个与外围设备相连的端口PA,PB,PC。各端口可以独立工作,由程序控制位将它设成各种不同的工作方式。端口A,B一般用做独立的输入或输出端口,每个端口包括一个四位琐存器,分别与A口,B口配合使用,作为与外设之间的联络信号。
4.2 程序流程图
8255交通灯程序流程图如图4所示:
图4 交通灯程序流程图
中断子程序流程图如图5所示:
图5 中断程序流程图
4.3控制程序:
Flash equ 0 ;LED状态
STOP equ 1
SY equ P1.0 ;南北黄灯
SG equ P1.1 ;南北绿灯
SR equ P1.2 ;南北红灯
EY equ P1.3 ;东西黄灯
EG equ P1.4 ;东西绿灯
ER equ P1.5 ;东西红灯
org 0
ljmp Start
org 3
setb STOP ;南北、东西均红灯
reti
Start:
mov SP,#70
mov TCON,#01h ;下降沿, IT0
mov IE,#81h ;EA允许, EX0
clr SR ;南北、东西均红灯
setb SY
setb SG
clr ER
setb EY
setb EG
clr STOP
Loop:
jb STOP,AllRed
setb SR ;南北绿灯,东西红灯
setb SY
clr SG
clr ER
setb EY
setb EG
mov a,#40
call Delay
jb STOP,AllRed
setb SR ;东西红灯,南北黄灯闪
setb SY
setb SG
clr ER
setb EY
setb EG
clr Flash
mov r7,#6
Loop2:
mov c,Flash
mov SY,c
mov a,#3
call Delay
cpl Flash
djnz r7,Loop2
jb STOP,AllRed
clr SR ;南北红灯,东西绿灯
setb SY
setb SG
setb ER
setb EY
clr EG
mov a,#65
call Delay
jb STOP,AllRed
clr SR ;南北红灯, 东西黄灯闪
setb SY
setb SG
setb ER
setb EY
setb EG
clr Flash
mov r7,#6
Loop1:
mov c,Flash
mov EY,c
mov a,#3
call Delay
cpl Flash
djnz r7,Loop1
ljmp Loop
AllRed: ;两个方向交通信号灯全红
clr SR
setb SY
setb SG
clr ER
setb EY
setb EG
clr STOP
jb p3.1,ALLRED
ljmp Loop
Delay: ;延时子程序
mov r1,#80H
mov r0,#0
DelayLoop:
jb STOP,ExitDelay
djnz r0,DelayLoop
djnz r1,DelayLoop
djnz ACC,Delay
ExitDelay:
ret
end
5.硬件软件的调试步骤:
1.进入Dais集成调试环境。
2.编写程序后按照实验电路图连接好线路。
3.点击“编辑”菜单中的“文件编译,连接,装载”选项。
4.点击连续运行。
6.小结
本设计完成了十字路口交通信号灯的控制功能,主要包括控制器的选择,功能特性的应用。论文采用软件工程的设计方法,通过使用单片机对交通信号灯进行控制,提出用数字信号自动控制十字路口两组红、黄、绿交通灯的状态转换方法,指挥各种车辆和行人安全通行。通过这次设计,使我了解到采用单片机控制交通信号灯,具有对外部环境适应性强的特性,同时由于单片机内部定时器资源十分丰富,特别可方便的实现对多岔路口的控制,通过编程控制可对信号灯实施全天候无人化管理。
实践证明,本设计所采用的单片机对十字路口交通灯进行控制的方案是完全可行的,并且通过修改程序,可以随时改变交通灯的工作时间和工作状态。该项工作为后续同一条道路上的信号灯组成局域网进行统一调度管理的研究提供了基础。随着电子与计算机技术的飞速发展,交通信号灯的设计定会更加智能化,十字路口的管理也会更加无人化。
参考文献
1.胡汉才.单片机原理及其接口技术,20##年5月第三版:90页到122页。
第二篇:交通灯控制系统设计
交通灯控制系统设计
一、任务
设计并制作一个交通灯控制系统。
二、要求
1.基本要求
(1
)设计一款带左转、直行、右转三种通行绿灯,参见实物效果图。
(2)带紧急按钮功能,当紧急按钮按下时,所有方向均亮红灯。
(3)夜间运行模式按钮,按下时,所有方向黄灯闪烁。
(4)可显示倒计时功能。
(5)使用仿真软件实现其功能。
2.发挥部分
(1)可在线修改红绿灯等待间隔时间。
(2)其它。
三、说明
不得用现成的模块和套件。
四、评分标准