?? mcu.c
字號:
#include<reg52.h>
#define uchar unsigned char
sbit beep=P2^3;
sbit dula=P2^6;
sbit wela=P2^7;
sbit s2=P3^4;
sbit s3=P3^5;
sbit s4=P3^6;
sbit s5=P3^7;
sfr WDTRST = 0xA6;
//定義數碼管顯示的字符(0~9,dot,a~f)
uchar code zhi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90,0x7f,0x88,0x83,0xc6,0xa1,0x86,0x8e};
uchar code wei[]={0x01,0x02,0x04,0x08,0x10,0x20};//定義數碼管(1~6)
uchar code led[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //定義流水燈
/*display(uchar i,uchar j) //數碼管顯示函數
{
P0=zhi[j];
dula=1;dula=0;
P0=wei[i-1];
wela=1;wela=0;
}*/
delay(unsigned char i) //延時函數
{
uchar m,k; /*j;*/
for(m=i;m>0;m--)
for(k=250;k>0;k--)
//for(j=10;j>0;j--)
;
}
beep_on(uchar j) //蜂鳴器函數
{ uchar i;
for(i=1;i<=j;i++)
{
beep=0;
delay(1);
beep=1;
delay(1);
}
}
/*lamp(uchar l) //LED發光函數
{
P1=led[l-1];
}*/
uchar m,n;
main()
{
while(1)
{
P1=0x00;
if(0==s2)
{
delay(10);
if(0==s2)
{
while(1)
{
if(0==s3)
{delay(1);
if(0==s3)
break;}
P0=0x89;
dula=1;dula=0;
P0=wei[0];
wela=1;wela=0;
P1=0x00;
if(0==s3)
{delay(1);
if(0==s3)
break;}
beep_on(50);
beep=1;
if(0==s3)
{delay(1);
if(0==s3)
break;}
delay(1500);
if(0==s3)
{delay(1);
if(0==s3)
break;}
delay(1500);
if(0==s3)
{delay(1);
if(0==s3)
break;}
delay(1500);
P1=0xff;
if(0==s3)
{delay(1);
if(0==s3)
break;}
beep=1;
delay(1500);
if(0==s3)
{delay(1);
if(0==s3)
break;}
delay(1500);
if(0==s3)
{delay(1);
if(0==s3)
break;}
delay(1500);
if(0==s3)
{delay(1);
if(0==s3)
break;}
}
}
}
if(0==s3)
{
delay(10);
if(0==s3)
{
while(1)
{if(0==s2)
{
delay(10);
if(0==s2)
break;}
P0=0xc7;
dula=1;dula=0;
P0=wei[1];
wela=1;wela=0;
P1=0x00;
if(0==s2)
{
delay(10);
if(0==s2)
break;}
beep_on(50);
beep=1;
delay(1500);
if(0==s2)
{
delay(10);
if(0==s2)
break;}
delay(1500);
if(0==s2)
{
delay(10);
if(0==s2)
break;}
delay(1500);
if(0==s2)
{
delay(10);
if(0==s2)
break;}
delay(1500);
if(0==s2)
{
delay(10);
if(0==s2)
break;}
delay(1500);
P1=0xff;
if(0==s2)
{
delay(10);
if(0==s2)
break;}
beep=1;
delay(1500);
if(0==s2)
{
delay(10);
if(0==s2)
break;}
delay(1500);
if(0==s2)
{
delay(10);
if(0==s2)
break;}
delay(1500);
if(0==s2)
{
delay(10);
if(0==s2)
break;}
delay(1500);
if(0==s2)
{
delay(10);
if(0==s2)
break;}
delay(1500);
}
}
}
//WDTRST=0x1E;
//WDTRST=0xE1;//喂狗指令
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -