//第一个实验:
//假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7
//假设K1按键在P2.3引脚
#include<reg51.h>
#include<intrins.h>
sbit k1=P2^3;//假设K1按键在P2.3引脚
void main()
{
P0=0xfe;
while(1)
{
if(k1==0)
{
while(k1==0);
P0=_crol_(P0,1);
}
}
}
//第二个实验:
//假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7
#include<reg51.h>
char led[]={0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7,0xff,0xef,0xff,0xdf,0xff,0xbf,0xff,0x7f,0xff};
void main()
{
char i=0;
char counter=0;
TMOD=0x01;//T0 工作方式1
TH0=(655356-50000)/256;//延时50ms
TL0=(655356-50000)%256;//延时50ms
TR0=1;//启动T0
while(1)
{
if(TF0==1)//查询
{
TH0=(655356-50000)/256;//重新延时50ms
TL0=(655356-50000)%256;//重新延时50ms
counter++;
if(counter==10)//延时0.5秒
{
counter=0;//重新开始新一轮0.5秒延时
i++;
if(i==16)
{
i=0;
}
P0=led[i];//点灯
}
}
}
}
温馨提示:答案为网友推荐,仅供参考