お断わり(2018年現在)

このコーナーは「当局にとってはじめてのPIC」と言う意味で、そのトタバタ顛末記です。
使用したPICもツール類も古く、これからPICを弄ってみようと考えている各局様にとって読む価値が無いと思います。
よろしければ、「PICキットコーナー」を閲覧して頂ければ幸いです。




この実験も①~④まで行い、色々失敗しながらも、ここまで来ました。
この辺で、実験基板をリニューアルして、実際にケースに入れて使える大きさにまとめて、実用基板として、締めくくりたいと思います。
まず、表示基板からリニューアルします。

↑今回7セグLED表示用として使用したユニバーサル基板
秋月の両面基板B(95mm×72mm)タイプです。
この位の大きさならば、何かのケースに収納できそうです。
実験用表示基板は大き過ぎで、ケース等に入れる気になりません。




↑7セグLEDを装着し、配線しました。




↑裏側も配線しました。
PIC16F648A使用、汎用8桁7セグ表示基板

実験基板のバージョンアップです。
ハードウエア構成は、2枚に分かれていた表示用実験基板とほぼ同じですが、秋月の両面ユニバーサル基板Bタイプ(95mm×72mm)を使用し、その基板上に表示部とコントロール部を1つにまとめました。
よって、かなり苦しい配線になってしまいましたが、配線密度を上げるには仕方ありません。
そもそも当局のプリント基板作製方法では、ここまで密度は上げられませんしね。
ハードウエア変更点は、
外部からの割込み対応するため、RB0ポートを空けた事。
LED発光させるためにもポートを1つ使用しました。
そのため、外部通信に使用できるポートはRA5の入力のみと、RB0の入出力の2本だけとなりました。

今回変更の特徴
内部ソフトウエアや外部制御コマンドも機能的には実験基板と同じですが、今度はデータ受信待ちに割込みを使える様にしてしました。
データ受信制御ポートが不要となり、送信側は出力ポート1本で送信が可能となりました。
今回の基板はこの割込み転送モード機能追加が売りです。 !(^^)!

今まで通りの、データ受信のタイミング合わせのための制御線を使う事も可能。
この場合は、制御ポートが1本しか使えなくなりましたが、DATA線でも送信側の準備可否が判定できるので、問題無いと思われます。
ただ送受信両側の通信ソフト部分を少し変更すれば良いだけです。
よってハンドシェイク転送モードも可能です。

↑右が今までの実験用基板2枚組み
左が今回作製の1枚基板です。
どちらも使用部品と機能はほぼ同じですが、大きさが相当違います。
しかし、今回作製の基板は良い事ばかりでは無く、アース面積が殆ど無いため、アナログ回路はありませんが、周囲の影響を受け易いと思われます。
動作はしていますが、オシロ等で各ラインを測定すると、ハムを中心に余計な信号が多分乗っていると思われます。




↑試運転中、ハンドシェイク転送モードです。
左のカウンタ基板は、以前作製した基板で、
PIC12F683カウンタ実験基板です。
当然そのプログラムは今回の表示基板に合わせて、かなり変更してあります。




↑8桁、0.1秒モード
テストオシレータから約30MHZを入力中




↑8桁、0.1秒モード
テストオシレータから約800KHZを入力中



8桁7セグ表示基板プログラムソースファイル
どちらの転送モードを使うかにより、プログラムを選択します。

割込み転送モード、ビット幅10usec版
16f648_8_7seg01_in01.asm

ハンドシェイク転送モード、ビット幅50usec版
16f648_8_7seg01_hs.asm



ハンドシェイク方式
データ転送シークェンスの変更

受信側
DATA線(RA5)チェック
DATA=Lを確認したら
RX(RB0)=Hとし、すぐ受信体制へ
受信終了したらRX=Lにして終了

送信側
送信準備が出来たらDATA=L
RX線をチェックしながら待機
RX=Hならすぐ送信
送信終了したら、DATA=Hにして終了



PIC16F648A表示基板制御コマンド表(FLG)

1回の受信データごとに有効です。
基板上に設定スイッチ等はありません。
すべて送信されてくる、FLGバイトのコマンドフラグビットにての設定となります。

