📄 1602.lst
字号:
C51 COMPILER V8.02 1602 11/29/2006 19:54:12 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 1602
OBJECT MODULE PLACED IN E:\03440136\资料会总9.7\程序9.7\程序调试完成\液晶\1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\03440136\资料会总9.7\程序9.7\程序调试完成\液晶\1602.C DB SB OE
line level source
1 #include<reg51.h>
2 #include<stdio.h>
3 #define uchar unsigned char
4 uchar q;/*判忙*/
5 uchar data i;
6 uchar data wbyte;
7 sbit R_D=P3^7;
8 sbit E=P1^7;/*读写使能信号,1有效*/
9 sbit R_W=P1^6;/*读写选择信号;1为读选通,0为写选通*/
10 sbit D_I=P1^5;/*数据指令选择信号;1为数据操作,0为写指令或读状态*/
11 /**************************************************/
12 void WCOM(uchar);/*写指令*/
13 void Clearlcd();/*清屏*/
14 void IMIM();/*初始化*/
15 void DAT(uchar);/*送数据*/
16 void DELAY(unsigned char t);/*延时*/
17 void CHK_BUSY();/*测忙*/
18 void DISP();/*LCD显示初始化*/
19 void HZXS(unsigned char code *s);/*显示字符串*/
20 void SZXS(unsigned long e100);
21 void Disp_Img(unsigned char code *img);
22 unsigned long fd;
23 /********************主程序********************/
24 void MAIN()
25 {
26 1 // PSB=1;//闭幕式串行接口选择:H-并行,L-串行
27 1 //RST=0;复位,低电平
28 1 //e245=0;
29 1 DELAY(3);/*延时*/
30 1 IMIM();/*初始化*/
31 1 DISP();
32 1 WCOM(0x85);
33 1 fd=21327;
34 1 SZXS(fd);
35 1 WCOM(0x95);
36 1 SZXS(5451);
37 1 //Disp_Img(BMP);
38 1 for(;;);
39 1 }
40 /********************LCD显示初始化********************/
41 void DISP()
42 { WCOM(0x80);/*第一行首地址设定*/
43 1 HZXS("即时功率:");
44 1 WCOM(0X90);
45 1 HZXS("用电度数:");
46 1 WCOM(0X88);
47 1 HZXS("峰电单价:0.23元");
48 1 WCOM(0X98);
49 1 HZXS("谷电单价:54.2元");
50 1 }
51
52 /********************写指令子程序********************/
53 void WCOM(uchar d) /*写指令程序*/
54 {
55 1 DELAY(5);
C51 COMPILER V8.02 1602 11/29/2006 19:54:12 PAGE 2
56 1 R_W=0;
57 1 D_I=0;/*写数据指令*/
58 1 // DIR_RD=1;
59 1 P0=d;/*将数据送入p1口*/
60 1 //DIR_WR=1;
61 1 E=1;/*使能信号开*/
62 1 E=0;/*使能信号关*/
63 1 }
64 /********************送数据子程序********************/
65 void DAT(uchar d)
66 {
67 1 DELAY(5);
68 1 D_I=1;/*送数据指令*/
69 1 R_W=0;
70 1 // DIR_RD=1;
71 1 P0=d;
72 1 //DIR_WR=1;
73 1 E=1;/*使能信号开*/
74 1 E=0;/*使能信号关*/
75 1 }
76 /********************初始化子程序********************/
77 void IMIM()
78 {//RST=0;
79 1 //DELAY(3);
80 1 //RST=1;
81 1 // PSB=1; //闭幕式串行接口选择:H-并行,L-串行
82 1 DELAY(0);
83 1 WCOM(0x30);/*功能设定*/
84 1 DELAY(0);
85 1 WCOM(0x01);/*清屏指令*/
86 1 DELAY(3);
87 1 WCOM(0x06);/*游标右移*/
88 1 DELAY(0);
89 1 WCOM(0X0F);/*开显示,关光标,关闪烁*/
90 1 DELAY(0);
91 1 }
92 /********************延时子程序********************/
93 void DELAY(unsigned char t)
94 {
95 1 unsigned char i,j;
96 1 for(i=t;i>0;i--)
97 1 for(j=255;j>0;j--);
98 1 }
99 /********************基本指令集清屏子程序********************/
100 void Clearlcd()
101 {
102 1 D_I=0;
103 1 R_W=0;
104 1 WCOM(0x01);/*清除显示*/
105 1 }
106 /*================================================
107 ===测忙碌子程序
108 ===RS=0,RW=1,E=H,D0-D7=状态字
109
110
111 /*------------------显示字符串--------------------------*/
112 void HZXS(unsigned char code *s)
113 { while(*s>0)
114 1 { DAT(*s);
115 2 s++;
116 2 DELAY(0);
117 2 }
C51 COMPILER V8.02 1602 11/29/2006 19:54:12 PAGE 3
118 1 }
119 /*------------------显示5位数字543.21--------------------------*/
120 void SZXS(unsigned long e100)
121 { unsigned char d,d1;
122 1 d=e100/10000;
123 1 e100=e100%10000;
124 1 d1=d+48;
125 1 DAT(d1);
126 1 d=e100/1000;
127 1 e100=e100%1000;
128 1 d1=d+48;
129 1 DAT(d1);
130 1 d=e100/100;
131 1 e100=e100%100;
132 1 d1=d+48;
133 1 DAT(d1);
134 1 DAT(0X2E);
135 1 d=e100/10;
136 1 e100=e100%10;
137 1 d1=d+48;
138 1 DAT(d1);
139 1 d1=e100+48;
140 1 DAT(d1);
141 1 }
142
143 /*------------------显示图片------------------------2005.11.14.21:20修改---benladn911--- */
144 void Disp_Img(unsigned char code *img)
145 { unsigned int j=0;
146 1 unsigned char x,y,i;
147 1 for(i=0;i<9;i+=8)
148 1 for(y=0;y<32;y++)/*原来 为 y<26 ,上下两个半屏不能正常对接显示,导致显示的图片中间有空隙*/
149 1 for(x=0;x<8;x++)
150 1 { WCOM(0x36);//功能设置---8BIT控制界面,扩充指令集
151 2 WCOM(y+0x80); //行地址
152 2 WCOM(x+0x80+i); //列地址
153 2 WCOM(0x30);
154 2 DAT(img[j++]);
155 2 DAT(img[j++]);
156 2 }
157 1
158 1 }
C51 COMPILER V8.02 1602 11/29/2006 19:54:12 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
R_W. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
_WCOM. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
d. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
Clearlcd . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
MAIN . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
IMIM . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_HZXS. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
s. . . . . . . . . . . . . . . . . . AUTO DATA PTR 0000H 2
wbyte. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
DISP . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_SZXS. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
e100 . . . . . . . . . . . . . . . . AUTO DATA U_LONG 0000H 4
d. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0004H 1
d1 . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
_DAT . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0024H -----
d. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
E. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
fd . . . . . . . . . . . . . . . . . . PUBLIC DATA U_LONG 0001H 4
_DELAY . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
t. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
i. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0005H 1
D_I. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0095H 1
_Disp_Img. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
img. . . . . . . . . . . . . . . . . AUTO DATA PTR 0000H 2
j. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
x. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0004H 1
y. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0005H 1
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0006H 1
q. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0006H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 547 ----
CONSTANT SIZE = 56 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 16
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 + -