CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

インバータ挿入

 
デコーダを正論理出力の74HC239に貼り替えようかと思いましたが、入力ポートの方の論理は正しいので2本のデコード出力のみにインバータを挿入することにしました。
空きゲート、予備パタンは無いので基板の裏にSOPのシングルゲート(TC7W04F)を接着剤で貼り付けUEWで手配線です
 
かなりみっともない状況になっています
 
 
イメージ 1
 
 
これでなんとか論理的にはOK。
出力ポートの先につけたLEDを点滅させるプログラムを実行させてみます。
 
 
イメージ 3
 
 
プログラムを書いてみると気付くのですが、ICUはプログラムバスとデータバスが完全に分離されたハーバードアーキテクチャになっています。
そのため、プログラムコードにデータの即値を埋め込むことができません。
つまり、たとえばレジスタに直接「1」をセットすることすらできないということです。
 
ここでは入力ポートがプルアップされていることを利用し、入力ポートのビット0(アドレス0x010)を「恒真」ビットとし、ここを参照することによって論理「1」を取得するようにしています。
 
 
イメージ 2
ようやくLEDアレイのチカチカ(ナイトライダー風)テストができました。
プログラムのコーディング、DLL自体はPICに対して行うのですが、LEDをチカチカさせているのはあくまでも「MC14500」です
 
・・動作クロックはPICのCCPユニットから貰っています。。
ただし3個並んだ一番左のSWをOFFにするとICU内蔵の発振器で自走します