📄 片上温度采集.c
字号:
#include <stdio.h> //keil中用于输入及输出的头文件,主要应用于串口通信,
#include <ADuC834.h> //SFR
void main (void)
{
int i, temp;
//UART config 注:T3,主要用于波特率发生器的特殊定时器,见P60
T3CON = 0x82; //T3使能,2分频
T3FD = 0x12;
SCON = 0x52; //P60,CD=3(PLL分频系数,默认为3,MCU主频1.57MHz),查表设定波特率为9600
ADCMODE = 0x10; // P18,辅ADC使能 - Power down MODE
ADC1CON = 0x20; // P19,使用内部参考电压, 双极性,通道选片上温度传感器
printf("____________________________________\nAnalog Devices MicroConverter ADuC834\nTemp Sensor Demo Routine\n");
//串口输出信息如下:
//____________________________________
//Analog Devices MicroConverter ADuC834
//Temp Sensor Demo Routine
while(1)
{
RDY1 = 0; //P17,辅ADC就绪
ADCMODE = 0x12; //辅ADC使能,一次转换模式
while (RDY1 == 0); // 转换是否完成
temp = ADC1H-128; //ADC转换完成后将结果变换后存放在temp中,见P19注释。
printf("\n\n");
printf("The temperature is %d.\n", temp);
//串口输出信息如下
//The temperature is 17. 17指测量时的温度。
for (i = 0; i < (10000); i++) //延时
{}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -