これまでで、PIC16F は5種類入門できた(カナ)。
16F84A、12F683、16F648A、16F873A、16F88。
再度、tiny bootloader の補足をしておく。
1.16F873A:tinybld16F873A.asm があったので、このままASMした。
実はバグがあって、ターゲットプログラムが書き込まれないので悩んだ。
bcf EECON1,EEPGD
となっている行は間違いで、正しくは
bsf EECON1,EEPGD
である。 tinybld16F873.asm では正しい。
2.16F88:tinybld16F88_i8MHz __19200.HEX があるので、このまま使っている。
で、今度は 18F2550 に移ることにした。
先ずは、tiny bootloader ファームウェアの準備であるが、
幸い、tinybld18F2550usb _20MHz_115200.HEX があったので、
このまま使うことにして、AKI-PICライタで書き込んだ。
mikroBASIC のプログラムは、16F873A で作った、
PS/2・KB入力--232CでのPC出力 を移植した。
といっても修正することはほとんど無い。
chip 指定と config 指定。これは、IDEで。
ソースでは、全ピンデジタルとするため、ADCON1 指定と、
232Cでのボーレートを変えたので、Usart_Init のパラメータ変更。
以上でコンパイル&ゴー。 ---> 見事に文字化け。
相当悩んだ末、config ワードの問題と判明。
tiny bootloader のサンプルでは、
PLLDIV_5_1L
CPUDIV_OSC3_PLL4_1L
USBDIV_2_1L
FOSC_HSPLL_HS_1H
となっていた。これは、20MHzセラロックを用いたとき、
動作クロックは24MHzということである。
--> mikroBASIC ソースを修正して。完動。
ここまでくれば、手持ち6chipとも使えるナ。
この後、16F873A で、
マブチモータを、モータードライバ TA7291P 経由で正転・逆転制御。
制御入力はPS/2・KB -> OK。
PS/2・マウス入力--232CでPCへ出力 -> OK。
そうこうしているうちに、1月が過ぎ去った。
お手数をおかけします。2クリック(投票を)お願いします ⇒