单片机红绿灯程序完整版.docx

上传人:b****5 文档编号:7504352 上传时间:2023-05-11 格式:DOCX 页数:9 大小:70.13KB
下载 相关 举报
单片机红绿灯程序完整版.docx_第1页
第1页 / 共9页
单片机红绿灯程序完整版.docx_第2页
第2页 / 共9页
单片机红绿灯程序完整版.docx_第3页
第3页 / 共9页
单片机红绿灯程序完整版.docx_第4页
第4页 / 共9页
单片机红绿灯程序完整版.docx_第5页
第5页 / 共9页
单片机红绿灯程序完整版.docx_第6页
第6页 / 共9页
单片机红绿灯程序完整版.docx_第7页
第7页 / 共9页
单片机红绿灯程序完整版.docx_第8页
第8页 / 共9页
单片机红绿灯程序完整版.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机红绿灯程序完整版.docx

《单片机红绿灯程序完整版.docx》由会员分享,可在线阅读,更多相关《单片机红绿灯程序完整版.docx(9页珍藏版)》请在冰点文库上搜索。

单片机红绿灯程序完整版.docx

单片机红绿灯程序完整版

 

 

交通灯

 

设计方案:

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2