温度传感器.#2

来自「C51编程」· #2 代码 · 共 31 行

#2
31
字号
#include "c8051F020.h"
			
#define SYSCLK 2000000     

sfr16 ADC0     = 0xbe;                 // ADC0 data

/*void init_adc(void)
{
	ADC0CN = 0x81;//打开adc0,并设置转换方式为向adc0busy写1,寄存器数据格式,如果是浮点,则选择右对齐                     
    REF0CN = 0x07;//设置基准电压,使用内部2.4伏,打开温度传感器                      
    AMX0SL = 0x08;//通道选择寄存器,配合amux0cf配置寄存器一起使用,选择通道 	
    ADC0CF = (SYSCLK/2500000-1) << 3;  //设置转换频率    
	ADC0CF |= 0x00;//adc0内部增益                     
}*/
void main (void)
{ int i;
	ADC0CN = 0x81;//打开adc0,并设置转换方式为向adc0busy写1,寄存器数据格式,如果是浮点,则选择右对齐                     
    REF0CN = 0x07;//设置基准电压,使用内部2.4伏,打开温度传感器                      
    AMX0SL = 0x08;//通道选择寄存器,配合amux0cf配置寄存器一起使用,选择通道 	
    ADC0CF = (SYSCLK/2500000-1) << 3;  //设置转换频率    
	ADC0CF |= 0x00;//adc0内部增益        
//init_adc();

for (i=0;i<10;i++)
{
AD0INT = 0;//软件清零转换结束标志位                     
AD0BUSY = 1;//启动转换
while(AD0INT == 0);

}
}                     

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?