📄 tyn-001.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05
Serial number: HCPIC-11111 Thu Jul 19 01:11:59 2007
Licensed to: FREE USER
1 processor 16F716
2 opt pw 79
3 psect __Z11111RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text1,local,class=CODE,delta=2
6 psect intcode,global,class=CODE,delta=2
7 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
8 psect intret,global,class=CODE,delta=2
9 psect intentry,global,class=CODE,delta=2
10 psect intsave,global,class=BANK0,space=1,delta
+ =1
11 psect text2,local,class=CODE,delta=2
12 psect text3,local,class=CODE,delta=2
13 psect text4,local,class=CODE,delta=2
14 psect text5,local,class=CODE,delta=2
15 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26
27 psect __Z11111RS_
28 00A0
29 00A0
30
31 psect text0
32 0678 _DelayMs
33 ; _cnt assigned to ?a_DelayMs+0
34 0000 _DelayMs$cnt set ?a_DelayMs
35 ; __dcnt assigned to ?a_DelayMs+1
36 0000 _DelayMs$_dcnt set ?a_DelayMs+1
37 ;_cnt stored from w
38 0678 1283 bcf 3,5
39 0679 00AC movwf ?a_DelayMs
40 067A l4
41 ;delay.c: 14: do {
42 ;delay.c: 15: { unsigned char _dcnt; _dcnt = (9
+ 96)/((12*1000L)/(110*1))|1; while(--_dcnt != 0)
+ continue; };
43 067A 3009 movlw 9
44 067B 00AD movwf ?a_DelayMs+1
45 067C l6
46 067C 0BAD decfsz ?a_DelayMs+1
47 067D 2E7C goto l6
48 ;delay.c: 16: } while(--cnt);
49 067E 0BAC decfsz ?a_DelayMs
50 067F 2E7A goto l4
51 0680 0008 return
52
53 psect intcode
54 ;delay.h: 50: extern void DelayMs(unsigned char
+ );
55 ;TYN-001.C: 20: static unsigned char time,volt_
+ state,j;
56 ;TYN-001.C: 21: static unsigned char radio_temp
+ ,radio_flag,model_state,model_flag,volt_flag,ov
+ er_flag;
57 ;TYN-001.C: 22: static unsigned int i;
58 ;TYN-001.C: 25: unsigned char v5or9v(unsigned c
+ har volt);
59 ;TYN-001.C: 26: void radio_key(void);
60 ;TYN-001.C: 28: static void interrupt timer1(vo
+ id){
61 0008 _timer1
62 0008 int_func
63 ;TYN-001.C: 29: GIE=0;
64 0008 138B bcf 11,7
65 ;TYN-001.C: 30: if(TMR1IF==1)time++;
66 0009 1283 bcf 3,5
67 000A 180C btfsc 12,0
68 000B 0AA6 incf _time
69 ;TYN-001.C: 31: TMR1IF=0;
70 000C 100C bcf 12,0
71 ;TYN-001.C: 32: TMR1L=0;
72 000D 018E clrf 14 ;volatile
73 ;TYN-001.C: 33: TMR1H=0xf0;
74 000E 30F0 movlw -16
75 000F 008F movwf 15 ;volatile
76 ;TYN-001.C: 34: GIE=1;
77 0010 178B bsf 11,7
78 ;TYN-001.C: 35: }
79 0011 1283 bcf 3,5
80
81 psect intsave_0
82 0070 saved_w
83 0070 ds 1
84
85 psect intret
86 0012 int_restore
87 0012 082E movf saved_status,w
88 0013 0083 movwf 3
89 0014 0EF0 swapf saved_w
90 0015 0E70 swapf saved_w,w
91 0016 0009 retfie
92
93 psect intentry
94 0004 int_entry
95 0004 00F0 movwf saved_w
96 0005 0803 movf 3,w
97 0006 0183 clrf 3
98 0007 00AE movwf saved_status
99
100 psect intsave
101 002E saved_status
102 002E ds 1
103
104 psect text2
105 ;TYN-001.C: 37: void main(void)
106 ;TYN-001.C: 38: {
107 073D _main
108 ;TYN-001.C: 41: PORTA=0;
109 073D 1283 bcf 3,5
110 073E 0185 clrf 5 ;volatile
111 ;TYN-001.C: 42: ADCON1=0X07;
112 073F 3007 movlw 7
113 0740 1683 bsf 3,5
114 0741 009F movwf 31
115 ;TYN-001.C: 43: PORTA=0X01;
116 0742 3001 movlw 1
117 0743 1283 bcf 3,5
118 0744 0085 movwf 5 ;volatile
119 ;TYN-001.C: 44: TRISA=0x0;
120 0745 1683 bsf 3,5
121 0746 0185 clrf 5 ;volatile
122 ;TYN-001.C: 45: PORTB=0xf8;
123 0747 30F8 movlw -8
124 0748 1283 bcf 3,5
125 0749 0086 movwf 6 ;volatile
126 ;TYN-001.C: 46: TRISB=0xf8;
127 074A 1683 bsf 3,5
128 074B 0086 movwf 6 ;volatile
129 ;TYN-001.C: 47: GIE=0;
130 074C 138B bcf 11,7
131 ;TYN-001.C: 48: TMR1IE=0;
132 074D 100C bcf 12,0
133 ;TYN-001.C: 49: PEIE=1;
134 074E 170B bsf 11,6
135 ;TYN-001.C: 50: DelayMs(10);
136 074F 300A movlw 10
137 0750 2678 call _DelayMs
138 ;TYN-001.C: 51: TMR1IF=0;
139 0751 100C bcf 12,0
140 ;TYN-001.C: 52: TMR1L=0;
141 0752 018E clrf 14 ;volatile
142 ;TYN-001.C: 53: TMR1H=0xf0;
143 0753 30F0 movlw -16
144 0754 008F movwf 15 ;volatile
145 ;TYN-001.C: 54: TMR1ON=1;
146 0755 1410 bsf 16,0
147 ;TYN-001.C: 55: OPTION=0x0f;
148 0756 300F movlw 15
149 0757 1683 bsf 3,5
150 0758 0081 movwf 1
151 ;TYN-001.C: 56: asm("clrwdt");
152 0759 0064 clrwdt ;#
153 ;TYN-001.C: 57: time=0;
154 075A 1283 bcf 3,5
155 075B 01A6 clrf _time
156 ;TYN-001.C: 58: radio_temp=0;
157 075C 01A5 clrf _radio_temp
158 ;TYN-001.C: 59: radio_flag=0;
159 075D 01A4 clrf _radio_flag
160 ;TYN-001.C: 60: model_state=0;
161 075E 01A2 clrf _model_state
162 ;TYN-001.C: 61: model_flag=0;
163 075F 01A1 clrf _model_flag
164 ;TYN-001.C: 62: volt_flag=0;
165 0760 01A7 clrf _volt_flag
166 ;TYN-001.C: 63: volt_state=0;
167 0761 01A8 clrf _volt_state
168 ;TYN-001.C: 64: over_flag=0;
169 0762 01A3 clrf _over_flag
170 ;TYN-001.C: 65: i=0;
171 0763 01A9 clrf _i
172 0764 01AA clrf _i+1
173 ;TYN-001.C: 66: j=0;
174 0765 01A0 clrf _j
175 0766 l11
176 ;TYN-001.C: 67: for(;;){
177 ;TYN-001.C: 69: asm("clrwdt");
178 0766 0064 clrwdt ;#
179 ;TYN-001.C: 70: if((RB7==0)&&(radio_flag==0)){
180 0767 1B86 btfsc 6,7
181 0768 2F77 goto l14
182 0769 08A4 movf _radio_flag
183 076A 1D03 btfss 3,2
184 076B 2F77 goto l14
185 ;TYN-001.C: 71: radio_flag=1;
186 076C 01A4 clrf _radio_flag
187 076D 0AA4 incf _radio_flag
188 ;TYN-001.C: 72: if(radio_temp==0){radio_temp=1;
+ RB2=1;}
189 076E 08A5 movf _radio_temp
190 076F 1D03 btfss 3,2
191 0770 2F75 goto l15
192 0771 01A5 clrf _radio_temp
193 0772 0AA5 incf _radio_temp
194 0773 1506 bsf 6,2
195 ;TYN-001.C: 73: else {radio_temp=0;RB2=0;}
196 0774 2F77 goto l14
197 0775 l15
198 0775 01A5 clrf _radio_temp
199 0776 1106 bcf 6,2
200 0777 l14
201 ;TYN-001.C: 74: }
202 0777 1B86 btfsc 6,7
203 0778 01A4 clrf _radio_flag
204 ;TYN-001.C: 77: if((RB5==0)&&(model_flag==0)){
205 0779 1A86 btfsc 6,5
206 077A 2F85 goto l18
207 077B 08A1 movf _model_flag
208 077C 1D03 btfss 3,2
209 077D 2F85 goto l18
210 ;TYN-001.C: 78: model_flag=1;
211 077E 01A1 clrf _model_flag
212 077F 0AA1 incf _model_flag
213 ;TYN-001.C: 79: model_state++;
214 0780 0AA2 incf _model_state
215 ;TYN-001.C: 80: if(model_state>2)model_state=0;
216 0781 3003 movlw 3
217 0782 0222 subwf _model_state,w
218 0783 1803 btfsc 3,0
219 0784 01A2 clrf _model_state
220 ;TYN-001.C: 81: }
221 0785 l18
222 ;TYN-001.C: 83: if(RB5==1)model_flag=0;
223 0785 1A86 btfsc 6,5
224 0786 01A1 clrf _model_flag
225 ;TYN-001.C: 84: if(model_state==0){
226 0787 08A2 movf _model_state
227 0788 1D03 btfss 3,2
228 0789 2F8E goto l21
229 ;TYN-001.C: 85: RB0=0;RB1=0;
230 078A 1006 bcf 6,0
231 078B 1086 bcf 6,1
232 ;TYN-001.C: 86: PORTA=0x01;
233 078C 3001 movlw 1
234 078D 0085 movwf 5 ;volatile
235 078E l21
236 ;TYN-001.C: 87: }
237 078E 0822 movf _model_state,w
238 078F 3A02 xorlw 2
239 0790 1D03 btfss 3,2
240 0791 2F96 goto l22
241 ;TYN-001.C: 89: RB0=0;RB1=0;
242 0792 1006 bcf 6,0
243 0793 1086 bcf 6,1
244 ;TYN-001.C: 90: PORTA=0x03;
245 0794 3003 movlw 3
246 0795 0085 movwf 5 ;volatile
247 0796 l22
248 ;TYN-001.C: 91: }
249 0796 0B22 decfsz _model_state,w
250 0797 2F66 goto l11
251 0798 l24
252 ;TYN-001.C: 93: for(;;){
253 ;TYN-001.C: 94: asm("clrwdt");
254 0798 0064 clrwdt ;#
255 ;TYN-001.C: 95: if((RB6==0)&&(volt_flag==0)){
256 0799 1B06 btfsc 6,6
257 079A 2FBF goto l27
258 079B 08A7 movf _volt_flag
259 079C 1D03 btfss 3,2
260 079D 2FBF goto l27
261 ;TYN-001.C: 96: TMR1IF=0;
262 079E 100C bcf 12,0
263 ;TYN-001.C: 97: GIE=1;
264 079F 178B bsf 11,7
265 ;TYN-001.C: 98: TMR1IE=1;
266 07A0 1683 bsf 3,5
267 07A1 140C bsf 12,0
268 ;TYN-001.C: 99: TMR1L=0;
269 07A2 1283 bcf 3,5
270 07A3 018E clrf 14 ;volatile
271 ;TYN-001.C: 100: TMR1H=0xf0;
272 07A4 30F0 movlw -16
273 07A5 008F movwf 15 ;volatile
274 ;TYN-001.C: 101: time=0;
275 07A6 01A6 clrf _time
276 ;TYN-001.C: 102: for(;;){
277 ;TYN-001.C: 103: volt_flag=1;
278 07A7 01A7 clrf _volt_flag
279 07A8 L5
280 07A8 0AA7 incf _volt_flag
281 ;TYN-001.C: 104: asm("clrwdt");
282 07A9 0064 clrwdt ;#
283 07AA 300F movlw 15
284 07AB 0226 subwf _time,w
285 ;TYN-001.C: 105: if((RB6!=0)&&(time<15)){volt_f
+ lag=0;break;}
286 07AC 1F06 btfss 6,6
287 07AD 2FB4 goto L4
288 07AE 1803 btfsc 3,0
289 07AF 2FB2 goto l31
290 07B0 01A7 clrf _volt_flag
291 07B1 2FB8 goto l29
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -