单片机实现交通灯控制汇编代码.docx

上传人:b****5 文档编号:29525083 上传时间:2023-07-24 格式:DOCX 页数:11 大小:93.26KB
下载 相关 举报
单片机实现交通灯控制汇编代码.docx_第1页
第1页 / 共11页
单片机实现交通灯控制汇编代码.docx_第2页
第2页 / 共11页
单片机实现交通灯控制汇编代码.docx_第3页
第3页 / 共11页
单片机实现交通灯控制汇编代码.docx_第4页
第4页 / 共11页
单片机实现交通灯控制汇编代码.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

单片机实现交通灯控制汇编代码.docx

《单片机实现交通灯控制汇编代码.docx》由会员分享,可在线阅读,更多相关《单片机实现交通灯控制汇编代码.docx(11页珍藏版)》请在冰豆网上搜索。

单片机实现交通灯控制汇编代码.docx

单片机实现交通灯控制汇编代码

单片机实现交通灯控制汇编代码

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

交通灯控制

一、课程设计的内容

在实验平台上选择两组指示灯,每组分为红,黄,绿代表交通灯.要求:

1。

模拟十字交通路口的实际情况,设计十字路口交通灯自动变换系统。

2.设计十字路口交通灯手动变换系统,并这两套系统可切换使用。

3.在实现以上内容的基础上增加允许急救车优先通过的要求.有急救车到达时,两方向交通信号为全红,以便让急救车通过.

二.设计思路及电路图

在单片机实验箱上P0口和P2口不能做I/O接口。

但是为了实现交通灯的状态变化,我要用到I/O接口来对按键进行查询和显示发光二极管的状态,P1口控制四段数码管的显示。

所以我扩展I/O接口,用74LS377的输入端接P0口,其输出线1Q~8Q接8个发光二极管,WR作为锁存控制接74LS377的时钟端,扩展片选信号CS1接在74LS377的使能端G。

我用查询方式来查询按键来转换手动,自动,救护车到来的状态的变化,则把四个按键K4~K7与P3.2~P3.5相接,当按键置高电平时,程序就会转换到相应状态执行相应的模块状态。

在自动状态时,开始4个路口的红灯全亮(东西方向为之路,南北方向为主路)之后,南北路口的绿灯亮,东西口的红灯亮,延时显示并查询开关状态是否发生变化,当两个数码管(一个代表东西方向,一个代表南北方向)从0~3显示,当显示3后交通灯显示下一个状态,一直循环重复过程,直到查询到有按键发生变化。

当P3.3高电平时,自动转换为手动,(同理P3。

3低电平时手动转换为自动。

)此时拨动按键使P3.2或P3。

5置于高点位,就会转到主路或支路相应状态的交通灯显示,数码管显示0。

P3.4控制救护车来时的状态,当其高电位两个红灯全亮并蜂鸣器响起。

实验电路图:

显示电路:

三、程序:

主程序流程图:

 

显示子程序流程图:

DISPLY子程序流程图:

ORG4000H

START:

MOVDPTR,#0F100H

MOVA,#11011110B;东西南北红灯亮

MOVX@DPTR,A

LCALLDL1S;显示时间,并查询按键状态

LCALLXIANSHI

LOP1:

MOVDPTR,#0F100H

MOVA,#11011011B;南北绿灯亮,东西红灯亮

MOVX@DPTR,A

LCALLDL1S;显示时间,并查询按键状态

LCALLXIANSHI

MOVR0,#2

LOP2:

MOVDPTR,#0F100H

MOVA,#11011001B;南北黄灯闪烁2次

MOVX@DPTR,A

LCALLDL1S;显示时间,并查询按键状态

LCALLXIANSHI

LOPD:

MOVDPTR,#0F100H

MOVA,#11011011B

MOVX@DPTR,A

LCALLDL1S

LCALLXIANSHI

DJNZR0,LOP2

