当前位置:首页 > 汇编语言交通灯
设计报告
一、设计方法:
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 ;倒计时 JNB P1.7,ZHIHO
共分享92篇相关文档