シリアル通信でHEXファイルをアップロードできる8048トレーニングボード TK-48

2026/09/23マイコン::8048
8048を使ったトレーニングボード。シリアル通信でHEXファイルをボード上のRAM又はEEPROMにアップロードして実行が可能。KiCADで設計PCBWayで白レジスト基板を作成。

ボード側の説明

board.jpg
Gerber BOM
28PinソケットとジャンパーピンJP2の切替で16k/64k/256kのSRAM又はEEPROMを実装可能。ファイルをアップロード後にRESETを押しながらSW2をEXTへ切り替えて外部メモリーで起動させる。
tk48-schematic.jpg
PDF
無論8748にはモニタプログラムを書き込んでおく必要がある。モニタプログラム

動作確認の取れているチップ

TYPEJP2TYPEJP2
HM61162kB SRAM16kAT28C162kB EEPROM16k
HM6264A8kB SRAM64kX2816B2kB EEPROM16k
HM6264B8kB SRAM64kAT28C648kB EEPROM64k
UT62648kB SRAM64kAT28C64B8kB EEPROM64k
TC5565A8kB SRAM64kM28C64C8kB EEPROM64k
MB8425632kB SRAM64kuPD28C648kB EEPROM64k
TC5525732kB SRAM64kHM58C25632kB EEPROM64k

PC側の説明

file2.jpg

ソフトウェアでシリアル通信を行うためTeraTermを使って1文字毎にDELEYを入れる必要がある。100mSはEEPROMへの書込みに必要な時間。
file1.jpg

サンプルプログラムのHEXファイルをTeraTerm上でペーストするだけで、外部SRAM/EEPROMにファイルが書き込まれる。
file3.jpg

又はHEXファイルをTeraTermの画面にドラックしてファイル転送機能が使える。但しモニターコマンドでローカルエコーをOFFにしないと通信中に取りこぼしが発生する。バイナリ転送モードの事。

モニターコマンド

p ローカルECHOをON/OFFする(トグル動作) HEXファイルのアップロード時にOFFにすると取りこぼしが無い
r 内蔵RAM $00-$FFを16進ダンプ表示
f 内蔵RAM $02-$3Fに0を埋める
d 外部メモリ $0000-$07FFを16進ダンプ表示
c 外部メモリ $07F0-$07FFの値を+1して上書きする。EEPROMの動作テストを実施する
1 ポート1の値を表示する。値をセットする場合は1 xxとする(xxは16進)
2 ポート2の値を表示する。値をセットする場合は2 xxとする(xxは16進)

サンプルプログラムとコンパイル

lchika.asm

; LCHIKA.ASM
TX_BIT  EQU     1<<6    ;Port.26(TX Port)
        cpu     8048
        org     0

start:  in      a,P2
        xrl     a,#(TX_BIT)
        outl    P2,a
        mov     R0,#255
$$loop  mov     R1,#255
        djnz    R1,$
        djnz    R0,$$loop
        jmp     start

コンパイル方法*1*2

asl -L lchika.asm
p2hex lchika

留意事項

  • コンパイラは何でも良いがHEXファイルは1行が16Byte分(43文字)以下でなければならない
  • 改行コードはCR($0D)が必要。HEXファイルも同様

アプリケーション

TM1638 LED&SW ボード

TM1638.JPEG
tm1638.asm
安価で出回っているTM1638のLED&KEYボードを接続したデモ。ライブラリーが無くデータシートだけで動作させるには何度となくトライが必要だがPROMライターは不要。(SWの切替は手動だが)Arduino IDEの様に扱える。

I2C液晶 ST7032

erc1602.JPEG
erc1602.asm
8048が設計された時代には無かったI2C経由で液晶表示のデモ。疑似双方向ポート構造が功をなしてプルアップなしで直結。