📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 08/20/2008 11:42:40 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg52.h>
2 #define WR197 RD
3 #define RD197 WR
4 #define HBEN T0
5 #define CS T1
6 #define DATA197 P2
7
8
9
10 //////////////////////
11 /////////////////////
12 ///////液晶控制线宏定义
13 #define E INT0
14 #define RS RXD
15 #define RW TXD
16 ///////////////////
17 //////////////////
18 //////////////////
19 code char table[]="The voltage is:";
20 code char ANSC[]={'0','1','2','3','4','5','6','7','8','9'};
21 char vdatatable[6]={' ','.',' ',' ',' ','V'};
22
23 void delay(unsigned char del)
24 {
25 1 unsigned x,y;
26 1
27 1 for(x=del;x>0;x--)
28 1 for(y=110;y>0;y--);
29 1 }
30
31
32
33
34
35
36 void Write_Com(unsigned char com)
37 {
38 1
39 1 RS=0;
40 1 P0=com;
41 1 delay(1);
42 1 E=1;
43 1 delay(1);
44 1 E=0;
45 1 }
46
47 void Write_Data(unsigned char date)
48 {
49 1 RS=1;
50 1 P0=date;
51 1 delay(1);
52 1 E=1;
53 1 delay(1);
54 1 E=0;
55 1 }
C51 COMPILER V7.06 MAIN 08/20/2008 11:42:40 PAGE 2
56
57
58
59 void init()
60 {
61 1 E=0;
62 1 RW=0;
63 1 Write_Com(0x38);
64 1 Write_Com(0x0c);
65 1 Write_Com(0x06);
66 1 Write_Com(0x01);
67 1
68 1 }
69
70
71
72 unsigned int write_command(unsigned char com)
73 {
74 1 unsigned int Vdata;
75 1 CS=1;
76 1 WR197=1;
77 1 RD197=1;
78 1 HBEN=1;
79 1 CS=0;
80 1 WR197=0;
81 1 DATA197=com;
82 1 WR197=1;
83 1 DATA197=0xff;
84 1 delay(40);
85 1 RD197=0;
86 1 Vdata=DATA197;
87 1 HBEN=0;
88 1 Vdata=(Vdata<<8)|DATA197;
89 1 RD197=0;
90 1 return Vdata;
91 1 }
92
93
94
95
96
97
98 void main()
99 {
100 1 unsigned int vdata;
101 1 unsigned char vdata4,vdata3,vdata2,vdata1;
102 1 unsigned char i=0;
103 1 INT1=1;
104 1 T1=1;
105 1 T0=1;
106 1 init();
107 1 Write_Com(0x80);
108 1 while(table[i]!='\0')
109 1 {
110 2 Write_Data(table[i]);
111 2 i++;
112 2 }
113 1 // P1=0xff;
114 1 P2=0x00;
115 1 P3=0;
116 1 // P3=0xff;
117 1 loop:
C51 COMPILER V7.06 MAIN 08/20/2008 11:42:40 PAGE 3
118 1 vdata=write_command(0x41);
119 1 vdata4=(unsigned char)(vdata/1000);
120 1 vdata3=(unsigned char)((vdata%1000)/100);
121 1 vdata2=(unsigned char)((vdata%100)/10);
122 1 vdata1=(unsigned char)(vdata%10);
123 1 vdatatable[0]=ANSC[vdata4];
124 1 vdatatable[2]='.';
125 1 vdatatable[2]=ANSC[vdata3];
126 1 vdatatable[3]=ANSC[vdata2];
127 1 vdatatable[4]=ANSC[vdata1];
128 1 Write_Com(0x80+0x45);
129 1 for(i=0;i<6;i++)
130 1 {
131 2 Write_Data(vdatatable[i]);
132 2 //delay(2);
133 2 }
134 1 delay(255);
135 1 delay(255);
136 1 delay(255);
137 1 goto loop;
138 1 }
139
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 304 ----
CONSTANT SIZE = 26 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 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 + -