📄 adctemp.lst
字号:
C51 COMPILER V7.06 ADCTEMP 05/31/2008 12:42:59 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE ADCTEMP
OBJECT MODULE PLACED IN adctemp.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE adctemp.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //参考程序B.WADC0.c程序模/数转化通道AIN0.0的输入值
2 #include <c8051f020.h>
3
4 #define SYSCLK 22118400 // SYSCLK frequency in Hz
5 #define SAMPLE_RATE 50000 // Sample frequency in Hz
6
7 bit LCDBit;
8 unsigned long x;
9 void PORT_Init (void);
10 void Timer3_Init (int counts);
11 void ADC_Init(void);
12 void ADC_ISR (void);
13
14 void SYSCLK_Init()
15 {
16 1 unsigned int i;
17 1 OSCXCN=0X67; //0X67=0110,0111
18 1 for(i=0;i<256;i++); //等待>1ms
19 1 while(!(OSCXCN&0X80)); //等待XTLVLD变为1
20 1 OSCICN=0X88; //时钟失效监测器,选择外部时钟源作为系统时钟
21 1 }
22
23 void PORT_Init()
24 {
25 1 XBR0 = 0x04;//urat0 配置到p0.0 p0.1
26 1 XBR1=0X00;
27 1 XBR2=0X40;
28 1
29 1
30 1 }
31 void UART0_Init()
32 {
33 1 SCON0=0x50; //串口方式1
34 1 TMOD=0X20; //选用定时器1作为波特率发生器
35 1 TH1=0xF4; //波特率为4800
36 1 TL1=0xF4;
37 1 TF1=0;
38 1 TR1=1; //定时器启动
39 1 PCON=0X00; //波特率不乘2
40 1 TI0=1;
41 1
42 1 }
43
44 void main (void) {
45 1
46 1 WDTCN = 0xde;
47 1 WDTCN = 0xad; //禁止看门狗定时器
48 1
49 1 SYSCLK_Init();
50 1 PORT_Init();
51 1 UART0_Init();//AD转换初始化
52 1
53 1 ADC_Init();
54 1 AMX0SL =0x0f;//选择温度通道
55 1 for(x=0;x<=50000;x++);
C51 COMPILER V7.06 ADCTEMP 05/31/2008 12:42:59 PAGE 2
56 1
57 1 while (1)
58 1 {
59 2 for(x=0;x<=50000;x++);
60 2
61 2 AD0BUSY=1;//启动AD转换
62 2 while(AD0BUSY==1);//判断AD转换是否完成
63 2 SBUF0=0X01;
64 2 while(TI0==0);
65 2
66 2 TI0=0;
67 2 SBUF0=ADC0H;//向上位机发送AD转换高4位数据
68 2 while(TI0==0);
69 2
70 2 TI0=0;
71 2 SBUF0=ADC0L;//向上位发送AD转换低8位数据
72 2 while(TI0==0);
73 2
74 2 TI0=0;
75 2
76 2
77 2
78 2 }
79 1
80 1 }
81
82 void ADC_Init(void)
83 {
84 1 ADC0CN |=0x80; /*ADC0使能,软件使能模/数转换*/
85 1 REF0CN |=0x07; /*内部电压基准提供从VREF脚输出,ADC0电压基准取自VREF0*/
86 1 ADC0CF = (SYSCLK/2500000) << 3; /*转换周期为一个时间系统,增益为1*/
87 1 ADC0CF&=0xf8;
88 1 AMX0CF |=0x00; /*单端输入*/
89 1
90 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 231 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
IDATA SIZE = ---- ----
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 + -