MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 title LED_M1 Lamp 00002 list p=16f648A,R=DEC,f=inhx32 00003 #include 00001 LIST 00002 ; P16F648A.INC Standard Header File, Version 1.00 Microchip Technology, Inc. 00264 LIST 00004 ; 00005 ; CONFIG設定 2007 3F70 00006 __CONFIG _INTOSC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF & _ BOREN_ON 00007 ; 00008 ; 2006年9月19日 REV.2 仮テスト 00009 ; 2006年10月22日 REV.4 SW1を内蔵し、チラツキおよび点滅を追加 00010 ; 2006年11月19日 REV.5 周期を224−>122Hz変更 DIP4-7動作ゆらぎへ変更 00011 ; 2006年11月23日 REV.6 DIP=4動作テーブルを32個、x8ステップへ変更 00012 ;動作 5端子レギュレータの出力1ラインをON/OFFさせて接続されたLED点灯を制御する 00013 ; RB3 RB2 RB1 RB0 00014 ; 0 0 0 0  常時点灯 SW1にて遅延消灯、即点灯 00015 ; 0 0 0 1  75%点灯 SW1にて遅延消灯、即点灯 00016 ; 0 0 1 0  50%点灯 SW1にて遅延消灯、即点灯 00017 ; 0 0 1 1  25%点灯 SW1にて遅延消灯、即点灯 00018 ; 0 1 0 0 ゆらぎ ランダム点灯1 00019 ; 0 1 0 1 ゆらぎ ランダム点灯2 00020 ; 0 1 1 0 ゆらぎ シーケンシャル点灯1 00021 ; 0 1 1 1 ゆらぎ シーケンシャル点灯2 00022 ; 1 x x x 予備 00023 ; 0020 00024 org 20h 0020 00025 count256us res 1 ;256μS毎の割り込みをカウント 0021 00026 count65ms res 1 ;256μsを256カウントで1up 00027 0022 00028 wtemp res 1 ;Wレジ保存エリア 0023 00029 statemp res 1 ;ステータスレジ保存エリア 00030 ; 0024 00031 t_ledon res 1 ;LEDが点灯している時間(n/16) 0025 00032 now_count res 1 ;現在の256usカウントの下4ビット 0026 00033 t_mask res 1 ;周期を指定するマスク値 0027 00034 countshuki res 1 ;スイッチ周期毎にカウント 0028 00035 countx res 1 ;スイッチングカウントの倍数保存 00036 0029 00037 m1_flag res 1 ; 00000000 00038 sw1_on equ 0 ;SW1がオンされたセット 00000001 00039 p_start equ 1 ;周期パルスがスタートした 00040 002A 00041 t_max res 1 ; 002B 00042 endcount_t res 1 ;終了 パルス幅タイマカウント 002C 00043 endcount_w res 1 ;終了 周期タイマカウント 00044 002D 00045 dcnt1 res 1 ;終了カウント 002E 00046 dcnt2 res 1 00000007 00047 line1 equ 7 ;RB7 00000001 00048 sw1 equ 1 ;RA1 00049 MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 2 LED_M1 Lamp LOC OBJECT CODE LINE SOURCE TEXT VALUE 0000 00050 org 00h ;プログラム開始番地 0000 286D 00051 goto Start 00052 ; 00053 ;******** 00054 ; タイマー割込みルーチン 256μs毎の割り込みをカウントする 00055 ;******** 0004 00056 org 4 0004 00A2 00057 movwf wtemp ;save wreg 0005 0E03 00058 swapf STATUS,w 0006 00A3 00059 movwf statemp ;save STATUS 00060 ; ここまでが割り込みPUSH 0007 110B 00061 bcf INTCON,T0IF ;reset Timer0 interrupt 00062 ; movlw -led_interval ;タイマ初期値 00063 ; movwf TMR0 ;set Timer0 counter 0008 0FA0 00064 incfsz count256us,f ;割込みごとにカウントアップ 0009 280B 00065 goto t_exit ; 000A 0AA1 00066 incf count65ms,f ;もし、オーフローしたら65msカウンタをアップ 00067 ; ここからが割り込みPOP 000B 00068 t_exit 000B 0E23 00069 swapf statemp,w 000C 0083 00070 movwf STATUS ;re-load STATUS 000D 0EA2 00071 swapf wtemp,f 000E 0E22 00072 swapf wtemp,w ;re-load Wreg 000F 0009 00073 retfie ;割込みルーチンから戻る 00074 ;************** 0010 3036 00075 movlw "6" ;REV. status 2006/11/20 00076 ;******** 00077 ; DIPスイッチ(RB3-0)の値でジャンプする(7FF番地まで可) 0011 00078 lowswjump 0011 018A 00079 clrf PCLATH 0012 390F 00080 andlw 0Fh 0013 0782 00081 addwf PCL,F 00082 ; 0014 2887 00083 goto dip0 ;decode 0 0015 288A 00084 goto dip1 ;decode 1 0016 288D 00085 goto dip2 ;decode 2 0017 2890 00086 goto dip3 ;decode 3 0018 2895 00087 goto dip4 ;decode 4 0019 28A0 00088 goto dip5 ;decode 5 001A 28AA 00089 goto dip6 ;decode 6 001B 28AF 00090 goto dip7 ;decode 7 001C 28EE 00091 goto dip8 ;decode 8 001D 28EE 00092 goto dip9 ;decode 9 001E 28EE 00093 goto dip10 ;decode 10 001F 28EE 00094 goto dip11 ;decode 11 0020 28EE 00095 goto dip12 ;decode 12 0021 28EE 00096 goto dip13 ;decode 13 0022 28EE 00097 goto dip14 ;decode 14 0023 28EE 00098 goto dip15 ;decode 15 00099 ;***** 00100 ; 明るさを定義するテーブル 00101 ;***** 0024 00102 duty1 ;16通りのランダムな明るさ MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 3 LED_M1 Lamp LOC OBJECT CODE LINE SOURCE TEXT VALUE 0024 018A 00103 clrf PCLATH 0025 390F 00104 andlw 0Fh 0026 0782 00105 addwf PCL,F 00106 ; 0027 3420 3418 3418 00107 dt 32,24,24,32,29,25,25,30,25,27,27,32,27,25,29,32 3420 341D 3419 3419 341E 3419 341B 341B 3420 341B 3419 341D 3420 00108 ;** 0037 00109 duty2 ;16通りのシーケンシャル明るさ 0037 018A 00110 clrf PCLATH 0038 390F 00111 andlw 0Fh 0039 0782 00112 addwf PCL,F 003A 3420 341D 3419 00113 dt 32,29,25,22,20,19,17,16,16,17,19,20,22,25,29,32 3416 3414 3413 3411 3410 3410 3411 3413 3414 3416 3419 341D 3420 00114 ; 004A 00115 duty3 ;32通りのランダムの明るさ 004A 018A 00116 clrf PCLATH 004B 391F 00117 andlw 1Fh 004C 0782 00118 addwf PCL,F 004D 3420 341E 341D 00119 dt 32,30,29,28,27,26,25,24,26,25,27,25,26,25,24,24 341C 341B 341A 3419 3418 341A 3419 341B 3419 341A 3419 3418 3418 005D 3419 3418 3419 00120 dt 25,24,25,26,27,25,26,27,26,27,28,29,28,29,30,31 341A 341B 3419 341A 341B 341A 341B 341C 341D 341C 341D 341E 341F 00121 00122 ;ここの終わりは100番地未満とする。 00123 00124 ;************ 006D 00125 Start 00126 ; ポートの初期化 00127 ; PORT -A initial I/O setting I I I I I I I 0 006D 1683 00128 bsf STATUS,RP0 ;bank 1 006E 30FE 00129 movlw B'11111110' ; 006F 0085 00130 movwf TRISA-80h 00131 ; PORT -B Initial I/O Setting O O O O I I I I 0070 300F 00132 movlw B'00001111'; 0071 0086 00133 movwf TRISB-80h 00134 ; CPUスピードを決める 0072 158E 00135 bsf PCON-80h,OSCF ;内蔵CLOCKを4MHzに設定する MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 4 LED_M1 Lamp LOC OBJECT CODE LINE SOURCE TEXT VALUE 00136 ; タイマー割り込み設定とPort-Bをプルアップする 00137 ; -RBUP=0 ON TOCS=0内蔵 T0SEイベント許可 PSA=1 PRESC不使用 PS2-0=0 0073 3008 00138 movlw B'00001000' 0074 0081 00139 movwf OPTION_REG-80h 0075 1283 00140 bcf STATUS,RP0 ;bank 0 00141 ; PORT-AをデジタルI/Oにする 0076 3007 00142 movlw 7h 0077 009F 00143 movwf CMCON ; 00144 ; clear Port-A/B data bit 0078 0185 00145 clrf PORTA 0079 0186 00146 clrf PORTB 007A 0181 00147 clrf TMR0 007B 01A0 00148 clrf count256us ;割り込みルーチン内のカウンタ 007C 01A1 00149 clrf count65ms ; 007D 01A7 00150 clrf countshuki ; 00151 00152 ; タイマー割り込みをセットする GIE 0 T0IE 0 0 T0IF 0 0 007E 30A0 00153 movlw b'10100000' 007F 008B 00154 movwf INTCON 00155 ; 00156 ;*** btfss PORTB,3 ;RB3 =1 =OFF 00157 ;*** goto spec2 ;ONなので新しい仕様動作へ 00158 ;**** 00159 ; DIPスイッチを読んで動作を決めジャンプする 00160 ; 明るさを制御(調光)する値を設定する。(PWM動作もどき) 0080 00161 m1_start 0080 3080 00162 movlw b'10000000' ; 0081 0086 00163 movwf PORTB ;ライン1のLEDを点灯させる 0082 01A0 00164 clrf count256us ;割り込みルーチン内のカウンタ 0083 01A9 00165 clrf m1_flag ; 0084 00166 m1_readsw 0084 0806 00167 movf PORTB,w ;DIPスイッチRB3-0を読む 0085 3AFF 00168 xorlw 0ffh ;ON=0を1に反転する 0086 2811 00169 goto lowswjump ;内容によりDIP0からDIP7に戻ってくる 00170 ; 00171 ;**** 00172 ; LED点灯の点灯明るさを変化させる 00173 ;**** 0087 00174 dip0 ;常時点灯 0087 3000 00175 movlw 0 0088 00A4 00176 movwf t_ledon 0089 2892 00177 goto dip0003 008A 00178 dip1 ;75% 008A 3018 00179 movlw 24 ; 008B 00A4 00180 movwf t_ledon 008C 2892 00181 goto dip0003 008D 00182 dip2 ;50% 00183 008D 3010 00184 movlw 16 ; 008E 00A4 00185 movwf t_ledon 008F 2892 00186 goto dip0003 0090 00187 dip3 ;25% 00188 MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 5 LED_M1 Lamp LOC OBJECT CODE LINE SOURCE TEXT VALUE 0090 3008 00189 movlw 8 0091 00A4 00190 movwf t_ledon 0092 00191 dip0003 ;DOP00-DIP03は周期を32カウント、約8ms=122Hz動作 0092 301F 00192 movlw 32-1 ;MAX 32カウント 0093 00AA 00193 movwf t_max 0094 28BA 00194 goto ledstart 00195 ;*********** 00196 ; DUTYを変えてチラツキを出す 00197 ;*********** 0095 00198 dip4 ;周期カウンタ8倍でDUTY値ランダム32個 0095 0827 00199 movf countshuki,w 0096 00A8 00200 movwf countx 0097 0CA8 00201 rrf countx,f ;Shift 1 0098 0CA8 00202 rrf countx,f ;Shift 1 0099 0CA8 00203 rrf countx,f ;Shift 1 009A 301F 00204 movlw 32-1 ;MAX 32カウント122Hz 009B 00AA 00205 movwf t_max 009C 0828 00206 movf countx,w ; 009D 204A 00207 call duty3 ;テーブルは32個 009E 00A4 00208 movwf t_ledon 009F 28BA 00209 goto ledstart 00210 ; 00A0 00211 dip5 ;周期カウンタ4倍でDUTY値ランダム16個 00A0 0827 00212 movf countshuki,w 00A1 00A8 00213 movwf countx 00A2 0CA8 00214 rrf countx,f ;Shift 1 00A3 0CA8 00215 rrf countx,f ;Shift 1 00A4 301F 00216 movlw 32-1 ;MAX 32カウント122Hz 00A5 00AA 00217 movwf t_max 00A6 0828 00218 movf countx,w ; 00A7 2024 00219 call duty1 ; 00A8 00A4 00220 movwf t_ledon 00A9 28BA 00221 goto ledstart 00222 ; 00223 00AA 00224 dip6 ;周期カウンタ4倍でDUTY値シーケンシャル 00AA 0827 00225 movf countshuki,w 00AB 00A8 00226 movwf countx 00AC 0CA8 00227 rrf countx,f ;Shift 1 00AD 0CA8 00228 rrf countx,f ;Shift 1 00AE 28B4 00229 goto dip0607 ; 00AF 00230 dip7 ;周期カウンタ8倍でDUTY値シーケンシャル 00AF 0827 00231 movf countshuki,w 00B0 00A8 00232 movwf countx 00B1 0CA8 00233 rrf countx,f ;Shift 1 00B2 0CA8 00234 rrf countx,f ;Shift 1 00B3 0CA8 00235 rrf countx,f ;Shift 1 00B4 00236 dip0607 00B4 301F 00237 movlw 32-1 ;MAX 32カウント 122Hz 00B5 00AA 00238 movwf t_max 00B6 0828 00239 movf countx,w ; 00B7 2037 00240 call duty2 ; 00B8 00A4 00241 movwf t_ledon MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 6 LED_M1 Lamp LOC OBJECT CODE LINE SOURCE TEXT VALUE 00B9 28BA 00242 goto ledstart 00243 00244 00245 ; 00246 ;****MAIN 00247 ; 00BA 00248 ledstart 00249 ; 現在のカウント(下4ビット)がゼロならLEDを点灯 00BA 0820 00250 movf count256us,w ;タイマカウントを読む 00BB 052A 00251 andwf t_max,w ;下の5ビットを取り出す 00BC 00A5 00252 movwf now_count ;周期カウントとして保存する 00BD 1D03 00253 btfss STATUS,Z ;カウント開始のゼロか? 00BE 28C6 00254 goto checkoff ;NO, 00255 ; YES, 00BF 18A9 00256 btfsc m1_flag,p_start ;すでに処理ずみか? 00C0 28CD 00257 goto checksw1 ;YES スキップ 00C1 14A9 00258 bsf m1_flag,p_start ;処理済フラグをセット 00C2 3080 00259 movlw b'10000000' ;Line1点灯 00C3 0086 00260 movwf PORTB ; 00C4 0AA7 00261 incf countshuki,f ; 00C5 28CD 00262 goto checksw1 ;消灯カウントのチェックをスキップ 00263 ; 現在のカウント(下5ビット)と指定カウントが一致したらLEDを消灯 00C6 00264 checkoff 00C6 10A9 00265 bcf m1_flag,p_start ;処理済フラグをクリア 00C7 0825 00266 movf now_count,w ;タイマカウントは消灯カウントか? 00C8 0624 00267 xorwf t_ledon,w ; 00C9 1D03 00268 btfss STATUS,Z ; 00CA 28CD 00269 goto checksw1 ;NO そのまま継続 00CB 3000 00270 movlw b'00000000' ;YES Line1消灯 00CC 0086 00271 movwf PORTB ; 00272 ; SW1を押されたら、しばらくして照明を切るモードにする 00CD 00273 checksw1 00274 ; btfsc PORTB,2 ;dip4-7のSW1使用モードか?(ON=0) 00275 ; goto m1_readsw ;NO 通常点灯モード 00276 ; 00CD 1885 00277 btfsc PORTA,sw1 ;SW1押されたか? 00CE 28D5 00278 goto check_wait ;NO 00CF 28D0 00279 goto $+1 ;押されたのでチャタリング防止のため少し待つ 00D0 28D1 00280 goto $+1 00D1 1885 00281 btfsc PORTA,sw1 ;再度、SW1押されていたか?(確認) 00D2 28D5 00282 goto check_wait ;NO 00D3 01A1 00283 clrf count65ms ;押されるごとに待ち時間カウントをクリアし延長する 00D4 1429 00284 bsf m1_flag,sw1_on ;sw1が押されたことを覚える 00285 ; 照明OFFの時間まで継続し、その後消灯する 00D5 00286 check_wait 00D5 1C29 00287 btfss m1_flag,sw1_on ;すでにSW1が押されたかチェックする 00D6 2884 00288 goto m1_readsw ;まだ、押されていないので戻る 00289 ; 00D7 0821 00290 movf count65ms,w ; 00D8 3A7F 00291 xorlw 07fh ;65msx128=8秒待ったか? 00D9 1D03 00292 btfss STATUS,Z ; 00DA 2884 00293 goto m1_readsw ;NO 継続する 00DB 3000 00294 movlw b'00000000' ;待ったのでLine1を消灯する MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 7 LED_M1 Lamp LOC OBJECT CODE LINE SOURCE TEXT VALUE 00DC 0086 00295 movwf PORTB ; 00296 ; 消灯後は今度SW1を押したら点灯させるモードに切り替える。 00297 ; SW1スイッチ押されると点灯する 00DD 00298 check_sw1_on 00DD 1885 00299 btfsc PORTA,sw1 ;SW1押されたか?(ON=0) 00DE 28DD 00300 goto check_sw1_on ;NO 00DF 28E0 00301 goto $+1 00E0 28E1 00302 goto $+1 00E1 1885 00303 btfsc PORTA,sw1 ;再度、SW1押されていたか? 00E2 28DD 00304 goto check_sw1_on ;NO 00305 ; SW1が離されるまで待つ 00E3 00306 check_sw1_off 00E3 1C85 00307 btfss PORTA,sw1 ;SW1を離したか? 00E4 28E3 00308 goto check_sw1_off ;NO 00E5 28E6 00309 goto $+1 00E6 28E7 00310 goto $+1 00E7 28E8 00311 goto $+1 00E8 28E9 00312 goto $+1 00E9 1C85 00313 btfss PORTA,sw1 ;もう一度SW1を離したか確認? 00EA 28E3 00314 goto check_sw1_off ;NO 00EB 28EC 00315 goto $+1 00EC 28ED 00316 goto $+1 00ED 2880 00317 goto m1_start 00318 00319 00EE 00320 spec2 00321 ; 00322 ; ユーザ定義用(予備) 00323 ; 00EE 00324 dip8 00EE 00325 dip9 00EE 00326 dip10 00EE 00327 dip11 00EE 00328 dip12 00EE 00329 dip13 00EE 00330 dip14 00EE 00331 dip15 00332 00EE 3080 00333 movlw B'10000000' ; 00EF 0086 00334 movwf PORTB ;RB7のLED点灯 00335 ; 00336 00F0 2884 00337 goto m1_readsw ; 00338 00339 ;*** 00340 ; 65ms毎ディレイルーチン (Wレジの時刻まで待つ) 00341 ;*** 00F1 00342 delay 00F1 00AD 00343 movwf dcnt1 ;終了時間を保存する 00F2 00344 dloop1 00F2 0621 00345 xorwf count65ms,w ;65msタイマは終了時間に一致したか? 00F3 1903 00346 btfsc STATUS,Z ;NO 00F4 0008 00347 return ;YES MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 8 LED_M1 Lamp LOC OBJECT CODE LINE SOURCE TEXT VALUE 00F5 082D 00348 movf dcnt1,w ;終了時間を再ロード 00F6 28F2 00349 goto dloop1 00350 00351 end MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 9 LED_M1 Lamp SYMBOL TABLE LABEL VALUE ADEN 00000003 BRGH 00000002 C 00000000 C1INV 00000004 C1OUT 00000006 C2INV 00000005 C2OUT 00000007 CCP1CON 00000017 CCP1IE 00000002 CCP1IF 00000002 CCP1M0 00000000 CCP1M1 00000001 CCP1M2 00000002 CCP1M3 00000003 CCP1X 00000005 CCP1Y 00000004 CCPR1H 00000016 CCPR1L 00000015 CIS 00000003 CM0 00000000 CM1 00000001 CM2 00000002 CMCON 0000001F CMIE 00000006 CMIF 00000006 CREN 00000004 CSRC 00000007 DC 00000001 EEADR 0000009B EECON1 0000009C EECON2 0000009D EEDATA 0000009A EEIE 00000007 EEIF 00000007 F 00000001 FERR 00000002 FSR 00000004 GIE 00000007 INDF 00000000 INTCON 0000000B INTE 00000004 INTEDG 00000006 INTF 00000001 IRP 00000007 NOT_BO 00000000 NOT_BOD 00000000 NOT_BOR 00000000 NOT_PD 00000003 NOT_POR 00000001 NOT_RBPU 00000007 NOT_T1SYNC 00000002 NOT_TO 00000004 OERR 00000001 MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 10 LED_M1 Lamp SYMBOL TABLE LABEL VALUE OPTION_REG 00000081 OSCF 00000003 PCL 00000002 PCLATH 0000000A PCON 0000008E PEIE 00000006 PIE1 0000008C PIR1 0000000C PORTA 00000005 PORTB 00000006 PR2 00000092 PS0 00000000 PS1 00000001 PS2 00000002 PSA 00000003 RBIE 00000003 RBIF 00000000 RCIE 00000005 RCIF 00000005 RCREG 0000001A RCSTA 00000018 RD 00000000 RP0 00000005 RP1 00000006 RX9 00000006 RX9D 00000000 SPBRG 00000099 SPEN 00000007 SREN 00000005 STATUS 00000003 SYNC 00000004 Start 0000006D T0CS 00000005 T0IE 00000005 T0IF 00000002 T0SE 00000004 T1CKPS0 00000004 T1CKPS1 00000005 T1CON 00000010 T1OSCEN 00000003 T2CKPS0 00000000 T2CKPS1 00000001 T2CON 00000012 TMR0 00000001 TMR1CS 00000001 TMR1H 0000000F TMR1IE 00000000 TMR1IF 00000000 TMR1L 0000000E TMR1ON 00000000 TMR2 00000011 TMR2IE 00000001 TMR2IF 00000001 MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 11 LED_M1 Lamp SYMBOL TABLE LABEL VALUE TMR2ON 00000002 TOUTPS0 00000003 TOUTPS1 00000004 TOUTPS2 00000005 TOUTPS3 00000006 TRISA 00000085 TRISB 00000086 TRMT 00000001 TX9 00000006 TX9D 00000000 TXEN 00000005 TXIE 00000004 TXIF 00000004 TXREG 00000019 TXSTA 00000098 VR0 00000000 VR1 00000001 VR2 00000002 VR3 00000003 VRCON 0000009F VREN 00000007 VROE 00000006 VRR 00000005 W 00000000 WR 00000001 WREN 00000002 WRERR 00000003 Z 00000002 _BODEN_OFF 00003FBF _BODEN_ON 00003FFF _BOREN_OFF 00003FBF _BOREN_ON 00003FFF _CP_OFF 00003FFF _CP_ON 00001FFF _DATA_CP_OFF 00003FFF _DATA_CP_ON 00003EFF _ER_OSC_CLKOUT 00003FFF _ER_OSC_NOCLKOUT 00003FFE _EXTCLK_OSC 00003FEF _HS_OSC 00003FEE _INTOSC_OSC_CLKOUT 00003FFD _INTOSC_OSC_NOCLKOUT 00003FFC _INTRC_OSC_CLKOUT 00003FFD _INTRC_OSC_NOCLKOUT 00003FFC _LP_OSC 00003FEC _LVP_OFF 00003F7F _LVP_ON 00003FFF _MCLRE_OFF 00003FDF _MCLRE_ON 00003FFF _PWRTE_OFF 00003FFF _PWRTE_ON 00003FF7 _RC_OSC_CLKOUT 00003FFF _RC_OSC_NOCLKOUT 00003FFE MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 12 LED_M1 Lamp SYMBOL TABLE LABEL VALUE _WDT_OFF 00003FFB _WDT_ON 00003FFF _XT_OSC 00003FED __16F648A 00000001 check_sw1_off 000000E3 check_sw1_on 000000DD check_wait 000000D5 checkoff 000000C6 checksw1 000000CD count256us 00000020 count65ms 00000021 countshuki 00000027 countx 00000028 dcnt1 0000002D dcnt2 0000002E delay 000000F1 dip0 00000087 dip0003 00000092 dip0607 000000B4 dip1 0000008A dip10 000000EE dip11 000000EE dip12 000000EE dip13 000000EE dip14 000000EE dip15 000000EE dip2 0000008D dip3 00000090 dip4 00000095 dip5 000000A0 dip6 000000AA dip7 000000AF dip8 000000EE dip9 000000EE dloop1 000000F2 duty1 00000024 duty2 00000037 duty3 0000004A endcount_t 0000002B endcount_w 0000002C ledstart 000000BA line1 00000007 lowswjump 00000011 m1_flag 00000029 m1_readsw 00000084 m1_start 00000080 now_count 00000025 p_start 00000001 spec2 000000EE statemp 00000023 sw1 00000001 sw1_on 00000000 t_exit 0000000B MPASM 5.06 LED_M1.ASM 1-16-2007 13:42:41 PAGE 13 LED_M1 Lamp SYMBOL TABLE LABEL VALUE t_ledon 00000024 t_mask 00000026 t_max 0000002A wtemp 00000022 MEMORY USAGE MAP ('X' = Used, '-' = Unused) 0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 00C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXX--------- 2000 : -------X-------- ---------------- ---------------- ---------------- All other memory blocks unused. Program Memory Words Used: 244 Program Memory Words Free: 3852 Errors : 0 Warnings : 0 reported, 0 suppressed Messages : 0 reported, 0 suppressed