📄 1602.lst
字号:
C51 COMPILER V6.23a 1602 08/25/2005 18:17:12 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE 1602
OBJECT MODULE PLACED IN E:\MCS51\ZHAOM\COMPANY\HD44780\1602.OBJ
COMPILER INVOKED BY: C:\wave6000\keil\C51\BIN\C51.EXE E:\MCS51\ZHAOM\COMPANY\HD44780\1602.C DB SB OE OT(2)
stmt level source
1 #include<reg51.h>
2 #include<stdio.h>
3 #define uchar unsigned char
4 uchar *p,*p1;/*建立数组指针*/
5 uchar q;/*判忙*/
6 uchar data i;
7 uchar data wbyte;
8 sbit E=P3^4;/*读写使能信号,1有效*/
9 sbit R_W=P3^3;/*读写选择信号;1为读选通,0为写选通*/
10 sbit RS=P3^2;
11 sbit D_I=P3^2;/*数据指令选择信号;1为数据操作,0为写指令或读状态*/
12 char code Hanzi[16]= /*汉字数组*/
13 {
14 0x03,0x13,
15 0x23,0x33,
16 0x43,0x53,
17 0x63,0x73,
18 0x83,0x93,
19 0xa3,0xb3,
20 0xc3,0xd3,
21 0xe3,0xf3,
22 };
23 char code Hanzi1[12]= /*汉字数组*/
24 {
25 0x14,0x24,
26 0x34,0x44,
27 0x54,0x64,
28 0x74,0x84,
29 0x94,0xa4,
30 0xb4,0xc4,
31 };
32 uchar data j=16;/*所建立的第一个汉字数组中元素的个数*/
33 /*为在液晶中第一行得显示数据*/
34 uchar data j1=12;/*所建立的第二个汉字数组中元素的个数*/
35 /*为在液晶中第二行得显示数据*/
36 /**************************************************/
37 void WCom(uchar);/*写指令*/
38 void Clearlcd();/*清屏*/
39 void Imim();/*初始化*/
40 void Dat(uchar);/*送数据*/
41 void Delay();/*延时*/
42 void Hanz();/*写第一行汉字*/
43 void Hanz1();/*写第二行汉字*/
44 /********************主程序********************/
45 void main()
46 {
47 1 Delay();/*延时*/
48 1 Imim();/*初始化*/
49 1 p=Hanzi;/*指针指向数组的首地址*/
50 1 p1=Hanzi1;
51 1 Hanz();/*写第一行汉字程序*/
52 1 Hanz1();/*写第二行汉字程序*/
53 1 loop:goto loop;
54 1 }
55
C51 COMPILER V6.23a 1602 08/25/2005 18:17:12 PAGE 2
56 /********************写指令子程序********************/
57 void WCOM(uchar d) /*写指令程序*/
58 {
59 1 R_W=1;
60 1 D_I=0;/*设置状态*/
61 1 Loop:
62 1 P1=0xFF;
63 1 E=1;/*使能有效*/
64 1 q=P1;/*将p1口状态读入*/
65 1 E=0;/*关闭使能信号*/
66 1 if(q&0x80)/*判断屏幕是否忙*/
67 1 {
68 2 goto Loop;/*若忙,循环等待*/
69 2 }
70 1 R_W=0;
71 1 D_I=0;/*写数据指令*/
72 1 P1=d;/*将数据送入p1口*/
73 1 E=1;/*使能信号开*/
74 1 E=0;/*使能信号关*/
75 1 }
76 /********************送数据子程序********************/
77 void Dat(uchar d)
78 {
79 1 R_W=1;
80 1 D_I=0;/*读状态指令*/
81 1 Loop:
82 1 P1=0xFF;
83 1 E=1;/*使能*/
84 1 q=P1;
85 1 E=0;
86 1 if(q&0x80)
87 1 {
88 2 goto Loop;
89 2 }/*判忙*/
90 1 D_I=1;/*送数据指令*/
91 1 R_W=0;
92 1 P1=d;
93 1 E=1;/*使能信号开*/
94 1 E=0;/*使能信号关*/
95 1 }
96 /********************初始化子程序********************/
97 void Imim()
98 {
99 1 P0=0xff;
100 1 P1=0xff;
101 1 P2=0xff;
102 1 P3=0xff;
103 1 E=0;
104 1 Delay();
105 1 WCOM(0x3f);/*功能设定*/
106 1 WCOM(0x08);/*关显示指令*/
107 1 WCOM(0x06);/*游标右移*/
108 1 Clearlcd();/*清屏*/
109 1 WCOM(0x0f);/*开显示指令*/
110 1 }
111 /********************延时子程序********************/
112 void Delay()
113 {
114 1 uchar data i,j;
115 1 for(i=0;i<255;i++)
116 1 for(j=0;j<255;j++);
117 1 }
C51 COMPILER V6.23a 1602 08/25/2005 18:17:12 PAGE 3
118 /********************基本指令集清屏子程序********************/
119 void Clearlcd()
120 {
121 1 D_I=0;
122 1 R_W=0;
123 1 WCOM(0x01);/*清除显示*/
124 1 }
125 /********************写第一行汉字主程序********************/
126 void Hanz()
127 {
128 1 WCOM(0x80);/*第一行首地址设定*/
129 1 for(i=0;i<j;i++,p++)
130 1 {
131 2 wbyte=*p;
132 2 Dat(wbyte);/*将汉字数组数据送入*/
133 2 }
134 1 }
135 /********************写第二行汉字主程序********************/
136 void Hanz1()
137 {
138 1 WCOM(0xc1);/*第二行首地址设定*/
139 1 for(i=0;i<j1;i++,p1++)
140 1 {
141 2 wbyte=*p1;
142 2 Dat(wbyte);/*将汉字数组数据送入*/
143 2 }
144 1 }
C51 COMPILER V6.23a 1602 08/25/2005 18:17:12 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
R_W. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
Imim . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
Hanz . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
_WCOM. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
d. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
Loop . . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
j1 . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
Clearlcd . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
p1 . . . . . . . . . . . . . . . . . . PUBLIC DATA PTR 0001H 3
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
RS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
loop . . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
Hanzi1 . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0010H 12
wbyte. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0004H 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
Hanz1. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
E. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
C51 COMPILER V6.23a 1602 08/25/2005 18:17:12 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
i. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0005H 1
j. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0006H 1
D_I. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
p. . . . . . . . . . . . . . . . . . . PUBLIC DATA PTR 0007H 3
q. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000AH 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
Delay. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
j. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
_Dat . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
d. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
Loop . . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
Hanzi. . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0000H 16
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 281 ----
CONSTANT SIZE = 28 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 4
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 + -