Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC16F1827 + SC1602B

PIC16F1827でLCDのSC1602Bに文字を表示する例。
PIC16F84AやらPIC16F88やらPIC16F1823まであるのにPIC16F1827のはなかったので。
eBayとかで買ったのもあるが、秋月で一番最初に買ったヤツでやってみる。
20150923235444
pic16f1827_sc1602b_01
大元のソースはPIC16F84を例にされているこちらのサイトを参考にさせていただいたものだ。
Configurartion BitsはPIC16F84Aのものは使えないのですべて書き直した。
他の部分はそのままでいけると思ったが、当初、クロックが5kHzを超えるとなぜか文字化けして表示できなくなった。
元ねたの記事では「delayにバグがあって」的なことが説明されており、その後バグが直ったら直ったで不具合の原因となる可能性はある。
そういうわけで、コマンドを送る際の時間稼ぎを行っている部分が悪さをしているように思えたので、思いつくまま適当に直したら問題なく動作して文字が表示されるようになった。
PLLで32MHzにしてもちゃんと動くことを確認した。
MPLAB X IDE + XC8 Compilerの環境でPackage化したものだ。
[BOOTHで販売中 SC1602_08]

追記(2015/10/09)
LCDとの接続ピンを変更したバージョンを作った。
20151009171253
違いはLCDとの接続にPORTAを使い、PORTBを空けたこと。
連続で8ビット分自由なピンを確保できた方がいいかなということで。
pic16f1827_sc1602b_02
[BOOTHで販売中 SC1602_09_A0-4_A67]
追記(2015/10/10)
片面ガラス・ユニバーサル基板(ブレッドボード配線パターンタイプ)が1枚残っていたので、久しぶりにプリント基板以外でボードを作ってみた。
20151010001241
なんだかんだで、やっぱり、プリント基板の方がスマートにできる気がする。
ジャンパ線の長さを調整したり、被覆をむいたり、予備ハンダしたりは、ごみも出るし、意外と面倒な作業だったんだなと再確認することとなった。
ユニバーサル基板がまだ数枚、今回使った基板の残りが半分、あと、SMD用の基板が数枚、在庫として残っているが、たぶんそのまま肥やし化する可能性が高い。

このエントリーをはてなブックマークに追加

Posted under: PIC16F1827, これから始めるなら


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.