📄 display.lst
字号:
C51 COMPILER V7.06 DISPLAY 07/31/2007 21:14:25 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN display.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE display\display.c BROWSE DEBUG OBJECTEXTEND PRINT(.\display.lst) OBJECT(dis
-play.obj)
stmt level source
1 /////////////////////////////////////////////////////////////
2 // LED点阵显示函数
3 // 显示字符A-Z以及数字0-9
4 //
5 #include "at89x52.h"
6 #include "common.h"
7 #include "display.h"
8
9 ///////////////////////////////////////////////////////////////////////////////
10 // 如果需要显示模块
11 #ifdef NEED_DISPLAY
12
13 /////////////////////////////////////////////////////////////////////////////////////////
14 // 字母显示编码
15 const unsigned char code char_A[8]={0x80,0xe0,0xbc,0x22,0xbc,0xe0,0x80,0x00};
16 const unsigned char code char_B[8]={0x00,0x82,0xFE,0x92,0x92,0x92,0x6C,0x00};
17 const unsigned char code char_C[8]={0x00,0x7C,0x82,0x82,0x84,0x66,0x00,0x00};
18 const unsigned char code char_D[8]={0x00,0x82,0xFE,0x82,0x82,0x44,0x38,0x00};
19 const unsigned char code char_E[8]={0x00,0x82,0xFE,0x92,0xBA,0x82,0xC6,0x00};
20 const unsigned char code char_F[8]={0x00,0x82,0xFE,0x92,0x3A,0x06,0x00,0x00};
21 const unsigned char code char_G[8]={0x00,0x7C,0x82,0x82,0x94,0x76,0x10,0x00};
22 const unsigned char code char_H[8]={0x00,0xFE,0x10,0x10,0x10,0x10,0xFE,0x00};
23 const unsigned char code char_I[8]={0x00,0x00,0x82,0xFE,0x82,0x00,0x00,0x00};
24 const unsigned char code char_J[8]={0x00,0x60,0x80,0x82,0x7E,0x02,0x00,0x00};
25 const unsigned char code char_K[8]={0x00,0xFF,0x10,0x08,0x14,0x22,0x41,0x80};
26 const unsigned char code char_L[8]={0x00,0x82,0xFE,0x82,0x80,0x80,0xC0,0x00};
27 const unsigned char code char_M[8]={0x00,0xFF,0x0C,0x30,0xC0,0x30,0x0C,0xFF};
28 const unsigned char code char_N[8]={0x00,0xFE,0x04,0x08,0x10,0x20,0x40,0xFE};
29 const unsigned char code char_O[8]={0x00,0x38,0x44,0x82,0x82,0x82,0x44,0x38};
30 const unsigned char code char_P[8]={0x00,0xFE,0x12,0x12,0x12,0x12,0x1C,0x00};
31 const unsigned char code char_Q[8]={0x3C,0x42,0x81,0xA1,0xA1,0x42,0xBC,0x00};
32 const unsigned char code char_R[8]={0x00,0xFE,0x12,0x12,0x12,0x72,0x9C,0x80};
33 const unsigned char code char_S[8]={0x00,0x6E,0x89,0x89,0x89,0x89,0x72,0x00};
34 const unsigned char code char_T[8]={0x00,0x06,0x82,0xFE,0x82,0x06,0x00,0x00};
35 const unsigned char code char_U[8]={0x00,0x02,0x7E,0x80,0x80,0x7E,0x02,0x00};
36 const unsigned char code char_V[8]={0x00,0x02,0x3E,0xC0,0x38,0x1E,0x02,0x00};
37 const unsigned char code char_W[8]={0x00,0x1E,0xE0,0x3E,0xE0,0x1E,0x00,0x00};
38 const unsigned char code char_X[8]={0x00,0x82,0xC6,0x38,0xC6,0x82,0x00,0x00};
39 const unsigned char code char_Y[8]={0x00,0x02,0x8E,0xF0,0x8E,0x02,0x00,0x00};
40 const unsigned char code char_Z[8]={0x00,0x86,0xC2,0xB2,0x8E,0xC2,0x00,0x00};
41
42 ////////////////////////////////////////////////////////////////////////////////////////
43 // 数字显示编码
44
45 const unsigned char code char_0[8]={0x00,0x7C,0x82,0x82,0x82,0x7C,0x00,0x00};
46 const unsigned char code char_1[8]={0x00,0x00,0x84,0xFE,0x80,0x00,0x00,0x00};
47 const unsigned char code char_2[8]={0x00,0x8C,0xC2,0xA2,0x92,0x8C,0x00,0x00};
48 const unsigned char code char_3[8]={0x00,0x44,0x82,0x92,0x92,0x6C,0x00,0x00};
49 const unsigned char code char_4[8]={0x00,0x10,0x28,0x24,0xFE,0xA0,0x00,0x00};
50 const unsigned char code char_5[8]={0x00,0x4E,0x8A,0x8A,0x8A,0x72,0x00,0x00};
51 const unsigned char code char_6[8]={0x00,0x7C,0x92,0x92,0x96,0x60,0x00,0x00};
52 const unsigned char code char_7[8]={0x00,0x06,0x02,0xF2,0x0E,0x02,0x00,0x00};
53 const unsigned char code char_8[8]={0x00,0x6C,0x92,0x92,0x92,0x6C,0x00,0x00};
54 const unsigned char code char_9[8]={0x00,0x1C,0xD2,0x92,0x92,0xFC,0x00,0x00};
C51 COMPILER V7.06 DISPLAY 07/31/2007 21:14:25 PAGE 2
55
56 /////////////////////////////////////////////////////////////////////////////////////////
57 //
58 const unsigned char code char_F1[8]={0x82,0xFE,0x92,0x3A,0x06,0x90,0xF8,0x80};
59 const unsigned char code char_F2[8]={0x82,0xFE,0x92,0x3A,0x06,0xE8,0xA8,0xB8};
60 const unsigned char code char_F3[8]={0x82,0xFE,0x92,0x3A,0x06,0xA8,0xA8,0xF8};
61 const unsigned char code char_F4[8]={0x82,0xFE,0x92,0x3A,0x66,0x50,0xF8,0x40};
62 const unsigned char code char_F5[8]={0x82,0xFE,0x92,0x3A,0x06,0xB8,0xA8,0xE8};
63 const unsigned char code char_F6[8]={0x82,0xFE,0x92,0x3A,0x06,0xF8,0xA8,0xE8};
64 const unsigned char code char_F7[8]={0x82,0xFE,0x92,0x3A,0x06,0x10,0x10,0xF0};
65 const unsigned char code char_F8[8]={0x82,0xFE,0x92,0x3A,0x06,0xF8,0xA8,0xF8};
66 const unsigned char code char_F9[8]={0x82,0xFE,0x92,0x3A,0x06,0xB8,0xA8,0xF8};
67 const unsigned char code char_F10[8]={0x82,0xFE,0x92,0x3A,0xE6,0x00,0xE0,0xA0};
68 const unsigned char code char_F11[8]={0x82,0xFE,0x92,0x3A,0x06,0xF0,0x00,0xF0};
69 const unsigned char code char_F12[8]={0x82,0xFE,0x92,0x3A,0xE6,0x00,0xE8,0xB8};
70 const unsigned char code char_SP[8]={0xDE,0x92,0xF6,0x00,0xF8,0x28,0x28,0x38};
71 const unsigned char code char_ET[8]={0x20,0x70,0xF8,0x20,0x20,0x21,0x3F,0x01};
72 const unsigned char code char_CT[8]={0x7E,0x82,0x84,0x66,0x00,0x10,0xF0,0x10};
73 const unsigned char code char_SH[8]={0xDE,0x92,0xF6,0x00,0xF8,0x20,0x20,0xF8};
74 const unsigned char code char_AT[8]={0xA0,0xFC,0x22,0xFC,0xA0,0x10,0xF0,0x10};
75 const unsigned char code char_CP[8]={0x7E,0x82,0x84,0x66,0x00,0xF8,0x28,0x38};
76 const unsigned char code char_TB[8]={0x10,0xF0,0x10,0x82,0xFE,0x92,0x92,0x6C};
77 const unsigned char code char_Down[8]={0x00,0x10,0x2E,0x42,0x2E,0x10,0x00,0x00};
78 const unsigned char code char_Upper[8]={0x00,0x08,0x74,0x42,0x74,0x08,0x00,0x00};
79 const unsigned char code char_Left[8]={0x00,0x10,0x28,0x44,0x28,0x28,0x38,0x00};
80 const unsigned char code char_Right[8]={0x00,0x38,0x28,0x28,0x44,0x28,0x10,0x00};
81 const unsigned char code char_Add[8]={0x00,0x08,0x08,0x7E,0x08,0x08,0x00,0x00};
82 const unsigned char code char_Sub[8]={0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x00};
83 const unsigned char code char_Mul[8]={0x00,0x82,0xC6,0x38,0xC6,0x82,0x00,0x00};
84 const unsigned char code char_Dev[8]={0x00,0x08,0x08,0x2A,0x08,0x08,0x00,0x00};
85 const unsigned char code char_Sla[8]={0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x00};
86 const unsigned char code char_FSla[8]={0x00,0x02,0x04,0x08,0x10,0x20,0x40,0x00};
87 const unsigned char code char_Dou[8]={0x00,0x00,0x00,0x4C,0x3C,0x00,0x00,0x00};
88 const unsigned char code char_Jue[8]={0x00,0x00,0x18,0x24,0x24,0x18,0x00,0x00};
89 const unsigned char code char_Fen[8]={0x00,0x00,0x00,0xB6,0x76,0x00,0x00,0x00};
90 const unsigned char code char_Jian[8]={0x00,0x10,0x0E,0x00,0x00,0x00,0x00,0x00};
91 const unsigned char code char_Dian[8]={0x00,0x00,0x00,0x00,0x0E,0x10,0x00,0x00};
92 const unsigned char code char_LKuo[8]={0x00,0x7E,0x42,0x42,0x00,0x00,0x00,0x00};
93 const unsigned char code char_RKuo[8]={0x00,0x00,0x00,0x00,0x42,0x42,0x7E,0x00};
94 const unsigned char code char_Den[8]={0x00,0x14,0x14,0x14,0x14,0x14,0x14,0x00};
95 const unsigned char code char_Back[8]={0x00,0x08,0x1C,0x08,0x08,0x08,0x08,0x00};
96 const unsigned char code char_Esc[8]={0xFE,0x02,0x12,0xFA,0x92,0x82,0xBE,0x00};
97 const unsigned char code char_DLine[8]={0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00};
98 const unsigned char code char_Win[8]={0x00,0x2A,0x15,0x2A,0x54,0xA8,0x54,0x00};
99 const unsigned char code char_Apps[8]={0x00,0xFE,0xAA,0x82,0xBA,0xDE,0x28,0x40};
100
101 ////////////////////////////////////////////////////////////////////////////////////////
102 // 空编码
103 const unsigned char code char_NULL[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
104
105 ////////////////////////////////////////////////////////////////////////////////////
106
107 const unsigned char Row[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; // 列扫描编码
108 unsigned char *ChoicePtr; //数据选择指针
109 unsigned char ScanPtr=0; //扫描指针
110
111 ///////////////////////////////////////////////////////////////////////////////
112 // 图形显示函数
113 // 每次调用扫描一列
114 // 参数:无
115 // 返回值:无
116 void Display()
C51 COMPILER V7.06 DISPLAY 07/31/2007 21:14:25 PAGE 3
117 {
118 1 unsigned char CircleTemp=0x00;
119 1 gShiftPulse=0x00; //RDK控制端 ,用以控制并行数据的输出
120 1 for(CircleTemp=0x00;CircleTemp<0x08;CircleTemp++)
121 1 {
122 2
123 2 lShiftPulse=0x0; //SCK移位脉冲
124 2 DataPort=Row[ScanPtr]&(0x80>>CircleTemp);
125 2 lShiftPulse=0x1;
126 2 }
127 1
128 1 for(CircleTemp=0x00;CircleTemp<0x08;CircleTemp++)
129 1
130 1 {
131 2 lShiftPulse=0x00;
132 2 DataPort=ChoicePtr[ScanPtr]&(0x80>>CircleTemp); //数据传送端
133 2 lShiftPulse=0x1;
134 2 }
135 1 gShiftPulse=0x01;
136 1 ScanPtr++;
137 1 if(ScanPtr==0x08)
138 1 {
139 2 ScanPtr=0x00;
140 2 }
141 1
142 1 }
143 ////////////////////////////////////////////////////////////////////////////////
144 // 换码函数
145 // 通过键盘扫描码获得要输出数据的LED点阵图形代码
146 // 参数:无
147 // 返回值:无
148
149 extern unsigned char gSymboleE0;
150
151 void Print(unsigned char lCode)
152 {
153 1 if(gSymboleE0==0) //如果有E0标志位
154 1 {
155 2 switch(lCode)
156 2 {
157 3
158 3 case 0x1C: //获得的是键盘的扫描码
159 3 ChoicePtr=char_A;
160 3 break;
161 3 case 0x32:
162 3 ChoicePtr=char_B;
163 3 break;
164 3 case 0x21:
165 3 ChoicePtr=char_C;;
166 3 break;
167 3 case 0x23:
168 3 ChoicePtr=char_D;
169 3 break;
170 3 case 0x24:
171 3 ChoicePtr=char_E;
172 3 break;
173 3 case 0x2B:
174 3 ChoicePtr=char_F;
175 3 break;
176 3 case 0x34:
177 3 ChoicePtr=char_G;
178 3 break;
C51 COMPILER V7.06 DISPLAY 07/31/2007 21:14:25 PAGE 4
179 3 case 0x33:
180 3 ChoicePtr=char_H;
181 3 break;
182 3 case 0x43:
183 3 ChoicePtr=char_I;
184 3 break;
185 3 case 0x3B:
186 3 ChoicePtr=char_J;
187 3 break;
188 3 case 0x42:
189 3 ChoicePtr=char_K;
190 3 break;
191 3 case 0x4B:
192 3 ChoicePtr=char_L;
193 3 break;
194 3 case 0x3A:
195 3 ChoicePtr=char_M;
196 3 break;
197 3 case 0x31:
198 3 ChoicePtr=char_N;
199 3 break;
200 3 case 0x44:
201 3 ChoicePtr=char_O;
202 3 break;
203 3 case 0x4D:
204 3 ChoicePtr=char_P;
205 3 break;
206 3 case 0x15:
207 3 ChoicePtr=char_Q;
208 3 break;
209 3 case 0x2D:
210 3 ChoicePtr=char_R;
211 3 break;
212 3 case 0x1B:
213 3 ChoicePtr=char_S;
214 3 break;
215 3 case 0x2C:
216 3 ChoicePtr=char_T;
217 3 break;
218 3 case 0x3C:
219 3 ChoicePtr=char_U;
220 3 break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -