50分悬赏!汇编设计交通灯控制系统(附图)

来源:百度知道 编辑:UC知道 时间:2024/06/18 05:09:24
根据TD-PIT-B实验箱现有的实验电路,,设计电路并编写程序使6个灯按交通变化规律亮、灭或闪烁,且将时间显示在数码管上。十字路口交通灯变化规律要求:
(1) 南北路口的绿灯、东西路口的红灯同时亮30秒。
(2) 南北路口的黄灯闪烁3次,同时东西路口的红灯继续亮。
(3) 南北路口的红灯、东西路口的绿灯同时亮30秒。
(4) 南北路口的红灯继续亮,同时东西路口的黄灯闪烁3次。
(5) 转1重复。
设计提示
(1) 通过对8254选择合适的信号源及计数初值,使计数器每隔1S产生一个脉冲。
(2) 将计数器的输出端接中断源IRQ,从而每隔1秒产生一次中断。
(3) 设计一个计数值,其初值置为33,中断服务程序每执行一次,计数值减1,根据当前计数值即可对灯的亮、灭或闪烁进行控制。
15.3.4 以人优先的交通灯控制
本设计是解决一个街道交通控制的问题,其目的是保证机动车辆正常通行的情况下,最大限度的满足人的通行。其控制要求如下:
(1) 没有行人过马路,机动车辆通行道路为绿灯,人行道路为红灯。
(2) 有行人过马路,机动车辆通行道路由绿灯转为黄灯,3秒钟后,再由黄灯转为红灯。此时人行道路由红灯转为绿灯,过5秒钟后,人行道路由绿灯转为黄灯(表示还没有过马路的行人禁止过马路),再过9秒钟后,人行道路由黄灯转为红灯,同时机动车辆通行道路由红灯转为绿灯。在人行道路为绿灯或黄灯时,不接受新的行人过马路请求。
设计提示:
延迟时间由8254产生,行人过马路请求用KK1模拟

这个是要花钱的,给分估计没有用

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