Steward
分享是一種喜悅、更是一種幸福
微處理器 - STMicroelectronics STM8S103 - Assembly - Timer4
參考資訊:
https://programmer.group/stm8s-timer-basic-interrupt-timing.html
暫存器
main.s
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | . equ PB_ODR , 0x5005 . equ PB_IDR , 0x5006 . equ PB_DDR , 0x5007 . equ PB_CR1 , 0x5008 . equ PB_CR2 , 0x5009 . equ TIM4_CR1 , 0x5340 . equ TIM4_PSCR , 0x5347 . equ TIM4_ARR , 0x5348 . equ TIM4_CNTR , 0x5346 . equ TIM4_IER , 0x5343 . equ TIM4_SR , 0x5344 . area data . area initialized cnt: . ds 2 . area sseg . area home int main int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int timer4_handler . area cseg main : mov PB_DDR , #0x20 mov PB_CR1 , #0x20 mov TIM4_PSCR , #0x00 mov TIM4_ARR , #0xff mov TIM4_CNTR , #0x00 mov TIM4_IER , #0x01 mov TIM4_SR , #0x01 mov TIM4_CR1 , #0x81 bset PB_ODR , #5 mov cnt, #0x0000 rim loop : jp loop timer4_handler : mov TIM4_SR , #0 ldw x , cnt incw x ldw cnt, x cpw x , #1000 jrne exit mov cnt, #0x0000 bcpl PB_ODR , #5 exit : iret |
完成