📄 display.lst
字号:
C51 COMPILER V7.06 DISPLAY 05/16/2008 11:12:30 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN display.OBJ
COMPILER INVOKED BY: D:\Program Files\keil C51\C51\BIN\C51.EXE display.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 #include <reg52.h>
3 #include <stdio.h>
4 #include <absacc.h>
5 #include <ctype.h>
6 #include <intrins.h>
7
8
9
10 typedef unsigned char uchar;
11 sbit STB=P1^5;
12 sbit CLK=P1^4;
13 sbit DATA0=P1^3;
14 int A[6];
15 int a1,a2,a3,a4,a5,a6;
16 unsigned char i,j;
17 float DATA;
18 extern void delay(unsigned long );
19 extern void Display(float display_data);
20 /***********************************************************************************/
21 main()
22 {//int A[6]={19,19,0,0,0,0};
23 1 A[4]=23;
24 1 A[5]=24;
25 1 while(1)
26 1 {
27 2 Display(18.6);
28 2 delay(0xffff);
29 2 A[4]=19;
30 2 A[5]=16;
31 2 Display(26.7);
32 2 delay(0xffff);
33 2 A[4]=23;
34 2 A[5]=24;
35 2 Display(8.3);
36 2 delay(0xffff);
37 2 Display(0.9);
38 2 delay(0xffff);
39 2 Display(26);
40 2 A[4]=19;
41 2 A[5]=16;
42 2 delay(0xffff);
43 2 Display(6);
44 2 delay(0xffff);
45 2 A[4]=23;
46 2 A[5]=24;
47 2 Display(138);
48 2 delay(0xffff);
49 2 }
50 1 }
51 //***************************************数码管显示函数**************************************/
52 void Display(float display_data)
53 {
54 1 uchar D[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0X88,0X83,0XC6,0XA1,0X86,0X8E,0X89,0XC7,0X8C
-,0X88,0XC1,0X91,0XFF,0X9C,0XC6};
C51 COMPILER V7.06 DISPLAY 05/16/2008 11:12:30 PAGE 2
55 1 uchar dp_data,Y;
56 1 if(display_data<1)
57 1 {A[0]=22;
58 2 A[1]=22;
59 2 A[2]=0;
60 2 A[3]=(int)(display_data*10);
61 2 }
62 1 else if(display_data<10)
63 1 {A[0]=22;
64 2 A[1]=22;
65 2 A[2]=(int)(display_data/1);
66 2 A[3]=(int)(display_data*10)%10;
67 2 }
68 1 else if(display_data<100)
69 1 {A[0]=22;
70 2 A[1]=(int)(display_data/10);
71 2 A[2]=(int)(display_data)%10;
72 2 A[3]=(int)(display_data*10)%10;
73 2 }
74 1 else if(display_data<1000)
75 1 {A[0]=(int)(display_data/100);
76 2 A[1]=(int)(display_data/10)%10;
77 2 A[2]=(int)(display_data)%10;
78 2 A[3]=(int)(display_data*10)%10;
79 2 }
80 1 a1=A[0];
81 1 a2=A[1];
82 1 a3=A[2];
83 1 a4=A[3];
84 1 a5=A[4];
85 1 a6=A[5];
86 1 for(i=0;i<6;i++)
87 1 {dp_data=D[A[i]];
88 2 if(i==2)
89 2 dp_data=dp_data&0x7f;
90 2 for(j=8;j>0;j--)
91 2 { CLK=0;
92 3 if(dp_data&0x80)
93 3 Y=1;
94 3 else Y=0;
95 3 DATA0=Y;
96 3 CLK=1;
97 3 dp_data=dp_data<<1;
98 3
99 3 }
100 2
101 2 }
102 1 STB=0;
103 1 STB=1;
104 1 delay(2);
105 1 STB=0;
106 1
107 1 }
108
109
110
111
112 void delay(unsigned long s)
113 {
114 1 for(;s>0;s--);
115 1 {
116 2 for(;s>0;s--);
C51 COMPILER V7.06 DISPLAY 05/16/2008 11:12:30 PAGE 3
117 2 }
118 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 725 ----
CONSTANT SIZE = 25 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 30 34
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 + -