2020/05/10(日)9V乾電池の破裂事例

夜中に自分の部屋でPCを操作している時に、突然、直ぐ近く部屋の何処かで破裂音がした。最初は、AC回路のショート?電解コンデンサーの破裂?と色々考えたが、電源の入っていない機器の中は置いておいて、動作しているのはPC以外はなんだろう。HUBかサーバPCか。サーバPCは年代物なので考えられる。しかし問題なく動作しているしサーバPCを引き出して分解するにしろ明日の朝にする事にして、部屋中の電源を落としてその日は寝ることにした。

続きを読む

2020/05/06(水)MCS BASIC52でマンデルブロ集合ベンチマーク

BASIC-52*1が動く環境が出来上がったのでASCIIART(マンデルブロ集合)ベンチマークを走らせて見ました。11.059MHzのSTC89C52にBASIC-52(V1.1)を書き込んで実行すると6分38秒要しました。BASIC-52ではFOR-NEXTループ内からループの外へGOTOするとエラーとなる為プログラムの一部を修正。またダブルスピードモードでは3分20秒で終了。

続きを読む

2020/04/12(日)2KBのSRAM内蔵8051マイコン-STC15F2K08S2でTinyBasic

STC15F2K08S2というマイコンをaitendoさんで見つけてBasic51(Tiny Basic)を走らせてみたがどうも内蔵RAMへの書き込みが上手く行かない。簡単なメモリーテストプログラムを走らせて結果を確認した所、どうやら00FFより上のアドレスにアクセスするにはMOVX DPTR系の16bitアドレス指定命令でのみ可能なようだ。古い8051ではSRAMは外付けなので、上位バイトはI/Oポートで設定しても可能だったが、このチップはダメみたい。ソースコードに手を入れようかな。

20200412_0.jpg

ソースコード修正して1Chip Tiny Basic51が出来上がりました

2020/01/05(日)Intel D8751Hの書き込み

少し前に中古のIntel D8751Hを幾つか入手しました。しかし半数が書き込み不良となります。イレーズ後に書き込みを実施すると途中でエラーとなる、又は全く書き込めずに最初のアドレスでエラーとなる。古いチップだからイレーズも書き込みも出来なくなるのかなという程度の認識でした。

しかし、年末にそういうデバイスに詳しい友人から「古いチップは長めにイレーズしないと途中で書き込みに失敗する」という情報を得ました。これは朗報で自分で試してみると確かにイレーズ時間が短いと、ブランクチェックがOKでも書き込み途中でエラーが発生する事を確認できた。8751は一時間のイレーズが必要なのかも。恐るべし。

続きを読む

2019/07/21(日)ArduinoISPでAT90S2313を書き込む方法

AVR

AT90S2313は古いチップだがこれを使う用事があって、ArduinoとArduinoISPなるプログラムを使えば良いハズ。だが、ATTiny2313なら書き込めるがAT90S2313では反応しない。

ArduinoISPを修正

ここまで丸二日掛かったが面倒なので結論だけ書いて置く。417行目あたりのreset_tagetをtrueからfalseへ修正するだけ。AT90S2313とATTiny2313のみで動作確認。

GitHub ArduinoISP.ino

- 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));

とするだけである。

avrdude

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.

2018/12/31(月)2KByteのEEPROM 再び(AT28C16)

AT28C16が中国から届きました。12/9にeBayでオーダ、本日、大晦日の夕方にポスティングされていまた。2個で送料込み¥200-です。

さっそくプログラムを書き込んでボードに挿して動作確認が取れました。

DateCodeが1803ってATmel(Microchip)はまだまだ現役なんでしょうか?このデバイス。

続きを読む