求解中断5是,难道不是串口中断吗?还有sfr是如何调用特殊寄存器
sfr P1ASF=0X9D; //P1口模拟功能控制寄存器
sfr ADC_CONTR=0XBC; //ADC控制寄存器
sfr ADC_RES=0XBD; //AD转换结果存放
sfr ADC_RESL=0XBE; //AD转换结果存放
sfr AUXR1=0XA2;
void ADinit()
{
P1ASF=0x01; //P1^0口作为AD输入口
ADC_CONTR=0x20; //P1^0口作为AD输入口,360个时钟周期转换一次
AUXR1=0x00; //高八位存放于ADC_RES,低二位存放于ADC_RESL
IE=0XA0; //开总中断允许AD中断
}
void ADser() interrupt 5
{
temp=(ADC_CONTR|0X10)<<4; //此时ADC_FLAG的值被移入CY位;
ADC_CONTR=0xC0; //转换完成,将ADC_FLAG清零
resulth=ADC_RES; //读取高8位值
result=(unsigned int)(resulth*50/255);
//把ADC_RES的值以点亮小灯的形式显示出来
}
|