单片机交通灯课程设计(2)

2019-08-20 21:11

2.1.4 流水灯电路

流水灯电路直接挂接在单片机的P2口上,采用共阳接法。

2.1.5 数码管电路

数码管的段控口接在单片机的P0口上,位控接在单片机的P1口上。

6

2.2 系统电路图

7

2.3 软件设计

1.工作流程图

开始 N 黄灯亮 时间送显 现场保护 1秒到了? 当前红灯? Y 红灯亮 黄灯灭,绿灯亮 当前时间—N 时间送显 Y 5秒到了? N 3s>? N 时间送显 红灯亮 Y 红灯灭,绿灯亮 3秒到了? 恢复中断 时间送显 Y N 3秒到了? N 时间送显 Y 10秒到了? 中断程序流程图 主程序流程图

3 课题软件系统设计

3.1 单片机资源使用情况

⑴、P1口为数码管管的位选端 ⑵、P0口用作数码管的段选端 ⑶、P2口用作二极管控制端 ⑷、P3.2口线作为键盘输入端

既在AT89S51的P2口用来接三个发光二极管的阴极,控制其亮与灭,P0口和P1口外接由8个LED数码管构成的显示器,用P0口作LED的段码输出口(P0.0~P0.7对应于LED的a~dp),P1口作LED的位控输出线。

8

3.2 软件各模块简要介绍

软件的设计是由汇编语言来编写的,分成各个模块分别为主程序、显示程序、中断程序、延时程序和数码管显示程序,以下给予相应的介绍。 3.2.1 主程序

主程序是程序的入口,在主程序中会一直调用显示程序和延时程序,当没有键按下时,就不会进到中断程序,当有键按下时,就会按操作执行中断程序。 3.2.2 显示程序

显示程序主要完成数码管的动态显示,将相应的段控码送往P0口,相应的位控码送往P1口,实现显示需要的字符信息。

3.2.3 中断程序

中断程序我选用的是外部中断INT0入口,当有行人按键按下时,就会进到中断程序,如果行人按钮时为绿灯状态,则行人通过后继续未显示完的绿灯,若为红灯状态,则亮至行人时间与剩余时间的最大值后转换为红灯。 3.2.4 延时程序

主程序和中断程序中将会调用到延时程序,是用来倒计时的时候延时时间的作用。

3.2.5 数码管显示程序

数码管显示程序是在延时里面调用的子程序,它将所有延时程序里的时间以倒计时的形式显示出来,我将0,1,2,3,4,5,6,7,8,9这些数字显示的十六进制数写进表里,通过查表的形式来实现倒计时。

3.3 程序清单

/***************主程序****************************************/ ORG 0000H AJMP MAIN ORG 0003H AJMP KEY ORG 0030H MAIN: CLR IT0; JB P3.2,START

SETB EX0; SETB EA;

9

START: MOV P2,#0FFH CLR P2.2

; 黄灯亮 1s

MOV 30H,#10 LCALL DELAY SETB P2.2

CLR P2.4; 红灯亮 5s

MOV 30H,#50

LCALL DELAY SETB P2.4

CLR P2.3; 绿灯亮 10s

MOV 30H,#100

LCALL DELAY SETB P2.3 LJMP START

/***中断程序*****************************/ KEY:

PUSH PSW

PUSH ACC

JB P2.3,NEX;P2.3不为零,即为绿灯熄,则跳转至NEX JNB P2.3,L; P2.3为零,即为绿灯亮,则跳转至L CLR P2.3 POP ACC POP PSW RETI

NEX:

MOV A,R5 ;A为中断时灯已亮时间

SUBB A,#3O; 若差大于零,则表示剩余时间小于三秒,反之,大于三秒 JNB ACC.7,L

POP ACC POP PSW

10


单片机交通灯课程设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:附录4:正文模板及注意事项

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: