?? wave_1.lst
字號:
C51 COMPILER V8.02 WAVE_1 08/15/2007 17:55:55 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE WAVE_1
OBJECT MODULE PLACED IN .\wave_1.obj
COMPILER INVOKED BY: E:\kei3\C51\BIN\C51.EXE ..\wave_5615_1\wave_1.c BROWSE DEBUG OBJECTEXTEND PRINT(.\wave_1.lst) OBJEC
-T(.\wave_1.obj)
line level source
1 #include"reg52.h"
2 #include"stdio.h"
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 sbit SPI_CLK=P2^0;
7 sbit SPI_DATA1=P2^2;
8 sbit SPI_DATA2=P2^3;
9 sbit CS_DA=P2^1;
10
11 // define user keyboard begin
12 sbit mode=P1^0;
13 sbit inc=P1^1;
14 sbit dec=P1^2;
15 //sbit enter=P2^4;
16 //sbit key1=P3^4;
17 //sbit key2=P2^3;
18
19 bdata uchar oldk;
20 //sbit old_enter=oldk^7;
21 sbit old_dec=oldk^6;
22 sbit old_inc=oldk^5;
23 sbit old_mode=oldk^4;
24 //sbit old_key1=oldk^3;
25 //sbit old_key2=oldk^2;
26
27 bdata uchar act_key;
28 //sbit act_enter=act_key^7;
29 sbit act_dec=act_key^6;
30 sbit act_inc=act_key^5;
31 sbit act_mode=act_key^4;
32 //sbit act_key1=act_key^3;
33 //sbit act_key2=act_key^2;
34
35 bdata uchar key;
36 sbit ktmp=key^7;
37 //sbit scankey=key^6;
38 //sbit scanmd=key^5;
39 sbit keyfast=key^4;
40 //sbit act_save=key^3;
41 //sbit old_save=key^2;
42 //sbit modifyp=key^1;
43 //sbit key0=key^0;
44
45 uchar keycn;
46 uint initial=100;
47
48 /*uchar keydelaycn=0x40;
49 uchar temp;
50 uint Itemp;
51 uint adc_in,dac_set;
52 ulong ad_val;
53 ulong da_val;
54 uint dat_wr,dat_rd; */
C51 COMPILER V8.02 WAVE_1 08/15/2007 17:55:55 PAGE 2
55 // define user keyboard end
56
57 void delay_1(uchar);
58 void delay_2();
59 void da(uint da1,da2,n);
60
61 uint code sintab[]={512,525,537,550,562,575,587,599,612,624,636,
62 648,660,672,684,696,708,719,730,742,753,764,775,785,796,806,816,
63 826,836,846,855,864,873,882,891,899,907,915,922,930,937,944,950,
64 957,963,968,974,979,984,989,993,997,1001,1004,1008,1011,1013,1015,
65 1017,1019,1021,1022,1022,1023,1023,1023,1022,1022,1021,1019,1017,
66 1015,1013,1011,1008,1004,1001,997,993,989,984,979,974,968,963,957,
67 950,944,937,930,922,915,907,899,891,882,873,864,855,846,836,826,
68 816,806,796,785,775,764,753,742,730,719,708,696,684,672,660,648,
69 636,624,612,599,587,575,562,550,537,525,512,499,487,474,462,449,
70 437,425,412,400,388,376,364,352,340,328,316,305,294,282,271,260,
71 249,239,228,218,208,198,188,178,169,160,151,142,133,125,117,109,
72 102,94,87,80,74,67,61,56,50,45,40,35,31,27,23,20,16,13,11,9,7,5,
73 3,2,2,1,1,1,2,2,3,5,7,9,11,13,16,20,23,27,31,35,40,45,50,56,61,67,
74 74,80,87,94,102,109,117,125,133,142,151,160,169,178,188,198,208,218,
75 228,239,249,260,271,282,294,305,316,328,340,352,364,376,388,400,412,
76 425,437,449,462,474,487,499,510};
77
78 void da(uint da1,da2)
79 {
*** WARNING C236 IN LINE 79 OF ..\WAVE_5615_1\WAVE_1.C: '_da': different length of parameter lists
80 1 uchar i;
81 1 da1<<=6;
82 1 da2<<=6;
83 1 CS_DA=0;
84 1 SPI_CLK=0;
85 1
86 1 for (i=0;i<12;i++)
87 1 {
88 2 SPI_DATA1=(bit)(da1&0x8000); //用CY的左移也可(da<<=1;SPI_DATA=CY;)
89 2 SPI_DATA2=(bit)(da2&0x8000);
90 2 delay_1(5);
91 2 SPI_CLK=1;
92 2
93 2 da1<<=1;
94 2 da2<<=1;
95 2 delay_1(5);
96 2 SPI_CLK=0;
97 2 }
98 1
99 1
100 1 CS_DA=1;
101 1 SPI_CLK=0;
102 1
103 1 }
104
105
107 {
108 1 while (i--);
109 1 }
110
111 void delay_2() //去抖動,延時10ms子程序
112 { uint x=10;
113 1 uchar i;
114 1 while((x--)!=0)
115 1 {
C51 COMPILER V8.02 WAVE_1 08/15/2007 17:55:55 PAGE 3
116 2 for(i=0;i<125;i++)
117 2 {;}
118 2 }
119 1 }
120
121
122
123
124 void keysan()
125 {ktmp=mode; //---scan mode key down
126 1 if(!old_mode&ktmp)act_mode=0;
127 1 if(old_mode&!ktmp)act_mode=1;
128 1 old_mode=ktmp;
129 1
130 1 ktmp=inc; //---scan inc key down
131 1 if(old_inc&!ktmp){act_inc=1;keycn=0;keyfast=0;}
132 1 if(!old_inc&ktmp){act_inc=0;keyfast=0;}
133 1 if(!old_inc&!ktmp)
134 1 {++keycn;
135 2 if(keycn==0x20)
136 2 {act_inc=1;
137 3 keyfast=1;keycn=0;}
138 2 }
139 1 old_inc=ktmp;
140 1
141 1 ktmp=dec; //---scan dec key down
142 1 if(old_dec&!ktmp){act_dec=1;keycn=0;keyfast=0;}
143 1 if(!old_dec&ktmp){act_dec=0;keyfast=0;}
144 1 if(!old_dec&!ktmp)
145 1 {++keycn;
146 2 if(keycn==0x20)
147 2 {act_dec=1;
148 3 keyfast=1;keycn=0;
149 3 }
150 2 }
151 1 old_dec=ktmp;
152 1 }
153
154 void main()
155 { uint i,j=0;
156 1 P1=0xff;
157 1 P2=0xff;
158 1
159 1 TMOD=0x02; //設置定時器T0工作方式2
160 1 TH0=256-initial;
161 1 TL0=256-initial;
162 1 TR0=1;
163 1
164 1 while(1)
165 1 {
166 2 for(i=0;i<256;i++,j++)
167 2 { if(j>=255)
168 3 j=0;
169 3 keysan();
170 3 // printf("act_mod= %d",act_mode);
171 3 if(act_mode==1)
172 3 { act_mode=0;
173 4 j=j+32;
174 4 }
175 3 else
176 3 j=j;
177 3 if(act_inc==1)
C51 COMPILER V8.02 WAVE_1 08/15/2007 17:55:55 PAGE 4
178 3 {act_inc=0;
179 4 if(keyfast==0)
180 4 {
181 5 if(initial>5)initial-=5;
182 5 else
183 5 initial=initial;
184 5 }
185 4 else
186 4 {keyfast=1;
187 5 if(initial>80)initial-=80;
188 5 else
189 5 initial=initial;
190 5 }
191 4
192 4 }
193 3 if(act_dec==1)
194 3 {act_dec=0;
195 4 if(keyfast==0)
196 4 {
197 5 if(initial<=250)initial+=5;
198 5 else
199 5 initial=initial;
200 5 }
201 4 else
202 4 {keyfast=1;
203 5 if(initial<=175)initial+=80;
204 5 else
205 5 initial=initial;
206 5 }
207 4
208 4 }
209 3
210 3 if(TF0==1)
211 3 {TF0=0;
212 4 da(sintab[i],sintab[j]);
213 4 TR0=0;
214 4 TH0=256-initial;
215 4 TL0=256-initial;
216 4 TR0=1;
217 4
218 4 }
219 3 else
220 3 { i--;
221 4 j--;}
222 3 }
223 2
224 2 }
225 1
226 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 576 ----
CONSTANT SIZE = 514 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 9
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -