求PIC单片机数码管显示程序

来源:百度知道 编辑:UC知道 时间:2024/05/24 03:33:27
我用的是PIC16F72单片机,电压信号是从A口进入的,只用RA0一位,用4位数码管做为输出显示,其中B口低4为作为为选码,C口做为段选码,请教一下一下怎么把A/D转换的结果输出到数码管显示?
程序烧写工具可以用一般的51单片机烧写工具吗?

#include <htc.h>
#include <pic18f45j10.h>
#define uint unsigned int
#define uchar unsigned char
#define PORTDIT(adr,bit)((unsigned)(&adr)*8+(bit))
static volatile int table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar ad_hdate,ad_ldate;
uint ad;
void delay(int a) //延时
{
long int i,j;
for(j=0;j<a;j++)
for(i=0;i<121;i++);
}
void main()
{
//TRISA0=1;
INTCON=0X00;
TRISC=0X00;
TRISB=0X00;
PORTB=0x00;
PORTC=0x00;
ADCON1=0X00;
ADCON0=0X42;
ADCON2=0X93;
ADON=1;
while(GODONE);
ADON=0;
ad_hdate=ADRESH;
ad_ldate=ADRESL;
ad=ad_ldate+ad_hdate*256;
while(1)
{
PORTC=table[ad/100];
PORTB=0X01;
delay(10);
PORTB=0X00;
PORTC=table[ad/10%10];
PORTB=0X02