📄 ad0809.lst
字号:
C51 COMPILER V7.06 AD0809 06/05/2007 21:54:27 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE AD0809
OBJECT MODULE PLACED IN AD0809.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE AD0809.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //-----------------------函数声明,变量定义--------------------------------------------------------
2 #include <AT89X51.H>
3 #define CH0 XBYTE[0x7FF8]
4 //-----------------------定义寻址的基址--------------------------------------------------------
5 #define base_Adr 0x7FF8
6 //-----------------------定义地址指针,指向基址--------------------------------------------------------
7 unsigned char xdata *CH_base_Adr = base_Adr;
8 //--------------------------------------------------------------------------------------------------
9 // 函数名称: delay
10 // 入口参数: N
11 // 函数功能:延时子程序,实现(16*N+24)us的延时
12 // 系统采用11.0592MHz的时钟时,延时满足要求,其它情况需要改动
13 //--------------------------------------------------------------------------------------------------
14 void delay(unsigned int N)
15 {
16 1 int i;
17 1 for(i=0;i<N;i++);
18 1 }
19 //------------------------------------------------------------------------------------------------------
20 // 函数名称 read_oneCH
21 // 入口函数 CH_num通道号码(0~7)
22 // 出口函数 返回AD转换的值
23 // 函数功能 写外部数据存储区
24 //------------------------------------------------------------------------------------------------------
25 unsigned char read_oneCH(unsigned char CH_num)
26 {
27 1 unsigned char ADC_data;
28 1 *(CH_base_Adr+ CH_num)=0;
29 1 delay(0);
30 1 ADC_data= *( CH_base_Adr+ CH_num);
31 1 return(ADC_data);
32 1 }
33 //------------------------------------------------------------------------------------------------------
34 // 函数名称 main
35 // 函数功能 依次采集8个通道的电压信号
36 //------------------------------------------------------------------------------------------------------
37 void main()
38 {
39 1 float m;
40 1 unsigned char i;
41 1 unsigned char j,n;
42 1 unsigned char data1[]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF};//带点
43 1 unsigned char data2[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//不带点0 1 2 3 4 5 6 7
- 8 9
44 1 for(i=0;i<80;i++)
45 1 {m=read_oneCH(0);
46 2 m=m*0.02;
47 2 m=m*10;
48 2 n=m;
49 2 j= n%10;
50 2 n=n/10;
51 2 P3=data1[n];
52 2 P1_6=0;
53 2 P1_7=1;
54 2 delay(2500);
C51 COMPILER V7.06 AD0809 06/05/2007 21:54:27 PAGE 2
55 2 P1_6=1;
56 2 P1_7=0;
57 2 P3=data2[j];
58 2 delay(2500);
59 2 }
60 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 206 ----
CONSTANT SIZE = 20 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 25
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 + -