3.1.1 硬件电路
硬件电路如图3.1所示。AT89S51是MCS-51系列单片机中的一种,通常采用40脚DIP封装, 1脚~8脚是4个并行输入/输出端口(P0口、P1口、P2口、P3口)中的一个,称为P1口,8条口线用P1。0~P1。7表示,这8个引脚均可带最大20mA灌电流负载,可以直接驱动发光二极管,图示电路中D0~D7为8只LED,各经300Ω电阻限流后接在+5V电源与P1端口之间。图示电路中18、19脚所接晶振和电容与单片机内部电路组成振荡器,为单片机提供工作时钟。9脚所接RC电路构成单片机上电复位电路,单片机只有经过复位才能开始执行程序。
图3.1 AT89S51单片机P1口外接8只LED发光二极管
工作原理
当P1。0~P1。7中的某端口为低电平时,对应的发光二极管亮,为高电平灭。我们只要控制P1口各位的电平状态,就可以控制8只LED的亮与灭。例如使(P1)=01010101B=55H, D7、D5、D3、D14只LED亮,D6、D4、D2、D04只LED灭,从效果上看亮与灭是相间隔的;反之,使(P1)=10101010B=AAH,则另外4只LED亮,若反复以一定时间间隔不断从P1口轮流输出55H和AAH,则P1口上8只LED会呈现流水彩灯的效果。
3.1.2 控制程序
实现上述8只LED发光