下面是我用pic6f882写的一个简单程序,RA0ad采集加RC0小灯闪烁,我想知道哪里有问题,下载到单片机,程序不运行,//get_ad后小灯闪烁,求助!谢谢大家
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
void init();
void delay(uint x);
void led();
void get_ad();
uint ADdata[]={0,0,0,0,0,0};
void main()//主程序
{
init();
uart_int();
while(1)
{
get_ad();
led();
}
}
void delay(uint x)//延时函数
{
uint a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void init()//初始化寄存器
{
TRISA=0x1f;
ANSEL=0x1f;//AN0-4模拟输入
TRISB=0x3f;//00111111
ANSELH=0x3f;//AN8-13模拟输入
PORTB=0;
TRISC=0b10000000;
PORTC=0;
ADCON0=0x40;//AD初始化
ADCON1=0X80;
ADRESH=0;
ADRESL=0;
ADIF=0;
GIE=1;//中断初始化
PEIE=1;
ADIE=1;
OPTION_REG=0x87; //预分频为256
delay(1);
}
void get_ad()
{
uint adval;
ADON=1;//AD使能
delay(1);
GO=1;//转换开始标志位 AN0
while(GO);//转换完成自动清零
adval=ADRESH;//00000000 00000011
adval=adval<<8|ADRESL;//00000011 11111111右对齐
ADdata[0]=adval;
}
void led()
{
PORTC=0x01|PORTC;
delay(500);
PORTC=0xfe&PORTC;
delay(500);
} |