STC32G12K128開発ボードをアセンブリ言語でLチカしてみました。
main.asm
.area HOME (CODE)
.area XSEG (XDATA)
.area PSEG (PAG,XDATA)
.area RSEG (ABS,DATA)
P1 = 0x90 ;p262
P2 = 0xA0 ;
P3 = 0xB0
P2M0 = 0x96
P2M1 = 0x95
.area CSEG (ABS,CODE)
xrl P2M0, #255 ; xor
xrl P2M1, #255 ; xor
_start:
xrl P2, #255 ; xor
mov A, #100
push A
wait1_bloop:
mov A, #255
wait1_loop:
nop
nop
nop
dec A
jnz wait1_loop
pop A
dec A
push A
jnz wait1_bloop
ljmp _start
PowerShellを使って、sdccでhexファイルを生成しました。数値は合っているかわかりません。
make.bat
cd /D %~dp0
sdas8051 -l -o -s main.asm
sdcc -mmcs51 --xram-size 0x2000 --xram-loc 0x10000 --code-size 0x20000 main.rel
packihx main.ihx > main.hex
書き込みにはSTC-ISP(V6.92A)(stc-isp-v6.92A.exe)を使いました。
接続するには開発ボードのS3(P3.2)スイッチを押しながらUSBケーブルを挿します。
するとSTC-USB Writer (HID1)とポート欄に表示されました。
Check MCUを押すと以下のように出ました。
MCU type: STC32G12K128-Beta
F/W version: 7.4.4U
MCU typeはSTC32G12K128-Betaを選択します。
Open Code Fileでhexファイルを選択し、Download/Programで書き込みます。
書き込むとP2.0~P2.7のLEDが点滅しました。