#include <reg51.h>
#include <stdio.h>
#include <intrins.h>
sbit CLK = P2^0;
sbit DATA = P2^1;
sbit CS = P2^2;
sbit BUZ_CON = P3^7;
unsigned int ADConvert(void);
void Delay(void);
void Display(void);
unsigned char DisplayBuf[5] = {0};
unsigned char code CharCode1[] =
{
0xc0, 0xF9, 0xA4, 0xB0, 0x99,
0x92, 0x82, 0xF8, 0x80, 0x90
};
unsigned char code CharCode2[] =
{
0x40, 0x79, 0x24, 0x30, 0x19
};
void main(void)
{
unsigned int i,ad;
unsigned char pos;
float adf;
int j,zh,i1,i2;
while(1)
{
ad = ADConvert();
ad = ADConvert();
adf = (ad*5.0)/1024.0;
zh = (int)(adf*100)/100;
i1 = (int)(adf*100)/10%10;
i2 = ((int)(adf*100))%10;
if(zh == 4)
{
if(i1 == 9)
{
if(i2 == 9)
{
BUZ_CON = 0;
for(j = 0; j < 1000; j++);
BUZ_CON = 1;
}
}
}
P0 = 0;
P1 = 0xff;
DisplayBuf[0] = 0;
DisplayBuf[1] = i2;
DisplayBuf[2] = i1;
DisplayBuf[3] = zh;
pos = 0x80;
for(i=0;i<3;i++)
{
P1=CharCode1[DisplayBuf[i]];
P0=pos;
pos>>=1;
Delay();
}
P1=CharCode2[DisplayBuf[3]];
P0=pos;
pos>>=1;
Delay();
P1=CharCode1[0];
P0=pos;
pos>>=1;
Delay();
}
}
unsigned int ADConvert(void)
{
int i;
unsigned int ad;
ad = 0;
DATA = 1;
CS = 0;
for(i=0; i<10; i++)
{
ad <<= 1;
CLK = 0;
_nop_ ();
_nop_ ();
_nop_ ();
CLK = 1;
if(DATA) ad |= 0x01;
else ad &= 0xFFFE;
}
CS = 1;
return ad;
}
void Delay(void)
{
int i;
i= 100;
while(i--);
}
#include <stdio.h>
#include <intrins.h>
sbit CLK = P2^0;
sbit DATA = P2^1;
sbit CS = P2^2;
sbit BUZ_CON = P3^7;
unsigned int ADConvert(void);
void Delay(void);
void Display(void);
unsigned char DisplayBuf[5] = {0};
unsigned char code CharCode1[] =
{
0xc0, 0xF9, 0xA4, 0xB0, 0x99,
0x92, 0x82, 0xF8, 0x80, 0x90
};
unsigned char code CharCode2[] =
{
0x40, 0x79, 0x24, 0x30, 0x19
};
void main(void)
{
unsigned int i,ad;
unsigned char pos;
float adf;
int j,zh,i1,i2;
while(1)
{
ad = ADConvert();
ad = ADConvert();
adf = (ad*5.0)/1024.0;
zh = (int)(adf*100)/100;
i1 = (int)(adf*100)/10%10;
i2 = ((int)(adf*100))%10;
if(zh == 4)
{
if(i1 == 9)
{
if(i2 == 9)
{
BUZ_CON = 0;
for(j = 0; j < 1000; j++);
BUZ_CON = 1;
}
}
}
P0 = 0;
P1 = 0xff;
DisplayBuf[0] = 0;
DisplayBuf[1] = i2;
DisplayBuf[2] = i1;
DisplayBuf[3] = zh;
pos = 0x80;
for(i=0;i<3;i++)
{
P1=CharCode1[DisplayBuf[i]];
P0=pos;
pos>>=1;
Delay();
}
P1=CharCode2[DisplayBuf[3]];
P0=pos;
pos>>=1;
Delay();
P1=CharCode1[0];
P0=pos;
pos>>=1;
Delay();
}
}
unsigned int ADConvert(void)
{
int i;
unsigned int ad;
ad = 0;
DATA = 1;
CS = 0;
for(i=0; i<10; i++)
{
ad <<= 1;
CLK = 0;
_nop_ ();
_nop_ ();
_nop_ ();
CLK = 1;
if(DATA) ad |= 0x01;
else ad &= 0xFFFE;
}
CS = 1;
return ad;
}
void Delay(void)
{
int i;
i= 100;
while(i--);
}