📄 lcd.lst
字号:
C51 COMPILER V7.06 LCD 04/05/2006 12:13:01 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\DEBUG\LCD.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD\LCD.c LARGE OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\DEBUG\L
-CD.lst) OBJECT(.\DEBUG\LCD.obj)
stmt level source
1 /* //////////////////////////////////////////////////////////////////////
2 NAME: LCD.c
3 //////////////////////////////////////////////////////////////////////// */
4 #include <CORE\includes.h>
5 #include "LCD.h"
6
7 sbit LCD_RS = P1 ^ 0;
8 sbit LCD_RW = P1 ^ 1;
9 sbit LCD_E = P1 ^ 2;
10 sbit LCD_BF = P1 ^ 7;
11
12 //INT8U LOST_PACK=0;
13
14 void LCD_CheckBusy(void)
15 {
16 1 INT8U data tmp;
17 1 do
18 1 {
19 2 P1|=0XF0;
20 2 LCD_RS=0;
21 2 LCD_RW=1;
22 2 LCD_E=1;
23 2 tmp=P1;
24 2 LCD_E=0;
25 2 LCD_E=1;
26 2 LCD_E=0;
27 2 }while((tmp&0x80));
28 1 }
29 //---------------------------------------
30 void LCD_WrCommand(BYTE Command1)
31 {
32 1 // BYTE sts;
33 1 INT8U data Command;
34 1 Command=Command1;
35 1 LCD_CheckBusy();
36 1 //-----------------------
37 1 LCD_RS=0;
38 1 LCD_RW=0;
39 1 P1=(Command&0xf0); //high 4 bits
40 1 LCD_E=1;
41 1 LCD_E=0;
42 1 Command=Command<<4;
43 1 P1=(Command&0xf0); //low 4 bits
44 1 LCD_E=1;
45 1 LCD_E=0;
46 1 }
47 //----------------------------------------------
48 void LCD_Initial(void)
49 {
50 1 INT8U data i;
51 1 INT32U data tmp;
52 1 for(tmp=0;tmp<10000;tmp++);
53 1 P1=0X30;
54 1 LCD_RS=0;
C51 COMPILER V7.06 LCD 04/05/2006 12:13:01 PAGE 2
55 1 LCD_RW=0;
56 1 for(i=0;i<3;i++)
57 1 {
58 2 LCD_E=1;
59 2 LCD_E=0;
60 2 for(tmp=0;tmp<10000;tmp++);
61 2 }
62 1 P1=0X20;
63 1 LCD_E=1;
64 1 LCD_E=0;
65 1 // for(tmp=0;tmp<10000;tmp++);
66 1 LCD_WrCommand(0x28);
67 1 LCD_WrCommand(0x01);
68 1 LCD_WrCommand(0x06);
69 1 LCD_WrCommand(0x0E);
70 1 }
71 //////////////////////////////////////////////////////////////////
72 void LCD_print(char *p) reentrant
73 {
74 1 // p=p;
75 1
76 1 INT8U tmp1;
77 1 INT8U count=0;
78 1
79 1 LCD_WrCommand(0x01); //clr
80 1 // LCD_WrCommand(0x05); //
81 1 // LCD_WrCommand(0x80); //ddram addr;
82 1 while(*p)
83 1 {
84 2 if(count++==0x10)
85 2 LCD_WrCommand(0xc0); //set ram address 40h;
86 2 tmp1=*p++;
87 2 LCD_CheckBusy();
88 2 //--------write ram----
89 2 P1=(tmp1&0xf0);
90 2 LCD_RS=1;
91 2 LCD_RW=0;
92 2 LCD_E=1;
93 2 LCD_E=0;
94 2 tmp1=tmp1<<4;
95 2 P1=(tmp1&0xf0);
96 2 LCD_RS=1;
97 2 LCD_RW=0;
98 2 LCD_E=1;
99 2 LCD_E=0;
100 2 //---------------------
101 2 // ++p;
102 2 } //--------*/
103 1 }
104
105 //////////////////////////////////////////////////////////////////
106 void LCD_log(char *p) reentrant
107 {
108 1 INT8U tmp1;
109 1 INT8U count=0;
110 1
111 1 LCD_WrCommand(0x01); //clr
112 1 // LCD_WrCommand(0x05); //
113 1 // LCD_WrCommand(0x80); //ddram addr;
114 1 while(*p)
115 1 {
116 2 if(count++==0x10)
C51 COMPILER V7.06 LCD 04/05/2006 12:13:01 PAGE 3
117 2 LCD_WrCommand(0xc0); //set ram address 40h;
118 2 tmp1=*p++;
119 2 LCD_CheckBusy();
120 2 //--------write ram----
121 2 P1=(tmp1&0xf0);
122 2 LCD_RS=1;
123 2 LCD_RW=0;
124 2 LCD_E=1;
125 2 LCD_E=0;
126 2 tmp1=tmp1<<4;
127 2 P1=(tmp1&0xf0);
128 2 LCD_RS=1;
129 2 LCD_RW=0;
130 2 LCD_E=1;
131 2 LCD_E=0;
132 2 //---------------------
133 2 // ++p;
134 2 } //--------*/
135 1 }
136 /*
137 /////////////////////////////////////////////////
138 void ERR_print(BYTE ERR_number) reentrant
139 {
140 INT8U i;
141 INT8U buff[6]={'E','R','R','1'};
142 buff[4]=0;
143 buff[5]=(LOST_PACK&0x0f)+0x30;
144 ERR_number=ERR_number;
145 LCD_WrCommand(0xc0); //ddram addr;
146 for(i=0;i<6;i++)
147 {
148
149 LCD_CheckBusy();
150 //--------write ram----
151 P1=(buff[i]&0xf0);
152 LCD_RS=1;
153 LCD_RW=0;
154 LCD_E=1;
155 LCD_E=0;
156 buff[i]=buff[i]<<4;
157 P1=(buff[i]&0xf0);
158 LCD_RS=1;
159 LCD_RW=0;
160 LCD_E=1;
161 LCD_E=0;
162 //---------------------
163 // ++p;
164 }
165
166
167 }*/
168
169
170
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 546 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 7
C51 COMPILER V7.06 LCD 04/05/2006 12:13:01 PAGE 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 + -