#include<c8051f320.h>
#include<stdio.h>
#define VREF0 2430
float result;
void PORT_Init();
void ADC0_Init ();
main(){
float voltage;
PORT_Init();
ADC0_Init();
AD0EN=1;//使能ADC
EA=1;//允许所有中断
voltage=result;
voltage=voltage*VREF0;
}
void PORT_Init(){
P1MDIN=0xfe;//配置模拟输入
P1SKIP=0X01;}//配置上拉开关
void ADC0_Init (){
ADC0CN=0x90;//使能ADC,向ADC0BUSY写1开始转换
ADC0CF=0x20; //AD_CLK=12/(4+1),3M MAX,AD result 右对齐
AMX0P=0x00;//P1.0作为正输入
AMX0N=0x1f;//地作为负输入
EIE1=0X8; //AD interrupt enable
}
void AD_ISR (void) interrupt 10 //A/D转换结束中断
{
float result;
if((AMX0P&0x00)==0x00)
{
result=ADC0H*256+ADC0L;
}
else SBUF0=ADC0H;//将AD转换结果直接发送给串口
AD0INT=0;//ADC0转换结束中断标志
},载进单片机里没有反应,请问能指出错误么???
#include<stdio.h>
#define VREF0 2430
float result;
void PORT_Init();
void ADC0_Init ();
main(){
float voltage;
PORT_Init();
ADC0_Init();
AD0EN=1;//使能ADC
EA=1;//允许所有中断
voltage=result;
voltage=voltage*VREF0;
}
void PORT_Init(){
P1MDIN=0xfe;//配置模拟输入
P1SKIP=0X01;}//配置上拉开关
void ADC0_Init (){
ADC0CN=0x90;//使能ADC,向ADC0BUSY写1开始转换
ADC0CF=0x20; //AD_CLK=12/(4+1),3M MAX,AD result 右对齐
AMX0P=0x00;//P1.0作为正输入
AMX0N=0x1f;//地作为负输入
EIE1=0X8; //AD interrupt enable
}
void AD_ISR (void) interrupt 10 //A/D转换结束中断
{
float result;
if((AMX0P&0x00)==0x00)
{
result=ADC0H*256+ADC0L;
}
else SBUF0=ADC0H;//将AD转换结果直接发送给串口
AD0INT=0;//ADC0转换结束中断标志
},载进单片机里没有反应,请问能指出错误么???