的码值显示,而P30P33这四位用来片选这四个LED。并且,依旧用P37高低电平来实现功能三的内容,并且考虑用P36的高低电平来实现功能四的内容。程序依旧与方案一相似,却可以消除显示乱码,程序杂乱,不易读写。所以,该方案可行却仍不完善,故不选用。23方案三:如下图所示,为proteus仿真图。如下页所示仿真图。其中,在方案二的基础上,将四个LED分开的显示器用两个一起的LED并且运用动态扫描显示倒计时,而P0P2端口的8位分别来控制东西,南北方向的红绿灯。而P1端口的P10P17来连接两个LED的数码管的AFDP这8个接口处。P30P31分别接每个LED的1,2接口处来控制数码管显示的高低位。顺次执行的主程序采用中断程序来实现,用P32P33的电位变化分别来实现功能三,其中,四。这可以用跳变触发中断或电平触发中断来实现,主要是IT0IT1置位就是跳变触发方式,置零就是电平触发方式。这样,软硬件对于该实验所要求的功能的实现均较易实现,而且程序较易编写和读取。所以,综上所述,最终选择方案三来进行实验。
f3系统硬件的设计3系统硬件的设计31主控制器的设计以及接口电路的设计(电路图及设计说明)该电路图的proteus仿真图即和方案三的一致,正常运行时如下所示:
主要运用到的硬件是:一块AT89C51单片机,两个两段共阴LED显示器,SW1,SW2两个双掷开关以及32个发光二极管。其中,16个红色,16个绿色发光二极管,每两个为一组。若P0端口得电压输出电流不足以驱动LED,就利
f用上拉电阻使LED能正常工作,但不需电阻亦可。单片机晶振选用12MHz。4系统软件的设计4系统软件的设计41程序的编写思想:本次实验设计的程序主要包含:主程序,两个中断程序,显示程序(显示程序里含延时1ms的程序)。具体见以下叙述。42主程序的设计主程序中,是顺次执行,从SETBP37开始运行南北方向为主的两个60秒,接着CLRP37再运行东西方向为主的两个60秒,接着P37重新置位,再次循环。流程图如下:
43两个中断程序的设计两个中断程序分别靠双掷开关SW1和SW2控制高低电位而实现,中断程序START0和中断程序START1为了实现功能三和四。流程图如下:
f44显示程序的设计流程图如下所示:
该显示程序主要是为了实现倒计时的显示,先将存在SECOND内的数值从十六进制数转化为十进制,并存在DBUF,DBUF1即50H51H单元中,然后通过LEDMAP取出字形,并选通每个两段共阴LED的显示管的高,低位显示出来。
f5.系统调试51硬件调试设计小程序让发光二r