PIC16F819にもいろいろ制約があることがわかってきた。
LCD表示についてPORTBだけで制御するのはどう探してもそういう例を見つけられない。
なので制御線3本はやはりPORTAから引くことにする。
PORTAは8ピンでアナログ入力ピンはそのうち5本。単純に考えれば残りの3本でいいんだが
RA5はMCLRもしくは入力ピンということで出力には使えない。
結局RA6,7とRA2をLCD制御にまわし、RA4はタイマー0用デジタル入力とするとA/Dは3系統
しかとれないということになる。
まあタコメータ回路はLCDに表示するのをやめて別のPICに任せれば4系統とれるのだけど。
あと基準電圧はPICの動作電圧とGNDとすることでピンを節約することになる。
現状を整理すると
PORTA
0 ←AN0 (WTR TEMP)
1 ←AN1 (OIL TEMP)
2→LCD E
3 ←AN3 (VOLT)
4 ←TMR0 (RPM)
5 ←MCLR
6 →LCD R/W
7 →LCD RS
PORTB
0 ←sw1
1
2
3
4 →LCD DATA
5 →LCD DATA
6 →LCD DATA
7 →LCD DATA
ちなみにシリアル通信はいくらやっても成功しない。
相手側をいきなりVISORでやっているのがおかしいのかな。