#include<regx51.h>
#define?uchar?unsigned?char?
uchar?i,s=0;
uchar?code?dm[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,}; //LED代碼
uchar?jw=0;?//LED數字儲存
void?delay_ms(unsigned?int?ms)//延時
{
unsigned?int?i;
unsigned?char?j;
for(i=0;i<ms;i++)
{
for(j=0;j<200;j++);
for(j=0;j<102;j++);
}
}
void?button(void)?//開關加減函數
{
?uchar?key;
?P3=0xff;
?if(P3!=0xff){
?key=P3;
?delay_ms(100);
switch(key){case?0xfe:?
jw++;
if(jw==10)jw=0; ? //LED進位
break;
case?0xfd:?
jw--;
if(jw>100)jw=9;?
break;
default:?
break;}
}
}
void?main()
{
while(1){
P0=dm[jw];
button();//LED顯示
}
}
這個就是完整版的控制壹個LED的c語言程序,
P0接八位數碼管(七位也行),我用的***陽極管,
P3的0和1端口(兩個低位)接2個按鈕,
采納後求積分啊。。。。。