📄 ad.lst
字号:
C51 COMPILER V7.06 AD 08/08/2007 14:12:12 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE AD
OBJECT MODULE PLACED IN AD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE AD.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<REG51.H>
2 #include<INTRINS.H>
3
4 #define uint unsigned int
5
6 #define uchar unsigned char
7 #define SomeNOP(); {}
8 //#define WEI P2 // 位选信号通过P2口传送
9 #define DUAN P0 // 段选信号通过P0口传送
10 sbit dout=P1^4;
11 sbit sclk=P1^5;
12 sbit cs = P1^6;
13 sbit shdn=P1^7;
14 code uchar duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段选码表
15 data uchar vlog[4]={0,0,0,0};//电压信息存放数组。初始化时间0000
16 void display(void);
17 void delay(uchar x); //声明延时函数
18 void adcover(void);
19
20
21
22 void delay(uchar x)
23 { uchar i;
24 1 while(x--)
25 1 {
26 2 for(i=0;i<125;i++)
27 2 {;}
28 2 }
29 1 }
30 /******************************************/
31
32 /******************************************/
33 void display(void)
34 {
35 1 uchar i,j,wei;
36 1 wei =0x01;
37 1 for(i=0;i<5;i++)
38 1 { P2=wei;
39 2 j=vlog[i];
40 2 P0=duanma[j];
41 2 if(i==0)
42 2 {P0=P0|0x80;}
43 2 wei=wei<<1;
44 2 delay(3);
45 2 }
46 1 }
47 /**************************************************/
48
49 void adcover(void)
50 { uint rice=0;
51 1 uchar i;
52 1 float rice1=0;
53 1 sclk=0;
54 1 cs=0;
55 1 _nop_();
C51 COMPILER V7.06 AD 08/08/2007 14:12:12 PAGE 2
56 1 if(dout==0)
57 1 {_nop_();
58 2 _nop_();
59 2 _nop_();
60 2 _nop_();
61 2 _nop_();
62 2 _nop_();
63 2 _nop_();
64 2
65 2 if(dout==1)
66 2 {
67 3 for(i=0;i<12;i++)
68 3 { sclk=1;
69 4 _nop_();
70 4 sclk=0;
71 4
72 4 if(dout==1)
73 4 {rice=(rice<<1)|0x0001;}
74 4 else
75 4 rice=rice<<1;
76 4 }
77 3 cs=1;}
78 2 }
79 1
80 1 rice1=(float)rice*0.6105006;//(2.5*rice*1000)/0xfff;
81 1
82 1
83 1 rice=(uint)rice1;
84 1
85 1 vlog[0]=(rice%10000)/1000;
86 1
87 1 vlog[1]=(rice%1000)/100;
88 1
89 1 vlog[2]=(rice%100)/10;
90 1
91 1 vlog[3]=rice%10;
92 1
93 1 }
94
95
96
97
98
99
100
101 /*************************************************/
102 main()
103
104 {
105 1 P1=0xff;
106 1 while(1)
107 1 {display();
108 2 adcover();
109 2 }}
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 249 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 4
C51 COMPILER V7.06 AD 08/08/2007 14:12:12 PAGE 3
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 + -