📄 adx.lst
字号:
C51 COMPILER V8.02 ADX 07/23/2008 14:37:33 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE ADX
OBJECT MODULE PLACED IN .\adx.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\adx.c BROWSE DEBUG OBJECTEXTEND PRINT(.\adx.lst) OBJECT(.\adx.obj)
line level source
1 #include"reg51.h"
2 #include"intrins.h"
3 unsigned char LED_segment[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xBF,0x86,0xDB,0xCF,0xE6,0x
-ED,0xFD,0x87,0xFF,0xEF};
4 sbit L1=P3^3;
5 sbit L2=P3^2;
6 sbit L3=P3^1;
7 sbit L4=P3^0;
8 //定义端口
9 sbit CE=P1^4;
10 sbit CS=P1^1; //定义端口
11 sbit RC=P1^3;
12 sbit A0=P1^2;
13 sbit STS=P1^0;
14 unsigned int getdata(void);
15 void delay(unsigned char x);
16 //============================================================
17 void delay(unsigned char x) //延迟程序
18 {
19 1 unsigned char i;
20 1 for(i=0;i<x;i++);
21 1 }
22 //+++================================================================
23 unsigned int getdata(void) //AD转换程序
24 { unsigned int DA,DB,DC;
25 1 DA=0;DB=0;DC=0;
26 1 CE=0;
27 1 CS=0;
28 1 RC=0;
29 1 A0=0;
30 1 CE=1;
31 1 while(STS==1);
32 1 CE=0;
33 1 //启动AD12位转换
34 1 while(STS==1);
35 1 _nop_();
36 1 CS=1;
37 1 CE=1;
38 1 RC=1;
39 1 CE=0;
40 1 CS=0;
41 1 _nop_();
42 1 CE=1;
43 1 DB=P0;
44 1 CE=0;
45 1 _nop_();
46 1 CS=1;
47 1 CE=1;
48 1 A0=1;
49 1 CE=0;
50 1 CS=0;
51 1 _nop_();
52 1 CE=1;
53 1 DC=P0;
54 1 CE=0;
C51 COMPILER V8.02 ADX 07/23/2008 14:37:33 PAGE 2
55 1 DA=((unsigned int)(DB<<4)+(DC>>4)); //AD转换输出12位的数据
56 1 return DA;
57 1 }
58 //==============================================================================
59
60
61 unsigned int dec(unsigned int n) //将二进制转化成十进制,精度12位
62 {
63 1 float N;
64 1 unsigned int m;
65 1 // unsigned int a;
66 1 N=n;
67 1 m=(unsigned int)((N*10/4096)*1000);//保留小数点后三位乘1000
68 1 return m;
69 1 }
70 //==========================================================================
71 main()
72 {
73 1 unsigned int S,a,b,c,d,f,g,h;
74 1 unsigned int Data;
75 1 while(1)
76 1 {
77 2
78 2
79 2
80 2 Data=getdata();
81 2 // Data=2048;
82 2 S=dec(Data);
83 2 a=S%10;
84 2 b=S/10;
85 2 c=b%10;
86 2 d=b/10;
87 2 f=d%10;
88 2 g=d/10;
89 2 h=g%10;
90 2 L1=0;
91 2 P2=LED_segment[a];
92 2 delay(1);
93 2 L1=1;
94 2 L2=0;
95 2 P2=LED_segment[c];
96 2 delay(1);
97 2 L2=1;
98 2
99 2 L3=0;
100 2 P2=LED_segment[f];
101 2 delay(1);
102 2 L3=1;
103 2 L4=0;
104 2 P2=LED_segment[h+10];
105 2 delay(1);
106 2 L4=1;
107 2
108 2
109 2 }
110 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 328 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
C51 COMPILER V8.02 ADX 07/23/2008 14:37:33 PAGE 3
PDATA SIZE = ---- ----
DATA SIZE = 20 16
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 + -