📄 ht1621.lst
字号:
C51 COMPILER V7.09 HT1621 11/22/2006 19:25:45 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE HT1621
OBJECT MODULE PLACED IN ht1621.OBJ
COMPILER INVOKED BY: C:\Keil\C51\Bin\c51.exe ht1621.c DB OE SMALL ROM(LARGE)
line level source
1 #include <stdio.h>
2 #include <intrins.h>
3 #include <reg52.h>
4
5 sbit CS1=P3^0;
6 sbit WRR=P3^2;
7 sbit DI=P3^1;
8 sbit GO=P3^3;
9
10 void DelayXms(unsigned int i)
11 {
12 1 unsigned char a;
13 1 unsigned int b;
14 1 for(b=0;b<i;b++)
15 1 for(a=0;a<255;a++);
16 1 }
17
18 void Wait()
19 {
20 1 while(1)
21 1 {
22 2 if(GO==0)
23 2 {
24 3 DelayXms(500);
25 3 return;
26 3 }
27 2 }
28 1 }
29
30
31 Write()
32 {
33 1 WRR=1;
34 1 _nop_();
35 1 _nop_();
36 1 _nop_();
37 1 _nop_();
38 1 _nop_();
39 1 _nop_();
40 1 WRR=0;
41 1 _nop_();
42 1 _nop_();
43 1 _nop_();
44 1 _nop_();
45 1 _nop_();
46 1 _nop_();
47 1 }
48
49 void write_cmd(unsigned char cmd)
50 {
51 1 unsigned char j,mask;
52 1 CS1=0;
53 1 WRR=0;
54 1 DI=1;
55 1 Write();
C51 COMPILER V7.09 HT1621 11/22/2006 19:25:45 PAGE 2
56 1 DI=0;
57 1 Write();
58 1 DI=0;
59 1 Write();
60 1 for(j=0, mask=0x80; j<8; j++, mask>>=1 )
61 1 {
62 2 if( (cmd & mask) != 0 )
63 2 DI=1;
64 2 else
65 2 DI=0;
66 2 Write();
67 2 }
68 1 WRR=1;
69 1 DI=0;
70 1 CS1=1;
71 1 }
72
73 void write_dat(unsigned char add,unsigned char dat)
74 {
75 1 unsigned char j,mask;
76 1 CS1=0;
77 1 WRR=0;
78 1 DI=1;
79 1 Write();
80 1 DI=0;
81 1 Write();
82 1 DI=1;
83 1 Write();
84 1 for(j=0, mask=0x20; j<6; j++, mask>>=1 )
85 1 {
86 2 if(( add & mask)!=0 )
87 2 DI=1;
88 2 else
89 2 DI=0;
90 2 Write();
91 2 }
92 1 for(j=0, mask=0x01; j<4; j++, mask<<=1 )
93 1 {
94 2 if(( dat & mask) != 0 )
95 2 DI=1;
96 2 else
97 2 DI=0;
98 2 Write();
99 2 }
100 1 CS1=1;
101 1 }
102
103
104 void ht1621initial(void)
105 {
106 1 write_cmd(0x01); //SYS EN
107 1 write_cmd(0x18); //RC 256k
108 1 write_cmd(0x03); //LCD ON
109 1 write_cmd(0x29); //BIAS
110 1 }
111
112 void Display(unsigned char d)
113 {
114 1 unsigned char i;
115 1 for(i=0;i<29;i++)
116 1 write_dat(i,d);
117 1 }
C51 COMPILER V7.09 HT1621 11/22/2006 19:25:45 PAGE 3
118 void main(void)
119 {
120 1 ht1621initial();
121 1 while(1)
122 1 {
123 2 Display(0xff);
124 2 Wait();
125 2 Display(0x00);
126 2 Wait();
127 2 Display(0x55);
128 2 Wait();
129 2 Display(0xaa);
130 2 Wait();
131 2 Display(0x33);
132 2 Wait();
133 2 Display(0xCC);
134 2 Wait();
135 2 }
136 1 }
137
138
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 265 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -