目次>9章 PIC18編> (03)1秒毎にLEDを点滅させて見る> ソース

1秒毎にLEDを点滅させて見る(ソース)

更新日2008.7.20

以下のソースを取り込んで、アセンブル→PIC書き込み→実行して下さい。

; ========================== ここから ==============================
;	ファイル名	led_onoff.asm
;	作成日		2008.5.18
;	作成者		mit.ueno
;	バージョン	1.0
;
;	PIC		PIC18F1320
;	クロック	10MHz
;	概要
;		PIC18F1320の動作確認(LEDを1秒毎に点滅)
;	使用ポート
;		RB0:LED
;		RB1:LED
;

; ***************************************************
	LIST	P=18F1320
	INCLUDE	P18F1320.INC

	CONFIG	OSC = HS

; ***************************************************
	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
; ========================== ここまで ==============================