目次>9章 PIC18編> (04)40MHzで動作させる> ソース
40MHzで動作させる(ソース)
更新日2008.8.3
以下のソースを取り込んで、アセンブル→PIC書き込み→実行して下さい。
; ========================== ここから ============================== ; ファイル名 led_onoff40.asm ; 作成日 2008.6.11 ; 作成者 mit.ueno ; バージョン 1.0 ; ; PIC PIC18F1320 ; クロック 10MHz×4 ; 概要 ; PIC18F1320の動作確認(LEDを1/4秒毎に点滅) ; レゾネータは10MHzでOSC=HSPLLにしただけ ; タイマルーチンのコメントはクロック10MHzの場合 ; 使用ポート ; RB0:LED ; RB1:LED ; ; ************************************************************* LIST P=18F1320 INCLUDE P18F1320.INC ; CONFIG OSC = HS CONFIG OSC = HSPLL ;こちらに変えただけで4倍速! ; ************************************************************* CBLOCK 0x000 CNT04ms CNT01s CNT1s ENDC ; ******** リセットベクタ ************************************* ORG 0x0000 ; ******** 初期処理 ******************************************* MOVLW 0xFC MOVWF TRISB ;RB0,1:Output(LED) MOVLW 0xFF MOVWF ADCON1 ;A/D未使用 ; ******** メイン処理 ***************************************** main BSF PORTB,RB0 BCF PORTB,RB1 CALL wait1s BCF PORTB,RB0 BSF PORTB,RB1 CALL wait1s GOTO main ; ******** タイマルーチン ************************************* ; ******** 1sタイマ ******** wait1s MOVLW d'10' MOVWF CNT1s wait1sL CALL wait01s DECFSZ CNT1s GOTO wait1sL RETURN ; ******** 100msタイマ ******** wait01s MOVLW d'249' MOVWF CNT01s wait01sL CALL wait04ms DECFSZ CNT01s GOTO wait01sL RETURN ; ******** 0.4msタイマ ******** wait04ms MOVLW d'249' MOVWF CNT04ms wait04msL NOP DECFSZ CNT04ms,F GOTO wait04msL RETURN END ; ========================== ここまで ==============================