📄 cs23-1.lst
字号:
C51 COMPILER V7.06 CS23_1 02/21/2007 13:19:05 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE CS23_1
OBJECT MODULE PLACED IN CS23-1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CS23-1.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <REG51.H>
2 #define uchar unsigned char
3 #define uint unsigned int
4 sbit CS1=P2^4;
5 sbit CS2=P2^3;
6 sbit RS=P2^7;
7 sbit RW=P2^6;
8 sbit EN=P2^5;
9 sbit RST=P2^2;
10 #define DataPort P0
11
12 /************************函数列表**************************/
13 void delay(unsigned long v);
14 void wcode(uchar c,uchar csl,uchar csr);
15 void wdata(uchar c,uchar csl,uchar csr);
16 void set_startline(uchar i);
17 void set_xy(uchar x,uchar y);
18 void dison_off(uchar o);
19 void reset();
20 void lcd_init(void);
21 void lw(uchar x, uchar y, uchar dd);
22 void display_hz(uchar x, uchar y, uchar n, uchar fb);
23 uchar code hz[];
24 /*******************************************************/
25 void main(void)
26 {
27 1 uchar loop;
28 1 lcd_init();
29 1 delay(1000);
30 1 while(1)
31 1 {
32 2 /************显示第一行(8个字)***********/
33 2 for(loop=0;loop<8;loop++)
34 2 {display_hz(2*loop,0,loop,0);
35 3 display_hz(2*loop,0,loop,0);
36 3 display_hz(2*loop,0,loop,0);
37 3 display_hz(2*loop,0,loop,0);
38 3 display_hz(2*loop,0,loop,0);
39 3 display_hz(2*loop,0,loop,0);
40 3 display_hz(2*loop,0,loop,0);
41 3 display_hz(2*loop,0,loop,0);}
42 2 /*************显示第二行(8个字)**********/
43 2 for(loop=0;loop<8;loop++)
44 2 {display_hz(2*loop,2,loop+8,0);
45 3 display_hz(2*loop,2,loop+8,0);
46 3 display_hz(2*loop,2,loop+8,0);
47 3 display_hz(2*loop,2,loop+8,0);
48 3 display_hz(2*loop,2,loop+8,0);
49 3 display_hz(2*loop,2,loop+8,0);
50 3 display_hz(2*loop,2,loop+8,0);
51 3 display_hz(2*loop,2,loop+8,0);}
52 2 /**************显示第三行(8个字)*************/
53 2 for(loop=0;loop<8;loop++)
54 2 {display_hz(2*loop,4,loop+16,1);
55 3 display_hz(2*loop,4,loop+16,1);
C51 COMPILER V7.06 CS23_1 02/21/2007 13:19:05 PAGE 2
56 3 display_hz(2*loop,4,loop+16,1);
57 3 display_hz(2*loop,4,loop+16,1);
58 3 display_hz(2*loop,4,loop+16,1);
59 3 display_hz(2*loop,4,loop+16,1);
60 3 display_hz(2*loop,4,loop+16,1);
61 3 display_hz(2*loop,4,loop+16,1);}
62 2 /*************显示第四行(8个字)*************/
63 2 for(loop=0;loop<8;loop++)
64 2 {display_hz(2*loop,6,loop+24,1);
65 3 display_hz(2*loop,6,loop+24,1);
66 3 display_hz(2*loop,6,loop+24,1);
67 3 display_hz(2*loop,6,loop+24,1);
68 3 display_hz(2*loop,6,loop+24,1);
69 3 display_hz(2*loop,6,loop+24,1);
70 3 display_hz(2*loop,6,loop+24,1);
71 3 display_hz(2*loop,6,loop+24,1);}
72 2 /*************************/
73 2 delay(10000);
74 2 }
75 1 }
76 /*---------------------------------------------------------*/
77 void delay(unsigned long v)
78 {
79 1 while(v!=0)v--;
80 1 }
81 /*----------------------------------------------------------*/
82 void lcd_busy(void)
83 {
84 1 RS=0;RW=1;DataPort=0xff;
85 1 while(1){
86 2 EN=1;
87 2 if(DataPort<0x80) break;
88 2 EN=0;
89 2 }
90 1 EN=0;
91 1 }
92 /*-----------------------------------------------------------*/
93 void wcode(uchar c,uchar csl,uchar csr)
94 {
95 1 CS1=csl;
96 1 CS2=csr;
97 1 lcd_busy();
98 1 RS=0;
99 1 RW=0;
100 1 DataPort=c;
101 1 EN=1;
102 1 EN=0;
103 1 }
104 /*------------------------------------------------------*/
105 void wdata(uchar c,uchar csl,uchar csr)
106 {
107 1 CS1=csl;
108 1 CS2=csr;
109 1 lcd_busy();
110 1 RS=1;
111 1 RW=0;
112 1 DataPort=c;
113 1 EN=1;
114 1 EN=0;
115 1 }
116 /*------------------------------------------------------*/
117 void lw(uchar x, uchar y, uchar dd)
C51 COMPILER V7.06 CS23_1 02/21/2007 13:19:05 PAGE 3
118 {
119 1 if(x>=64)
120 1 {set_xy(x-64,y);
121 2 wdata(dd,0,1);}
122 1 else
123 1 {set_xy(x,y);
124 2 wdata(dd,1,0);}
125 1 }
126 /*---------------------------------------------------*/
127 void set_startline(uchar i)
128 {
129 1 i=0xc0+i;
130 1 wcode(i,1,1);
131 1 }
132 /*----------------------------------------------*/
133 void set_xy(uchar x,uchar y)
134 {
135 1 x=x+0x40;
136 1 y=y+0xb8;
137 1 wcode(x,1,1);
138 1 wcode(y,1,1);
139 1 }
140 /*-------------------------------------------------------------*/
141 void dison_off(uchar o)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -