📄 adc0_temp.lst
字号:
C51 COMPILER V7.06 ADC0_TEMP 06/06/2007 17:00:48 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE ADC0_TEMP
OBJECT MODULE PLACED IN ADC0_TEMP.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE ADC0_TEMP.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //内部温度传感器调试程序//
2 //ADC0_TEMP.c
3
4 #include "C8051F340.h"
5 typedef unsigned int uint;
6 typedef unsigned char uchar;
7 typedef unsigned long ulong;
8 bit isnewdata;
9 uint kk;
10 float temp;
11 idata float t[20];//存放温度检测数据,为20个数据
12 // Peripheral specific initialization functions,
13 // Called from the Init_Device() function
14 void PCA_Init()
15 {
16 1 PCA0MD &= ~0x40;
17 1 }
18
19 void ADC_Init()
20 {
21 1 REF0CN = 0x0E; // Enable voltage reference VREF
22 1 AMX0P = 0x04; // Positive input starts as P2.5
23 1 AMX0N = 0x1F; // Single ended mode(neginput = gnd)
24 1
25 1 ADC0CF = 0xF8; // SAR Period 0x1F, Right adjusted
26 1
27 1 ADC0CN = 0x80; // Continuous converion on AD0BUSY=1
28 1
29 1 EIE1 |= 0x08;
30 1
31 1
32 1 }
33
34 void Port_IO_Init()
35 {
36 1
37 1 P2MDIN = 0xDF; // P2.5 set as analog input
38 1 P2SKIP = 0x20; // P2.5 skipped by crossbar
39 1 XBR0 = 0x00;
40 1 XBR1 = 0x40; // Enable Crossbar
41 1 }
42
43
44 // Initialization function for device,
45 // Call Init_Device() from your main program
46 void Init_Device(void)
47 {
48 1 PCA_Init();
49 1 ADC_Init();
50 1 Port_IO_Init();
51 1 }
52
53
54 void main(){
55 1 char i;
C51 COMPILER V7.06 ADC0_TEMP 06/06/2007 17:00:48 PAGE 2
56 1 Init_Device();
57 1 AD0BUSY=1;//ADC0启动
58 1 i=0;
59 1 while(1){
60 2 if(AD0INT){//由该位查询ADC0转化值是否更新
61 3 AD0INT=0;
62 3 kk=ADC0H*256;
63 3 kk+=ADC0L;//可用sfr16一次性读取
64 3 temp=(float)kk/1024;
65 3 temp*=3.4;
66 3 t[i]=temp;//将温度检测值存入长度为20的数组中
67 3 i++;
68 3 AD0BUSY=1;//ADC0启动
69 3 if(i>19)
70 3 i=0;//在此设断点,观察程序运行结果
71 3
72 3 }
73 2 }
74 1 }
75
76
77
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 152 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 1
IDATA SIZE = 80 ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -