📄 lcdx1.lst
字号:
C51 COMPILER V7.07 LCDX1 01/25/2005 13:50:05 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE LCDX1
OBJECT MODULE PLACED IN Lcdx1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Lcdx1.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #include<absacc.h>
3 #include<math.h>
4 #include<stdio.h>
5
6 #define uchar unsigned char
7 #define uint unsigned int
8
9 /*将字节A中的第B位置C,C为1或0 */
10 #define SETBIT(A,B,C) ((C)?(A=A|(1<<B)):(A=A&(~(1<<B))))
11
12 /*测试字节A中第B位,是1返回1,是0返回0*/
13 #define GETBIT(A,B) ((A&(1<<B))?1:0)
14
15 /*将A,B中较小的返回*/
16 #define MIN(A,B) ((A<=B)?A:B)
17
18 /*将A,B中较大的返回*/
19 #define MAX(A,B) ((A>=B)?A:B)
20
21 #define LEN 0x08 /*定义串口数据串的长度*/
22 #define ASK 0xaa /*定义串口请求命令*/
23 #define RESP 0xbb /*定义串口应答命令*/
24 #define ERR 0xff /*定义串口数据错误命令*/
25 #define OK 0x00 /*定义串口数据正确命令*/
26
27 typedef struct
28 {
29 uchar x;
30 uchar y;
31 }point;
32
33 void iwlr(uchar); /*指令同时写入左右半屏*/
34 void dwlr(uchar); /*显示数据同时写入左右半屏*/
35 void iwl(uchar); /*指令写入左半屏*/
36 void iwr(uchar); /*指令写入右半屏*/
37 void dwl(uchar); /*显示数据写入左半屏*/
38 void dwr(uchar); /*显示数据写入右半屏*/
39 uchar drl(); /*显示数据从左半屏读入*/
40 uchar drr(); /*显示数据从右半屏读入*/
41 void offlcd(); /*关闭LCD*/
42 void onlcd(); /*打开LCD*/
43
44 uchar pf; /*校验和*/
45 point cursor; /*光标点全局变量*/
46 bit zf_ovx; /*显示字符超出水平边界标志*/
47 bit zf_ovy; /*显示字符超出垂直边界标志*/
48 bit tx_ovx; /*显示图形超出垂直边界标志*/
49 bit tx_ovy; /*显示图形超出垂直边界标志*/
50 bit zf_fs; /*0为西文方式,1为中文方式*/
51 bit sec; /*秒信号,由定时器周期取反*/
52
53 uchar bdata flag=0; /*显示状态字节*/
54 sbit flash=flag^7; /*闪烁标志,0为不闪烁,1为闪烁,只要以下任一有便为1*/
55 sbit fref=flag^6; /*频率闪烁标志,0为不闪烁,1为闪烁*/
C51 COMPILER V7.07 LCDX1 01/25/2005 13:50:05 PAGE 2
56 sbit batf=flag^5; /*电量闪烁标志,0为不闪烁,1为闪烁*/
57 sbit bandf=flag^4; /*频带闪烁标志,0为不闪烁,1为闪烁*/
58 sbit mutef=flag^3; /*静音闪烁标志,0为不闪烁,1为闪烁*/
59 sbit prof=flag^1; /*提示闪烁标志,0为不闪烁,1为闪烁*/
60 sbit bufov=flag^0; /*命令缓冲区满标志,1为满*/
61
62 uchar ffpos=0; /*频率选种位置,从0到5*/
63
64 uchar idata buf[LEN]; /*串口接受命令缓冲区*/
65
66 uchar lbarnum=0; /*水平条形图宽度数据*/
67 uchar batnum=0; /*电池电量数据*/
68 uchar counter=0x00; /*计数器*/
69 uchar vol_bar_num=0; /*音量条形图宽度数据*/
70
71
72 /*小字体数字*/
73 uchar code sntab[]={
74 /*-- 文字: 0 --*/
75 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
76 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
77 0x00,0x78,0x84,0x84,0x78,0x00,0x00,0x00,0x00,0x00,
78
79 /*-- 文字: 1 --*/
80 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
81 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
82 0x00,0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,
83
84 /*-- 文字: 2 --*/
85 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
86 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
87 0x00,0xC8,0xA4,0xA4,0x98,0x00,0x00,0x00,0x00,0x00,
88
89 /*-- 文字: 3 --*/
90 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
91 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
92 0x00,0x48,0x84,0x94,0x68,0x00,0x00,0x00,0x00,0x00,
93
94 /*-- 文字: 4 --*/
95 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
96 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
97 0x00,0x60,0x58,0xFC,0x40,0x00,0x00,0x00,0x00,0x00,
98
99 /*-- 文字: 5 --*/
100 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
101 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
102 0x00,0x9C,0x94,0x94,0x64,0x00,0x00,0x00,0x00,0x00,
103
104 /*-- 文字: 6 --*/
105 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
106 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
107 0x00,0x78,0x94,0x94,0x60,0x00,0x00,0x00,0x00,0x00,
108
109 /*-- 文字: 7 --*/
110 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
111 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
112 0x00,0x04,0xE4,0x14,0x0C,0x00,0x00,0x00,0x00,0x00,
113
114 /*-- 文字: 8 --*/
115 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
116 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
117 0x00,0x68,0x94,0x94,0x68,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V7.07 LCDX1 01/25/2005 13:50:05 PAGE 3
118
119 /*-- 文字: 9 --*/
120 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
121 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
122 0x00,0x18,0xA4,0xA4,0x78,0x00,0x00,0x00,0x00,0x00,
123
124 /*-- 调入了一幅图像:这是您新建的图像 --*/
125 /*-- 宽度x高度=5x16 --*/
126 0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
127 };
128
129 /*大写字母*/
130 uchar code sutab[]={
131 /*-- 文字: A --*/
132 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
133 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
134 0x00,0xC0,0x30,0x2C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
135
136 /*-- 文字: B --*/
137 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
138 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
139 0x00,0xFC,0x94,0x94,0x94,0x68,0x00,0x00,0x00,0x00,0x00,0x00,
140
141 /*-- 文字: C --*/
142 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
143 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
144 0x00,0x78,0x84,0x84,0x84,0x48,0x00,0x00,0x00,0x00,0x00,0x00,
145
146 /*-- 文字: D --*/
147 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
148 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
149 0x00,0xFC,0x84,0x84,0x84,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
150
151 /*-- 文字: E --*/
152 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
153 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
154 0x00,0xFC,0x94,0x94,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
155
156 /*-- 文字: F --*/
157 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
158 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
159 0x00,0xFC,0x14,0x14,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
160
161 /*-- 文字: G --*/
162 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
163 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
164 0x00,0x78,0x84,0x84,0xA4,0xE8,0x00,0x00,0x00,0x00,0x00,0x00,
165
166 /*-- 文字: H --*/
167 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
168 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
169 0x00,0xFC,0x10,0x10,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
170
171 /*-- 文字: I --*/
172 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
173 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
174 0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
175
176 /*-- 文字: J --*/
177 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
178 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
179 0x00,0xC0,0x80,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V7.07 LCDX1 01/25/2005 13:50:05 PAGE 4
180
181 /*-- 文字: K --*/
182 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
183 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
184 0x00,0xFC,0x30,0x48,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
185
186 /*-- 文字: L --*/
187 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
188 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
189 0x00,0xFC,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
190
191 /*-- 文字: M --*/
192 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
193 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
194 0x00,0xFC,0x0C,0x30,0xC0,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
195
196 /*-- 文字: N --*/
197 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
198 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
199 0x00,0xFC,0x0C,0x30,0xC0,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,
200
201 /*-- 文字: O --*/
202 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
203 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
204 0x00,0x78,0x84,0x84,0x84,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
205
206 /*-- 文字: P --*/
207 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
208 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
209 0x00,0xFC,0x24,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
210
211 /*-- 文字: Q --*/
212 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
213 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
214 0x00,0x78,0x84,0xA4,0x44,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,
215
216 /*-- 文字: R --*/
217 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
218 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
219 0x00,0xFC,0x24,0x24,0x24,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,
220
221 /*-- 文字: S --*/
222 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
223 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
224 0x00,0x48,0x94,0xA4,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
225
226 /*-- 文字: T --*/
227 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
228 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
229 0x04,0x04,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
230
231 /*-- 文字: U --*/
232 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
233 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
234 0x00,0x7C,0x80,0x80,0x80,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -