(1)在循环入口处设置一个起始的时间,这个通过单片机内部相对应的寄存器来完成。(2)AT89S51单片机通过定时器P3。0口为74HC245的数据端口发送信息,再让74HC245
输出显示出现在的状态,也就是红、绿、黄灯的点亮情况以及计时。
(3)通过单片机的P3端口来控制整个系统工作。
(4)收发器74HC245的A口和B口用于串行输出时间位,单片机的P1端口则用于输出控制信号。
(5)当这个系统出现问题时,AT89S51单片机所携带的看门狗将会发出溢出中断指令,而且会通过特定的端口输出[6]。
3。3AT89S51单片机的最小系统来自优I尔Y论S文C网WWw.YoueRw.com 加QQ7520~18766
单片机最小系统就是用最少的元器件组成单片机可以运行的系统。是由电源、晶振电路、复位电路组成。
电源,负责提供能源给系统运作,在本设计中USB电源线连接电脑插口。晶振电路,提供的时钟信号给单片机提供一个时间基准。[7]在本系统中采用的
12M的石英晶振。和晶振并联的两个电容可以起到起振和频率微调作用[8]。
图3-3晶振电路
复位电路分为上电复位和手动复位[9]。下图中所示的复位电路就包含了这两种复位方法。上电复位的原理是上电瞬间,电容的负极和RESET相连,电压就全部加在了电阻上,RESET的输入为高,芯片被复位。复位按键并联在电容的两端,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使单片机系统达到手动复位回到初始的效果[10]。
3。474HC245芯片介绍
图3-4复位电路
74HC245是一款高速CMOS器件,是一种三态输出、八路信号收发器。74HC245八路收发器在发送和接收两个方向上具有正相三态总线兼容输出[11]。
74HC245芯片如图3-5:
图3-574HC245芯片
74HC245的OE端是输出使能端,用于实现级联,而DIR是发送/接收端用于控制方向,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。[12]OE端控制输出,使得总线被有效的隔离,若该脚为“1”,A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。[13]
3。5系统的运行
RP1是排阻作P0口的上拉电阻,P0口内部没有上拉电阻,所以输出不了稳定的高电平,而外接上拉电阻后,P0口可以输出高电平。74HC245主要是驱动作用,比如3脚输入高电平,对应的17脚也输出高电平,如果3脚输入低电平,对应的17脚也输出低电平,是一一对应的。接驱动电路是因为单片机内部的驱动电流不够大,只有十几毫安,根本驱动不起来这些数码管和小灯来发亮,会很暗加上驱动芯片电流就可以达到二十几毫安甚至几十毫安就能驱动数码管和小灯。RP2也是排阻,单片机的驱动电流没有使小灯达到亮度,所以接上拉电阻增加驱动电流。因为是共阴极数码管,小灯都接地,当单片机输出高,小灯就会亮。接了上拉电阻后电流也会从电源经过这个排阻给小灯供电,让小灯更亮。相当于也是一个驱动。数码管的比如说C都连到了一起接到了74HC245的15号脚。芯片中棕红色的脚代表的是相连。
4系统软件设计
4。1程序流程图
主函数voidmain()是整个程序的入口函数,在这个函数的首部先对单片机进行一个宏定义,并要求对一些外围的器件要进行初始操作才能使正常应用的器件进行初始化和重新赋值的操作,接着再去定义一些子程序,为其设定初值,完后就进入一个无限循环的状态,如若不需要无线循环,那么程序运行一次就要退出,若是添加了无线循环程序,那就要不断地进行循环,直到实现实时检测执行的目的[14]。当测试到有按钮按下时,系统就会产生中断信号,就会立即停止刚才的程序,马上跳转到中断执行。如果按下强通车模式则四面都显示红灯,复位后系统回到初始的状态继续跳转。程序流程图如下图4-1所示。论文网