📄 wave.lst
字号:
C51 COMPILER V8.02 WAVE 08/19/2007 10:03:35 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE WAVE
OBJECT MODULE PLACED IN wave.OBJ
COMPILER INVOKED BY: E:\kei3\C51\BIN\C51.EXE wave.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <absacc.h>
2 #include"reg52.h"
3 #define DA0832_1 PBYTE[0xff]
4 #define DA0832_2 XBYTE[0xfdff]
5 #define uchar unsigned char
6 #define uint unsigned int
7
8 sbit WR2_XFER=P2^2;
9 sbit cs=P2^0;
10
11 // define user keyboard begin
12 sbit mode=P1^0;
13 sbit inc=P1^1;
14 sbit dec=P1^2;
15
16 bdata uchar oldk;
17 sbit old_dec=oldk^6;
18 sbit old_inc=oldk^5;
19 sbit old_mode=oldk^4;
20
21 bdata uchar act_key;
22 sbit act_dec=act_key^6;
23 sbit act_inc=act_key^5;
24 sbit act_mode=act_key^4;
25
26 bdata uchar key;
27 sbit ktmp=key^7;
28 sbit keyfast=key^4;
29
30 uchar keycn;
31
32 // define user keyboard end
33
34
35 uchar code sintab[]={128,131,134,137,140,144,147,150,153,156,159,
36 162,165,168,171,174,177,179,182,185,188,191,193,196,199,201,204,
37 206,209,211,213,216,218,220,222,224,226,228,230,232,234,235,237,
38 239,240,241,243,244,245,246,248,249,250,250,251,252,253,253,254,
39 254,254,255,255,255,255,255,255,255,254,254,254,253,253,252,251,
40 250,250,249,248,246,245,244,243,241,240,239,237,235,234,232,230,
41 228,226,224,222,220,218,216,213,211,209,206,204,201,199,196,193,
42 191,188,185,182,179,177,174,171,168,165,162,159,156,153,150,147,
43 144,140,137,134,131,128,125,122,119,116,112,109,106,103,100,97,
44 94,91,88,85,82,79,77,74,71,68,65,63,60,57,55,52,50,47,45,43,40,
45 38,36,34,32,30,28,26,24,22,21,19,17,16,15,13,12,11,10,8,7,6,6,5,
46 4,3,3,2,2,2,1,1,1,1,1,1,1,2,2,2,3,3,4,5,6,6,7,8,10,11,12,13,15,
47 16,17,19,21,22,24,26,28,30,32,34,36,38,40,43,45,47,50,52,55,57,
48 60,63,65,68,71,74,77,79,82,85,88,91,94,97,100,103,106,109,112,
49 116,119,122,125,128,131,134,137,140,144,147,150,153,156,159,
50 162,165,168,171,174,177,179,182,185,188,191,193,196,199,201,204,
51 206,209,211,213,216,218,220,222,224,226,228,230,232,234,235,237,
52 239,240,241,243,244,245,246,248,249,250,250,251,252,253,253,254,
53 254,254,255,255,255,255,255,255,255,254,254,254,253,253,252,251,
54 250,250,249,248,246,245,244,243,241,240,239,237,235,234,232,230,
55 228,226,224,222,220,218,216,213,211,209,206,204,201,199,196,193,
C51 COMPILER V8.02 WAVE 08/19/2007 10:03:35 PAGE 2
56 191,188,185,182,179,177,174,171,168,165,162,159,156,153,150,147,
57 144,140,137,134,131,128,125,122,119,116,112,109,106,103,100,97,
58 94,91,88,85,82,79,77,74,71,68,65,63,60,57,55,52,50,47,45,43,40,
59 38,36,34,32,30,28,26,24,22,21,19,17,16,15,13,12,11,10,8,7,6,6,5,
60 4,3,3,2,2,2,1,1,1,1,1,1,1,2,2,2,3,3,4,5,6,6,7,8,10,11,12,13,15,
61 16,17,19,21,22,24,26,28,30,32,34,36,38,40,43,45,47,50,52,55,57,
62 60,63,65,68,71,74,77,79,82,85,88,91,94,97,100,103,106,109,112,
63 116,119,122,125};
64
65 void keysan()
66 {ktmp=mode; //---scan mode key down
67 1 if(!old_mode&ktmp)act_mode=0;
68 1 if(old_mode&!ktmp)act_mode=1;
69 1 old_mode=ktmp;
70 1
71 1 ktmp=inc; //---scan inc key down
72 1 if(old_inc&!ktmp){act_inc=1;keycn=0;keyfast=0;}
73 1 if(!old_inc&ktmp){act_inc=0;keyfast=0;}
74 1 if(!old_inc&!ktmp)
75 1 {++keycn;
76 2 if(keycn==0x20)
77 2 {act_inc=1;
78 3 keyfast=1;keycn=0;}
79 2 }
80 1 old_inc=ktmp;
81 1
82 1 ktmp=dec; //---scan dec key down
83 1 if(old_dec&!ktmp){act_dec=1;keycn=0;keyfast=0;}
84 1 if(!old_dec&ktmp){act_dec=0;keyfast=0;}
85 1 if(!old_dec&!ktmp)
86 1 {++keycn;
87 2 if(keycn==0x20)
88 2 {act_dec=1;
89 3 keyfast=1;keycn=0;
90 3 }
91 2 }
92 1 old_dec=ktmp;
93 1 }
94
95
96 void main()
97 {uchar i,j=0,initial=255;cs=0;
98 1
99 1 TMOD=0x02; //设置定时器T0工作方式2
100 1 TH0=256-initial;
101 1 TL0=256-initial;
102 1 TR0=1;
103 1
104 1
105 1 for(i=0;i<256;i++)
106 1 { keysan();
107 2 if(act_mode==1)
108 2 { act_mode=0;
109 3 j=j+32;
110 3 }
111 2 else
112 2 j=j;
113 2 if(act_inc==1)
114 2 {act_inc=0;
115 3 if(keyfast==0)
116 3 {
117 4 if(initial>5)initial-=5;
C51 COMPILER V8.02 WAVE 08/19/2007 10:03:35 PAGE 3
118 4 else
119 4 initial=initial;
120 4 }
121 3 else
122 3 {keyfast=1;
123 4 if(initial>80)initial-=80;
124 4 else
125 4 initial=initial;
126 4 }
127 3
128 3 }
129 2 if(act_dec==1)
130 2 {act_dec=0;
131 3 if(keyfast==0)
132 3 {
133 4 if(initial<=250)initial+=5;
134 4 else
135 4 initial=initial;
136 4 }
137 3 else
138 3 {keyfast=1;
139 4 if(initial<=175)initial+=80;
140 4 else
141 4 initial=initial;
142 4 }
143 3
144 3 }
145 2
146 2
147 2
148 2 if(TF0==1)
149 2 {TF0=0;
150 3 TR0=0;
151 3 TH0=256-initial;
152 3 TL0=256-initial;
153 3 TR0=1;
154 3 WR2_XFER=1;
155 3 DA0832_1=sintab[i];
156 3 DA0832_2=sintab[i+j];
157 3 WR2_XFER=0;
158 3 }
159 2
160 2 }
161 1 }
162
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 298 ----
CONSTANT SIZE = 512 ----
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 + -