📄 spwm_16k.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL2
Serial number: HCPIC-88888 Sun May 4 16:56:59 2008
Licensed to: ONE TWO
1 processor 16F876A
2 opt pw 79
3 psect __Z88888RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect config,global,class=CONFIG,delta=2
6 psect strings,global,class=STRING,delta=2
7 psect const1,local,class=CONST,delta=2
8 psect text2,local,class=CODE,delta=2
9 psect text3,local,class=CODE,delta=2
10 psect text4,local,class=CODE,delta=2
11 psect intcode,global,class=CODE,delta=2
12 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
13 psect intret,global,class=CODE,delta=2
14 psect intentry,global,class=CODE,delta=2
15 psect intsave,global,class=BANK0,space=1,delta
+ =1
16 psect text6,local,class=CODE,delta=2
17 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
18 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
19 psect rbss_1,global,class=BANK1,space=1,delta=
+ 1
20 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
21 0000
22 0000
23 0000
24 0000
25 0000
26 0000
27 0000
28 0000
29 0000
30 0000
31
32 psect __Z88888RS_
33 0190
34 0190 ;#
35
36 psect text0
37 064B _DELAY
38 ; _i assigned to ?a_DELAY+0
39 0000 _DELAY$i set ?a_DELAY
40 ;SPWM_16K.c: 34: unsigned int i;
41 064B 30D0 movlw 208
42 064C 0183 clrf 3 ;select bank 0
43 064D 00A2 movwf ?a_DELAY
44 064E 3007 movlw 7
45 064F 00A3 movwf ?a_DELAY+1
46 0650 l2
47 0650 0064 clrwdt ;#
48 0651 08A2 movf ?a_DELAY
49 0652 1903 btfsc 3,2
50 0653 03A3 decf ?a_DELAY+1
51 0654 03A2 decf ?a_DELAY
52 0655 0823 movf ?a_DELAY+1,w
53 0656 0422 iorwf ?a_DELAY,w
54 0657 1903 btfsc 3,2
55 0658 0008 return
56 0659 2E50 goto l2
57
58 psect config
59 2007 1FF6 dw 8182 ;#
60
61 psect const1
62 0073 0782 addwf 2
63 0074 _PWM_TAB
64 0074 3400 retlw 0
65 0075 3419 retlw 25
66 0076 3432 retlw 50
67 0077 344A retlw 74
68 0078 3462 retlw 98
69 0079 3478 retlw 120
70 007A 348E retlw -114
71 007B 34A2 retlw -94
72 007C 34B4 retlw -76
73 007D 34C5 retlw -59
74 007E 34D4 retlw -44
75 007F 34E1 retlw -31
76 0080 34EB retlw -21
77 0081 34F4 retlw -12
78 0082 34FA retlw -6
79 0083 34FE retlw -2
80 0084 34FF retlw -1
81 0085 34FE retlw -2
82 0086 34FA retlw -6
83 0087 34F4 retlw -12
84 0088 34EB retlw -21
85 0089 34E1 retlw -31
86 008A 34D4 retlw -44
87 008B 34C5 retlw -59
88 008C 34B4 retlw -76
89 008D 34A2 retlw -94
90 008E 348E retlw -114
91 008F 3478 retlw 120
92 0090 3462 retlw 98
93 0091 344A retlw 74
94 0092 3432 retlw 50
95 0093 3419 retlw 25
96
97 psect text2
98 ;SPWM_16K.c: 74: void CCP_Init(void)
99 ;SPWM_16K.c: 75: {
100 065A _CCP_Init
101 ;SPWM_16K.c: 76: CCPR2L = 0X00;
102 065A 0183 clrf 3 ;select bank 0
103 065B 019B clrf 27 ;volatile
104 ;SPWM_16K.c: 77: CCPR1L = 0X00;
105 065C 0195 clrf 21 ;volatile
106 ;SPWM_16K.c: 78: TRISC1 = 0;
107 065D 1683 bsf 3,5
108 065E 1087 bcf 7,1
109 ;SPWM_16K.c: 79: TRISC2 = 0;
110 065F 1107 bcf 7,2
111 ;SPWM_16K.c: 80: TRISC = 0X00;
112 0660 0187 clrf 7 ;volatile
113 ;SPWM_16K.c: 81: PR2 = 0XFF;
114 0661 30FF movlw -1
115 0662 0092 movwf 18 ;volatile
116 ;SPWM_16K.c: 82: CCP1M3 = 1;
117 0663 1283 bcf 3,5
118 0664 1597 bsf 23,3
119 ;SPWM_16K.c: 83: CCP1M2 = 1;
120 0665 1517 bsf 23,2
121 ;SPWM_16K.c: 84: CCP2M3 = 1;
122 0666 159D bsf 29,3
123 ;SPWM_16K.c: 85: CCP2M2 = 1;
124 0667 151D bsf 29,2
125 ;SPWM_16K.c: 86: sin_up = 1;
126 0668 14A0 bsf _sin_up/(0+8),_sin_up& (0+7)
127 ;SPWM_16K.c: 87: index = 0;
128 0669 01A1 clrf _index
129 ;SPWM_16K.c: 88: sin_am = 1;
130 066A 1683 bsf 3,5
131 066B 01A1 clrf _sin_am^(0+128)
132 066C 3080 movlw 128
133 066D 00A2 movwf (_sin_am+1)^(0+128)
134 066E 303F movlw 63
135 066F 00A3 movwf (_sin_am+2)^(0+128)
136 ;SPWM_16K.c: 89: }
137 0670 1283 bcf 3,5
138 0671 0008 return
139 ;SPWM_16K.c: 44: void port_init(void)
140 ;SPWM_16K.c: 45: {
141 0672 _port_init
142 ;SPWM_16K.c: 56: TRISC = 0x00;
143 0672 1683 bsf 3,5
144 0673 1303 bcf 3,6 ;carry unused
145 0674 0187 clrf 7 ;volatile
146 ;SPWM_16K.c: 57: PORTC = 0;
147 0675 1283 bcf 3,5
148 0676 0187 clrf 7 ;volatile
149 ;SPWM_16K.c: 66: }
150 0677 0008 return
151 ;SPWM_16K.c: 163: main(void)
152 ;SPWM_16K.c: 164: {
153 0678 _main
154 ;SPWM_16K.c: 165: OPTION = 0x0F;
155 0678 300F movlw 15
156 0679 1683 bsf 3,5
157 067A 1303 bcf 3,6 ;carry unused
158 067B 0081 movwf 1
159 ;SPWM_16K.c: 167: asm("clrwdt");
160 067C 0064 clrwdt ;#
161 ;SPWM_16K.c: 168: port_init();
162 067D 2672 fcall _port_init
163 ;SPWM_16K.c: 170: PEIE = 1;
164 067E 170B bsf 11,6
165 ;SPWM_16K.c: 171: GIE = 1;
166 067F 178B bsf 11,7
167 ;SPWM_16K.c: 173: TMR1CS = 0;
168 0680 1090 bcf 16,1
169 ;SPWM_16K.c: 174: T1SYNC = 0;
170 0681 1110 bcf 16,2
171 ;SPWM_16K.c: 175: TMR1H = 0xFD;
172 0682 30FD movlw -3
173 0683 008F movwf 15 ;volatile
174 ;SPWM_16K.c: 176: TMR1L = 0x10;
175 0684 3010 movlw 16
176 0685 008E movwf 14 ;volatile
177 ;SPWM_16K.c: 177: TMR1IE = 1;
178 0686 1683 bsf 3,5
179 0687 140C bsf 12,0
180 ;SPWM_16K.c: 178: TMR1ON = 1;
181 0688 1283 bcf 3,5
182 0689 1410 bsf 16,0
183 ;SPWM_16K.c: 180: TOUTPS3 = 0;
184 068A 1312 bcf 18,6
185 ;SPWM_16K.c: 181: TOUTPS2 = 1;
186 068B 1692 bsf 18,5
187 ;SPWM_16K.c: 182: TOUTPS1 = 0;
188 068C 1212 bcf 18,4
189 ;SPWM_16K.c: 183: TOUTPS0 = 0;
190 068D 1192 bcf 18,3
191 ;SPWM_16K.c: 184: TMR2IE = 1;
192 068E 1683 bsf 3,5
193 068F 148C bsf 12,1
194 ;SPWM_16K.c: 185: TMR2ON = 1;
195 0690 1283 bcf 3,5
196 0691 1512 bsf 18,2
197 ;SPWM_16K.c: 187: CCP_Init();
198 0692 265A fcall _CCP_Init
199 0693 l18
200 ;SPWM_16K.c: 190: while(1)
201 ;SPWM_16K.c: 191: {
202 0693 0064 clrwdt ;#
203 ;SPWM_16K.c: 193: if( b_timer_ok )
204 0694 1C20 btfss _b_timer_ok/(0+8),_b_timer_ok& (0+7)
205 0695 2E93 goto l18
206 ;SPWM_16K.c: 194: {
207 0696 1020 bcf _b_timer_ok/(0+8),_b_timer_ok& (0+7)
208 ;SPWM_16K.c: 197: }
209 0697 2E93 goto l18
210
211 psect text3
212 ;SPWM_16K.c: 97: void ISR_CCP(void)
213 ;SPWM_16K.c: 98: {
214 0698 _ISR_CCP
215 ;SPWM_16K.c: 99: if(index == 31)
216 0698 0183 clrf 3 ;select bank 0
217 0699 0821 movf _index,w
218 069A 3A1F xorlw 31
219 069B 1D03 btfss 3,2
220 069C 2EA0 goto l8
221 ;SPWM_16K.c: 100: {
222 069D 01A1 clrf _index
223 ;SPWM_16K.c: 102: sin_up = !sin_up;
224 069E 3002 movlw (0+1) shl (_sin_up& (0+7))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -