?? hx8303_b.lst
字號(hào):
C51 COMPILER V7.05 HX8303_B 09/11/2005 18:32:58 PAGE 1
C51 COMPILER V7.05, COMPILATION OF MODULE HX8303_B
OBJECT MODULE PLACED IN HX8303_B.OBJ
COMPILER INVOKED BY: C:\Program Files\SiLabs\MCU\IDEfiles\C51\BIN\C51.exe HX8303_B.c DB OE
stmt level source
1 //-----------------------------------------------------------------------------
2 // Copyright (C) 2004 Silicon Laboratories, Inc.
3 //
4 // AUTH: JS
5 // DATE: 03 JUL 02
6 //
7 // This program flashes the green LED on the C8051F31x target board about
8 // five times a second using the interrupt handler for Timer2.
9 //
10 // Target: C8051F31x
11 //
12 // Tool chain: KEIL Eval 'c'
13 //
14
15 //-----------------------------------------------------------------------------
16 // Includes
17 //-----------------------------------------------------------------------------
18 //OSC=24.5MHz
19 /*
20 ; C8051F310
21 ; KEY5 P0.1 1|---=---|32 P0.2 XTAL1
22 ; KEY6 P0.0 2| |31 P0.3 XTAL2
23 ; GND 3| |30 P0.4 KEY1
24 ; VDD 4| |29 P0.5 KEY2
25 ; /RST/C2ACK 5| |28 P0.6 CNVSTR KEY3
26 ; KEY7 P3.0(C2D) 6| |27 P0.7 KEY4
27 ; CS2 P3.1 7| |26 P1.0 D0
28 ; CS1 P3.2 8| |25 P1.1 D1
29 ; RD P3.3 9| |24 P1.2 D2
30 ; WR P3.4 10| |23 P1.3 D3
31 ; RS P2.7 11| |22 P1.4 D4
32 ; MR_B P2.6 12| |21 P1.5 D5
33 ; MWE P2.5 13| |20 P1.6 D6
34 ; MRE P2.4 14| |19 P1.7 D7
35 ; MALE P2.3 15| |18 P2.0 LP
36 ; MCLE P2.2 16|-------|17 P2.1 MCE
37 ;
38 */
39 //=============================
40 #include <c8051f310.h>
41
42 //=============================
43
44 #define uchar unsigned char
45 #define uint unsigned int
46 //=============================
47 uchar xdata buffer[513]; //開辟頁緩存數(shù)組
48 uchar *pointer; //建立數(shù)組指針
49 uchar raddrl; uchar raddrh; //頁尋址的高、低位
50 uchar mydata; //數(shù)據(jù)
51 //=============================
52 sbit KEY3 =P0^6; //fr
53 sbit KEY4 =P0^7; //-
54 sbit KEY2 =P0^5; //+
55 sbit KEY7 =P3^0; //no step
C51 COMPILER V7.05 HX8303_B 09/11/2005 18:32:58 PAGE 2
56 sbit KEY1 =P0^4; //step
57 sbit RD =P3^3;
58 sbit RS =P2^7;
59 sbit WR =P3^4;
60 sbit MR_B =P2^6;
61 sbit MWE =P2^5;
62 sbit MRE =P2^4;
63 sbit MALE =P2^3;
64 sbit MCLE =P2^2;
65 sbit MCE =P2^1;
66 sbit CS1 =P3^2;
67 sbit LP =P2^0;
68 //================
69 sbit LED =P0^0;
70 //=================
71 uchar autorun0,data_out;
72 uint ii,jj,kk,wait_value,aa,bb,cc;
73 int otp_value;
74 //========write instruction===========================================
75 void wr_com8080(uchar x)
76 {
77 1 RS=0;RD=1;WR=1;WR=1;WR=1;P1=x;P1=x;P1=x;WR=0;WR=0;WR=0;WR=0;WR=1;WR=1;WR=1;
78 1 P1=0xff;
79 1 }
80 void wr_com8080_16(uchar XH,XL)
81 {
82 1 RS=0;
83 1 RD=1;
84 1 LP=1;
85 1 WR=1;WR=1;WR=1;
86 1 P1=XH;P1=XH;
87 1 LP=0;
88 1 LP=0;
89 1 P1=XL;P1=XL;
90 1 WR=0;WR=0;WR=0;WR=0;
91 1 WR=1;WR=1;WR=1;
92 1 P1=0xff;
93 1 }
94 //=====write display data==================================================
95 void wr_data8080(uchar x)
96 {
97 1 RS=1;WR=1;WR=1;WR=1;RD=1;P1=x;P1=x;P1=x; WR=0; WR=0; WR=0;WR=0;WR=1;WR=1;WR=1;
98 1 P1=0xff;
99 1 }
100 void wr_data8080_16(uchar XH,XL)
101 {
102 1 RS=1;
103 1 RD=1;
104 1 LP=1;
105 1 WR=1;WR=1;WR=1;
106 1 P1=XH;P1=XH;
107 1 LP=0;
108 1 LP=0;
109 1 P1=XL;P1=XL;
110 1 WR=0; WR=0; WR=0;WR=0;
111 1 WR=1;WR=1;WR=1;
112 1 P1=0xff;
113 1 }
114 //=========================================================
115 void coordinate(uchar col,page)
116 {
117 1 //RAM Address Set (R21h)
C51 COMPILER V7.05 HX8303_B 09/11/2005 18:32:58 PAGE 3
118 1 wr_com8080_16(0x00,0x21);
119 1 wr_data8080_16(page,col);
120 1 }
121 //=========delay without key==========================================
122 void DelayX1ms(uchar count)
123 {
124 1 uchar i,j,k;
125 1 for(i=0;i<count;i++)
126 1 for(j=0;j<40;j++)
127 1 for(k=0;k<120;k++)
128 1 {
129 2 ;
130 2 }
131 1 }
132 //=====================================================================
133 void DelayX10ms(uint count)
134 {
135 1 uint i,j,k;
136 1 for(i=0;i<count;i++)
137 1 for(j=0;j<10;j++)
138 1 for(k=0;k<120;k++)
139 1 {
140 2 ;
141 2 }
142 1 }
143 //====================================================================
144 void Delay50us(uchar count)
145 {
146 1 uchar i,j;
147 1 for(j=0;j<count;j++)
148 1 for(i=0;i<6;i++)
149 1 {
150 2 ;
151 2 }
152 1 }
153 //=======================================================================
154 void key_wait(uint count)
155 {
156 1 uint i,j,k;
157 1 if(autorun0==0)
158 1 {
159 2 for(i=0;i<count;i++)
160 2 for(j=0;j<10;j++)
161 2 for(k=0;k<20;k++)
162 2 {
163 3 if(KEY1!=1)
164 3 {
165 4 autorun0=1;
166 4 goto next;
167 4 }
168 3 //==========================
169 3 if(KEY7==0)
170 3 {
171 4 while(KEY7==0)
172 4 {
173 5 ;
174 5 }
175 4 kk=1000;
176 4 while(KEY7==0)
177 4 {
178 5 ;
179 5 }
C51 COMPILER V7.05 HX8303_B 09/11/2005 18:32:58 PAGE 4
180 4 goto next;
181 4 }
182 3 //==========================
183 3 if(KEY3==0)
184 3 {
185 4 while(KEY3==0)
186 4 {
187 5 ;
188 5 }
189 4 DelayX10ms(25);
190 4 while(KEY3==0)
191 4 {
192 5 ;
193 5 }
194 4 if(wait_value==40)
195 4 wait_value=70;
196 4 else if(wait_value==70)
197 4 wait_value=110;
198 4 else if(wait_value==110)
199 4 wait_value=180;
200 4 else
201 4 wait_value=40;
202 4 goto next;
203 4 }
204 3 }
205 2 }
206 1 else
207 1 {
208 2 while(1)
209 2 {
210 3 if(KEY1!=1)
211 3 {
212 4 for(i=0;i<100;i++)
213 4 for(j=0;j<100;j++)
214 4 {
215 5 ;
216 5 }
217 4 goto next;
218 4 }
219 3 //==============================
220 3 if(KEY7!=1)
221 3 {
222 4 while(KEY7!=1)
223 4 {
224 5 ;
225 5 }
226 4 kk=1000;
227 4 goto next;
228 4 }
229 3 //==========================
230 3 DelayX10ms(25);
231 3 if(KEY2==0)
232 3 {
233 4 while(KEY2==0)
234 4 {
235 5 ;
236 5 }
237 4 /*wr_com8080(0x2a);
238 4 otp_value=otp_value+1;
239 4 if(otp_value==256)
240 4 otp_value=0xff;
241 4 wr_com8080(otp_value);*/
C51 COMPILER V7.05 HX8303_B 09/11/2005 18:32:58 PAGE 5
242 4 }
243 3 //==========================
244 3 if(KEY4==0)
245 3 {
246 4 while(KEY4==0)
247 4 {
248 5 ;
249 5 }
250 4 /*wr_com8080(0x2a);
251 4 otp_value=otp_value-1;
252 4 if(otp_value==-1)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -