So-net無料ブログ作成
検索選択

AT89C52 で 8052 BASIC その2 [マイコン]

このボードには、EEPROMが乗せられる。
で、HN58C65P-25を乗せてみた。
まず、RAMに簡単なプログラム、いつものカウントアップによるLEDの点滅プログラムを書き込む。
PROG
でEEPROMに転送。
1
を表示し、書き込めたら
READY
と表示。
ROM1
これで、ROM上のプログラム1番を指示したことになる。
RUN
で実行。
電源ON後やリセット後に自動的にプログラムを走らせるには、
PROG2
とする。以後自動立ち上げ。
リセットすると、自動で動いた。
止めるには、F3を押すらしいが、素直に聞いてくれなかった。スペースを押したり、F3を押したりしているうちに止まった。リセット直後は通信が確立していないから、スペース押して確立させる必要があると思うのだが。
ここで、
PROG1
とすると、
自動立ち上げは取り消される。
RAM
でRAM上のプログラムがRUNできます。
後残りは、EEPROMの消去だな。

なお、LED点滅プログラムを走らせてみて、先のTC-8016Mと目測で1/200くらいのスピードかな。
それでも、下位4桁のLEDは点滅を感じません。

AT89C52に8052 BASICを書き込んでみた [マイコン]

8952_1.jpg
以前、CQ出版社の雑誌「トラ技ORIGINAL」1991 No7夏号で紹介された、インテルのi8052AH-BASIC
そのとき頒布基板を入手しました。
以前から気になっていたのですが、8051は、各社からいろいろなタイプが出ており、その中には、このBASICを書き込めば同様に動くのではないか、と言うこと。
さがせば、BASICのソースもバイナリもネットに転がっています。ただ、そのまま書き込んで動くためには、8052とROMの種類以外は同じでないと動かないはずです。
で、見つけたのが、アトメルのAT89C52。52だから中身は同じはず。
先人もいるようだし、手持ちのライタも対応しています。

で、先ほど書き込んでみて、手持ちの基板の8052と差し替えてみました。
写真の画面、teratermですが、上方のプロンプトは8052、下がAT89C52です。
トレイの手前が8052AH-BASICで、奥側と基板上がAT89C52です。

先人はこちら バイナリもあります。
My first 8052 BASIC Project http://www.nomad.ee/micros/8052bas.html

AT89C52の入手先はAliExpressです。これからは、AT89S52のようですね。

なお、teratermは、ファイル転送ができますので、プログラムリストを送り込むことができますが、必ず、1文字当たり80ミリ秒程度の送信遅延を設定してください。これがないと、文字の取りこぼしが発生します。

田中電子製 TC-8016M その3 [マイコン]

KL5C8016のMMUは、BBRに設定した値が境界の基本になります。
今回は1Fhを設定しています。

境界アドレス=(1Fh+1)×400h

答えは8000hです。

次のプログラムを動かして見たところ、

;TC-8016M
;
;
0000 ROM EQU 0
8000 RAM EQU 8000h
FF00 STACK EQU RAM+7F00h


0000 ORG ROM
0000 START
; LD SP,STACK
;MMUの設定
0000 3E 1F ld A,1Fh
0002 D3 06 out (06),A
;
;PORTを出力に設定
0004 3E FF ld A,0FFh
0006 D3 3B out (03Bh),A
0008 3E FF ld A,0FFh
000A D3 3D out (03Dh),A

000C 01 FF FF ld BC,0FFFFh
000F 16 55 ld D,01010101b
0011 1E AA ld E,10101010b
0013 loop:
0013 7A ld A,D
0014 02 ld (BC),A
0015 0A ld A,(BC)
0016 92 sub D
0017 C2 25 00 jp NZ,ad_dsp
001A 7B ld A,E
001B 02 ld (BC),A
001C 0A ld A,(BC)
001D 93 sub E
001E C2 25 00 jp NZ,ad_dsp
0021 0B dec BC
0022 C3 13 00 jp loop

0025 ad_dsp:
0025 03 inc BC
0026 78 ld A,B
0027 D3 3A out (03Ah),A
0029 79 ld A,C
002A D3 3C out (03Ch),A
002C loop_e:
002C C3 2C 00 jp loop_e

002F END

ポートに8000hが出力されました。
SRAM、128kバイトのうち、32kバイト使っていることになります。
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。