FLGフラグ設定内容
ビット7 オーバーフローLEDを点燈(1)、消灯(0)させる
ビット6 4,7桁目ドット点燈(1)、しない(0)
ビット5 3,6桁目ドット点燈(1)、しない(0)
ビット4 2,5桁目ドット点燈(1)、しない(0)
ビット3 ゼロブランキング処理する(1)、しない(0)
ビット2-0 ビット列001で2桁表示モード
        ビット列011で4桁表示モード
        ビット列101で6桁表示モード
        ビット列111で8桁表示モード
        ビット列000設定不可
PIC16F648Aのプログラム
基本的に実験用表示基板と変わらず、その延長線上にあります。

新設ルーチン
割込み処理ルーチン
 RB0外部割込み入力に対応した処理ルーチンを付加しました。
 RB0ポート入力が通常(H)となっており、(L)になると割込みが発生し、データ受信を開始します。
 受信したデータは所定のワークエリアに格納し、処理を終了します。

変更ルーチン
ドット点燈処理ルーチン
 7セグLEDのドット部分は、RBポートからRA3ポートに変更となりましたので、それに合わせて変 更しました。
 と言ってもほとんど書き直しています。
7セグ表示データ処理ルーチン
 7セグLEDのセグメントが接続されているRBポートの位置変更がありましたので、
 テーブルデータの変更をしました。
 当局は使いませんが、ついでにゼロブランキング処理も付加しました。
データ受信ルーチン
 途中からですが、ビット幅を今までの100usecから50usecに変更しました。

その他
 当初は割込み転送モードとハンドシェイク転送モードが共存していたのですが、うっとうしいので、それぞれ分離独立しました。



割込み転送モードの使用感

良い所
割込み処理ルーチンさえ作ってしまえば、後は何も考えなくても、所定のワークエリアに転送されたデータが格納されていますので、そこからデータを取り出して、表示するだけです。
とてもシンプルなメインプログラムの流れで、気持ち良いです。

問題点
効率的なデータ受信が可能だろうと、喜んでプログラミングしたのですが・・・
最大の欠点は割込み処理の最中に表示処理が一瞬停止するため、ちらつきます。
ゲートタイムが1秒の時はあまり気にならないのですが、0.1秒の時はイラつきます。
かと言って、7セグ表示処理中を割込み禁止にすると、データ取りこぼしが生じNGです。
7セグ表示処理中の大半を占める、ウエイト時間に割込み許可をしてみたら、これも時々データ取りこぼしが生じNGです。
チラツキを気にしなければ、それまでなのですが、我慢できません・・・ (ーー;)
いつ何処で割込みが発生するか不明な上に、割込み中のデータ受信に4msec以上掛かるのが、原因と思われます。
う~ん、どうしよう・・・
時間が前後しますが、ハンドシェイク転送プログラムの場合でデータ受信時間が、ほぼ半減できましたので、割込みルーチンでも時間短縮ルーチンを適用して実験してみました。
その結果、以前よりかなりチラツキが低減しました。
1秒の時は、あまり目立たなくなりましたが、やはり0.1秒の時は結構ちらつきます。
所詮、データ送信を表示基板の都合で待たせている、ハンドシェイク転送方式には敵いません。
今回製作基板の最大の特徴だったのに・・・ (-_-;)
結局、要らない子(プログラム)になりそうな予感・・・




制御線(RX)を使用の場合(ハンドシェイク方式)
今までの実験基板では、DATA線、RX線、TX線の3つのポートを使用し、その内制御線として2ポートも使用していました。
その内、TX線はDATA線で代用できそうなので、廃止(と言うか、余分ポート無し)としました。
RA5ポートがDATA線(兼TX線)に、RB0ポートがRX線となります。
チラツキを低減するために、データ取込タイミングを7セグ表示ルーチン内のウェイト部分にダブらせてみました。
具体的には、1つの桁の7セグLED発光時間は約2msecでその間PICはウェイトルーチンで暇つぶしをしています。
その内、最後の表示桁=1桁目の発光時間を、データ読込み時間に充てて、読込みデータが無ければ、本来のウェイトを掛けるようにプログラムを変更しました。
その結果、1桁目のみが表示時間が長くなり、ちらつきます。
データ読込みは4msec以上掛かるのが原因です。
しかし、他の桁はチラツキが、殆どなくなりました。
となると、データ読込み時間を半分にすれば、元々のウェイトと見分けが付かなくなり、理論的にも理想的と思われます。
と言う訳で、実験的に送受信ビット幅を100usecから50usecに変更してみました。
これにより、データ読込み時間が2msecちょっととなります。
データの取りこぼしが生じるか心配でしたが、適当でも意外と大丈夫でした。
そして実行すると、何とチラツキが分からなくなり、どうやら上手く行ったようです。
結局おまけのつもりが、こちらがメインプログラムとなりそうな予感・・・



