微處理器 - SHARP LH0080A - STC15F204EA - LED



參考資訊:
https://www.stcmicro.com/datasheet/STC15F204EA-cn.pdf

Register



main.s

    .org 0h
    jmp _start
   
    .org 100h
_start:
    setb p0.0
    call delay_1s
    clr p0.0
    call delay_1s
    jmp _start
  
    ; 1t + ((1t + (4t * 250) + 4t) * 200t) + 4t = 201005t
    ; 11.0592MHz = 0.09042us
    ; 201005t * 0.09042us = 18175us
delay_18ms: 
    mov r7, #200
d0:
    mov r6, #250
d1: 
    djnz r6, d1
    djnz r7, d0
    ret
 
    ; 1t + ((4t + 201005t + 4t) * 55) + 4t = 11055720t
    ; 11055720t * 0.09042us = 999658us ~= 1s
delay_1s: 
    mov r5, #55
d2: 
    call delay_18ms
    djnz r5, d2
    ret
    .end

編譯、燒錄

$ mcu8051ide --compile main.s
$ sudo stcgal -p /dev/ttyUSB0 -l 9600 -b 9600 -t 11059 main.hex
    Waiting for MCU, please cycle power: done
    Protocol detected: stc15a
    Target model:
      Name: STC15F204EA
      Magic: F394
      Code flash: 4.0 KB
      EEPROM flash: 1.0 KB
    Target frequency: 11.059 MHz
    Target BSL version: 6.7R
    Target options:
      reset_pin_enabled=False
      watchdog_por_enabled=False
      watchdog_stop_idle=True
      watchdog_prescale=256
      low_voltage_reset=True
      low_voltage_threshold=4
      eeprom_lvd_inhibit=True
      eeprom_erase_enabled=False
      bsl_pindetect_enabled=False
    Loading flash: 284 bytes (Intel HEX)
    Trimming frequency: 11.059 MHz
    Switching to 9600 baud: done
    Erasing 2 blocks: done
    Writing flash: 576 Bytes [00:00, 755.67 Bytes/s]                                                                                                                                                                   
    Finishing write: done
    Setting options: done
    Target UID: F39444AF01C2FD
    Disconnected!

完成