PIC16F18325に翻弄された冬休み

2018-01-04      
 あっという間に三が日が過ぎていきました。晴天が続くよい日和かと思いきや、最終日の昨日は寒風吹きすさぶかなり寒い一日・・・となれば、部屋に篭ってハイボールで暖を取りつつ、へっぽこ実験の一日となりました

 さて、先の記事で予告した通り、件名にも登場している5桁PIC・・・PIC16F18325に振り回された”冬休みヘッポコ実験”についてまとめておきたいと思います。

 このPICはMSSPモジュールを2つ積んでいるという代物で、現在絶賛難航中 のAGC制御部に採用しようとしているPICです。4桁から5桁への変更点として、自分の認識では"Timer0の16ビット化”に尽きると思い込んでいましたが、他にも幾つかの”隠れキャラ”が存在していて、それらに悉く躓きながらの奮闘・・・この辺りを忘れないようにまとめるのが得策でしょう。

 ◆クロック指定方法が変わった

 何のために変わったのか自分的にはよく解りませんが、正直妙な変更のように思います。まぁ、クロックをあれこれ動かして動作するような作り物でなければ、コンフィグビットの設定を”ホンの初動”くらいに考え、OSCCON1で必要なシステムクロックに設定し直すという使い方になります。この辺り、諸OMが取り上げていらっしゃるものも無くは無いんで、さらに詳しい解説はそちらに譲ります。

 今回は特に”内部クロック”を使うつもりのため、コンフィグは兎も角(ちなみに”RSTOSC = HFINT32”を設定)、OSCCON1に以下のように値を設定しています。

 ① OSCCON1bits.NOSC = 0;      // 発信源、周波数
 ② OSCCON1bits.NDIV = 1;        // 分周比

 詳細はデータシートを見て貰うとして、この処理の”肝”は②の分周比です。内部クロックを使う場合のNOSC設定には2種ありますが何れも32MHzとして動作するようで、結局32MHzからの分周を②で設定する格好になるようです。

 ただ、他にも設定の組み合わせがありそうで、気が向いたら改めて調べたいと思います。

 ※外部クロックは試していません・・・念のため。

 ◆PPSの設定

 この機能は、比較的後発の4桁PICにも採用されていますが、現時点で手に入り易いものではそれほどポピュラーとは言い切れないと思います。ペリフェラルの入出力ポートを柔軟に切り替えられるという意味で必要な機能だとは思いますが、やはり馴染みがないとまごまごします。

 今回チョイスしたPICでは、MSSPのポート割り付けが全てPPSの対象になります。更に、PICでI2Cを接続するポートは"入力ポート"としてTRISxレジスタを設定しますが、このPPSの設定ではTRISxレジスタを入力に設定した上で、クロック側を出力(PICがマスターの場合)、データ側を何と"双方向"に設定する必要があります。

    RC4PPS = 0b11010;               // SCL2 出力
    RC5PPS = 0b11011;               // SDA2 出力
    SSP2DATPPS = 0b10101;      // SDA2 入力

 この情報も解説記事から拾ったもので、やはりここでも先達のお世話になりました。

 こういった障害を乗り越え、漸くLCDが動いたところで冬休みは終わりました。本当にやりたかった実験には到達しませんでしたが、新しいLCDに文字が表示されるとやはり嬉しかったりします。



 おや 秋月にないタイプのLCD・・・確かI2CのLCDを「八潮」に買いに行った筈なのにおかしいですねぇ。この続きは、次の記事にしましょうかね
Calendar
12 | 2018/01 | 02
Sun Mon Tue Wed Thu Fri Sat
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
New !
Category
Comments
Monthly Archives
Track Backs
Counter
Sunspot Now !

 


Survey Results

 

Profile

どよよん無線技士

Author :どよよん無線技士
こおるさいん:JM1DPL

アパマンというハンデにさらにQRPまで課し、失敗連続のヘッポコリグや周辺機器の製作・・・趣味というより「荒行」か!?

メールは「JARL経由」でお願いします。

Links
Follow me !
RSS Links
QR Code
QR