找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1026|回复: 0
打印 上一主题 下一主题
收起左侧

单片机 交通信号灯

[复制链接]
跳转到指定楼层
楼主
ID:351295 发表于 2018-6-13 18:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ORG  0000H
LJMP START
ORG 2000H
START:  
MOV TMOD,#01H   ;T0为工作方式1
MOV TH0,#9EH  ;T0定时初值25ms
MOV TL0,#57H     
CLR  TF0
SETB TR0    ;启动T0
;***************************************************
MOV R2,#20   ;1s计数初值,50ms*20=1s
MOV R3,#5   ;红灯亮5s
WAIT0:
LCALL STATE0   ;调用状态0
JNB TF0,WAIT0   ;查询50ms到否
CLR TF0   
MOV TH0,#9EH  ;T0定时初值25ms
MOV TL0,#57H  
DJNZ  R2,WAIT0   ;判断1s到否未到继续状态0
MOV R2,#20   ;50ms计数初值  
DJNZ R3,WAIT0  ;状态0维持5s
;****************************************************
LOOP:  
MOV R2,#20    ;50ms计数初值
  MOV R3,#20   ;南北绿灯东西红灯亮20s
WAIT1:
LCALL STATE1   ;调用状态1
JNB  TF0,WAIT1  ;查询50ms到否
CLR  TF0
MOV TH0,#9EH  ;T0定时初值25ms
MOV TL0,#57H  
DJNZ  R2,WAIT1   ;判断1s到否未到继续状态1
MOV R2,#20   ;100ms计数初值
DJNZ  R3,WAIT1   ;状态1维持20s
;****************************************************
    MOV    R2,#10    ;置循环次数
MOV R4,#10    ;闪烁间隔500ms
LCALL     STATE2   ;调用状态2
WAIT2:
JNB TF0,WAIT2   ;查询50ms到否
CLR  TF0
MOV TH0,#9EH  ;T0定时初值25ms
MOV TL0,#57H
DJNZ   R4,WAIT2  ;判断500ms到否未到继续状态2
CPL P1.1    ;南北黄灯闪
MOV R4,#10  ;闪烁间隔500ms
DJNZ R2,WAIT2  ;
;*******************************************
MOV R2,#20    ;50ms计数初值
MOV R3,#10    ;红灯亮10s
WAIT4:  
LCALL     STATE4   ;调用状态4
JNB TF0,WAIT4   ;查询50ms到否
CLR  TF0
MOV TH0,#3CH   ;恢复T0定时初值50ms
MOV TL0,#0B0H
DJNZ    R2,WAIT4   ;判断1s到否未到继续状态4
MOV R2,#20    ;1s计数初值
DJNZ    R3,WAIT4   ;状态4维持10s
;*******************************************
MOV    R2,#10    ;置循环次数
MOV R4,#10    ;闪烁间隔500ms
LCALL     STATE5   ;调用状态5
WAIT5:
JNB TF0,WAIT5   ;查询50ms到否
CLR  TF0
MOV TH0,#9EH  ;T0定时初值25ms
MOV TL0,#57H  
DJNZ  R4,WAIT5   ;判断500ms到否未到继续状态2
CPL P1.6    ;东西黄灯闪
MOV R4,#10  ;闪烁间隔500ms
DJNZ R2,WAIT5  ;
  
LJMP LOOP    ;大循环
;**********************************************
STATE0:       ;状态0
    CLR   P1.0             ;南北路口红灯亮
SETB P1.1
SETB P1.2
CLR P1.5
SETB  P1.6
SETB P1.7   ;东西路口红灯亮
RET
STATE1:       ;状态1
    SETB   P1.0             ;南北路口绿灯亮
SETB P1.1
CLR P1.2
CLR  P1.5
SETB  P1.6
SETB P1.7   ;东西路口红灯亮
RET
STATE2:       ;状态2
    SETB   P1.0             ;南北路口黄灯亮
CLR P1.1
SETB P1.2
CLR P1.5
SETB  P1.6
SETB P1.7   ;东西路口红灯亮
RET
STATE4:       ;状态4
    CLR   P1.0             ;南北路口红灯亮
SETB P1.1
SETB P1.2
SETB P1.5
SETB  P1.6
CLR P1.7    ;东西路口绿灯亮
RET
STATE5:       ;状态6
    CLR   P1.0             ;南北路口红灯亮
SETB P1.1
SETB P1.2
SETB P1.5
SETB  P1.6
SETB P1.7   ;东西路口黄灯亮
RET
END
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表