有一个片外的C程序看不懂,希望大侠指教!!
#include<reg51.h>
#include<absacc.h>
#define ADC XBYTE[0x2000]
#define DP1 XBYTE[0x0000]
#define DP2 XBYTE[0x0001]
#define DP3 XBYTE[0x0002]
#define DP4 XBYTE[0x0003]
#define TIMER 0x3000
unsigned char table[ ]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void delay(void);
void display(unsigned char m,n);
void main(void)
{
int temp=0 ,y=0;
unsigned char j=0;
unsigned char z=0,num=0,y2=0,i;
int x=0;
DP1=DP2=DP3=DP4=0xff;
delay();
while(1)
{
ADC=x;
delay();
delay();
x=(int)((ADC*250)/64); /* x=(ADC*4); */
// DP1=0xff;
/* for(;j<=0;j++)
{ temp=x; } */
if(temp=x)
{
y=(int )(x/100); num=1; display(num,y);
z=(x-y*100)/10; num=2; display(num,z);
y2=x-(y*100)-(z*10);num=3;
display(num,y2);
}
for(i=0;i<10;i++)
{ delay(); }
// temp=x;
}
}
void display(unsigned char m,n)
{
switch(m)
{
case 1: DP2=table[n]; break;
case 2: DP3=table[n]+0x80; break;
case 3: DP4=table[n]; break;
default: ; break;
}
}
void delay(void)
{
unsigned int i;
for(i=0;i<TIMER;++i);
}
这是一个测温用数码管显示的程序....具体怎么用的373,245不清楚。
一周热门 更多>