余談その①
あれこれと、このプログラムを弄っている内に、今までの表示プログラムのバグを発見してしまいました。
ある条件下で堂々巡りが始まり、全桁「0」表示のままで、そこから動けなくなります。
シミュレーションデバッガで再現出来たため、応急対策をして事無きを得ましたが、まだ何かあるかもしれません。(その後割込みルーチンでも堂々巡り発生!)
素人プログラミングの困った点ですね。 (^_^;)



余談その②
素朴な発見のつもりが・・・
割込みルーチンをシミュレーションデバッガでチェックしている時、使用していないTMR0がちゃんとアップカウントして、オーバーフローすると、割込みは掛かりませんが、INTCONレジスタのビット4、T0IFタイマ0オーバーフローフラグが、ONになる様子を見ることが出来て、その挙動を見ながら、なるほどなぁ~と、しばらく遊んでいました。
そもそも、カウンタ部基板はこの機能で入力周波数をカウントしていますしね。
とのんきに構えていたのはここまででした。
後でやっと気が付いたのが、RB0割込みフラグ「INTCON INTF」です。
これもGIE=0にして割込み禁止にしても、その間確かに割込みは発生しませんが、割込みトリガーが掛かるとINTF=1となってしまいます。
そして、RBIE=1のままなので、その後割込み処理が終了し、RETFIE命令が実行されると、元のアドレスには戻らず、再度割込みベクタに飛びます。
当初、割込み禁止中はINTFフラグすらも立たないと思い込んでいて、割込み処理ルーチンの最初の方にINTFフラグリセット処理を行なっていたのでした。
当然、RB0からの受信データそのものが割込みトリガとなり、INTF=1になってしまいます。
データ入力終了後、割込み処理ルーチンが終了すると、即座に割込みが掛かるという、事態になってしまいました。
TMR0の挙動を見て、RB0についても連想して気が付けば良かったのですが、のほほんとしていました。
と言う訳で、これによる堂々巡りに、しばらくハマっていたのでした・・・(-_-;)



さて、趣味ですので、もうちょっと割込みモードであがいてみる事に・・・
どこまで転送時間の短縮が出来るか実験してみる事にしました。
実用版を作るつもりが、いつまでたっても「実験版」から脱却しないですね・・・
表示基板の受信速度に合わせて、送信基板の転送スピードを調整してみる事にしました。
16F648A表示基板のINT受信ルーチンを見直してみると、データビット幅を当初の100usecから50usecにした時間短縮版でも、まだまだウェイトを挿入しています。
おまけに、時間調整も結構ラフです。
データビット幅を10~20usecまでさらに短縮する余地はありそうです。
そうとなれば、プログラム改造だ~っ・・・

結果発表!!!
っと、言う程大げさな改造では無いのですが、趣味ですのでお許しを・・・ <(_ _)>
ビット幅25usecにしてみた所、データ受信はちゃんと可能でした。
ゲートタイム1秒では、ちらつきはまったく気が付きませんが、0.1秒では微妙に判ります。
ビット幅10usecに、だめもとで挑戦してみた所、何とデータ受信が無事可能でした。
おまけにゲートタイム0.1秒でも、ちらつきはほとんど判らなくなりました。
このレベルなら、実使用でも問題無いと思われます。
不出来な子(プログラム)も努力すれば、優秀な子(ハンドシェイク方式)を凌駕しました。

ただ、表示基板のクロックはセラミック発振子ですので、精度がイマイチなのが気になります。
実際、受信ループ中に2~3サイクル(命令数)挿入や削除すると、ビットズレにより、まったく受信できなくなり、結構シビアです。
クリスタル発振子使用した方が無難と思われます。
また、送信側のクロック精度は良いのですが、送信パルス幅の精度を確保するには、バイト単位の送信サブルーチン方式は使えず、だらだらと全送信ビットを記述する羽目になってしまいました。
まあ、結果が良ければ、ソースの見かけが悪くとも問題無です、アマチュアですから。
と逃げ文句を垂れています・・・ (^_^;)

