(MCU 8051) STC15W104 >> Assembly

Software Reset


STC15W104提供一個透過軟體Reset的方式,就是直接寫入IAP_CONTR暫存器的SWRST位元即可


main.s

  led .equ p3.2
 
  .org 0h
  jmp _start
     
  .org 100h
_start:
  setb led
  call delay_1s
  clr led
  call delay_1s
  mov 0c7h, #20h
  jmp $

  ; 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

完成


返回上一頁