2020/07/08(水)亜土電子 LM304定電圧キット
LM304定電圧キット
古くは亜土電子(T-Zone)でパーツキットとして売っていた「LM304 定電圧キット 0~20V)だが、なぜかAmazonでも売っている。その名もズバリ ADK-304。LM304と2N3055の組合せ。

古くは亜土電子(T-Zone)でパーツキットとして売っていた「LM304 定電圧キット 0~20V)だが、なぜかAmazonでも売っている。その名もズバリ ADK-304。LM304と2N3055の組合せ。
夜中に自分の部屋でPCを操作している時に、突然、直ぐ近く部屋の何処かで破裂音がした。最初は、AC回路のショート?電解コンデンサーの破裂?と色々考えたが、電源の入っていない機器の中は置いておいて、動作しているのはPC以外はなんだろう。HUBかサーバPCか。サーバPCは年代物なので考えられる。しかし問題なく動作しているしサーバPCを引き出して分解するにしろ明日の朝にする事にして、部屋中の電源を落としてその日は寝ることにした。
Tiny Basic For 8051を修正して内蔵RAM(2KB)を利用出来るようになりました。
HEXファイルだけここに公開します。
TinyBasic51はこちらにドキュメントがあります
*1 シリアル速度は9600bps固定です。
*2 起動後にスペースバーを叩くと起動します。
BASIC-52*1が動く環境が出来上がったのでASCIIART(マンデルブロ集合)ベンチマークを走らせて見ました。11.059MHzのSTC89C52にBASIC-52(V1.1)を書き込んで実行すると6分38秒要しました。BASIC-52ではFOR-NEXTループ内からループの外へGOTOするとエラーとなる為プログラムの一部を修正。またダブルスピードモードでは3分20秒で終了。
STC15F2K08S2というマイコンをaitendoさんで見つけてBasic51(Tiny Basic)を走らせてみたがどうも内蔵RAMへの書き込みが上手く行かない。簡単なメモリーテストプログラムを走らせて結果を確認した所、どうやら00FFより上のアドレスにアクセスするにはMOVX DPTR系の16bitアドレス指定命令でのみ可能なようだ。古い8051ではSRAMは外付けなので、上位バイトはI/Oポートで設定しても可能だったが、このチップはダメみたい。ソースコードに手を入れようかな。
私は普段アセンブラはcygwin上でThe Macroassembler ASを利用している。そこでオリジナルのTB51.ASMをMetalink ASMバージョンに書き換えたTB51ML23.ASMをさらにAS用に書き換えてみた。自分の環境で再コンパイルが出来ると色々と触れるから。
少し前に中古のIntel D8751Hを幾つか入手しました。しかし半数が書き込み不良となります。イレーズ後に書き込みを実施すると途中でエラーとなる、又は全く書き込めずに最初のアドレスでエラーとなる。古いチップだからイレーズも書き込みも出来なくなるのかなという程度の認識でした。
しかし、年末にそういうデバイスに詳しい友人から「古いチップは長めにイレーズしないと途中で書き込みに失敗する」という情報を得ました。これは朗報で自分で試してみると確かにイレーズ時間が短いと、ブランクチェックがOKでも書き込み途中でエラーが発生する事を確認できた。8751は一時間のイレーズが必要なのかも。恐るべし。
AT90S2313は古いチップだがこれを使う用事があって、ArduinoとArduinoISPなるプログラムを使えば良いハズ。だが、ATTiny2313なら書き込めるがAT90S2313では反応しない。
ここまで丸二日掛かったが面倒なので結論だけ書いて置く。417行目あたりのreset_tagetをtrueからfalseへ修正するだけ。AT90S2313とATTiny2313のみで動作確認。
- reset_target(true);
- pinMode(RESET, OUTPUT);
- SPI.begin();
- SPI.beginTransaction(SPISettings(SPI_CLOCK, MSBFIRST, SPI_MODE0));
+ reset_target(false);
+ pinMode(RESET, OUTPUT);
+ SPI.begin();
+ SPI.beginTransaction(SPISettings(SPI_CLOCK, MSBFIRST, SPI_MODE0));
とするだけである。
C:\arduino-1.6.13\hardware\tools\avr>bin\avrdude -C etc\avrdude.conf -c avrisp -p 2313 -P com3 -b 19200
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.03s
avrdude: Device signature = 0x1e9101 (probably 2313)
avrdude: safemode: Sorry, reading back fuses was unreliable. I have given up and
exited programming mode
avrdude done. Thank you.
こちらは電極が異なるネオンランプでの写真。
AT28C16が中国から届きました。12/9にeBayでオーダ、本日、大晦日の夕方にポスティングされていまた。2個で送料込み¥200-です。
さっそくプログラムを書き込んでボードに挿して動作確認が取れました。
DateCodeが1803ってATmel(Microchip)はまだまだ現役なんでしょうか?このデバイス。