📄 12864m-p.lst
字号:
C51 COMPILER V7.06 12864M_P 08/17/2007 23:47:42 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 12864M_P
OBJECT MODULE PLACED IN 12864M-P.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 12864M-P.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //深圳瑞特RT12864带M系列(控制器ST7920A),单片机:89S52,晶振:12M,
2 //并行连接方式,P2.0-RS,P2.1-RW,P2.2-E
3 //设计:TIMEN HUANG
4 #include<reg52.h>
5 #include <intrins.h>
6 sbit RS=P2^0;//串口时为CS
7 sbit RW=P2^1; //串口为SID
8 sbit E=P2^2; //串口为时钟SCLK
9 sbit stop=P3^2;
10 sbit PSB=P2^3;
11 sbit REST=P2^4;
12
13 //以下是用<at89x51.h>头文件的定义
14 /*
15 #define RS P2_0
16 #define RW P2_1 //定义引脚
17 #define E P2_2
18 #define PSB P2_3
19 #define REST P2_4
20 #define Data P1
21 #include<at89x51.h>
22 */
23 #define BF 0x80 //用于检测LCM状态字中的Busy标识
24 typedef unsigned int Uint;
25 typedef unsigned char Uchar;
26 //字符串例子
27 //"F1--English",也可以往里面写入汉字码,一个汉字由两个码组成
28 const Uchar F1English[]={0x46,0x31,0x2d,0x2d,0x45,0x6e,0x67,0x6c,0x69,0x73,0x68,0x00};
29 const Uchar lengthF1=6; //字符串长度
30 //汉字,直接可以写入字形
31 unsigned char code uctech[] = {"瑞特电子有限公司"};
32 const Uchar lengthCF3=8;
33
34 Uchar code TAB1[]={
35 /*-- 调入了一幅图像:D:\公司的文件\程序图片\未命名11.bmp --*/
36 /*-- 宽度x高度=128x64 --*/
37 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
38 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
39 0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0xFF,0xFF,0xF9,0xE9,0x00,0x01,
40 0xBF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF8,0x97,0x00,0x01,
41 0xBF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xF9,0xE8,0x00,0x01,
42 0xBF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xF8,0xBF,0x00,0x01,
43 0xBF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xF8,0xB5,0x00,0x01,
44 0xBF,0xFF,0xFF,0xFF,0xFF,0x80,0x04,0x00,0x03,0xFF,0xFF,0xFF,0xF8,0xF5,0x00,0x01,
45 0xBF,0xFF,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x07,0xFF,0xFF,0xFF,0xF9,0xA5,0x00,0x01,
46 0xBF,0xFF,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x03,0xFF,0xFF,0xFF,0xF8,0x23,0x00,0x01,
47 0xBF,0xFF,0xFF,0xFF,0xFE,0x00,0x02,0x00,0x03,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x01,
48 0xBF,0xFF,0xFF,0xFF,0xFE,0x00,0x02,0x00,0x01,0xFF,0xFF,0xFF,0xF8,0x88,0x00,0x01,
49 0xBF,0xFF,0xFF,0xFF,0xFC,0x00,0x12,0x00,0x01,0xFF,0xFF,0xFF,0xF8,0x88,0x00,0x01,
50 0xBF,0xFF,0xFF,0xFF,0xFC,0x00,0x12,0x00,0x00,0xFF,0xFF,0xFF,0xF9,0x9E,0x00,0x01,
51 0xBF,0xFF,0xFF,0xFF,0xF8,0x00,0x32,0x00,0x00,0xFF,0xFF,0xFF,0xFA,0xC9,0x00,0x01,
52 0xBF,0xFF,0xFF,0xFF,0xF8,0x00,0x22,0x00,0x00,0xFF,0xFF,0xFF,0xFA,0x96,0x00,0x01,
53 0xBF,0xFF,0xFF,0xFF,0xF8,0x00,0x33,0x00,0x00,0xFF,0xFF,0xFF,0xF8,0xC5,0x00,0x01,
54 0xBF,0xFF,0xFF,0xFF,0xF8,0x00,0x63,0x00,0x00,0xFF,0xFF,0xFF,0xF9,0xBE,0x00,0x01,
55 0xBF,0xFF,0xFF,0xFF,0xFC,0x00,0x61,0x80,0x00,0xFF,0xFF,0xFF,0xF8,0x94,0x00,0x01,
C51 COMPILER V7.06 12864M_P 08/17/2007 23:47:42 PAGE 2
56 0xBF,0xFF,0xFF,0xFF,0xFC,0x00,0xE1,0x80,0x00,0xFF,0xFF,0xFF,0xF8,0x84,0x00,0x01,
57 0xBF,0xFF,0xFF,0xFF,0xFC,0x00,0xE1,0xC0,0x00,0xFF,0xFF,0xFF,0xF8,0x84,0x00,0x01,
58 0xBF,0xFF,0xFF,0xFF,0xFE,0x00,0xE1,0xC0,0x01,0xFF,0xFF,0xFF,0xF8,0x40,0x00,0x01,
59 0xBF,0xFF,0xFF,0xFF,0xFE,0x01,0xE1,0xC0,0x01,0xFF,0xFF,0xFF,0xFB,0xF8,0x00,0x01,
60 0xBF,0xFF,0xFF,0xFF,0xFE,0x01,0xF1,0xE0,0x03,0xFF,0xFF,0xFF,0xFA,0x48,0x02,0x01,
61 0xBF,0xFF,0xFF,0xFF,0xFF,0x03,0xE3,0xE0,0x02,0xFF,0xFF,0xFF,0xFB,0xF9,0xFF,0x01,
62 0xBF,0xFF,0xFF,0xFF,0xFF,0x03,0xE1,0xF0,0x07,0xFF,0xFF,0xFF,0xFA,0x48,0x00,0x01,
63 0xBF,0xFF,0xFF,0xFF,0xFF,0x4B,0xF1,0xF8,0x06,0xFF,0xFF,0xFF,0xFB,0xFC,0x00,0x01,
64 0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF1,0xF8,0x0F,0xFF,0xFF,0xFF,0xF8,0x44,0x00,0x01,
65 0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0xFC,0x1F,0xFF,0xFF,0xFF,0xF8,0x7C,0x00,0x01,
66 0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x3F,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x01,
67 0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xF9,0xF8,0x9C,0x01,
68 0xBF,0xFF,0xFF,0xFF,0xFF,0xCF,0xFB,0xFF,0x00,0x7E,0xFF,0xFF,0xF8,0x11,0xF4,0x01,
69 0xBF,0xFF,0xFF,0xDE,0x10,0x8F,0xF9,0xFF,0x01,0x2B,0x39,0xFF,0xF8,0x21,0xB4,0x01,
70 0xBF,0xFF,0xFC,0x42,0xF0,0x1F,0xFD,0xFF,0x80,0x44,0x0A,0xFF,0xFB,0xFD,0xBC,0x01,
71 0xBF,0xFF,0xFD,0x07,0x20,0x3F,0xE9,0xFF,0xC0,0x41,0x45,0xFF,0xF8,0x21,0xB4,0x01,
72 0xBF,0xFF,0xFE,0xED,0x5A,0x8B,0xC0,0xFF,0xC0,0x05,0xDD,0xFF,0xF8,0x21,0xF4,0x01,
73 0xBF,0xFF,0xFD,0xB0,0xF4,0x20,0x01,0x00,0x62,0xF7,0xFF,0xFF,0xF8,0x20,0x95,0x01,
74 0xBF,0xFF,0xFF,0xFF,0xB4,0x0F,0xF9,0x00,0x23,0x7F,0xFF,0xFF,0xF8,0x60,0xB7,0x01,
75 0xBF,0xFF,0xFF,0xFC,0x14,0x83,0xFF,0xF9,0x3C,0x08,0xFF,0xFF,0xF8,0x00,0x80,0x01,
76 0xBF,0xFF,0xFF,0xE6,0x56,0x81,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x01,
77 0xBF,0xFF,0xFF,0xFF,0xFD,0x00,0xFF,0xFF,0xFA,0x7F,0xFF,0xFF,0xF8,0x00,0x00,0x01,
78 0xBF,0xFF,0xFF,0xFF,0xDA,0x87,0xFF,0xFF,0xDA,0x3F,0xFF,0xFF,0xF8,0x00,0xFC,0x01,
79 0xBF,0xFF,0xFF,0xEE,0xFF,0x02,0xFD,0x7F,0xF9,0x7F,0xFF,0xFF,0xF8,0x00,0x84,0x01,
80 0xBF,0xFF,0xFF,0xFF,0xF8,0xC0,0x01,0x02,0xDA,0xFF,0xFF,0xFF,0xF8,0x00,0xCC,0x01,
81 0xBF,0xFF,0xFF,0xFF,0xF6,0x11,0x80,0xC0,0x1A,0x3F,0xFF,0xFF,0xF8,0x00,0xB4,0x01,
82 0xBF,0xFF,0xFF,0xFF,0xFD,0x0E,0xC1,0xF9,0x41,0xFF,0xFF,0xFF,0xF8,0x00,0xB4,0x01,
83 0xBF,0xFF,0xFF,0xF8,0xA2,0xAF,0xF0,0xFF,0x93,0xFF,0xFF,0xFF,0xF8,0x00,0xCC,0x01,
84 0xBF,0xFF,0xFF,0xFF,0xFD,0x8F,0xF8,0xFF,0x2E,0xBF,0xFF,0xFF,0xF8,0x00,0x85,0x01,
85 0xBF,0xFF,0xFF,0xFF,0xFD,0x57,0xF8,0xFF,0x18,0xFF,0xFF,0xFF,0xF8,0x01,0x03,0x01,
86 0xBF,0xFF,0xFF,0xFF,0xFD,0x07,0xF1,0xFE,0x47,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x01,
87 0xBF,0xFF,0xFF,0xFF,0xFF,0xE3,0xF9,0xFE,0x3F,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x01,
88 0xBF,0xFF,0xFF,0xFF,0xFF,0x83,0xF1,0xF9,0x7F,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x01,
89 0xBF,0xFF,0xFF,0xFF,0xFA,0xC1,0xE1,0xF8,0x7F,0xFF,0xFF,0xFF,0xF8,0x00,0x02,0x01,
90 0xBF,0xFF,0xFF,0xFF,0xF9,0x00,0xF1,0xF0,0x34,0xFF,0xFF,0xFF,0xF8,0x01,0x5F,0x01,
91 0xBF,0xFF,0xFF,0xFF,0xF7,0x2C,0xE1,0xE4,0xFF,0xFF,0xFF,0xFF,0xF8,0x01,0xCC,0x01,
92 0xBF,0xFF,0xFF,0xFF,0xFF,0xD0,0x61,0xC0,0x7F,0xFF,0xFF,0xFF,0xF8,0x01,0x5E,0x01,
93 0xBF,0xFF,0xFF,0xFF,0xFE,0xAC,0x61,0xC1,0x67,0xFF,0xFF,0xFF,0xF8,0x01,0x5A,0x01,
94 0xBF,0xFF,0xFF,0xFF,0xFE,0x80,0x21,0xC0,0x3F,0xFF,0xFF,0xFF,0xF8,0x01,0x5A,0x01,
95 0xBF,0xFF,0xFF,0xFF,0xFD,0xC0,0x21,0x00,0x07,0xFF,0xFF,0xFF,0xF8,0x01,0xDA,0x01,
96 0xBF,0xFF,0xFF,0xFF,0xFA,0x60,0x01,0x00,0x13,0xFF,0xFF,0xFF,0xF8,0x03,0x4C,0x01,
97 0xBF,0xFF,0xFF,0xFF,0xFC,0xD0,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xF8,0x02,0x52,0x01,
98 0xBF,0xFF,0xFF,0xFF,0xE1,0x00,0x00,0x00,0x08,0xD7,0xFF,0xFF,0xF8,0x00,0x21,0x01,
99 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
100 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
101
102 };
103 //这个是在串口时指令和数据之间的延时
104 /*
105 void delay10US(Uchar x)
106 {
107 Uchar k;
108 for(k=0;k<x;k++);
109 }
110 */
111 const Uchar delay=250; //延时时间常数
112 static void Wait1ms(void)//延迟1 ms
113 {
114 1 Uchar cnt=0;
115 1 while (cnt<delay) cnt++;
116 1 }
117 //延迟n ms
C51 COMPILER V7.06 12864M_P 08/17/2007 23:47:42 PAGE 3
118 void WaitNms(int n)
119 {
120 1 Uchar i;
121 1 for(i=1;i<=n;i++)
122 1 Wait1ms();
123 1 }
124
125 void stopint(void)//中断程序
126 {
127 1 if(stop==0)
128 1 while(1);
129 1 }
130
131 //**************************************************************************//
132 //以下是并口时才开的
133 //读忙标志,
134 void RDBF(void)
135 {
136 1 Uchar temp;
137 1 RS=0; // RS=0
138 1 RW=1; // RW=1
139 1 while(1)
140 1 {
141 2 P1=0xFF; //数据线为输入
142 2 E=1;
143 2 temp=P1;
144 2 E=0; // E=0
145 2 if ((temp&0x80)==0) break;
146 2 }
147 1 }
148 //写数据到指令寄存器
149
150 void WRCommand(Uchar comm)
151 {
152 1 RDBF();
153 1 RW=0;
154 1 P1=comm;
155 1 E=1;
156 1 E=0;
157 1 }
158 //写数据到数据寄存器
159 void WRData(Uchar TEMP)
160 {
161 1 RDBF();
162 1 RS=1;
163 1 RW=0;
164 1 P1=TEMP;
165 1 E=1;
166 1 E=0;
167 1 stopint();
168 1 }
169
170 /////////////////////////////////////////////////////////////////////////////////
171 //以下是串口时开的读写时序
172 /*void SendByteLCD(Uchar WLCDData)
173 {
174 Uchar i;
175 for(i=0;i<8;i++)
176 {
177 if((WLCDData<<i)&0x80)RW=1;
178 else RW=0;
179 E=0;
C51 COMPILER V7.06 12864M_P 08/17/2007 23:47:42 PAGE 4
180 E=1 ;
181 }
182 }
183 SPIWR(Uchar Wdata,Uchar WRS)
184 {
185 SendByteLCD(0xf8+(WRS<<1));
186 SendByteLCD(Wdata&0xf0);
187 SendByteLCD((Wdata<<4)&0xf0);
188 }
189 void WRCommand(Uchar CMD)
190 {
191 RS=0;
192 RS=1;
193 SPIWR(CMD,0);
194 delay10US(90);//89S52来模拟串行通信,所以,加上89S52的延时,
195 }
196 void WRData(Uchar Data)
197 {
198 RS=0;
199 RS=1;
200 SPIWR(Data,1);
201
202 }
203 */
204 /*******************************************************************/
205 //初始化LCD-8位接口
206 void LCDInit(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -