这是 汇编写的 初始化 TIME0, 运行于 AT90CAN128芯片(12MHz/16MHz晶振)
;定时器0(10ms中断)
;TCCR0A = FOC0A WGM00 COM0A1 COM0A0 WGM01 CS02 CS01 CS00
;WGM01 WGM00
; 0 0 Normal
;COM0A1 COM0A0
; 0 0 Normal port operation, OC0A disconnected
;CS02 CS01 CS00 Description
; 0 0 0 No clock source (Timer/Counter stopped)
; 0 0 1 clkI/O/(No prescaling)
; 0 1 0 clkI/O/8 (From prescaler)
; 0 1 1 clkI/O/64 (From prescaler)
; 1 0 0 clkI/O/256 (From prescaler)
; 1 0 1 clkI/O/1024 (From prescaler)
; 1 1 0 External clock source on T0 pin. Clock on falling edge.
; 1 1 1 External clock source on T0 pin. Clock on rising edge.
;TIMSK0 = – – – – – – OCIE0A TOIE0
#if FOSC==12
ldi R16, 255-117 ; 12MHz
out (TCNT0), R16
#else
ldi R16, 255-156 ; 16MHz
out (TCNT0), R16
#endif
ldi R16, 0b00000101
out (TCCR0A), R16
ldi R16, 0b00000001
sts (TIMSK0), R16
|