📄 text1.lst
字号:
C51 COMPILER V7.50 TEXT1 05/29/2006 10:53:07 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include<stdio.h>
3 #define ADC0809CH0 0xDFEF8 //0809通道0地址
4 #define ADC0809CH1 0xDFEF9 //0809通道1地址
5 #define ADC0809CH2 0xDFEFA //0809通道2地址
6 #define ADC0809CH3 0xDFEFB //0809通道3地址
7 #define uchar unsigned char //uchar代表单个字节无符号数
8 #define uint unsigned int //uint无符号字
9 xdata uint cChannelIndex;
10 xdata uchar cDigitalData[4]=0;
11 xdata uint nCurrentAddr;
12 Uart_Init(); //输出口初始化
13 sbit EOCFlag=0xB2; //P3.2位 外部中断0
14 void SelectChannel(uint c0809addr,uchar c0809data);
15 uchar GetResult( );//得到转换结果
16 main()
17 { Uart_Init(); //
18 1 P0=0XFF; //端口初始化为0xFF
19 1 P1=0XFF;
20 1 P2=0XFF;
21 1 P3=0XFF;
22 1 cChannelIndex=0;
23 1 nCurrentAddr=ADC0809CH0;
24 1 SelectChannel(ADC0809CH0,cChannelIndex); //选择ADC0809通道0
25 1 while(!EOCFlag); //等待转换结束,转换期间EOCFlag=0
26 1 cDigitalData[cChannelIndex]=GetResult();//读取转换后结果
27 1 cChannelIndex++;
28 1 nCurrentAddr=ADC0809CH1;
29 1 SelectChannel(ADC0809CH1,cChannelIndex); //选择ADC0809通道1
30 1 while(!EOCFlag); //等待转换结束,转换期间EOCFlag=0
31 1 cDigitalData[cChannelIndex]=GetResult();//读取转换后结果
32 1 cChannelIndex++;
33 1 nCurrentAddr=ADC0809CH2;
34 1 SelectChannel(ADC0809CH2,cChannelIndex); //选择ADC0809通道2
35 1 while(!EOCFlag); //等待转换结束,转换期间EOCFlag=0
36 1 cDigitalData[cChannelIndex]=GetResult();//读取转换后结果
37 1 cChannelIndex++;
38 1 nCurrentAddr=ADC0809CH3;
39 1 SelectChannel(ADC0809CH3,cChannelIndex); //选择ADC0809通道3
40 1 while(!EOCFlag); //等待转换结束,转换期间EOCFlag=0
41 1 cDigitalData[cChannelIndex]=GetResult();//读取转换后结果
42 1 while(1);
43 1 }
44 Uart_Init()
45 {SCON = 0x52; /* 设置串行口控制寄存器SCON*/
46 1 TMOD = 0x21; /* 12M时钟时波特率为2400 */
47 1 TCON = 0x69; /* TCON */
48 1 TH1 = 0xf3; /* TH1 */
49 1 }
50 void SelectChannel(uint c0809addr,uchar c0809data)
51 {
52 1 *((uchar xdata *)c0809addr)=c0809data;
53 1 //选择ADC0809通道
54 1 }
55 uchar GetResult( )//得到转换结果
C51 COMPILER V7.50 TEXT1 05/29/2006 10:53:07 PAGE 2
56 {uchar cResult;
57 1 cResult=*((uchar xdata *)nCurrentAddr);
58 1 return cResult; //返回转换后数字量
59 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 272 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 8 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -