百度知道 - 信息提示
用51单片机的并行I/O口输出控制8个LED从LED1到LED8、再到LED1......,每次点亮
简单编了一下程序,,,
#include
sbit key=P3^4; //按键,按实际再改
void delay(unsigned int t)
{
while(--t);
}
void main()
{
unsigned char q;
P1=0xfe;//1111 1110 P1口led灯,实际不是再改
while(1)
{
P1=0xfe;//1111 1110
for(q=0;q<8;q++)
{
delay(25000); //0.5S,得按照实际晶振再改
P1<<=1;
if(q==7)
{P1=0xfe;}
}
if(key == 0)
{
delay(200); //按键防抖
if(key == 0)
{
P1=0xff;
P1=0x00;
P1=0xff;
P1=0x00;
P1=0xff;
P1=0x00;
}
}
}
}
拿了一个之前画的proteus图,少了个晶振和复位电路,你补一下自己
单片机控制led灯。用4个I/O口,控制16个 led灯,要求能实现同时点亮若干盏灯,要如何实现?
你用74HC595吧,只用3根线就可以控制了,一个74HC595输出为8位,这样可以控制8个LED,而且每个74HC595都可以级联的,像我这图示例,上面一共有5个74HC595,都是级联的,所以上图实际上3个IO口即可控制5*8=40个LED!
当然,级联的多少,就看你的需要了,呵呵!