📄 8.5.lst
字号:
C51 COMPILER V7.09 8_5 08/23/2005 18:45:43 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE 8_5
OBJECT MODULE PLACED IN 8.5.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 8.5.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include <absacc.h>
3
4 #define uchar unsigned char
5 #define uint unsigned int
6
7 #define LcdCommand XBYTE[0xFFFF]
8 #define LcdDataWrite XBYTE[0xFFFE]
9
10 uchar code ZKWU[]=
11 {0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,0x00,0x10,0x3F,
12 0xF8,0x01,0x00,0x01,0x04,0xFF,0xFE,0x02,0x80,0x02,0x40,0x04,0x20,0x18,0x1C,0x60,
13 0x08};
14
15 uchar code ZKLIN[]=
16 {0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x20,0x10,0x60,0x38,0x70
17 ,
18 0x34,0xB0,0x54,0xA8,0x51,0x28,0x92,0x26,0x14,0x24,0x10,0x20,0x10,0x20,0x10,0x20}
19 ;
20
21 void Initialize(void);
22 void delay(uint);
23 void SetCursor(uchar,uchar);
24 void WriteOneWork(uchar,uchar,uchar *);
25 void WriteLine(uchar,uchar,uchar);
26
27 void main(void)
28 {
29 1 SP=0x60;
30 1 EA=0;
31 1 delay(0x30);
32 1 Initialize();
33 1 delay(0x9);
34 1 LcdCommand=0x4f; /* 光标地址自动向下增一 */
35 1
36 1 WriteOneWork(0,0,ZKWU);
37 1
38 1 WriteOneWork(0x2,0x80,ZKLIN);
39 1
40 1 while(1);
41 1 }
42
43 /******************************** 初始化LCD函数
44 ********************************/
45 void Initialize(void)
46 {
47 1 uint i;
48 1
49 1 LcdCommand=0x40; /* ---------LCD SYSTEM SET系统设置令,8个参数-----
50 1 --- */
51 1 LcdDataWrite=0x30;
52 1 LcdDataWrite=0x87;
53 1 LcdDataWrite=0x07;
54 1 LcdDataWrite=39; /* 显示域长度为320dot */
55 1 LcdDataWrite=0x36; /* 确定液晶工作频率 */
C51 COMPILER V7.09 8_5 08/23/2005 18:45:43 PAGE 2
56 1 LcdDataWrite=239; /* 显示屏高度为240dot */
57 1 LcdDataWrite=40; /* 显示屏一行所占显示缓冲区字节数(L) */
58 1 LcdDataWrite=0; /* 显示屏一行所占显示缓冲区字节数(H) */
59 1 delay(0x9);
60 1
61 1 LcdCommand=0x44; /* ---------LCD SCROLL显示区设置命令,最多10个参
62 1 数--------- */
63 1 LcdDataWrite=0x00; /* 显示1区对应的显示RAM起始高8位地址 */
64 1 LcdDataWrite=0x00; /* 显示1区对应的显示RAM起始低8位地址 */
65 1 LcdDataWrite=240; /* 显示1区占用240个dot行 */
66 1 LcdDataWrite=0x80; /* 显示2区对应的显示RAM起始低8位地址 */
67 1 LcdDataWrite=0x25; /* 显示2区对应的显示RAM起始高8位地址 */
68 1 LcdDataWrite=240; /* 显示3区占用240个dot行 */
69 1 LcdDataWrite=0x00; /* 显示3区对应的显示RAM起始低8位地址 */
70 1 LcdDataWrite=0x4b; /* 显示3区对应的显示RAM起始高8位地址 */
71 1 delay(0x9);
72 1
73 1 LcdCommand=0x5a; /* 水平卷动,初始化时必须清零 */
74 1 LcdDataWrite=0x00;
75 1 delay(0x9);
76 1
77 1 LcdCommand=0x5b; /* 各个显示区的合成方式,1个参数 */
78 1 LcdDataWrite=0x1c; /* 参数:显示方式为三屏图形叠加,逻辑或 */
79 1 delay(0x9);
80 1
81 1 LcdCommand=0x59; /* 打开显示,1个参数 */
82 1 LcdDataWrite=0x04; /* 只显示第一个区并关闪烁 */
83 1 delay(0x9);
84 1
85 1 LcdCommand=0x4c; /* 光标自动向右增一?*/
86 1 delay(0x9);
87 1
88 1 LcdCommand=0x46; /* 设定光标位置命令 */
89 1 LcdDataWrite=0; /* 从0000位置开始 */
90 1 LcdDataWrite=0;
91 1 delay(0x9);
92 1
93 1 LcdCommand=0x42; /* 允许MPU连续地把显示数据写入显示区内命令 */
94 1
95 1 for(i=0;i<32760;i++)
96 1 {
97 2 LcdDataWrite=0; /* 将32K显缓全部清零,即LCD不显示任何东西 */
98 2 }
99 1 }
100
101 /* --------------------------设定光标,允许显示------------------------- */
102 void SetCursor(uchar CursorHIGH,uchar CursorLOW)
103 {
104 1 delay(0x9);
105 1 LcdCommand=0x46; /* 设定光标位置命令 */
106 1 LcdDataWrite=CursorLOW; /* 从0000位置开始 */
107 1 LcdDataWrite=CursorHIGH;
108 1 delay(0x9);
109 1 LcdCommand=0x42; /* 允许MPU连续地把显示数据写入显示区内命令 */
110 1 }
111
112 /* ---------------------------在指定位置显示一个汉字---------------------------
113 */
114 void WriteOneWork(uchar CurHIGH,uchar CurLOW,uchar * ZiKu)
115 {
116 1 uchar i;
117 1 SetCursor(CurHIGH,CurLOW); /* 设定光标,允许显示 */
C51 COMPILER V7.09 8_5 08/23/2005 18:45:43 PAGE 3
118 1 i=0;
119 1 do
120 1 {
121 2 LcdDataWrite=ZiKu[i];
122 2 i=i+2;
123 2 }
124 1 while(i<0x1e);
125 1
126 1 SetCursor(CurHIGH,CurLOW+1);
127 1 i=1;
128 1 while(i<0x1f)
129 1 {
130 2 LcdDataWrite=ZiKu[i];
131 2 i=i+2;
132 2 }
133 1
134 1 }
135
136
137 /* ----------------------延时子程序----------------------------- */
138 void delay(uint delx)
139 {
140 1 uint i=0;
141 1 while(i<delx)
142 1 {
143 2 i++;
144 2 }
145 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 349 ----
CONSTANT SIZE = 64 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 7
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -