📄 lcm.lst
字号:
135 uchar uc_Parallel_Read_LCD_Data(void)
136 {
137 1 uchar uc_Content;
138 1 Parallel_Check_Busy();
139 1 P2 = 0xff; //输入前置1
140 1 RS = 1; //数据
141 1 RW = 1; //读模式
142 1 E = 1; //使能
143 1 uc_Content = P2; //P1口的内容放到变量中
144 1 E = 0;
145 1 return uc_Content;
146 1 }
147
148 //*************************************************************
149 //*函数名称:void Parallel_DDRAM_Address_Set(uchar ucDDramAdd) *
150 //*函数功能:设定DDRAM(文本区)地址到地址计数器AC *
151 //*形式参数:uchar ucDDramAdd *
152 //*行参说明:具体地址 *
153 //*格式说明: *
154 //* RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 *
155 //* 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 *
156 //*返回参数:无 *
157 //*使用说明: *
158 //* 第一行地址:80H~8FH *
159 //* 第二行地址:90H~9FH *
160 //* 第三行地址:A0H~AFH *
161 //* 第四行地址:B0H~BFH *
162 //*************************************************************
163 void Parallel_DDRAM_Address_Set(uchar ucDDramAdd)
164 {
165 1 Parallel_Write_LCD(COMMAND,BASIC_FUNCTION); //基本指令集
166 1 Parallel_Write_LCD(COMMAND,ucDDramAdd); //设定DDRAM地址到地址计数器AC
167 1 }
168
169
170 //*************************************************************
171 //*函数名称:void Parallel_CGRAM_Address_Set(uchar ucCGramAdd) *
172 //*函数功能:设定CGRAM(自定义字库区)地址到地址计数器AC *
173 //*形式参数:uchar ucCGramAdd *
174 //*形参说明:具体地址 *
175 //*格式说明: *
176 //* RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 *
177 //* 0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 *
178 //*返回参数:无 *
179 //*使用说明:地址范围为40H~3FH *
C51 COMPILER V8.02 LCM 04/06/2008 20:10:28 PAGE 4
180 //*************************************************************
181 void Parallel_CGRAM_Address_Set(uchar ucCGramAdd)
182 {
183 1 Parallel_Write_LCD(COMMAND,BASIC_FUNCTION); //基本指令集
184 1 Parallel_Write_LCD(COMMAND,ucCGramAdd); //设定CGRAM地址到地址计数器AC
185 1 }
186
187
188 //*******************************************************************************
189 //*函数名称:void Parallel_GDRAM_Address_Set(uchar ucGDramAdd) *
190 //*函数功能:设定GDRAM(图形区)地址到地址计数器AC *
191 //*形式参数:uchar ucGDramAdd *
192 //*形参说明:具体地址值 *
193 //* RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 *
194 //* 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 *
195 //* 先设定垂直位置再设定水平位置(连续写入两个字节完成垂直和水平位置的设置) *
196 //* 垂直地址范围:AC6~AC0 *
197 //* 水平地址范围:AC3~AC0 *
198 //*返回参数:无 *
199 //*使用说明:必须在扩展指令集的情况下使用 *
200 //*******************************************************************************
201 void Parallel_GDRAM_Address_Set(uchar ucGDramAdd)
202 {
203 1 Parallel_Write_LCD(COMMAND,EXTEND_FUNCTION); //扩展指令集
204 1 Parallel_Write_LCD(COMMAND,ucGDramAdd);
205 1 }
206
207
208
209 //*******************************************
210 //*函数名称:void Parallel_Init_LCD(void) *
211 //*函数功能:并行初始化LCD *
212 //*形式参数:无 *
213 //*形参说明:无 *
214 //*返回参数:无 *
215 //*使用说明:无 *
216 //*******************************************
217 void Parallel_Init_LCD(void)
218 {
219 1 RST = 1; //复位后拉高,停止复位
220 1 PSB = 1; //选择并行传输模式
221 1 Parallel_Write_LCD(COMMAND,BASIC_FUNCTION); //基本指令动作
222 1 Parallel_Write_LCD(COMMAND,CLEAR_SCREEN); //清屏,地址指针指向00H
223 1 Parallel_Write_LCD(COMMAND,0x06); //光标的移动方向
224 1 Parallel_Write_LCD(COMMAND,0x0c); //开显示,关游标
225 1
226 1 }
227
228
229
230 //********************************************************
231 //*函数名称:void Parallel_Clear_Ram(void) *
232 //*函数功能:并行清屏函数 *
233 //*形式参数:无 *
234 //*形参说明:无 *
235 //*返回参数:无 *
236 //*使用说明:DDRAM填满20H,并设定DDRAM AC到00H *
237 //*格式说明: *
238 //* RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 *
239 //* 0 0 0 0 0 0 0 0 0 1 *
240 //********************************************************
241 void Parallel_Clear_Ram(void)
C51 COMPILER V8.02 LCM 04/06/2008 20:10:28 PAGE 5
242 {
243 1 Parallel_Write_LCD(COMMAND,BASIC_FUNCTION); //基本指令集
244 1 Parallel_Write_LCD(COMMAND,CLEAR_SCREEN); //清屏
245 1 }
246
247
248 //*****************************************************
249 //*函数名称:void Parallel_Graph_Mode_Set(bit bSelect) *
250 //*函数功能:打开或关闭绘图显示 *
251 //*形式参数:bit bSelect *
252 //*形参说明:打开或关闭绘图显示的标志位,1打开,0关闭 *
253 //*格式说明: *
254 //* RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 *
255 //* 0 0 0 0 1 DL X RE G X *
256 //* DL:0,4bitMPU控制界面 *
257 //* DL:1,8bitMPU控制界面 *
258 //* RE:0,基本指令集 *
259 //* RE:1,扩充指令集 *
260 //* G :0,绘图显示OFF *
261 //* G :1,绘图显示ON *
262 //*返回参数:无 *
263 //*使用说明:无 *
264 //*****************************************************
265 void Parallel_Graph_Mode_Set(bit bSelect)
266 {
267 1 Parallel_Write_LCD(COMMAND,EXTEND_FUNCTION); //扩展指令集
268 1 if(bSelect)
269 1 {
270 2 Parallel_Write_LCD(COMMAND,GRAPH_ON); //打开绘图模式
271 2 }
272 1 else
273 1 {
274 2 Parallel_Write_LCD(COMMAND,GRAPH_OFF); //关闭绘图模式
275 2 }
276 1 }
277
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -