百度知道 - 信息提示
信号变化控制led灯的亮灭,单片机c语言编程
首先要看Led灯和单片机的连接情况,如果你只是控制亮灭,只需要看单片机端口控制即可,关键是配置端口的DDRx方向寄存器和PORTx数据寄存器,比如端口A的0引脚控制一个灯,要配置它的输出高电平或是低电平以达到控制灯的亮灭,那就
灯亮:
DDRA
|=
BIT(0);
//输出
PORTA
|=
BIT(0);//高电平
灯灭:
DDRA
|=
BIT(0);
//输出
PORTA
&=
~BIT(0);//低电平
其余的就看你电路如何连接的,每个端口寄存器的每一位控制一个引脚,你可以查查芯片的数据手册,上边有个表格的。
如果你要控制灯的亮暗程度,选择使用PWM输出来控制,你需要看定时计数器。
用C语言控制LED灯
#include
#define uchar unsigned char
sbit key=P1^0;
sbit led1=P0^0;
sbit led2=P0^1;//端口为低电平时LED亮;
void main()
{
uchar k=0;//计数;
led1=1;
led2=1;//LED初始化;
while(1)
{
if(key==0)
{
while(!key);//松键判断;
k++;
}
switch(k)
{
case 1: led1=0;led2=1;break;
case 2:
case 3:
case 4:
case 5: led1=0;led2=0;break;
case 6: led1=1;led2=1;k=0;break;
defult:break;
}
}
}