PICの入門向け書籍でよく紹介されているPIC16F84Aですが、16F84Aとピン互換がありながらプログラムメモリが4倍に増えたPICに16F88が有ります。
16F88を単に84Aのプログラム容量が大きい版として使うのもよいのですが、機能も追加されています。
今回はデータシートのピンアサインを元に、16F88で増えた機能を確認します。
まず、こちらがPIC16F84Aのピンアサインです。
で、こちらが16F88です。
16F88を見ると分かるように、各ピンに対して様々な機能が追加されています。
慣れればピンの名称だけで機能が類推できますが、最初のうちは略称だけでは内容が分からないので、Pinout Descriptionを見ると概要が載っています。
(クリックで拡大します。)
RA0~4には、アナログ入出力が増えています。
OSC1,OSC2には、追加でRA6,7が割り当てられました。
16F84Aでは外部クロックが必須だったのに対して、16F88は内部のクロックを元に動作させることが可能なので、15,16pinもI/Oとして使用可能です。
内部クロックを使用するためには、コンフィギュレーションビットで以下の値を指定します。INTIO2の指定でI/Oとして使用可能となります。
INTIO1 Internal Oscillator with FOSC/4 output on RA6 and I/O on RA7 INTIO2 Internal Oscillator with I/O on RA6 and RA7 |
MCLRにもRA5が割り当たっています。
こちらも、コンフィギュレーションビットでMCLREを無効にすることで、RA5が使用可能になります
MCLRE: RA5/MCLR/VPP Pin Function Select bit 1 = RA5/MCLR/VPP pin function is MCLR 0 = RA5/MCLR/VPP pin function is digital I/O, MCLR internally tied to VDD |
RA4~7はシュミットトリガ入力となっているため、ここにボタンを付ける場合チャタリング防止の回路を組みやすくなります。
pin6,9のCCPでPWM出力、pin7,10のSDA/SCLでI2C通信が行えます。
pin12,13のPGC/PGDはICD(インサーキットデバッガ)の機能です。
コンフィギュレーションビットでDEBUGを0にするとデバッガが使えます。
DEBUG: In-Circuit Debugger Mode bit 1 = In-Circuit Debugger disabled, RB6 and RB7 are general purpose I/O pins 0 = In-Circuit Debugger enabled, RB6 and RB7 are dedicated to the debugger |
関連記事
コメントを残す