↑今回は秋月の両面スルホール基板Cタイプを使用しています。(72×47mm)
部品交換してもランド部分が剥がれたりしないのでFBです。
9R59D等に使える、オフセット付お手軽周多数カウンタ部基板

表示基板のバージョンアップは、どうやら上手く行きましたので、今度はPIC12F683カウンタ基板のバージョンアップをする事にしてみました。
PIC12F683使用実験基板を基本に、実用性を考慮し、新たに作製し直しました。
IFオフセット機能を付け、標記お題目を付けました。
9R59の様な高一中二受信機には必要十分な精度を持っていると思います。
もちろん、前述の16F648A表示基板、或いは同機能品にデータ転送・表示する事を想定しています。

要求項目
ハードウエア構成および製作、そしてプログラム構成も簡単にする。
受信機の局部発振回路からのRF信号を、IF周波数(455KHZ)の差分を演算して表示する。
これにより受信周波数を表示可能とする。
普通にHF帯の周波数カウンタとしても使用できるようにする。

概略
精度はそれほど必要ない事とし、PICだけでカウンタ部を構成する。
実験で、プリスケーラ無しでは2.2MHZ程度までしかカウント出来ない事は判っていますので、実用性を考慮した結果、1/16プリスケーラを使用する事にしました。
よって、36MHZ(理論値)が上限となります。(100KHZ-36MHZ)
SW切替で、入力そのままの周波数表示と-455KHZのオフセット表示切替
ただし、このモードの場合は500KHZ-36MHZ対応となります。
出力データは、基本的にゲートタイム0.1秒の6桁表示指定とする。
データ送信は割込み受信想定

↑ゲートLEDが無くなり、SW2つになりました。




↑Amazonで買った銅箔テープ




↑テープをハサミでカットしました。
絶縁用の厚紙も合わせて作ります。




↑銅箔接着面に厚紙を貼り付けます。




↑基板裏面に半田付けしました。
回路構成
基本的な構成は最初のPIC12F683実験基板と変わりませんが、変更部分があります。
RFアンプ部分に於いて、FETはゲインが少ない割りに発振しやすかったので、バイポーラTRのみの構成に変更してみました。
よって、RF入力はロー・インピーダンスとなりました。
信号ラインのインピーダンスはかなり低くなりましたが、以前のFETのみの回路より、この回路の方がゲインがありますので、気を抜くと発振してしまいます。
またRFアンプ部分は、PIC回路部分と比較して、面積を広く取っています。
よって、必要に応じて、アンプ部分のシールドが可能となりました。
当局はパターン面(裏面)は銅箔テープで簡単なシールドをしてみました。
部品面側もシールドするつもりだったのですが、裏面だけでも発振せず動作しているので、様子見です。
この銅箔テープは半田付けが可能な上、テスターで調べると接着面も導通がある様です。
よって、接着面には厚紙をくっ付けて絶縁し、GNDラインと半田付けで固定しています。
物理的強度はありませんが、極めて簡単に簡易シールド出来ます。
面倒な場合は、感度はかなり落ちますが、1段目のアンプを省略し、2段目だけで1石RFアンプとして構成すると、シールド等をしなくても発振などしません。
その場合、感度不足なら、別基板でのプリアンプ構成にすると良いのではと思います。
9R59Dの周波数表示のみに使用するなら、本基板では1石アンプにして、局発回路部分にバッファアンプを構成すれば、十分と思われます。

PIC動作クロックは、安定度が落ちますがPIC自身と外部X'TALでの発振回路に変更しました。
ところが、現状では発振周波数の微調整は可能となりましたが、周波数安定度に於いては、ケース入り発振器に完敗です。
よってカウンタ等の無い各局様は、PIC12F683実験基板の時の様な金属ケース入り発振器の方が発振精度、時間や温度変化による安定度共に必要十分な性能を持っている事を、実験にて確認していますので、その方がお勧めです。



当初は入力専用ポートには、とりあえずスイッチを付け、余ったI/OポートにはLEDを付け,
ゲートオープンしている時間を点燈させたのですが・・・
所が、実際に動作させてみるとLEDは点燈しっぱなし・・・
これでは、ただのパイロットランプです。
その原因は、転送処理速度の高速性にありました。
データ転送に於いて割込み受信を想定しているため、RFサンプリングと次のサンプリングの間の処理時間が短い事に加え、表示基板からのRX信号により待たされる事も無いので、常にゲートオープンしている様に見え、その結果ゲートオープンLEDも点燈しっ放しに見えるのです。
よって、ゲートLED要らないんじゃね?と言う事になりました。
よって、このポートもスイッチ入力に変更してしまいました。
不要になったLEDは、ただのパイロットランプとして使用する事に・・・
スイッチが2つになったので、オフセットON-OFF切替SWと、0.1秒(6桁表示)あるいは1秒(8桁表示)の切替SWと変更しました。
もちろん8桁表示は、実用上の意味は無いですので念のため。
桁切替スイッチはやめて、LED点燈にポートを使用しても良いと思います。

