单片机红绿灯程序完整版.docx
- 文档编号:9929761
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:10
- 大小:71.66KB
单片机红绿灯程序完整版.docx
《单片机红绿灯程序完整版.docx》由会员分享,可在线阅读,更多相关《单片机红绿灯程序完整版.docx(10页珍藏版)》请在冰豆网上搜索。
单片机红绿灯程序完整版
交
通
灯
设
计
交通灯
设计方案:
1:
实现东西路----南北路红绿灯的交通指示。
2:
东西路灯变化----红绿黄
南北路灯变化----绿黄红
3:
红灯延时时间---25S
绿灯延时时间---20S
黄灯延时时间—3S
4:
数码管显示:
红灯---前20S不显示,只在最后5S开始倒计时显示。
绿灯---前15S不显示,只在最后5S开始倒计时显示。
黄灯---3S倒计时显示(若东西路为黄灯,南北路为红灯,那么南北绿的数码管也显示3S)。
5:
交通应急事件处理:
利用中断分别实现东西路---南北路的交通应急事件处理。
6:
延时程序的使用:
用循环延时和定时器计时的方法。
注:
P1.0---北路绿灯,P1.1--北路黄灯,P1.2---北路红灯。
P1.3--东路绿灯,P1.4---东路黄灯,P1.5----东路红灯。
【交通灯流程图】
开始
南北路绿灯亮,红,黄灯灭
东西路红灯亮,绿,黄灯灭
延时20秒
南北路绿灯数码管开始倒计时5秒
其他灯不变
5秒倒计时结束
南北路绿灯灭,黄灯亮且数码管开始倒计时3秒
东西路红灯——数码管开始倒计时3秒
3秒倒计时结束
东西路绿灯亮,黄灯,红灯灭
南北路红灯亮,黄灯,绿灯灭
延时25秒
东西路数码管开始倒计时5秒
其他灯不变
5秒倒计时结束
东西路绿灯灭,黄灯亮且数码管开始倒计时3秒
南北路红灯——数码管开始倒计时3秒
3秒倒计时结束
程序如下:
ORG0000H
LJMPLOOP
ORG000BH;定时器0中断,实现交通应急事件
LJMPWZD0
ORG0013H;外部中断1,实现交通应急事件
LJMPWZD1
ORG0030H
LOOP:
MOVR3,#5
MOVR4,#5
MOVR2,#20
MOVSP,#70H
MOVIE,#85H
MOVTMOD,#01H;置T0为工作方式1
MOVTH0,#3CH;置T0定时初值50ms
MOVTL0,#0B0H
CLRTF0
SETBTR0;启动定时器T0
SETBP1.1;东---红灯亮,北---绿灯亮
SETBP1.2
CLRP1.0
SETBP1.3
SETBP1.4
CLRP1.5
ACALLDEL30S
ACALLYELLOW1;北---绿灯转黄灯,东---红灯亮
ACALLDEL3S;延时后北---黄灯灭
SETBP1.0;东:
红灯灭,绿灯亮,北:
黄灯灭,红灯亮。
SETBP1.1
CLRP1.3
CLRP1.2
SETBP1.4
SETBP1.5
ACALLDEL55S;北---红灯不变,东---绿灯转黄灯
ACALLYELLOW2
ACALLDEL3S
SJMPLOOP
YELLOW1:
;北---绿灯转黄灯,东---红灯不变
SETBP1.0
SETBP1.2
CLRP1.1
SETBP1.3
CLRP1.5
SETBP1.4
RET
YELLOW2:
;东---绿灯转黄灯,北---红灯不变
SETBP1.0
SETBP1.1
CLRP1.2
SETBP1.3
SETBP1.5
CLRP1.4
RET
WZD0:
;实现南北路交通应急事件
CLRP1.0;(南北路保持畅通,东西路停止通行)
SETBP1.1
SETBP1.2
SETBP1.3
SETBP1.4
CLRP1.5
JNBP3.2,WZD0
RETI
WZD1:
;实现东西路交通应急事件
CLRP1.3;(东西路保持畅通,南北路停止通行)
CLRP1.2
SETBP1.1
SETBP1.0
SETBP1.4
SETBP1.5
JNBP3.3,WZD1
RETI
DEL30S:
;红绿灯延时
DEL25S:
JNBTF0,DEL25S;查询50ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值50ms
MOVTL0,#0B0H
DJNZR2,DEL25S;判断1s到否?
未到继续状态1
MOVR2,#20;置50ms计数初值
DJNZR4,DEL25S;状态1维持25s
DEL5S:
;取数延时
MOVR2,#6
DEL5:
MOVA,R2
ACALLST;取数
MOVP0,A;实现数码管显示
ACALLDEL1S;每隔1S减1
DJNZR2,DEL5
RET
DEL3S:
MOVR2,#4H
DEL3:
MOVA,R2
ACALLST;取数
MOVP2,A
MOVP0,A;数码管显示
ACALLDEL1S
DJNZR2,DEL3
RET
DEL55S:
ACALLDEL20S
MOVR2,#6;倒计时5S
DEL55:
ACALLDEL1S
MOVA,R2
ACALLST
MOVP2,A;数码管显示
DJNZR2,DEL55
RET
DEL1S:
;1S延时子程序
MOVR5,#0BH
ST1:
MOVR6,#0DAH
ST2:
MOVR7,#0CFH
DJNZR7,$
DJNZR6,ST2
DJNZR5,ST1
RET
DEL20S:
;20S延时子程序
MOVR5,#0BH;#0DCH
ST3:
MOVR6,#0DAH
ST4:
MOVR7,#0CFH
DJNZR7,$
DJNZR6,ST4
DJNZR5,ST3
RET
ST:
;取数
MOVDPTR,#TAB
MOVCA,@A+DPTR
RET
TAB:
DB0FFH,0FFH,0F9H,0A4H,0B0H,99H,92H
End
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 红绿灯 程序 完整版