📄 3-serial.lst
字号:
C51 COMPILER V7.01 3_SERIAL 08/17/2003 17:24:33 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE 3_SERIAL
OBJECT MODULE PLACED IN .\3-serial.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\3-serial.c LARGE MODDP2 DEBUG OBJECTEXTEND
stmt level source
1 #include <w77e58.h>
2 #include <stdio.h>
3 #include<intrins.h>
4
5 #define display_con8 0x00f8
6 #define display_con7 0x00f7
7 #define display_con0 0x00f0
8 #define DEBUG 1
9 sbit cs=P2^5;
10 sbit sckl=P2^4;
11 sbit sin=P2^3;
12
13 sbit ac0=ACC^0; /*定义ACC的位,利用ACC操作速度最快*/
14 sbit ac1=ACC^1;
15 sbit ac2=ACC^2;
16 sbit ac3=ACC^3;
17 sbit ac4=ACC^4;
18 sbit ac5=ACC^5;
19 sbit ac6=ACC^6;
20 sbit ac7=ACC^7;
21
22 extern void delay1(unsigned int i);
23
24 void char_write(unsigned int t);
25 void delaya();
26
27
28
29 void char_w_a(unsigned int char_p[]);//多字节工作模式设置
30 void char_w_b(unsigned int address,unsigned int char_p);//单字节工作模式设置
31 void char_w_c(unsigned int row,unsigned int color,
32 unsigned int char_p[]);//每行字符设置
33
34 void char_w_d(unsigned int row,unsigned int color,
35 unsigned int char_p[]);//每行不定字符设置 用于放大字符
36
37
38 void char_w_e(unsigned int address,unsigned int color,
39 unsigned int char_p[]);//不定字符 不定地址 不定个数显示
40
41 void char_w_f(unsigned int row,unsigned int content,
42 unsigned int color,unsigned int char_p);//单字符设置
43
44
45
46 void char_write(unsigned int t)
47 {
48 1 unsigned int m;
49 1 m=t>>8;
50 1 ACC=t;
51 1 sckl=0;_nop_();sin=ac0;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
52 1 sckl=0;_nop_();sin=ac1;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
53 1 sckl=0;_nop_();sin=ac2;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
54 1 sckl=0;_nop_();sin=ac3;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
55 1 sckl=0;_nop_();sin=ac4;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
C51 COMPILER V7.01 3_SERIAL 08/17/2003 17:24:33 PAGE 2
56 1 sckl=0;_nop_();sin=ac5;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
57 1 sckl=0;_nop_();sin=ac6;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
58 1 sckl=0;_nop_();sin=ac7;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
59 1
60 1 ACC=m;
61 1 sckl=0;_nop_();sin=ac0;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
62 1 sckl=0;_nop_();sin=ac1;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
63 1 sckl=0;_nop_();sin=ac2;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
64 1 sckl=0;_nop_();sin=ac3;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
65 1 sckl=0;_nop_();sin=ac4;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
66 1 sckl=0;_nop_();sin=ac5;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
67 1 sckl=0;_nop_();sin=ac6;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
68 1 sckl=0;_nop_();sin=ac7;_nop_();_nop_();_nop_();sckl=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
69 1
70 1 }
71
72
73 void delaya()
74 {
75 1 _nop_();
76 1 _nop_();
77 1 _nop_();
78 1 _nop_();
79 1 _nop_();
80 1 _nop_();
81 1 _nop_();
82 1 _nop_();
83 1 _nop_();
84 1 _nop_();
85 1 _nop_();
86 1 _nop_();
87 1 }
88
89 void char_w_a(unsigned int char_p[])//多字节工作模式设置 用于初始化
90 {
91 1 unsigned int i;
92 1 cs=0;
93 1 _nop_();
94 1 _nop_();
95 1 _nop_();
96 1 _nop_();
97 1 char_write(display_con0);
98 1 for(i=0;i<9;i++)
99 1 {
100 2 char_write(char_p[i]);
101 2 delaya();
102 2 }
103 1 cs=1;
104 1 delaya();
105 1 }
106
107 void char_w_b(unsigned int address,unsigned int char_p)//单字节工作模式设置
108 {
109 1 cs=0;
110 1 _nop_();
111 1 _nop_();
112 1 _nop_();
113 1 _nop_();
114 1 char_write(address);
115 1 char_write(char_p);
116 1 delaya();
117 1 cs=1;
C51 COMPILER V7.01 3_SERIAL 08/17/2003 17:24:33 PAGE 3
118 1 delaya();
119 1 }
120
121 void char_w_c(unsigned int row,unsigned int color,
122 unsigned int char_p[])//每行字符设置
123 {
124 1 unsigned int i;
125 1 cs=0;
126 1 _nop_();
127 1 _nop_();
128 1 _nop_();
129 1 _nop_();
130 1 char_write(row*24);
131 1 for(i=0;i<24;i++)
132 1 {
133 2 char_write(char_p[i]|((color<<8)&0xff00));
134 2 delaya();
135 2 }
136 1 cs=1;
137 1 delaya();
138 1 }
139 void char_w_d(unsigned int row,unsigned int color,
140 unsigned int char_p[])//每行不定字符设置 用于放大字符
141 {
142 1 unsigned int i;
143 1 unsigned int sun;
144 1 sun=char_p[0];
145 1 cs=0;
146 1 _nop_();
147 1 _nop_();
148 1 _nop_();
149 1 _nop_();
150 1 char_write(row*24);
151 1 for(i=1;i<sun;i++)
152 1 {
153 2 char_write(char_p[i]|((color<<8)&0xff00));
154 2 delaya();
155 2 }
156 1 cs=1;
157 1 delaya();
158 1 }
159
160 void char_w_e(unsigned int address,unsigned int color,
161 unsigned int char_p[])//不定字符 不定地址 不定个数显示
162 {
163 1 unsigned int i;
164 1 unsigned int sun;
165 1 sun=char_p[0];
166 1 cs=0;
167 1 _nop_();
168 1 _nop_();
169 1 _nop_();
170 1 _nop_();
171 1 char_write(address);
172 1 for(i=1;i<sun;i++)
173 1 {
174 2 char_write(char_p[i]|((color<<8)&0xff00));
175 2 delaya();
176 2 }
177 1 cs=1;
178 1 delaya();
179 1 }
C51 COMPILER V7.01 3_SERIAL 08/17/2003 17:24:33 PAGE 4
180 void char_w_f(unsigned int row,unsigned int content,
181 unsigned int color,unsigned int char_p)//单字符设置
182 {
183 1 cs=0;
184 1 _nop_();
185 1 _nop_();
186 1 _nop_();
187 1 _nop_();
188 1 char_write(row*24+content);
189 1 char_write(char_p|((color<<8)&0xff00));
190 1 delaya();
191 1 cs=1;
192 1 delaya();
193 1 }
194
195 /*
196
197 void char_w_g()
198 {
199 unsigned int i;
200 char_w_a(display_con0,osd_serial);
201 cs=0;
202 _nop_();
203 _nop_();
204 _nop_();
205 _nop_();
206 char_write(display_con8);
207 #if (DEBUG)
208 printf("address=0xf8");
209 #endif
210 char_write(0x0000);
211 delay1(8000);
212 #if (DEBUG)
213 printf(" display off\n");
214 printf("\n");
215 #endif
216 for(i=0;i<249;i++)
217 {
218 char_write(osd_serial[i]);
219 #if (DEBUG)
220 printf(" ram %u=0x%4x ",i,osd_serial[i]);
221 #endif
222 }
223 cs=1;
224 #if (DEBUG)
225 printf("\n");
226 printf("end\n");
227 #endif
228 }
229 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 789 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 30
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -