一、LED的原理图
从图中我们可以看出LED是由低电平点亮的,也就零,而led的电源由 573锁存器控制,573锁存器又由 hc138译码器决定;所以我们首先先对HC138译码器进行设置再到锁存器进行控制;
二、通过Hc138译码器进行选择锁存器
三、代码实现
#include "STC15F2K60S2.H"
#include "intrins.h"
//关闭蜂鸣器
void cls_buzz(void)
{
P2 = (P2&0x1F|0xA0);
P0 = 0x00;
P2 &= 0x1F;
}
//延时200ms
void delay() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 9;
j = 104;
k = 139;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main(void)
{
cls_buzz();
while(1)
{
P2 = ((P2&0x1f)|0x80);
P0 = 0xff; //LED关
P2 &= 0x1f;
delay();
P2 = ((P2&0x1f)|0x80);
P0 = 0x00; //LED开
P2 &= 0x1f;
delay();
}
}