PIC 02:I/Oに付いて


PIC SOFTに付いて
 SOFTに付いて、思いつくまま並べてみます。
 買って来たのは16F84Aを2個のみです、これを使いこなしてから他のものに手を出したいと思います。
 系統を考えてという余裕がありません、思いつくまま並べて後で編集したいと思います。まずはスタートさせました。

 とりあえずI/Oの設定に付いて本に書いてあるものを並べ、後で利用し易いようにまとめてみました。


入出力ポートの設定

 まず、TRISA及びTRISBを設定します。

	1=入力	0=出力
[初期設定は全て入力になっている。]
[設定はBANK1にする必要がある]
	BSF	STATUS,RPO	;BANK1
	MOVLW	B'11111000'	;PORTA0.1.2=output
	MOVWF	PORTA		;set
	BCF	STATUS,RPO	;BANK0に戻す。

@ 8Bitの例

[入力]
	MOVF	PORTA,W		;ポートAをWに読み出す。
[出力]
	MOVWF	PORTA		;WをポートAへだす。

A Bit単位の例(パルスを出す)

[出力]
	BSF	PORTA,3		;ポートAに[1]を出す。
	BCF	PORTA,3		;ポートAに[0]を出す。
[10MHz動作の場合、これだけで400nS(0.4μS)のパルスとなる。]

B Bit単位の例(端子のチエック)

[入力]
	BTFSC	PORTA,3		;ポートA3端子をチエック
	RETURN			;信号ありで戻る。(そのビットが1)
	以下その他の処理	;(そのビットが0だった)
[BTFSSもあるので逆も設定出来る。この辺の使い方は良く使われるので「完全に覚える」必要がある。]

I/O端子の入出力電流

16F84Aの場合]流込み、流出し共に20mA程度取れる。ただし、全ての端子を一度に設定出来ない。
 5V60mAのリレーを動作させたい場合、3つの端子を同時にパラ接続してドライブ能力を増すことも出来る。この場合少し余裕を持たせる為4個以上とするか別にトランジスタを追加した方が安心。


特殊な使い方

 [RA4]のみ出力がオープン・タイプになっている。

☆出力を[1]に設定しても[+]は出てこない、必要ならプルアップ抵抗を付ける必要がある。
☆また12Vまでコントロール出来るので5V以上の電圧も直接コントロール出来る。
☆ここにはプリスケラが接続されているので、特に設定しなくてもかつてに信号をカウントすることが出来て面白い。でも、使い始めに[リセット]しないと何を計っているのかわからなくなりますが・・・。

☆16F819はここは通常出力になっているので、この機能を使っている場合(周波数カウンタなど)は16F819へ移植出来ない。

 2007/JAN/7.. 


[もどる]もどる  [MAIN MENU

inserted by FC2 system