汇编语言的交通灯

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计报告

一、设计方法:

1、通过老师上课讲的内容及要求来设计。

2、开始时可跟着老师走从基础使用4094实现倒计时开始一步一

步实现。

3、实现基础部分后我们就可按着自己的思路结合单片机的学习

从而一步一步实现整个功能。

二、设计思路:

1、首先在实现整个功能之前我并不清楚自己要设计的界面应是什么

样子的,我从最基本的开始先学会使用4094实现一位倒计时,然

后使用4094实现两位倒计时,实现了两位倒计时之后基本上就可

以实现四个路口的倒计时显示。

2、完成基本型后就要想办法如何才能实现在线修改参数,且按照新

的参数执行,而且参数用什么来设置等等,通过单片机的学习我

想到了用中断方式的方法来实现,且在中断里来调用子程序来设

置参数,并选用了键盘来设置参数。因为单片机里已学过键盘子

程序,现在再来使用这样的键盘,虽比单片机里学过的4*4键盘

复杂点,但总不会太难了。就这样一步一步按照自己的思路完成。

3、以上实现后,我们也可多加些按键来控制暂停、复位、行人按键

等等,而这些在完成以上功能后再来实现它们就会很容易了。

流程图:

开始

设置一位数倒计时

设置两位数倒计时

设置一个路口红灯参数倒计时显示

设置另一个路口支路绿灯参数倒计时显示

设置十字路口两路红黄绿灯循环倒计时显示

设置十字路口红黄绿LED显示

设置读写键盘、显示子程序

通过调用键盘、显示子程序来赋初值而实现十字路口两路显示

先赋初值实现十字路口两路显示,后使用中断服务子程序调用

键盘、显示子程序来重新赋初值实现十字路口两路显示

使用中断实现设置参数复位功能

通过查询方式实现行人按键绿灯显示功能

总体完善程序及其功能,将其融合实现整个功能

调整完善整个硬件电路图让其美观

结束

三、选择的芯片:

AT89C51、4094、KEYPAD-PHONE、LED-GREEN、LED-RED、LED-YELLOW、TSEG-COM-AN-GRN、3WATT100R、BUTTON 四、硬件设计:

五、软件设计:

1、部分代码:

;30H、34H、35H主干道红、绿、黄灯,33H、31H、32H支干道红、绿、黄灯,修改用外部中断

ORG 0000H

LJMP MAIN

ORG 0003H ;复位中断入口地址

LJMP FW

ORG 0013H ;修改参数中断入口地址

LJMP XG

ORG 0030H

MAIN:MOV 30H,#50

MOV 31H,#30

MOV 32H,#20

MOV 33H,#40

MOV 34H,#32

MOV 35H,#08

LOOP: SETB IT0 ;设置外部中断0的触发方式SETB IT1 ;设置外部中断1的触发方式

SETB EX0 ;开启外部中断0

SETB EX1 ;开启外部中断 1

SETB PX0 ;设置优先级

CLR PX1

SETB EA ;开启总中断

STAR1:MOV 40H,30H

MOV 41H,31H

MOV 42H,32H

MOV 43H,33H

MOV 44H,34H

MOV 45H,35H

;主干道的红与支干道的绿

ZHUHO:CLR P2.7 ;关门,减震作用

MOV 46H,#0F5H ;显示LED亮与灭

MOV A,40H ;显示主干道的红灯参数

LCALL XS

LCALL LP

MOV A,41H ;显示支干道的绿灯参数

LCALL XS

LCALL LOP

SETB P2.7 ;开门,减震作用

LCALL DELAY

DEC 40H ;倒计时

DJNZ 41H,ZHUHO

CLR P2.7

MOV A,40H ;显示主干道的红灯参数

LCALL XS

LCALL LP

MOV A,41H ;显示支干道的绿灯参数

LCALL XS

LCALL LOP

SETB P2.7

LCALL DELAY

;主干道的红与支干道的黄

ZIHU:CLR P2.7

MOV 46H,#0F6H ;显示LED亮与灭

MOV A,42H ;显示主干道的红灯参数

LCALL XS

LCALL LP

MOV A,42H ;显示支干道的黄灯参数

LCALL XS

LCALL LOP

SETB P2.7

LCALL DELAY

JNB P1.7,ZHIHO ;倒计时

DJNZ 42H,ZIHU

CLR P2.7

MOV A,42H ;显示主干道的红灯参数

LCALL XS

LCALL LP

MOV A,42H ;显示支干道的黄灯参数

LCALL XS

SETB P2.7

LCALL DELAY

;支干道的红与主干道的绿

ZHIHO:CLR P2.7

MOV 46H,#0EBH ;显示LED亮与灭

MOV A,43H ;显示支干道的红灯参数

LCALL XS

LCALL LOP

MOV A,44H ;显示主干道的绿灯参数

LCALL XS

LCALL LP

SETB P2.7

LCALL DELAY

DEC 43H

DJNZ 44H,ZHIHO

CLR P2.7

MOV A,43H ;显示支干道的红灯参数

LCALL XS

LCALL LOP

MOV A,44H ;显示主干道的绿灯参数

LCALL XS

LCALL LP

SETB P2.7

LCALL DELAY

;支干道的红与主干道的黄

ZUHU:CLR P2.7

MOV 46H,#0DBH ;显示LED亮与灭

MOV A,45H ;显示支干道的红灯参数

LCALL XS

相关文档
最新文档