📄 lcd7920.lst
字号:
C51 COMPILER V7.01 LCD7920 04/04/2006 15:06:29 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE LCD7920
OBJECT MODULE PLACED IN LCD7920.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD7920.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /****************************************************************************
2 * *
3 * File: LCD.C *
4 * *
5 * Created: 29/12/05 *
6 * *
7 * Author: 王凤秀 *
8 * *
9 * Compiler: KEIL C51 V6.23 *
10 * *
11 * Description: RT12864液晶屏例程库. *
12 * *
13 *****************************************************************************
14 * *
15 * Version | Date | Description *
16 * --------+----------+----------------------------------------------------- *
17 * V1.0 | 21.11.95 | 原始文本 *
18 * *
19 ****************************************************************************/
20 #define _LCD_GLOBALS
21 #include "Includes.h"
*** ERROR C231 IN LINE 27 OF LCD7920.H: 'RS': redefinition
*** ERROR C231 IN LINE 29 OF LCD7920.H: 'E': redefinition
22
23 /*******************************************************************************************
24 * *
25 * Function:void LCD_Init(void) *
26 * *
27 * Input: - *
28 * Output: - *
29 * *
30 * Description: 液晶屏初始化例程. *
31 * *
32 *******************************************************************************************/
33 void LCD_Init(void)
34 {
35 1 LCD_Send_CMD(0x30); //功能设定:8位并口
36 1 LCD_Wait_nBysy(); //等待命令处理结束.
37 1 delay_1ms(0x0A);
38 1 LCD_Send_CMD(0x30); //功能设定:8位并口
39 1 delay_1ms(0x0A);
40 1 LCD_Wait_nBysy(); //等待命令处理结束.
41 1 LCD_Send_CMD(0x0C); //B2=1--整体显示On, B1=1--游标显示On, B0=1--游标反显On.
42 1 LCD_Wait_nBysy(); //等待命令处理结束.
43 1 LCD_Send_CMD(0x01); //清显示.
44 1 LCD_Wait_nBysy(); //等待命令处理结束.
45 1 LCD_Send_CMD(0x06); //配置:B1=1--游标右移, B0=1画面整体移动.
46 1 LCD_Wait_nBysy(); //等待命令处理结束.
47 1 }
48 /*******************************************************************************************
49 * *
50 * Function:uchar Wait_EN_LCD_CMD_Write(void) *
51 * *
52 * Input: - *
53 * Output: - *
C51 COMPILER V7.01 LCD7920 04/04/2006 15:06:29 PAGE 2
54 * *
55 * Description: 等待LCD进入命令写使能状态. *
56 * *
57 *******************************************************************************************/
58 void LCD_Wait_nBysy(void)
59 {
60 1 while(LCD_Read_CMD() & 0x80)
61 1 {
62 2 _nop_();
63 2 }
64 1 }
65 /*******************************************************************************************
66 * *
67 * Function:uchar LCD_Print_Chinese(uchar _ROW,uchar _COL, code uchar * PT,uchar _Num) *
68 * *
69 * Input: -_ROW--起始行号 *
70 * _COL--起始列号 *
71 * _PT --字符串指针 *
72 * _Num--要显示的汉字数. *
73 * Output: - *
74 * *
75 * Description: 显示汉字串. *
76 * *
77 *******************************************************************************************/
78 void LCD_Print_Chinese(uchar _ROW,uchar _COL, uchar code * PT,uchar _Num)
79 {
80 1 uchar data itmp;
81 1 uchar data count;
82 1 uchar Tmp_Array[0x10];
83 1 //计算显示首址
84 1 itmp=_Num;
85 1 itmp=((_ROW*0x20+_COL) % 0x40) | 0x40;
86 1 LCD_Send_CMD(itmp); //置起始行列
87 1 count=0;
88 1 Tmp_Array[0]=(uchar) itmp;
89 1 Tmp_Array[1]=(uchar) (itmp>>8);
90 1 Tmp_Array[2]=0x24; //设置显示存储器首址
91 1 LCD_Send_CMD(Tmp_Array[0]);
92 1 while(count<0xF0)
93 1 {
94 2 if(PT[count]==0)
95 2 break;
96 2 Tmp_Array[1]=PT[count]-0x20;
97 2 Tmp_Array[2]=0xC0; //设置显示存储器首址
98 2 LCD_Send_CMD(Tmp_Array[0]);
99 2 ++count;
100 2 }
101 1 }
102 /*******************************************************************************************
103 * *
104 * Function:uchar LCD_Print_Chr(uchar _ROW,uchar _COL, uchar PT) *
105 * *
106 * Input: -_ROW--起始行号 *
107 * _COL--起始列号 *
108 * _字符串指针 *
109 * Output: - *
110 * *
111 * Description: 显示一个字符. *
112 * *
113 *******************************************************************************************/
114 void LCD_Print_Chr(uchar _ROW,uchar _COL, uchar PT)
115 {
C51 COMPILER V7.01 LCD7920 04/04/2006 15:06:29 PAGE 3
116 1 uint data itmp;
117 1 uchar data count;
118 1 uchar data Tmp_Array[3];
119 1 //计算显示首址
120 1 itmp=_ROW*0x10+_COL;
121 1 count=0;
122 1 Tmp_Array[0]=(uchar) itmp;
123 1 Tmp_Array[1]=(uchar) (itmp>>8);
124 1 Tmp_Array[2]=0x24; //设置显示存储器首址
125 1 LCD_Send_CMD(Tmp_Array[0]);
126 1 Tmp_Array[1]=PT-0x20;
127 1 Tmp_Array[2]=0xC4; //设置显示存储器首址
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -