烛火鬼:《交通信号灯控制》
来源:百度文库 编辑:高考问答 时间:2024/04/28 22:01:09
公司名: 佛山市国星光电科技有限公司
--------------------------------------------------------------------------------
联系人: 王垚浩
电话: 0757-82960551 82810387
传真: 0757-82960551
地址: 佛山市汾江北路24号
邮政编码: 528000
电子邮件: lnxh@21cn.com;company@nationstar.com
主页: http://www.nationstar.com
建议一个思路:首先使用c8051f020和一个11.0592的晶振搭建一个最小的系统,同时利用通用io输入输出接口来控制二极管,实现你的逻辑,编程上需要用keil c ,安装包在www.xhl.com.cn网站可以找到,另外别忘了安装jtag驱动。你用c语言编写,速度会快些。。
Flash equ 0 ; LED状态
STOP equ 1
SR equ p1.0 ; 南北红灯
SY equ p1.1 ; 南北黄灯
SG equ P1.2 ; 南北绿灯
ER equ P1.3 ; 东西红灯
EY equ P1.4 ; 东西黄灯
EG equ p1.5 ; 东西绿灯
ljmp Start
org 3
setb STOP ; 南北, 东西均红灯
reti
Start:
mov SP, #70
mov TCON, #01h ; down edge IT0
mov IE, #81h ; enable EA, EX0
setb SR ; 南北, 东西均红灯
clr SY
clr SG
setb ER
clr EY
clr EG
clr STOP
Loop:
jb STOP, AllRed
setb SR ; 南北红灯, 东西绿灯
clr SY
clr SG
clr ER
clr EY
setb EG
mov a, #20
call Delay
jb STOP, AllRed
setb SR ; 南北红灯, 东西黄灯闪
clr SY
clr SG
clr ER
clr EY
clr EG
clr Flash
mov r7, #9
Loop1:
mov c, Flash
mov EY, c
mov a, #1
call Delay
cpl Flash
djnz r7, Loop1
jb STOP, AllRed
clr SR ; 南北绿灯, 东西红灯
clr SY
setb SG
setb ER
clr EY
clr EG
mov a, #20
call Delay
jb STOP, AllRed
clr SR ; 东西红灯, 南北黄灯闪
clr SY
clr SG
setb ER
clr EY
clr EG
clr Flash
mov r7, #9
Loop2:
mov c, Flash
mov SY, c
mov a, #1
call Delay
cpl Flash
djnz r7, Loop2
ljmp Loop
AllRed:
setb SR
clr SY
clr SG
setb ER
clr EY
clr EG
clr STOP
mov a, #10
call Delay
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