LOP3:

MOVDPTR,#0F100H

MOVA,#01111110B;东西绿灯亮,南北红灯亮

MOVX@DPTR,A

LCALLDL1S;显示时间,并查询按键状态

LCALLXIANSHI

MOVR0,#2

LOP4:

MOVDPTR,#0F100H

MOVA,#00111110B;东西黄灯闪烁2次

MOVX@DPTR,A

LCALLDL1S

LCALLXIANSHI

LOPE:

MOVDPTR,#0F100H

MOVA,#01111110B;显示时间,并查询按键态

MOVX@DPTR,A

LCALLDL1S

LCALLXIANSHI

DJNZR0,LOP4;R0不为0,转L0P4

AJMPSTART

PK:

MOVDPTR,#0F100H;手动状态两个黄灯亮作为标志

MOVA,#10111101B

MOVX@DPTR,A

JNBP3。

3,START;P3。

3低电平转自动

JBP3.2,ZHUL;P3。

2高电平转主路状态

JBP3。

5,ZILU;P3。

2高电平转之路状态

JBP3.4,JHC;P3。

4高电平转救护车状态

CLREA;关救护车的蜂鸣器

LCALLXIANSHI1;不显示时间,显示0

AJMPPK

ZHUL:

MOVDPTR,#0F100H

MOVA,#11011011B;南北绿灯亮,东西红灯亮

MOVX@DPTR,A

LCALLXIANSHI1;显示0

AJMPPK

ZILU:

MOVDPTR,#0F100H

MOVA,#01111110B;东西绿灯亮,南北红灯亮

MOVX@DPTR,A

LCALLXIANSHI1;显示0

AJMPPK

JHC:

MOVTMOD,#01H

MOVTH0,#0FCH;蜂鸣器响起

MOVTL0,#05BH

SETBTR0

SETBEA

CPLP1.7

MOVDPTR,#0F100H

MOVA,#11011110B;东西,南北,红灯亮

MOVX@DPTR,A

LCALLXIANSHI1;显示0

;子程序

DL1S:

JBP3。

3,PK;查询按键状态

JBP3。

4,JHC

RET

;显示子程序

XIANSHI:

MOVA,#0;显示0

MOVDPTR,#TB;查表

ANLA,0FH

MOVCA,@A+DPTR

MOVR1,A

MOVP1,#11111111B

CALLDISPLY

LCALLDL1S1;调用延时

MOVA,#1;显示1

MOVDPTR,#TB

ANLA,0FH

MOVCA,@A+DPTR

MOVR1,A

MOVP1,#11111111B

CALLDISPLY

LCALLDL1S1

MOVA,#2;显示2

MOVDPTR,#TB

ANLA,0FH

MOVCA,@A+DPTR

MOVR1,A

MOVP1,#11111111B

CALLDISPLY

LCALLDL1S1

MOVA,#3;显示3

MOVDPTR,#TB

ANLA,0FH

MOVCA,@A+DPTR

MOVR1,A

MOVP1,#11111111B

CALLDISPLY

LCALLDL1S1

RET

XIANSHI1:

MOVA,#0

MOVDPTR,#TB

ANLA,0FH;显示0的子程序

MOVCA,@A+DPTR

MOVR1,A

MOVP1,#11111111B

CALLDISPLY

LCALLDL1S1

DISPLY:

MOVR7,#8;

MOVA,R1

;MOVA,#8EH

T:

RLCA;串形输入

SETBP1.1;时钟置高

MOVP1.0,C;数据送sda

CLRP1.1;时钟置低位

DJNZR7,T

MOVP1,#10110111B;1

RET

DL1S1:

MOVR6,#4

DELAYY:

MOVR5,#250

DELAYE:

MOVR3,#250;延时子程序

DELAYF:

DJNZR3,DELAYF

DJNZR5,DELAYE

DJNZR6,DELAYY

RET

TB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH

END

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1