📄 lcd_1621.lst
字号:
C51 COMPILER V7.50 LCD_1621 02/10/2009 10:56:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LCD_1621
OBJECT MODULE PLACED IN LCD_1621.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD_1621.c BROWSE DEBUG OBJECTEXTEND
line level source
1 // Demo Program (HT1621)
2 //*****************************************************
3 //连线表: CPU=89C51 System Clock = 12Mhz *
4 // CS=P3.0 WR=P3.1 DATA=P3.2 *
5 //*****************************************************
6 #include <reg52.h>
7 #include <intrins.h>
8 #define uchar unsigned char
9 #define uint unsigned int
10
11 #define DAT 1
12 #define COM 0
13
14 sbit CS = P3^2;
15 sbit RW = P3^3;
16
17 sbit DA = P3^5;
18 sbit Key= P3^4;
19
20 unsigned char code HT1621[];
21
22 void Write1Bit( void )
23 {
24 1 RW = 0;
25 1 _nop_();_nop_();
26 1 _nop_();_nop_();
27 1 RW = 1;
28 1 _nop_();_nop_();
29 1 _nop_();_nop_();
30 1 }
31
32 void WriteMode(unsigned char MODE)
33 {
34 1 DA = 1;
35 1 Write1Bit();
36 1 DA = 0;
37 1 Write1Bit();
38 1 DA = MODE;
39 1 Write1Bit();
40 1 }
41
42 void WriteCommand(unsigned char Cbyte)
43 {
44 1 unsigned char i;
45 1 for(i=0;i<9;i++)
46 1 {
47 2 Cbyte = Cbyte<<1;
48 2 DA = CY;
49 2 Write1Bit();
50 2 }
51 1 }
52
53 void WriteAddress(unsigned char Abyte)
54 {
55 1 unsigned char i;
C51 COMPILER V7.50 LCD_1621 02/10/2009 10:56:09 PAGE 2
56 1 Abyte = Abyte<<2;
57 1 for(i=0;i<6;i++)
58 1 {
59 2 Abyte = Abyte<<1;
60 2 DA = CY;
61 2 Write1Bit();
62 2 }
63 1 }
64
65 void WriteData(unsigned char Dbyte)
66 {
67 1 unsigned char i;
68 1 for(i=0;i<8;i++)
69 1 {
70 2 Dbyte = Dbyte<<1;
71 2 DA = CY;
72 2 Write1Bit();
73 2 }
74 1 }
75
76 void Delay(unsigned int MS)
77 {
78 1 unsigned char us,usn;
79 1 while(MS!=0)
80 1 {
81 2 usn = 2;
82 2 while(usn!=0)
83 2 {
84 3 us=0xf2;
85 3 while (us!=0){us--;};
86 3 usn--;
87 3 }
88 2 MS--;
89 2 }
90 1 }
91
92 void DelayKey(unsigned int HalfSecond)
93 {
94 1 unsigned int i;
95 1 for(i=0;i<20*HalfSecond;i++)
96 1 {
97 2 if(Key==0)
98 2 {
99 3 Delay(20);
100 3 while(Key==0) {Delay(20);}
101 3 break;
102 3 }
103 2 Delay(10);
104 2 }
105 1 }
106
107 void LcdInit( void )
108 {
109 1 CS = 0;
110 1 WriteMode(COM);
111 1 WriteCommand(0x01);
112 1 WriteCommand(0x03);
113 1 WriteCommand(0x04);
114 1 WriteCommand(0x05);
115 1 WriteCommand(0x08);
116 1 WriteCommand(0x18);
117 1 WriteCommand(0x29);
C51 COMPILER V7.50 LCD_1621 02/10/2009 10:56:09 PAGE 3
118 1 WriteCommand(0x80);
119 1 WriteCommand(0x40);
120 1 WriteCommand(0xE3);
121 1 CS = 1;
122 1 }
123
124 void FullRAM(unsigned char *puts,unsigned char n)
125 {
126 1 unsigned char i;
127 1 CS = 0;
128 1 WriteMode(DAT);
129 1 WriteAddress(0);
130 1 for(i=0;i<16;i++)
131 1 WriteData(puts[16*n+i]);
132 1 CS = 1;
133 1 }
134
135 void main( void )
136 {
137 1 unsigned char i;
138 1 Delay(20);
139 1 LcdInit();
140 1 while(1)
141 1 {
142 2 for(i=0;i<9;i++)
143 2 {
144 3 FullRAM(HT1621,i);
145 3 DelayKey(100);
146 3 }
147 2 DelayKey(1000);
148 2 }
149 1 }
150
151 unsigned char code HT1621[]={
152 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
153 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
154 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
155 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
156 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
157 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
158 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
159 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
160 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
161 };
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 308 ----
CONSTANT SIZE = 144 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 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 + -