📄 adc-12.lst
字号:
C51 COMPILER V7.06 ADC_12 07/05/2008 21:52:17 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE ADC_12
OBJECT MODULE PLACED IN ADC-12.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ADC-12.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include"reg51.h"
2 #include"intrins.h"
3 #define uchar unsigned char
4 #define uint unsigned int
5 #define nop() _nop_()
6 #define WEI P2
7 #define DUAN P0
8
9 code uchar display[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f };
10 data uchar Disp_Data[6]={0,0,0,0,0,0};
11 /*************变量定义******************/
12 uint Con_Data=0;
13 float Vref=2.5;
14
15 /*************函数声明******************/
16 void delay(uchar j);//
17 void Data_Process(void);
18 void led_display(void);
19 /**************************************/
20 sbit DOUT=P1^0;
21 sbit SCLK=P1^1;
22 sbit CS=P1^2;
23
24 /***************************************/
25 void delay(uchar j)
26 { register i;
27 1 while(j--)
28 1 {
29 2 for(i=0;i<125;i++)
30 2 {;}
31 2 }
32 1 }
33
34 /***************************************/
35 void Re_Data(void)
36 {
37 1 uchar i;
38 1 CS=0;
39 1 Con_Data=0;
40 1 nop();
41 1 DOUT=1;
42 1 SCLK=0;
43 1 nop();
44 1 SCLK=1;
45 1 nop();
46 1 for(i=0;i<12;i++)
47 1 {
48 2 SCLK=0;
49 2 nop();
50 2 SCLK=1;
51 2 Con_Data<<=1;
52 2 if(DOUT)
53 2 {Con_Data|=0x01;}
54 2 }
55 1 CS=1;
C51 COMPILER V7.06 ADC_12 07/05/2008 21:52:17 PAGE 2
56 1 }
57 /***************************************/
58 void Data_Process(void)
59 {
60 1 float tt;
61 1 uint dispnumber;
62 1 tt=(Con_Data*Vref)/4095.0;
63 1 tt*=1000.0; //电压放大1000倍,显示到
64 1 dispnumber=(uint)tt;
65 1 Disp_Data[0]=dispnumber/100000;
66 1 Disp_Data[1]=dispnumber%100000/10000;
67 1 Disp_Data[2]=dispnumber%100000%10000/1000;
68 1 Disp_Data[3]=dispnumber%100000%10000%1000/100;
69 1 Disp_Data[4]=dispnumber%100000%10000%1000%100/10;
70 1 Disp_Data[5]=dispnumber%100000%10000%1000%100%10;
71 1
72 1 }
73 /**************************************/
74 void led_display(void)
75 {
76 1 uchar i,j,k;
77 1 uchar *p,*q;
78 1 p=&Disp_Data[0];
79 1 q=display;
80 1 k=0x20;
81 1 for(i=0;i<6;i++)
82 1 {
83 2 WEI=k;
84 2 j=*(p+i);
85 2 DUAN=*(q+j);
86 2 if(i==2)
87 2 {DUAN|=0x80;}
88 2 k>>=1;
89 2 delay(1);
90 2 }
91 1 }
92
93 /**************************************/
94 void main(void)//主程序
95 {
96 1 while(1)
97 1 {
98 2 Re_Data();
99 2 Data_Process();
100 2 led_display();
101 2 }
102 1 }
103
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 595 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 14
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 + -