目次 > 9章 PIC18F2550編 > 48MHzで動作させる > ソース
48MHzで動作させる(ソース)
更新日2009.5.24
以下のソースを取り込んで、アセンブル→PIC書き込み→実行して下さい。
; ========================== ここから ============================== ; ファイル名 led_onoff.asm ; 作成日 2008.6.22 ; 作成者 mit.ueno ; バージョン 1.0 ; ; PIC PIC18F2550 ; クロック 48MHz(レゾネータ:12MHz) ; 概要 ; LEDを1秒間隔で点滅 ; 使用ポート ; RA0:LED ; RA1:LED ; ; *************************************************** LIST P=18F2550 INCLUDE P18F2550.INC CONFIG PLLDIV = 3 ;4MHz = 12MHz / 3 CONFIG CPUDIV = OSC1_PLL2 ;48MHz = 96MHz / 2 CONFIG FOSC = HSPLL_HS ; *************************************************** CBLOCK 0x000 CNT50us CNT10ms CNT1s ENDC ; ******** リセットベクタ *************************** ORG 0x0000 ; ******** 初期処理 ********************************* MOVLW 0xFC MOVWF TRISA ;RA0,1:Output(LED) ; ******** メイン処理 ******************************* main BSF LATA,0 BCF LATA,1 CALL wait1s BCF LATA,0 BSF LATA,1 CALL wait1s GOTO main ; ******** タイマルーチン *************************** ; ******** 1sタイマ ******** wait1s MOVLW d'100' MOVWF CNT1s wait1sL CALL wait10ms DECFSZ CNT1s GOTO wait1sL RETURN ; ******** 10mSタイマ ******** wait10ms MOVLW d'200' MOVWF CNT10ms wait10msL CALL wait50us DECFSZ CNT10ms GOTO wait10msL RETURN ; ******** 50uSタイマ ******** wait50us MOVLW d'150' MOVWF CNT50us wait50usL NOP DECFSZ CNT50us,F GOTO wait50usL RETURN END ; ========================== ここまで ==============================