マイコンSTC12C2052の使い方1


使用機材
aitendo_8051コアマイコン [STC12C2052]
aitendo_USB-UART変換 [U2UART2102-6PMCU]
aitendo_抵抗内蔵角形LED [LED234R-WC5V]
ブレッドボード


回路
マイコンPORT/
2/-->USB-UARTのTXD
3/-->USB-UARTのRXD
9/--LED234R--GND
10/GND
12/GND
13/GND
20/--SW--+5V

USB-UART変換をパソコンに認識させます。
aaa@aaa:~$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART
Bridge / myAVR mySmartUSB light
Device004が変換器で、ID=10c4:ea60を控えます。

cd /etc/udev/rules.d/
sudo leafpad 54-udev.rules
ファイルに
KERNEL=="ttyUSB*",
ATTRS{idVendor}=="10c4",
ATTRS{idProduct}=="ea60",
GROUP="uucp",
MODE="0666"
と入力して保存します。

as8051をインストールします。
wget http://shop-pdp.net/_ftp/asxxxx/asxs5p31.zip
unzip -L -a asxs5p31.zip
cd asxv5pxx/asxmak/linux/build
make
cd ../exe
sudo cp as8051 /usr/local/bin
sudo cp aslink /usr/local/bin

stcgalをインストールします。
sudo apt install python3-pip
sudo pip3 install stcgal

stcgalで配線を確かめます。
aaa@aaa:~$ stcgal
Waiting for MCU, please cycle power:
ここでプログラムが停止しますので
マイコンポート20のSWをONにすると
aaa@aaa:~$ stcgal
Waiting for MCU, please cycle power: done
Protocol detected: stc12a
Target model:
Name: STC12C2052
Magic: F202
Code flash: 2.0 KB
EEPROM flash: 4.0 KB
Target frequency: 5.740 MHz
Target BSL version: 5.8D
Target options:
low_voltage_reset=low
clock_source=internal
watchdog_por_enabled=False
watchdog_stop_idle=False
watchdog_prescale=256
eeprom_erase_enabled=False
bsl_pindetect_enabled=False
Disconnected!
となります。

---------------------------------------------
P3M0 .equ 0xb1
P3M1 .equ 0xb2
.area TEST(ABS)
.org 0x0000
ljmp main
.org 0x0100
main:
mov P3M0,0b11011111
mov P3M1,0b00100000
setb p3.5
loop: lcall delay
cpl p3.5
sjmp loop
delay:
clr a
mov r0,a
mov r1,a
mov r2,#0x20
delay1:
djnz r0,delay1
djnz r1,delay1
djnz r2,delay1
ret
---------------------------------------------
上のファイルをled1.asmとし
as8051 -l -s -o led1.asm
aslink -i led1
stcgal led1.ihx
実験結果の写真を添付します。