PIC 03:定番のLEDのオンオフ動作


PIC LEDのオンオフ
 その後秋葉原で16F819を2個購入しました。

基板

 16F84Aに比べ大幅な性能アップのようです、まだ早そうですが16F819を使ってLEDの「チカチカ・マーカー」の実験をしました。これって単なるLEDの点滅だけですが購入して動かなかったら困るのでここから始めることにしました。
 機能があり過ぎて使いこなすには相当時間が掛かりそうです。

 始め20MHzの水晶で動かす気になったのですが、なぜかまったく動きません(理由不明、マニアルには20MHzUPのようにあったが・・・)。
 その後、10MHzのセラロックと交換したら作動した。そして自己発振の8MHzから試し、現在は1MHz動作としてLEDを見ている。当然1/4の250KHz動作で、5Vでもかなり省エネ動作をしている。
 レギュレータの方が大幅に電気を喰っている感じ! PICはなんと0.32mAと驚きの省エネでした。これって面白そう!

 ハードはRB0とアース間に「1KΩの抵抗を間に入れてLEDを付けた」だけ(写真、自己発振はセラロックの配線を外している)。5Vのレギュレータを付け7V以上で動作。

 2007/JAN/18 


-----  プログラム  -----

;********************************************
;LED ON OFF
;2007/1/16
;		JA1HWO
	list	 P=PIC16F819	;
	include	"P16F819.inc"	;
;********************************************
	cnt1	equ	0x20	;for Wait
	cnt2	equ	0x21	;for Wait

	org 0
	goto	begin

begin
	BANKSEL	PORTA 		; select bank of PORTA
	CLRF	PORTA 		; Initialize PORTA by
				; clearing output
	banksel	ADCON1		;Bank1
	movlw	0x40		;INTRC=1MHz(8MHz=0x70)
	movwf	OSCCON		;set
	movlw	0x06		;Configure all pins
	movwf	ADCON1		; as digital inputs
	clrf	TRISA		;0=output 1=Input
	clrf	TRISB		;all output
	banksel	PORTB
	clrf	PORTB		;LED OFF
	movlw	D'03'		;
	movwf	PORTA		;8LED on
;******************** from LED ON-OFF ******************
begin2
	movlw	D'01'		;ON
	movwf	PORTB
	call	wait		;0.2S
be3	movlw	D'0'		;OFF
	movwf	PORTB
	call	wait		;0.2S
	goto	begin2		;Loop

wait	;20MHz step=0.2uS

	movlw	d'250'		;0.398mS*250=99.5mS
	movwf	cnt2
wloop1
	movlw	d'249'
	movwf	cnt1
wloop2	nop			;1 8*249+1=1993(398.6uS)
	nop			;1
	nop			;1
	nop			;1
	nop			;1
	decfsz	cnt1		;1
	goto	wloop2		;2
	decfsz	cnt2		;1
	goto	wloop1		;2
	return

	end

[もどる]もどる  [MAIN MENU

inserted by FC2 system