2.2 系统软件设计
系统软件采用汇编语言编写,设计原理为LED数码管动态扫描,8155初始化设置A端口,B端口为输出端口,R5中查表项数为0,R3中为位选通码,采用查表法查出段码,送至8155的B端口,LED数码管位选通码送至A端口,延时,在最左边的数码管上显示0;查表项数加1,位选通左移,查出段码送至8155的B端口,位选通码送至A端口,延时,在中间的数码管上显示1,3个数码管轮流显示循环往复。图2为软件流程。
3 设计及调试
3.1 单片机最小系统
单片机最小系统是指用最少的元件组成的单片机可以工作的系统。对于80C51系列单片机,最小系统一般应包括:单片机、晶振电路、复位电路、显示输出等。
3.1.1 最小系统电路的组成
图3为单片机最小系统电路图,其组成有:
(1)单片机:1片AT89S51;(2)晶振电路:典型的晶振取12 MHz,C2和C3选用30 μF的电容;(3)复位电路:具有上电复位和手动复位功能的复位电路,由电容串联电阻并在电容上并接复位按键构成,由图3并结合“电容电压不能突变”的性质,可知,当系统上电或复位键按下后,RST引脚均会出现高电平,高电平持续时间由电路的RC值决定。典型的51单片机当RST引脚的高电平持续2个机器周期以上将复位。所以,适当组合RC的取值就可保证可靠复位。设计中C1取10μF,R2取1 kΩ;(4)对于31引脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的 0000H开始执行。此设计将程序烧写到AT89S51内部ROM中,因此,31引脚(EA/Vpp)接高电平。(5)为在P1端口实现LED灯显示, P1.7端口上外接发光二极管,发光二极管接3.6 kΩ的上拉电阻。
3.1.2 单片机最小系统的调试
对单片机最小系统进行测试:将P1.7引脚所接的LED二极管闪烁程序代码烧写到AT89S51单片机片内ROM中,在单片机最小系统电路板上插上单片机,接通电源,若发光二极管闪烁则说明最小系统电路工作正常,反之则需要检查错误。