郭天祥十天学会单片机例程Word文档下载推荐.docx
《郭天祥十天学会单片机例程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《郭天祥十天学会单片机例程Word文档下载推荐.docx(50页珍藏版)》请在冰豆网上搜索。
while
(1)
{
for(num=0;
num<
16;
num++)
{
dula=1;
P0=table[num];
dula=0;
delay(1000);
}
}
voiddelay(uintz)
uintx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
sbitd1=P1^0;
EA=1;
//开总中断
EX0=1;
//开外部中断0
//IT0=1;
TCON=0x01;
d1=1;
voidexter0()interrupt0
d1=0;
ucharnum,num1;
tt;
num=0;
tt=0;
TMOD=0x11;
//设置定时器0为工作方式1
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TH1=(65536-20000)/256;
TL1=(65536-20000)%256;
//EA=1;
ET0=1;
//开定时器0中断
ET1=1;
TR0=1;
//启动定时器0
TR1=1;
P0=0x3f;
if(num1==25)
num1=0;
P1=~P1;
if(tt==100)
{
tt=0;
num++;
if(num==16)
num=0;
voidtime0()interrupt1
tt++;
voidtime1()interrupt3
num1++;
Lesson4_1-lesson4_3
intrins.h>
#defineuintunsignedint
#defineucharunsignedchar
uchartemp,aa,num;
aa=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
temp=0xfe;
P1=temp;
P0=table[0];
delay(1000);
temp=_crol_(temp,1);
P1=temp;
/*if(aa==40)
aa=0;
num=0;
}*/
voidtimer0()interrupt1
aa++;
if(aa==40)
}
uchartemp,aa,numdu,numwe;
ucharcodetablewe[]={
0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
//voiddelay(uintz);
numdu=0;
numwe=0;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
//delay(1000);
//temp=_crol_(temp,1);
//P1=temp;
if(aa==1)
{
numdu++;
if(numdu==7)
numdu=1;
P0=table[numdu];
wela=1;
P0=tablewe[numwe];
wela=0;
numwe++;
if(numwe==6)
numwe=0;
/*
}*/
uchartemp,aa,bai,shi,ge;
voiddisplay(ucharbai,ucharshi,ucharge);
voidinit();
{
init();
//初始化子程序
if(aa==20)
aa=0;
temp++;
if(temp==100)
temp=0;
bai=temp/100;
shi=temp%100/10;
ge=temp%10;
}
display(bai,shi,ge);
voiddisplay(ucharbai,ucharshi,ucharge)
P0=table[bai];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delay
(1);
dula=1;
P0=table[shi];
P0=0xfd;
P0=table[ge];
P0=0xfb;
voidinit()
temp=0;
voidtimer0()interrupt1
Lesson5_1—Lesson5_3
#include<
0x39,0x5e,0x79,0x71,
0x76,0x79,0x38,0x3f,0};
uchartemp,t0,t1,bai,shi,ge,flag,flag1;
uintshu;
voiddisplay(uchar,uchar,uchar,uchar,uchar,uchar);
uintt1,y;
for(t1=z;
t1>
t1--)
if(flag1!
=1)
display(7,6,5,bai,shi,ge);
else
display(16,17,18,18,19,20);
shu=432;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t0++;
if(flag!
if(t0==10)
t0=1;
temp=_crol_(temp,1);
P1=temp;
else
if(t0%4==0)
if(t0==60)
TR0=0;
P1=0xff;
flag1=1;
}
voidtimer1()interrupt3
t1++;
if(t1==2)
t1=0;
shu--;
bai=shu/100;
shi=shu%100/10;
ge=shu%10;
if(shu==398)
{
TR0=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
flag=1;
t0=0;
P1=0xff;
TR1=0;
}
voiddisplay(ucharaa,ucharbb,ucharcc,ucharba,ucharsh,ucharg)
P0=table[aa];
P0=table[bb];
P0=table[cc];
P0=table[ba];
P0=0xf7;
P0=table[sh];
P0=0xef;
P0=table[g];
P0=0xdf;
sbitkey1=P3^4;
P0=0xfe;
P3=0xff;
if(key1==0)
delay(5);
if(key1==0)
{
d1=0;
num++;
if(num==10)
num=0;
}
while(!
key1);
}
else
dula=1;
P0=table[num];
dula=0;
0x39,0x5e,0x79,0x71,0};
ucharnum,temp,num1;
ucharkeyscan();
voiddisplay(ucharaa);
num=17;
P0=0;
display(keyscan());
voiddisplay(ucharaa)
P0=table[aa-1];
ucharkeyscan()
P3=0xfe;
temp=P3;
temp=temp&
0xf0;
while(temp!
=0xf0)
temp=P3;
temp=temp&
while(temp!
temp=P3;
switch(temp)
{
case0xee:
num=1;
break;
case0xde:
num=2;
case0xbe:
num=3;
case0x7e:
num=4;
}
temp=P3;
temp=temp&
P3=0xfd;
case0xed:
num=5;
case0xdd:
num=6;
case0xbd:
num=7;
case0x7d:
num=8;