まあ色々欠点はありますが、部品数も少なく、安価な部品ばかりなので、ちょっとしたツマミと、ビールでも飲みながら、お気楽に製作できる基板と思います。
とは言っても、表示基板が存在していればの話になりますが・・・



表示基板はめんどくさ・・・

7セグLED基板は、回路図は簡単なのですが、配線が単調で面倒くさいと思うのは当局だけでしょうか。
特に1個ずつの7セグLEDを8個接続するのがだるいです。
秋月に4個入りのLEDモジュールがあるようなので、それを使えば楽そうですが、当局は大量・安価に入手した低光度のLEDピンが1個1個なので、これを使うしかありません・・・



PIC12F683カウンタ部基板プログラムソース

12f683_count02.asm



STATUSレジスタ キャリーフラグについて

今回は-455KHZの演算が必要となりますが、ここでSTATUS_Cフラグの注意点など

SUB**命令を行なうと、場合によっては桁借りすなわちボロー(BORROW)が発生します。
これらの命令を実行すると、STATUSレジスタのビット0(Cビット)が変化します。
減算をして桁借りが発生しないならC=1となります。
桁借りが発生した場合、C=0となります。

加算の場合、桁上りが発生しないならC=0で、桁上りが発生すれば、C=1となります。
つまり、このCビットはCARRYではそのままの意味ですが、BORROWではビットの極性が反転している事に注意が必要です。




↑8桁モードで14MHZを表示させています。




↑そのままオフセットモードに切替
ピンボケなので、拡大写真はありません
ソフトウエア
基本構成は実験基板の物とほぼ同じですが、あちこち修正と変更をしました。
まずは、イマイチだったカウント時間を調整、結構正確となったと思います。
DATAビット幅は10usec出力で短時間転送
内部プリスケーラは1/16固定ですが、ゲートタイムは100msecと1sec切替
切替時に最下位桁の数字が合わない事がありますが、これは倍率が大きい(160倍)ためと思われます。
無論、プログラムの変更でプリスケーラの変更、その他は可能です。
IF455KHZの上側ヘテロダインの局部発振器対応。
このモードの時、RF入力が約500KHZ以下の時、表示基板のLEDを点燈させ、減算しません。
詳細はソースファイルを参照して下さい。

まとめ
ぜひ9R59D等の高一中二スーパー受信機の外部デジタル受信表示機として使用して頂きたい。
ソースファイルも極力コメントを多くしてありますので、改造や間違い御指摘等をお願いしたい。
そして当局同様な初心各局の、はじめてのPIC工作のお役に,、ちょっとでも立てれば嬉しいです。

↑今までの実験基板総動員です・・・

PIC16F688実験基板の出力は表示基板へ
プログラムは改定してあります。
ソースファイル
16f688_count02.asm

PIC12F683実験基板の出力は入力2へ接続
プログラムは改定してあります。

PIC16F648A実験基板のプログラムも改定してあります。
ソースは共に次のプログラム変更のコーナーにあります。




↑上記画像と同じ接続状況での撮影ですが、
例によってピンボケですいません・・・




↑変更した16F688回路図
スイッチを追加しただけのお手軽変更です。
PIC16F688外部入力オフセット機能付周波数カウンタ部基板

(以前作製した実験基板の追加実験です)


PIC16F688実験基板の追加実験

RF入力とデータ入力との周波数演算変換実験

実用基板を作製するつもりではいますが、それは別枠での公開としたいと思います。
ここでは実験基板そのままで、余っているポートにスイッチ等の取り付け、それらを利用するプログラムの追加実験に留めたいと思います。
とは言っても、この実験は当局が作りたかったカウンタの目的に近づく実験でもあり、この段階程度のプログラミングレベルになるのを楽しみにしていたのです。
ここまで見てくれた各局様は、当局が何を作りたかったのか予想が付くとは思いますが、その目的はアナログVFOの古いリグに装着、あるいは外付けデジタル表示器等の中核部品となる事を想定しています。
つまり、VFO入力と各バンド局発からの2つの入力を演算して、実送受信周波数を表示させるためのプログラム作成実験と言う事になります。

