基于89c51单片机的模拟交通灯系统的设计。
设计人:ccc xxx sss
指导老师:ccc xxx
河北科技师范学院欧美学院机电科学与工程系08电气自动化专业。
本文从3个方面展开论述:首先是硬件电路的描述,接着软件部分的设计,最后实现功能。
一、 系统设计的意义及要求。
1.1 系统的意义。
交通的发达,标志着城市的发达,于是交通的管理也显得越来越重要。对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必须按照一定的规律变化,以便于车辆行人都能顺利地通过十字路口。考虑到单片机具有性价比高、功能强、使用方便灵活、可靠性强等特点,故我们拟采用8051系列的单片机来实现十字路**通信号灯的控制。
正常情况下,十字路口的红绿灯应交替变换, 以下设计中,将用发光二极管来模拟信号灯[1]。
1.2 设计的要求。
交通信号灯模拟控制系统利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。用8051做输出口,控制6个发光二极管的亮与灭,模拟交通灯管理。在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,绿灯(如图1.
2)。图1.2 1.2.1 设计一个十字路口的交通灯控制电路,要求东西方向(主干道)车道和南北。
1.2.2 方向(从干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。
1.2.3 在绿灯转为红灯时,要求黄灯闪烁,才能变换运行车道。
1.2.4 黄灯亮时,要求每秒闪亮一次。
二、 系统的硬件设计方案。
任务设计一个能够控制六盏交通信号灯的模拟系统。并且要求交通信号灯按照交通规则的模式来运行。
实现方案东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
设指示灯方案(如下表2-1)[2]。
表2-12.1.1 当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为25秒。
2.1.2 黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。
2.1.3 当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为25秒。
2.1.4 这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
2.1.5 此表可根据车流动态设置红绿灯的初始值。
三、系统的软件设计方案。
3.1 系统流程图(见附图3.1-1)
3.2 设计的程序**。
org 0000h
ljmp main
org 0040h
main: mov p0,#0ffh ;设置初始状态。
mov p2,#00h
mov p3,#0ffh
m1: mov p0,#084h ;东西方向红灯南北方向绿灯。
mov r2,#26 ;设置绿灯倒计时25秒。
mov r0,#31设置红灯倒计时30秒。
start1: dec r0 ; 绿灯倒计时减一。
dec r2 ;红灯倒计时减一。
mov r7,#100 ;设置循环。
loop1: mov r6,#5 ;设置循环。
loop2: mov a,r2 ;当前绿灯倒计时导入r2
mov b,#
div ab ;计算倒计时十位与个位,26/10=2,2放入a累加器,余数6放入b累加器。
mov dptr,#table ;寻址。
movc a,@a+dptr
mov p2,a ;显示十位数。
clr p3.3 ;扫描输出。
lcall delayy ;数码管显示延迟。
setb p3.3
mov a,b ;导入个位数到累加器a
movc a,@a+dptr
mov p2,a ;显示个位数。
clr p3.4
lcall delayy
setb p3.4
mov a,r0 ;导入红灯倒计时时间。
mov b,#
div ab
mov dptr,#table
movc a,@a+dptr
mov p2,a ;显示红灯十位数。
clr p3.1
lcall delayy
setb p3.1
mov a,b ;导入红灯个位数到累加器a
movc a,@a+dptr
mov p2,a ;显示个位数。
clr p3.2
lcall delayy
setb p3.2
djnz r6,loop2 ;判断循环状态。
djnz r7,loop1
mov a,r0 ;当前倒计时时间导入累加器a
cjne a,#05,start1 ;判断循环状态如果红灯剩余5秒,而绿灯倒计时为零则继续。
mov r1,#05h ;设置循环5次即5秒。
m2: mov a,r0 ;将r0中数据存入a中应为5即黄灯闪烁5秒。
mov dptr,#table
movc a,@a+dptr
mov p2,a ;数码管显示倒计时。
clr p3.2
clr p3.4
mov p0,#088h ;东西方向红灯南北方向黄灯。
mov r2,#05 ;设置延迟为0.5秒。
lcall delay
movc a,@a+dptr
mov p2,a ;显示红灯倒计时黄灯倒计时闪烁。
setb p3.4
mov p0,#080h ;红灯亮黄灯灭。
mov r2,#
lcall delay
setb p3.2
dec r0 ;r0内倒计时减一。
djnz r1,m2 ; 判断循环是否结束。
m3: mov p0,#030h ;东西方向绿灯南北方向红灯。
mov r2,#
mov r0,#
start2:dec r2
dec r0
mov r7,#
loop3: mov r6,#
loop4: mov a,r2
mov b,#
div ab
mov dptr,#table
movc a,@a+dptr
mov p2,a
clr p3.1
lcall delayy
setb p3.1
mov a,b
movc a,@a+dptr
mov p2,a
clr p3.2
lcall delayy
setb p3.2
mov a,r0
mov b,#
div ab
mov dptr,#table
movc a,@a+dptr
mov p2,a
clr p3.3
lcall delayy
setb p3.3
mov a,b
movc a,@a+dptr
mov p2,clr p3.4
lcall delayy
setb p3.4
djnz r6,loop4
djnz r7,loop3
mov a,r0
cjne a,#5,start2
mov r1,#05h
m4: mov a,r0
mov dptr,#table
movc a,@a+dptr
mov p2,a
clr p3.2
clr p3.4
mov p0,#050h
mov r2,#
lcall delay
movc a,@a+dptr
mov p2,a
setb p3.2
mov p0,#010h
mov r2,#
lcall delay
setb p3.4
dec r0
djnz r1,m4
ljmp m1 ;重新跳转到开始状态。
delay: mov r3,#10 ;100ms延迟。
d1: mov r4,#
d2: mov r5,#
d3: djnz r5,d3
djnz r4,d2
djnz r3,d1
djnz r2,delay
retdelayy: mov r3,#40 ;1ms延迟。
d4: mov r4,#
d5: djnz r4,d5
djnz r3,d4
rettable: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh 七段数码管显示。
end附图3.1-1 系统流程图。
四、结论。4.1.1 通过交通信号灯系统的设计,掌了握8051并行口传输数据的方法,以控制发光二极管的亮与灭[4]。
4.1.2 用8051作为输出口,控制6个发光二极管亮与灭,模拟了交通灯管理。
4.1.3 通过单片机控制设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力[5]。
4.1.4 完成控制系统的硬件设计、软件设计。
五、课程设计的体会。
此次的电子系统设计给我们提供了一个把单片机的理论知识用在实践中的机会,实现了理论和实践的相结合,更从中懂得理论是实践的基础,实践反作用于理论的正确性,这使我们受益匪浅,对我们以后参加工作或者继续学习将会产生巨大的帮助和影响。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...