<紙>さんLOG

「パソコンヲタクの雑記帳」
 PC/Linux系/物理・化学で遊んでいます。
思いついたことを綴っています。

PIC(5) 18F2550

2008年06月28日 | PIC・マイコン
                                             日記@BlogRanking
 これまでで、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クリック(投票を)お願いします ⇒ 日記@BlogRanking

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。