📄 adinit.c
字号:
void ADC0_Conver (void)
{
unsigned char m;
unsigned int temp;
char data SFRPAGE_SAVE = SFRPAGE;
SFRPAGE = SFR_PAGE_0;
for(m=0;m<4;m++)
{
AMX0SL = m; // 设置mux到通道
Delay_us(20);
AD0INT = 0; // 清除ADC转换完成标志
AD0BUSY = 1;
while (!AD0INT);
temp = ADC0H;
temp = temp*256+ADC0L;
result[m]=temp; // 读ADC值
}
SFRPAGE = SFRPAGE_SAVE; // Restore SFR page
}
void ADC0_Init (void)
{
char data SFRPAGE_SAVE = SFRPAGE;
SFRPAGE = SFR_PAGE_0;
ADC0CN = 0x40; //关闭ADC0; 低能追踪模式
//DC0使用AD0BUSY作为转换源;
//使用右对齐输出模式
AMX0CF=0X00; //全部采用单端输入方式
REF0CN = 0x03; //关闭温度传感器, 使用片上VREF,
//VREF输出缓存器
AMX0SL = 0x00; //选择AIN0作为ADC mux输出
//ADC转换时钟= 2.5MHz,系统时钟11.0592*9MHz
ADC0CF =0x90;
//PGA放大倍数=1
EIE2 &= (~0x02); //关闭ADC中断
SFRPAGE = SFRPAGE_SAVE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -