今年最後のお遊びである
一個50円で入手出来る8pinのマイクロコントローラチップである
<@50円のチップ、コストパフォーマンス抜群である>
この12F509はプログラムエリアがフラッシュメモリ1024wordの容量である
メモリは41byteで、5つの入出力ポートと1つ入力専用ポートで計6ポートである
その中の3ポートを内部プルアップする事が出来るので、この手の変換には向いている
マイクロチップ社ではベースラインと位置づけれる、1命令12bitのCPUコアである
初めてベースラインのプラグラムをしてみたのであったが
以外と手強いのである….
普段使っているのは、ミッドレンジと呼ばれる1命令14bitのCPUコアなのであるが、微妙に色んな所が違うのであった
ポートの入出力設定のやり方や、メモリのマッピング等々詳細が違っている
大きな点は、ハードウェアスタックが2つしか無いので、2つ以上のネストは出来ないのと、割込みが無いのは承知であったが、微妙な所で時間が掛かってしまった
まぁ、そうは言っても@50円は魅力的である
約4MHzの内蔵RCクロックもあり、簡単な制御であれば最適のコントローラであろう (慣れないとプログラムが面倒であるが)
今回の工作は、BCDスイッチ入力を16段階でPWM出力する、PWMコンバータである
0-Fの入力で16段階でのPWM出力をするプログラムである
PWMなら12F683等のチップを使った方が効率的であるが、16段階なので手作りのソフトウェアPWMにしてみた、今回の内容はBCDスイッチの数値に合わせてPWMを出力するだけの制御である
<でっち上げた、PWM評価ボード>
<とりあえずは、BCDスイッチとデューティは同期OKである>
初めてのベースラインチップでのプログラムは慣れないことも有って、思った以上に時間が掛かってしまったが、とりあえずは動くモノは出来たので、ヨシとしよう
さらりと遊ぶ筈が、今年最後の嵌まりゴトになってしまったのであった