去找个51型号的单片机的PDF文档来看看吧。串口通信主要是SCON寄存器的配置,还有PCON寄存器中的SMOD位(双倍波特率位)。然后再看看定时器T1怎么用,相应的寄存器怎么配置。数码管显示和C51的语法网上都有很多资料可以参考,搜一搜就有了。
学单片机最重要的是要培养自学能力和实际应用的能力。
祝你成功!
#include
#define uchar unsigned char
#define uint unsigned int
void zuoyi()
{
uchar n;
P1=0x01;
for(n=0;n<8;n++)
{
P1=P1<<1;
delay(500);
}
}
void youyi()
{
uchar m;
P1=0x80;
for(m=0;m<8;m++)
{
P1=P1>>1;
delay(500);
}
}
void sanshuo()
{
uchar t;
for(t=0;t<4;t++)
P1=0x00;
P1~PORTD;
delay(500);
}
void delay(uint k)
{
uchar i,j;
for(i=0;i
for(j=0;j<67;j++)
{;}
}
}
uchar scan_key(void)
{
uchar key;
P0=0xff;
key=PORTB;
if(key!=0xff)
{delay(20);
key=P0;
if(key!=0xff)
return key;
}
return 0;
}
void main()
{
uchar key_value;
while(1)
{
key_value=scan_key;
key_value=key_value||0xf8;
swicth(key_value)
{
case 0xfe:zuoyi();delay(10);break;
case 0xfd:youyi();delay(10);break;
case 0xfb:sanshuo();delay(10);break;
default:break;
}
}
}
再加30分我帮你写,20分少了点