📄 spy_lcd.lst
字号:
30 =1 extern char putchar (char);
31 =1 extern int printf (const char *, ...);
32 =1 extern int sprintf (char *, const char *, ...);
33 =1 extern int vprintf (const char *, char *);
34 =1 extern int vsprintf (char *, const char *, char *);
35 =1 extern char *gets (char *, int n);
36 =1 extern int scanf (const char *, ...);
37 =1 extern int sscanf (char *, const char *, ...);
38 =1 extern int puts (const char *);
39 =1
40 =1 #pragma RESTORE
C51 COMPILER V7.06 SPY_LCD 04/22/2007 11:06:48 PAGE 5
41 =1
42 =1 #endif
43 =1
10
11 #define uchar unsigned char
12 #define uint unsigned int
13
14 sbit DENG=P3^5; //定义调试测试灯
15
16 /*将字节A中的第B位置C,C为1或0 */
17 #define SETBIT(A,B,C) ((C)?(A=A|(1<<B)):(A=A&(~(1<<B))))
18
19 /*测试字节A中第B位,是1返回1,是0返回0*/
20 #define GETBIT(A,B) ((A&(1<<B))?1:0)
21
22 /*将A,B中较小的返回*/
23 #define MIN(A,B) ((A<=B)?A:B)
24
25 /*将A,B中较大的返回*/
26 #define MAX(A,B) ((A>=B)?A:B)
27
28 #define co_sel 1 /*商标显示选择1为世通科技,0为RYCOM*/
29
30 typedef struct //使用typedef别名来定义结构类型变量
31 {
32 uchar x;
33 uchar y;
34 }point; //point为结构体的类型别名,然后在利用point来定义结构体变量。
35
36 point p1,p2; //定义结构体变量p1,p2
37
38 void iwlr(uchar); /*指令同时写入左右半屏*/
39 void dwlr(uchar); /*显示数据同时写入左右半屏*/
40 void iwl(uchar); /*指令写入左半屏*/
41 void iwr(uchar); /*指令写入右半屏*/
42 void dwl(uchar); /*显示数据写入左半屏*/
43 void dwr(uchar); /*显示数据写入右半屏*/
44 uchar drl(); /*显示数据从左半屏读入*/
45 uchar drr(); /*显示数据从右半屏读入*/
46 void offlcd(); /*关闭LCD*/
47 void onlcd(); /*打开LCD*/
48
49 uchar pf; /*校验和*/
50 point cursor; /*光标点全局变量*/
51 bit zf_ovx; /*显示字符超出水平边界标志*/
52 bit zf_ovy; /*显示字符超出垂直边界标志*/
53 //bit tx_ovx; /*显示图形超出垂直边界标志*/
54 //bit tx_ovy; /*显示图形超出垂直边界标志*/
55 //bit zf_fs; /*0为西文方式,1为中文方式*/
56 //bit sec; /*秒信号,由定时器周期取反*/
57
58 //uchar bdata flag=0; /*显示状态字节*/
59 //sbit flash=flag^7; /*闪烁标志,0为不闪烁,1为闪烁,只要以下任一有便为1*/
60 //sbit fref=flag^6; /*频率闪烁标志,0为不闪烁,1为闪烁*/
61 //sbit batf=flag^5; /*电量闪烁标志,0为不闪烁,1为闪烁*/
62 //sbit bandf=flag^4; /*频带闪烁标志,0为不闪烁,1为闪烁*/
63 //sbit mutef=flag^3; /*静音闪烁标志,0为不闪烁,1为闪烁*/
64 //sbit prof=flag^1; /*提示闪烁标志,0为不闪烁,1为闪烁*/
65 //sbit bufov=flag^0; /*命令缓冲区满标志,1为满*/
66
67
68 //uchar ffpos=0; /*频率选种位置,从0到5*/
C51 COMPILER V7.06 SPY_LCD 04/22/2007 11:06:48 PAGE 6
69
70 uchar idata r_in=1; /*入队列指针*/
71 uchar idata r_out=0; /*出队列指针*/
72 bit r_full; /*接收命令缓冲区满标志*/
73 uchar cmd_cnt=0; /*命令计数器,每一个完整的命令加1,命令结束标志为0xff*/
74 bit cmd_st=0; /*命令开始标志*/
75 bit cmd_fin=0; /*命令结束标志*/
76
77 uchar lbarnum=0; /*水平条形图宽度数据*/
78 uchar batnum=0; /*电池电量数据*/
79 uchar counter=0; /*计数器*/
80 uchar vol_bar_num=0; /*音量条形图宽度数据*/
81
82 uint idata shuju[4];//{0x1b,0x11,0xaf,0x20}; //shuju[0]:为空内容 shuju[1]:数据命令类型 shuju[2]:数据低8位
- shuju[3]:数据高8位
83 uchar idata shuju_y[100]; //定义记录扫频过曲线点的坐标
84 uchar idata qxzz; //定义扫频时数据更新记录指针
85 uchar idata direction=0; //定义查询时光标移动方向 =0为向左移方向,=1为向右移方向.
86
87 uchar sum=0,istart=0,iend=0; //初始化状态标志位
88 uint fre_sp,bre_sp; //定义扫频时显示变量
89 uint fre_cx,bre_cx; //定义查询时显示变量
90 uint fre_cx0; //用来记录前一个查询时的频值
91 uint fre_cx1; //用来记录第二一个查询时的频值
92 uint voltaga_sp=0; //扫频仪固定输出电压值
93
94 uchar idata counter_cx=0;//查询时竖线移动计数标志
95 uchar pdlx; //频段号标志
96 uchar spgs; //扫频格式标志
97 uint tally; //定义查询键按下次数标值
98
99 bit sp_fre=0; //扫频时频率值处理标志
100 bit sp_bre=0; //扫频时幅值处理标志
101 bit cx_fre=0; //查询时频率值处理标志
102 bit cx_bre=0; //查询时幅值处理标志
103 bit st_st=0; //开始键按下标志
104
105
106
107
108 /*以下字模格式为: 取模方式为: 纵向取模
109 字节为倒序
110 保留文字字模数据后的最后一个逗号
111 任何时候都加o
112 */
113
114
115 /*小字体数字*/
116 uchar code numeric[]={
117 /*-- 文字: 0 --*/
118 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
119 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
120 0x00,0x78,0x84,0x84,0x78,0x00,0x00,0x00,0x00,0x00,
121
122 /*-- 文字: 1 --*/
123 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
124 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
125 0x00,0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,
126
127 /*-- 文字: 2 --*/
128 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
129 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
C51 COMPILER V7.06 SPY_LCD 04/22/2007 11:06:48 PAGE 7
130 0x00,0xC8,0xA4,0xA4,0x98,0x00,0x00,0x00,0x00,0x00,
131
132 /*-- 文字: 3 --*/
133 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
134 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
135 0x00,0x48,0x84,0x94,0x68,0x00,0x00,0x00,0x00,0x00,
136
137 /*-- 文字: 4 --*/
138 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
139 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
140 0x00,0x60,0x58,0xFC,0x40,0x00,0x00,0x00,0x00,0x00,
141
142 /*-- 文字: 5 --*/
143 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
144 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
145 0x00,0x9C,0x94,0x94,0x64,0x00,0x00,0x00,0x00,0x00,
146
147 /*-- 文字: 6 --*/
148 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
149 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
150 0x00,0x78,0x94,0x94,0x60,0x00,0x00,0x00,0x00,0x00,
151
152 /*-- 文字: 7 --*/
153 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
154 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
155 0x00,0x04,0xE4,0x14,0x0C,0x00,0x00,0x00,0x00,0x00,
156
157 /*-- 文字: 8 --*/
158 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
159 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
160 0x00,0x68,0x94,0x94,0x68,0x00,0x00,0x00,0x00,0x00,
161
162 /*-- 文字: 9 --*/
163 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=5x10 --*/
164 /*-- 高度不是8的倍数,现调整为:宽度x高度=5x16 --*/
165 0x00,0x18,0xA4,0xA4,0x78,0x00,0x00,0x00,0x00,0x00,
166
167 /*-- 文字: 小数点 --*/
168 /*-- 宽度x高度=5x16 --*/
169 0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
170 };
171
172 /*大写字母*/
173 uchar code letter[]={
174 /*-- 文字: A --*/
175 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
176 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
177 0x00,0xC0,0x30,0x2C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
178
179
180 /*-- 文字: B --*/
181 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
182 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
183 0x00,0xFC,0x94,0x94,0x94,0x68,0x00,0x00,0x00,0x00,0x00,0x00,
184
185 /*-- 文字: C --*/
186 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
187 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
188 0x00,0x78,0x84,0x84,0x84,0x48,0x00,0x00,0x00,0x00,0x00,0x00,
189
190 /*-- 文字: D --*/
191 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
C51 COMPILER V7.06 SPY_LCD 04/22/2007 11:06:48 PAGE 8
192 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
193 0x00,0xFC,0x84,0x84,0x84,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
194
195 /*-- 文字: E --*/
196 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
197 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
198 0x00,0xFC,0x94,0x94,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
199
200 /*-- 文字: F --*/
201 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
202 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
203 0x00,0xFC,0x14,0x14,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
204
205 /*-- 文字: G --*/
206 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
207 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
208 0x00,0x78,0x84,0x84,0xA4,0xE8,0x00,0x00,0x00,0x00,0x00,0x00,
209
210 /*-- 文字: H --*/
211 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
212 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
213 0x00,0xFC,0x10,0x10,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
214
215 /*-- 文字: I --*/
216 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
217 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
218 0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
219
220 /*-- 文字: J --*/
221 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
222 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
223 0x00,0xC0,0x80,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
224
225 /*-- 文字: K --*/
226 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
227 /*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
228 0x00,0xFC,0x30,0x48,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
229
230 /*-- 文字: L --*/
231 /*-- Small Fonts6; 此字体下对应的点阵为:宽x高=6x10 --*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -