全球旧事资料 分类
元件)、交通灯指示模块(红、绿、黄三色的发光二极管)、倒计时显示模块(七段共阳极数码管)、震荡电路、复位电路等模块构成。
图21原理图
22模块设计
221单片机最小系统
2
f本电路中用AT89C51单片机做为整个电路的控制核心,为使系统正常工作,需外接12M晶振、电容等元件构成震荡电路,用电阻、电解电容、等元件构成复位电路,其原理图如图22
图22单片机最小系统
222倒计时显示模块该模块是用两块七段数码管实现的,如图23所示,一位是用来显示十位数字,另一位用来显示个位数,十位通过单片机P1口输出数据控制显示相应的字符,个位通过单片机的P0口输出数据显示相应的字符。P0、P1口的P00P07、P10P17脚依次对应数码管的AG脚。
图23倒计时原理图
3
f223信号灯指示模块此电路用红、绿、黄三种颜色的发光二极管分别模拟交通路口的红、路、黄信号灯灯,该电路通过单片机C51的P2口输出不同的数据控制交通灯不同的指示情况,每个方向都需要红、绿、黄发光二极管各一只,如图24所示。
图24交通灯指示电路图
上图中,南北方向的信号灯是通过P20(绿)、P21(黄)、P22(红)控制的;东西方向的信号灯是通过P23(红)、P24(黄)、P25(绿)控制的,南北方向的红绿灯交替亮灭,以达到指挥车辆和行人安全通过十字路口。
第3章程序设计
31程序设计思路
主程序控制交通灯南北方向亮绿灯、东西方向亮红灯,然后调用60s倒计时子程序,当倒计时完毕之后,又控制交通灯南北方向亮红灯、东西方向亮绿灯,再调用30s倒计时子程序。倒计时子程序通过计数器0计数一秒,每次递减1秒,给A赋值所要倒计时的初值,给寄存器B赋值10,通过一条除法指令DIV
AB,然后查表取数送往单片机的P1口和P0
口,使之分别控制数码显示模块的十位和各位显示数值。
4
f用外部中断0指挥有紧急情况车辆的车辆通过十字路口,当有特殊情况时,只要按下外部中断0的中断源(C51单片机的P32),立即处理中断程序,即每个方向的交通灯都亮红灯,同时倒计时15秒,待中断处理完毕后,路口又恢复原来的状态。
32系统程序
321主程序ORG0000HLJMPSTARTORG00013HLJMPZDFWSTARTSETBEASETBEX0SETBIT0MOVP20CHLCALLNBZDXMOVP221HLCALLDXEND32260S倒计时子程NBMOVR060LP1MOVAR0MOVB10DIVABMOV20HACJNEA0LP2MOVABCJNEA3LP2MOVP20AHLP2MOVDPTRTABMOVABMOVCAADPTR
5
fMOVP0AMOVA20HMOVCAADPTRMOVP1ALCALLLPDJNZR0LP1LJMPZDX32330S倒计时子程DXMOVR030LP4MOVAR0MOVB10DIVABMOV20HACJr
好听全球资料 返回顶部