追加配線を含む入出力等

スイッチ1(追加)
RFカウンタあるいは外部オフセット(周波数演算変換)を行なうかどうかの選択

スイッチ2
ゲートタイムおよび表示桁数の選択

入力1
RFカウンタ入力部
アナログVFO等からの入力を想定しています。

入力2(追加)
別のカウンタ基板からのシリアルデータ入力部
ハンドシェイク方式でのビット幅50us40bitフォーマットでの受信対応です。
この入力データと入力1との演算結果を表示基板への出力データとします。
バンド切替水晶発振器等からのカウントデータを想定しています。

出力
8桁表示基板へのシリアルデータ出力
ハンドシェイク方式でのビット幅50usec、全40ビットフォーマットでの送信対応です。

LED ゲートオープン表示用



オフセット演算について
今回は、(入力2データ)-(入力1データ)の差分演算しています。
演算精度は32ビット整数で負はありません。
もちろん、前出のPIC12F683カウント基板同様に入力1に対して固定値(455KHZ等)でのオフセット演算も可能ですが、現在は対応していません。
プログラム内での変更では可能となります。
これは実験ですので、前出のPIC12F683カウント基板と違って、演算エラー(ボロー)に対して対処していませんので、注意が必要です。




実験構成図

RF入力2 → PIC12F683カウンタ実験基板
          ↓シリアルデータ出力
          ↓
          ↓シリアルデータ入力に接続
RF入力1 → PIC16F688カウンタ実験基板
          ↓シリアルデータ出力
          ↓
          ↓シリアルデータ入力
7セグ表示   PIC16F648A LED表示実験基板



プログラム
今までの、カウンタ部そして、表示部の受信ルーチンを、一つにまとめただけです。
事実、新規作成の機能的サブルーチンは無く、既存のルーチンを再編集しただけです。
詳細はソースファイル内のコメント欄を参照して下さい。


PIC16F648A実験基板ソースプログラム

ビット幅50us版
7seg_test4.asm



PIC12F683実験基板ソースプログラム

ハンドシェイク版
12f683_count_test2_hs.asm

割込み版
12f683_count_test2_in01.asm

これまでの実験基板のプログラム修正等

PIC16F648A実験基板のプログラム変更
表示基板のプログラムを、今回の実用基板ハンドシェイク版と同機能に変更しました。
よって、カウンタ基板側からは見た場合、今回作製した汎用表示基板と互換性があります。
主な変更点
ちらつき対策のため、受信データビット幅を50usに変更
ゼロブランキング処理を追加
DATA線はRA5、RX線をRA4、VDDから抵抗を通したLEDをRA3に接続とした。



PIC12F683実験基板のプログラム変更
カウンタ実験基板のデータ出力をビット幅50usに変更。
DATA線とRX線でのハンドシェイク転送に対応しました。

カウンタ実験基板のデータ出力を10usに変更
DATA線のみの割込み出力に対応



まとめ

以上を持ちまして、当局版「はじめてのPIC」シリーズは終了とします。
ゼロからの出発でしたが、初歩的なプログラミング方法を、I/O機能のみに限定してですが、ちょっとだけ理解できたと思います。
とは言っても、当局のプログラミングレベルが、とてつもなく低い事には変わりありません。
よって、これからも少しずつ実験をして、経験値アップを図りたいと思っています。
まだまだアマチュア無線家に取って有用なPICプログラミング実験が沢山残っています。
上を見過ぎず、当局の様な本当の素人が手に届く範囲の、解り易く、かつお手軽・気軽に楽しめるPICマイコン無線工作および、そのプログラミングの、失敗および成功事例を公開して行きたいと思います。
バグ・修正等ありましたら、追記で対処します。

2018年8月追記
このコーナーのプログラム修正等は行いませんので追記等もこの文章が最後となります。
当局にとっては、ここでの素朴な実験でPICプログラムミングの初歩を学べたと思っています。
ここでの経験を踏まえ、「PICキット」コーナーにてPIC工作や基本的なプログラミング詳細、そしてサブルーチンや関数を公開しています。
戻る  実験・製作の記録TOPへ戻る