📄 12232.lst
字号:
C51 COMPILER V7.01 12232 03/03/2006 16:37:46 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE 12232
OBJECT MODULE PLACED IN E:\ZHAOM\程序\SED1520\12232-~1\12232.OBJ
COMPILER INVOKED BY: d:\wave\keil\C51\BIN\C51.EXE E:\ZHAOM\程序\SED1520\12232-~1\12232.C DB SB OE OT(2)
stmt level source
1 #include<reg51.h>
2 #include<stdio.h>
3 #define uchar unsigned char
4 uchar data Column;/*定义列*/
5 uchar data Page;/*定义页*/
6 uchar *p;/*建立数组指针*/
7 uchar data i,j,k,Disp_Page;
8 uchar data z;/*汉字数组的页,为实际点阵列数除以8*/
9 uchar data y;/*汉字数组的列,为实际点阵行数*/
10 uchar q;/*判忙*/
11 sbit E1=P3^0;/*读写使能信号,1有效*/
12 sbit E2=P3^1;/*读写选择信号;1为读选通,0为写选通*/
13 sbit R_W=P3^2;/*数据指令选择信号;1为数据操作,0为写指令或读状态*/
14 sbit A0=P3^3;
15 char code Hanzi[102][3]= /*汉字数组*/
16 {
17 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x10,0x0F,0x00,0x30,
18 0x0F,0x00,0xB0,0x01,0x00,0xFF,0x0B,0x00,0xFF,0x3F,0x00,0xEE,0x3F,0x00,0x68,0x15,
19 0x00,0x48,0x30,0x00,0x40,0x38,0x00,0xC0,0x3F,0x00,0x80,0x07,0x00,0x00,0x00,0x00,
20 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x70,
21 0x38,0x00,0x30,0x3B,0x00,0xB8,0x1B,0x00,0xDE,0x3B,0x00,0xFE,0x3F,0x00,0xFE,0x3F,
22 0x00,0xFC,0x05,0x00,0xD8,0x1C,0x00,0x08,0x18,0x00,0x00,0x18,0x00,0x00,0x00,0x00,
23 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,
24 0x07,0x00,0xF0,0x0F,0x00,0x70,0x1C,0x00,0xF8,0x1F,0x00,0xFC,0x1F,0x00,0xF6,0x17,
25 0x00,0xF6,0x17,0x00,0x86,0x17,0x00,0x8E,0x18,0x00,0xFC,0x1F,0x00,0xF0,0x0F,0x00,
26 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
27 0x10,0x00,0x00,0x10,0x00,0x18,0x16,0x00,0x78,0x16,0x00,0xF8,0x1F,0x00,0xFE,0x0F,
28 0x00,0xFE,0x0F,0x00,0xFA,0x0F,0x00,0xBA,0x0B,0x00,0xBE,0x0B,0x00,0x1C,0x19,0x00,
29 0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
30 0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0xC0,0x07,0x00,0xE6,0x07,0x00,0xFE,0x0F,
31 0x00,0xFE,0x1F,0x00,0xFC,0x17,0x00,0xD0,0x17,0x00,0xD0,0x17,0x00,0xF0,0x11,0x00,
32 0x60,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
33 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x18,0x0F,
34 0x00,0x9C,0x1B,0x00,0xBC,0x19,0x00,0xFE,0x31,0x00,0xFE,0x30,0x00,0xFE,0x3F,0x00,
35 0xCE,0x0F,0x00,0xC4,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
36 0x00,0x00
37 };
38 void WCom_L(uchar);/*写左半屏指令*/
39 void WCom_R(uchar);/*写右半屏指令*/
40 void Clearlcd();/*清屏*/
41 void Imim();/*初始化*/
42 void Dat_L(uchar);/*送左半屏显示*/
43 void Dat_R(uchar);/*送右半屏显示*/
44 void Delay();/*延时*/
45 void W_byte();/*写一个字节*/
46 void Hanz();/*写汉字*/
47 /********************主程序********************/
48 void main()
49 {
50 1 // Delay();
51 1 // Delay();
52 1 Delay();/*延时*/
53 1 Imim();/*初始化*/
54 1 p=Hanzi;/*指针指向数组的首地址*/
*** WARNING C182 IN LINE 54 OF E:\ZHAOM\程序\SED1520\12232-~1\12232.C: pointer to different objects
C51 COMPILER V7.01 12232 03/03/2006 16:37:46 PAGE 2
55 1 Page=1; /*自定义,液晶上显示汉字的起始页*/
56 1 Column=8;/*自定义,液晶上显示汉字的起始列*/
57 1 y=102;
58 1 z=3;
59 1 Hanz();/*写汉字程序*/
60 1 loop:
61 1 goto loop;
62 1 }
63 /********************写左半屏指令子程序********************/
64 void WCOM_L(uchar d) /*写指令程序*/
65 {
66 1 R_W=1;
67 1 A0=0;/*读状态指令*/
68 1 Loop1:
69 1 P1=0xff;
70 1 E1=1;/*左半屏片选*/
71 1 q=P1;
72 1 E1=0;/*左半屏片选*/
73 1 if(q&0x80)
74 1 {
75 2 goto Loop1;
76 2 }/*判断左半屏是否忙*/
77 1 R_W=0;/*写数据*/
78 1 A0=0;
79 1 P1=d;
80 1 E1=1;
81 1 P1=d;
82 1 E1=0;/*屏处于未选状态*/
83 1 }
84 /********************写右半屏指令子程序********************/
85 void WCOM_R(uchar d) /*写指令程序*/
86 {
87 1 R_W=1;
88 1 A0=0;
89 1 Loop2:
90 1 P1=0xff;
91 1 E2=1;/*左半屏片选*/
92 1 q=P1;
93 1 E2=0;
94 1 if(q&0x80)
95 1 {
96 2 goto Loop2;
97 2 }/*判断右半屏是否忙*/
98 1 R_W=0;/*写数据*/
99 1 A0=0;
100 1 P1=d;
101 1 E2=1;
102 1 P1=d;
103 1 E2=0;/*屏处于未选状态*/
104 1 }
105 /********************送左半屏显示字符子程序********************/
106 void Dat_L(uchar d)
107 {
108 1 R_W=1;
109 1 A0=0;
110 1 Loop1:
111 1 P1=0xff;
112 1 E1=1;/*左半屏片选*/
113 1 q=P1;
114 1 E1=0;
115 1 if(q&0x80)
116 1 {
C51 COMPILER V7.01 12232 03/03/2006 16:37:46 PAGE 3
117 2 goto Loop1;
118 2 }/*判忙*/
119 1 A0=1;
120 1 R_W=0;/*写数据指令*/
121 1 P1=d;
122 1 E1=1;
123 1 P1=d;
124 1 E1=0;
125 1 }
126 /********************送右半屏显示字符子程序********************/
127 void Dat_R(uchar d)
128 {
129 1 R_W=1;
130 1 A0=0;
131 1 Loop:
132 1 P1=0xff;
133 1 E2=1;/*左半屏片选*/
134 1 q=P1;
135 1 E2=0;
136 1 if(q&0x80)
137 1 {
138 2 goto Loop;
139 2 }/*判忙*/
140 1 A0=1;
141 1 R_W=0;/*写数据指令*/
142 1 P1=d;
143 1 E2=1;
144 1 P1=d;
145 1 E2=0;
146 1 }
147
148 /********************初始化子程序********************/
149 void Imim()
150 {
151 1 P0=0xff;
152 1 P1=0xff;
153 1 P2=0xff;
154 1 P3=0xff;
155 1 E1=0;
156 1 E2=0; /*屏幕处于未选状态*/
157 1 Delay();
158 1 WCOM_L(0xE2);/*复位*/
159 1 WCOM_R(0xE2);/*复位*/
160 1 WCOM_L(0xA4);/*正常工作状态设置*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -