#include <pic.h>
#define uchar unsigned char
#define uint unsigned int
__CONFIG(0x3B31);
void init(void);
void init();
void delay(int x);
void disp(uchar num1,uchar num2,uchar num3,uchar num4);
uint get_ad();
unsigned char table[]={0b11000000,0b11111001,0b10100100,
0b10110000,0b10011001,0b10010010,0b10000010,
0b11111000,0b10000000,0b10010000}; //字形碼數(shù)組
void main()
{
uint lednum;
uchar a1,a2,a3,a4;
init();
while(1)
{
lednum=get_ad();
a1=lednum/1000;
a2=lednum&1000/100;
a3=lednum&100/10;
a4=lednum&10;
disp(a1,a2,a3,a4);
}
}
void init()
{
TRISA0=1,
TRISD=0;
TRISC=0;
PORTA=0;
PORTC=0;
PORTD=0;
ADCON1=0x8e;
ADCON0=0x41;
delay(10);
}
uint get_ad()
{
uint adval;
GO=1;
while(GO);
adval=ADRESH;
adval=adval<<8|ADRESL;
return (adval);
}
void disp(uchar num1,uchar num2,uchar num3,uchar num4)
{
PORTC=table[num1];
PORTD=0x08;
delay(2);
PORTC=table[num1];
PORTD=0x04;
delay(2);
PORTC=table[num1];
PORTD=0x02;
delay(2);
PORTC=table[num1];
PORTD=0x01;
delay(2);
}
void delay (int x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
|