2022.9.27
前へ
次へ
ホームページトップへ戻る


PIC−USBIO using BASIC

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第63回]



●PICUSBIO−03(12)PIC18F1XK50の特殊レジスタ

前回までpicout、picinを使ってPICのレジスタTRISC、TRISB、PORTC、PORTBに直接アクセスするプログラムを紹介してきました。

でも、それって。
今までのBASICプログラムに加えてTRISC、TRISBにアクセスできるようになった、というだけでしょ。
それほど便利になったという感じはしないけどなあ。

そんなふうに思われるかもしれません。
実は。
picout、picinなんてものをわざわざ新たに作ったのにはもっと大きな目的があるのです。
ただ単にTRISC、TRISB、PORTC、PORTBにアクセスするためだけにわざわざ新しい命令を作ったりはしません。
それなら今までのOUT、INだけで十分です。
PICの入出力端子にはI/Oポートだけではなくていろいろな機能が多重に割り当てられています。
カウンタであったりADコンバータであったりシリアル通信機能であったりします。
それらの機能はTRISCやPORTCなどと同じように特殊レジスタの形で割り当てられています。
TRISC、TRISB、PORTC、PORTBは沢山ある特殊レジスタのうちのほんの一部のレジスタです。
picout、picinを使ってTRISC、TRISB、PORTC、PORTBにアクセスできるということは。
そうです。
picout、picinはそのほかの特殊レジスタにもアクセスできる機能なのです。
下はPIC18F1XK50の特殊レジスタの一覧表です。


[出典]Microchip Technology Inc. PIC18F13K50/14K50 Data Sheet

PIC18F13K50/PIC18F14K50にはこれだけの特殊なレジスタがあります。
この全てにアクセスできるとよいのですけれど。
このうちのかなりのレジスタをシステムが使っています。
その値をユーザーが書き換えたりするとシステムがハングアップしてしまいます。
もっともそのようなレジスタのうちの多くはプログラムを組むときに使うレジスタであったりもっぱらUSB通信のためのレジスタですから普通のユーザーがI/Oを扱うときに使うようなレジスタでほありません。
とりあえず。
赤で囲ったレジスタをpicout、picinの対象として考えています。
とりあえず、ですのでこれから色々テストを進めていくうちに対象から外すレジスタが出てくるかもしれません。
できるだけ多くのレジスタにアクセスできるようにしたいと思っています。

PIC−USBIO using BASIC[第63回]
2022.9.27upload

前へ
次へ
ホームページトップへ戻る