本设计是交通灯用于十字路口的设计,是单片机控制的简易系统,结构很简单,我采用的是AT89S52作为芯片,采用一些相应的简单外围电路都是书本上的,比如外围的时钟晶振电路,复位电路等等,在硬件电路的设计方面,主题思想是用一片单片机加上输出的LED数码显示管和三种颜色(红、黄、绿)的发光二极管通过按键来控制交通灯的输出,采用两个中断作为特殊车辆和通行时间控制位,采用P1口作为输入控制口即A道和B道的控制口,其为双向IO口同时作为交通灯的输出口,采用P0口作为LED的输出口,但P0口做输出口时需要接上拉电阻,其显示的是红绿黄灯的切换时间,在软件程序的设计方面,本设计采用了汇编语言作为编辑语言,其结构简单,语言方便,实现起来比较容易,作为特殊车辆,采用的是外部中断0即INT0作为它的控制口,外部中断1即INT1作为调节通行时间的控制口。程序大体的分为主程序、显示程序、延时程序以及三个中断程序(定时器0中断、外部中断0、外部中断1)等部分。显示程序的目的是用于时间的显示,外部中断0用于紧急通行下的总开关,分别控制东西通行、南北通行以及禁止通行,外部中断1用于调节通行时间,分别控制东西通行时间、黄灯闪烁时间以及南北通行时间。在仿真电路中采用了总线形式,这样可以节省空间,并且可以使电路图看起来美观。
1