📄 128-64.lst
字号:
C51 COMPILER V6.23a 128_64 03/04/2008 23:28:41 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE 128_64
OBJECT MODULE PLACED IN 128-64.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 128-64.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include"address.h"
2 /*
3 //128*64LCD
4 //左右屏
5 #define LCDIICOM XBYTE[0xFBFC]//写命令
6 #define LCDIIACOM XBYTE[0xFBFE]//读命令
7 #define LCDIIDATA XBYTE[0xFBFD]//写数据
8 //左屏
9 #define LCDIILCOM XBYTE[0xFBF4]//写命令
10 #define LCDIILACOM XBYTE[0xFBF6]//读命令
11 #define LCDIILDATA XBYTE[0xFB05]//写数据
12 //右屏
13 #define LCDIIRCOM XBYTE[0xFBF6]//写命令
14 #define LCDIIRACOM XBYTE[0xFBF8]//读命令
15 #define LCDIIRDATA XBYTE[0xFB07]//写数据
16 */
17 #define uchar unsigned char
18 #define uint unsigned int
19
20 #define On 0x01
21 #define Off 0x00
22 #define L 0x01 //左屏幕
23 #define R 0x02 //右屏幕
24 #define LR 0X03 //左右屏幕
25
26 void delay1()
27 {
28 1 uint i;
29 1 uchar j;
30 1 for(i=500;i!=0;i--)for(j=200;j!=0;j--);
31 1 }
32
33 void init()
34 {
35 1 LCDIICOM=0X34;
36 1 delay1();
37 1 LCDIICOM=0X30;
38 1 delay1();
39 1 LCDIICOM=0X01;
40 1 delay1();
41 1 LCDIICOM=0X06;
42 1 delay1();
43 1 LCDIICOM=0X0C;
44 1 delay1();
45 1 }
46
47
48
49
50 void delay()
51 {
52 1 while(LCDIIACOM&0x80); //判断LCD是否忙
53 1 }
54 //开关LCD显示
55
C51 COMPILER V6.23a 128_64 03/04/2008 23:28:41 PAGE 2
56 //设置第一行
57 void SetStar(uchar Line)
58 {
59 1 Line=Line%64;
60 1 LCDIICOM=192+Line;
61 1 delay();
62 1 }
63 //设置X
64 void SetX(uchar x,uchar y,uchar LoR)
65 {
66 1 LCDIICOM=0X34;
67 1 delay();
68 1 //x=x%8;
69 1
70 1 switch(LoR)
71 1 {
72 2 case L: //左
73 2 LCDIILCOM=128+y;
74 2 break;
75 2 case R: //右
76 2 LCDIIRCOM=128+y;
77 2 break;
78 2 case LR: //左右
79 2 LCDIICOM=128+y;
80 2 break;
81 2 default:
82 2 break;
83 2 }
84 1 delay();
85 1
86 1 switch(LoR)
87 1 {
88 2 case L: //左
89 2 LCDIILCOM=128+x;
90 2 break;
91 2 case R: //右
92 2 LCDIIRCOM=128+x;
93 2 break;
94 2 case LR: //左右
95 2 LCDIICOM=128+x;
96 2 break;
97 2 default:
98 2 break;
99 2 }
100 1 delay();
101 1
102 1
103 1 }
104 //设置Y
105 void SetY(uchar y,uchar LoR)
106 {
107 1 y=y%64;
108 1 switch(LoR)
109 1 {
110 2 case L: //左
111 2 LCDIILCOM=64+y;
112 2 break;
113 2 case R: //右
114 2 LCDIIRCOM=64+y;
115 2 break;
116 2 case LR: //左右
117 2 LCDIICOM=64+y;
C51 COMPILER V6.23a 128_64 03/04/2008 23:28:41 PAGE 3
118 2 break;
119 2 default:
120 2 break;
121 2 }
122 1 delay();
123 1 }
124 //向LCD写数据
125 void WriteData(uchar lcddata,LoR)
126 {
127 1 switch(LoR)
128 1 {
129 2 case L: //向左屏写数据
130 2 LCDIILDATA=lcddata;
131 2 break;
132 2 case R: //向右屏写数据
133 2 LCDIIRDATA=lcddata;
134 2 break;
135 2 case LR: //向左右屏写数据
136 2 LCDIIDATA=lcddata;
137 2 delay();
138 2 break;
139 2 default:
140 2 break;
141 2 }
142 1 }
143 //清屏
144 void Clr()
145 {
146 1 uchar i,j;
147 1 for(i=0;i!=8;i++)
148 1 {
149 2 SetX(i,0,LR);
150 2 SetY(0,LR);
151 2 for(j=0;j!=64;j++)WriteData(0,LR); //向左右屏写0
152 2 }
153 1 }
154
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 278 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -