📄 test.c
字号:
/*****************************************************************************
名 称:“test.c”
Copyright:鸵鸟电子工作室 hrbeu P.R.C.
功 能:在MINI实验板上,开机自检测程序,
1. P0口驱动8个led 循环显示 ,蜂鸣器鸣叫
2. 数码管显示
3. 按键测试
4. DAC0932测试
5. ADC0804测试
作 者:彪哥&东方未晞
日 期:2008年9月1日
*****************************************************************************/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P2^7;
unsigned int a,b,c;
unsigned char d;
int i;
sbit dula=P2^4;
sbit wela=P2^6;
sbit P23=P2^3;
sbit P25=P2^5;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
uchar temp,num;
void led();
void shumaguan();
delay(int);
display(uchar);
void main()
{
while(1)
{
P1=0xfe;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(50);
if(temp!=0xf0)
{
switch(temp)
{
case 0xe0: led();
break;
case 0xd0: shumaguan();
break;
case 0xb0: num=2;
break;
case 0x70: num=3;
break;
}
}
}
P1=0xfd;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(50);
if(temp!=0xf0)
{
switch(temp)
{
case 0xe0: num=4;
break;
case 0xd0: num=5;
break;
case 0xb0: num=6;
break;
case 0x70: num=7;
break;
}
}
}
P1=0xfb;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(50);
if(temp!=0xf0)
{
switch(temp)
{
case 0xe0: num=8;
break;
case 0xd0: num=9;
break;
case 0xb0: num=10;
break;
case 0x70: num=11;
break;
}
}
}
P1=0xf7;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(50);
if(temp!=0xf0)
{
switch(temp)
{
case 0xe0: num=12;
break;
case 0xd0: num=13;
break;
case 0xb0: num=14;
break;
case 0x70: num=15;
break;
}
}
}
// display(num);
}
}
void led()
{
i=5;
while(i--)
{
d=0xfe;
for(c=8;c>0;c--)
{
P0=d;
beep=0;
delay(50);
beep=1;
delay(50);
d=_crol_(d,1);
}
d=0x7f;
for(c=8;c>0;c--)
{
P0=d;
beep=0;
delay(50);
beep=1;
delay(50);
d=_cror_(d,1);
}
}
}
void shumaguan()
{
i=5;
while(i--)
{
for(num=0;num<16;num++)
{
P23=0;
P25=0;
P0=table[num+1];
dula=1;
dula=0;
P0=0x00;//00000000 修改这里可以改变显示的位数 0:显示; 1:不显示
wela=1;
wela=0;
delay(500);
}
}
}
delay(int x)
{
int a,b;
for(a=x;a>0;a--)
for(b=200;b>0;b--);
}
display(uchar num1)
{
P23=0;
P25=0;
P0=table[num1];
dula=1;
dula=0;
P0=0x00;
wela=1;
wela=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -