📄 eg1206f4.lst
字号:
C51 COMPILER V8.02 EG1206F4 02/17/2009 17:44:47 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE EG1206F4
OBJECT MODULE PLACED IN EG1206F4.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE EG1206F4.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*ic splc502b-c
2 vop:8.7v write by dices */
3 #include<reg52.h>
4
5 sbit rs=P3^6;
6 sbit rd=P3^5;
7 sbit res=P3^7;
8 sbit cs=P3^1;
9 sbit wr=P3^0;
10
11 unsigned char ratio;
12 unsigned char refer;
13 unsigned char data1;
14 unsigned char data2;
15 extern unsigned char code piture[];
16 extern unsigned char code piture1[];
17 //extern unsigned char code picture2[];
18
19 void write_data(unsigned char data3);
20 void write_com(unsigned char com);
21 void ini(void);
22 void delay(unsigned char d);
23 void wdot(unsigned char d1,unsigned char d2);
24 void display(void);
25 void dispaly_map(unsigned char e[]);
26 void main()
27 {
28 1 EA=1;
29 1 PX1=1;
30 1 IT1=1;
31 1 EX1=1;
32 1 ratio=0x25;
33 1 refer=26;
34 1 ini();
35 1 while(1)
36 1 {
37 2 dispaly_map(piture);
38 2 display();
39 2 dispaly_map(piture1);
40 2 }
41 1 }
42 void write_data(unsigned char data3)
43 {
44 1 rs=1;
45 1 cs=0;
46 1 rd=1;
47 1 wr=0;
48 1 P1=data3;
49 1 delay(1);
50 1 wr=1;
51 1 cs=1;
52 1 //delay(10);
53 1
54 1
55 1 }
C51 COMPILER V8.02 EG1206F4 02/17/2009 17:44:47 PAGE 2
56 void write_com(unsigned char com)
57 {
58 1 rs=0;
59 1 cs=0;
60 1 rd=1;
61 1 wr=0;
62 1 P1=com;
63 1 delay(1);
64 1 wr=1;
65 1 cs=1;
66 1 //delay(10);
67 1
68 1 }
69 void zd(void)interrupt 1 using 0
70 {
71 1 unsigned char InputKey;
72 1 P2=0x0f;
73 1 InputKey=P2;
74 1
75 1 switch(InputKey)
76 1 {
77 2 case 0x0b:
78 2 if(refer<64){ ++refer;ini(); }
79 2 break;
80 2 case 0x0e:
81 2 if(refer>0) { --refer;ini();}
82 2 break;
83 2 default:
84 2 break;
85 2 }
86 1 }
87 void ini(void)
88 {
89 1 res=1;
90 1 delay(1000);
91 1 res=0;
92 1 delay(1000);
93 1 res=1;
94 1 write_com(0xe2);
95 1 delay(1000); //reset
96 1 write_com(0xa0); //adc
97 1 write_com(0x40); //start line
98 1 write_com(0xc0); //common dir
99 1 write_com(0xa2); //a2 1/9 a3 1/7
100 1 write_com(ratio); //
101 1 write_com(0x81); //
102 1 write_com(refer); //
103 1 write_com(0x2f); //power control
104 1 write_com(0xaf); //display on
105 1
106 1
107 1 }
108 void dispaly_map(unsigned char e[])
109 { unsigned char p;
110 1 unsigned char w;
111 1 unsigned char k;
112 1 unsigned char i;
113 1 i=0;
114 1 k=0xb0;
115 1 for(w=0;w<8;w++)
116 1 {
117 2 write_com(k+w); //pages
C51 COMPILER V8.02 EG1206F4 02/17/2009 17:44:47 PAGE 3
118 2 write_com(0x10); //seg 0
119 2 write_com(0x00);
120 2 for(p=0;p<128;p++)
121 2 {
122 3
123 3 write_data(e[w*128+p]);
124 3
125 3 }
126 2 }
127 1 delay(5000);
128 1 }
129 void display()
130 {
131 1 wdot(0xff,0xff);
132 1 wdot(0x00,0x00);
133 1 wdot(0xaa,0xaa);
134 1 wdot(0x55,0x55);
135 1 wdot(0x00,0xff);
136 1 wdot(0xff,0x00);
137 1 wdot(0xaa,0x55);
138 1 wdot(0x55,0xaa);
139 1 }
140 //-----------------------------------
141 void wdot(unsigned char d1,unsigned char d2)
142 {
143 1 unsigned char k;
144 1 unsigned char p;
145 1 unsigned char w;
146 1 k=0xb0;
147 1 for(w=0;w<8;w++)
148 1 {
149 2 write_com(k+w); //page set
150 2 write_com(0x10); //column addr set upper
151 2 write_com(0x00); //column addr set lower
152 2 for(p=0;p<64;p++)
153 2 {
154 3 write_data(d1);
155 3 write_data(d2);
156 3 }
157 2 }
158 1 delay(1000);
159 1 }
160 void delay(unsigned char d)
161 {
162 1 int k;
163 1 int t;
164 1 for(k=30;k>0;k--)
165 1 {
166 2 for(t=0;t<d;t++)
167 2 {}
168 2 }
169 1 }
170
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 445 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 12
IDATA SIZE = ---- ----
C51 COMPILER V8.02 EG1206F4 02/17/2009 17:44:47 PAGE 4
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 + -