| |
|
|
警告:由于格式的原因,直接从网页上复制程序,粘贴到编译环境里面,编译时会出错。敬请直接下载word档,从word里面直接复制到编译环境里面即可。 ( word原文件下载) |
比较输出设置
1. 设置Timer0 的8 位比较输出(PB2) :10Khz 、产生中断
|
lda #156
sta P_TMR0_Preload ;set Timer0 counter initial value
lda P_TMR0_1_Ctrl1
and #$F0
ora #C_T0FCS_Div_8
sta P_TMR0_1_Ctrl1 ;Set Timer0 clock source is Fsys/8
lda P_TMR0_1_Ctrl0
and #$F0
ora #C_T08B_COMP
sta P_TMR0_1_Ctrl0 ;Set Timer0 is 8-bit compare output
set P_INT_Flag1,CB_INT_T0OIF
;clear compare INT flag
set P_INT_Ctrl1,CB_INT_T0OIE
;compare INT enable
cli
|
2.设置Timer0的8位比较输出(PB2):10Khz、不产生中断
|
lda #156
sta P_TMR0_Preload ;set Timer0 counter initial value
lda P_TMR0_1_Ctrl1
and #$F0
ora #C_T0FCS_Div_8
sta P_TMR0_1_Ctrl1 ;Set Timer0 clock source is Fsys/8
lda P_TMR0_1_Ctrl0
and #$F0
ora #C_T08B_COMP
sta P_TMR0_1_Ctrl0 ;Set Timer0 is 8-bit compare output
|
3.设置Timer1的8位比较输出(PB3):10Khz、产生中断
|
lda #156 ;
sta P_TMR1_Preload ; Set Timer1 low byte counter initial value
lda P_TMR0_1_Ctrl1
and #$0F
ora #C_T1FCS_Div_8
sta P_TMR0_1_Ctrl1 ; Set Timer1 clock source is Fsys/8
lda P_TMR0_1_Ctrl0
and #$0F
ora #C_T18B_COMP
sta P_TMR0_1_Ctrl0 ; Set Timer1 is 8-bit compare output
set P_INT_Flag1,CB_INT_T1OIF
;clear compare INT flag
set P_INT_Ctrl1,CB_INT_T1OIE
;compare INT enable
cli
|
4.设置Timer1的8位比较输出(PB3):10Khz、不产生中断
|
lda #156 ;
sta P_TMR1_Preload ; Set Timer1 low byte counter initial value
lda P_TMR0_1_Ctrl1
and #$0F
ora #C_T1FCS_Div_8
sta P_TMR0_1_Ctrl1 ; Set Timer1 clock source is Fsys/128
lda P_TMR0_1_Ctrl0
and #$0F
ora #C_T18B_COMP
sta P_TMR0_1_Ctrl0 ; Set Timer1 is 8-bit compare output
|
5.设置Timer1的16位比较输出(PB3):100hz、产生中断
|
lda #$D8 ;
sta P_TMR1_PreloadHi ; Set Timer1 high byte counter initial value
lda #$F0 ;
sta P_TMR1_Preload ; Set Timer1 low byte counter initial value
lda P_TMR0_1_Ctrl1
and #$0F
ora #C_T1FCS_Div_8
sta P_TMR0_1_Ctrl1 ; Set Timer1 clock source is Fsys/8
lda P_TMR0_1_Ctrl0
and #$0F
ora #C_T116B_COMP
sta P_TMR0_1_Ctrl0 ; Set Timer1 is 16-bit compare output
set P_INT_Flag1,CB_INT_T1OIF
;clear compare INT flag
set P_INT_Ctrl1,CB_INT_T1OIE
;compare INT enable
cli
|
6.设置Timer1的16位比较输出(PB3):10Khz、不产生中断
|
lda #$D8 ;
sta P_TMR1_PreloadHi ; Set Timer1 high byte counter initial value
lda #$F0 ;
sta P_TMR1_Preload ; Set Timer1 low byte counter initial value
lda P_TMR0_1_Ctrl1
and #$0F
ora #C_T1FCS_Div_8
sta P_TMR0_1_Ctrl1 ; Set Timer1 clock source is Fsys/8
lda P_TMR0_1_Ctrl0
and #$0F
ora #C_T116B_COMP
sta P_TMR0_1_Ctrl0 ; Set Timer1 is 16-bit compare output
set P_INT_Flag1,CB_INT_T1OIF
;clear compare INT flag
|
7.设置Timer2的8位比较输出(PD3):10Khz、产生中断
|
lda #156
sta P_TMR2_Preload ;set Timer2 counter initial value
lda P_TMR2_3_Ctrl1
and #$F0
ora #C_T2FCS_Div_8
sta P_TMR2_3_Ctrl1 ;Set Timer2 clock source is Fsys/8
lda P_TMR2_3_Ctrl0
and #$F0
ora #C_T28B_COMP
sta P_TMR2_3_Ctrl0 ;Set Timer2 is 8-bit compare output
set P_INT_Flag1,CB_INT_T2OIF
;clear compare INT flag
set P_INT_Ctrl1,CB_INT_T2OIE
;compare INT enable
cli
|
8.设置Timer2的8位比较输出(PD2):10Khz、不产生中断
|
lda #156
sta P_TMR2_Preload ;set Timer2 counter initial value
lda P_TMR2_3_Ctrl1
and #$F0
ora #C_T2FCS_Div_8
sta P_TMR2_3_Ctrl1 ;Set Timer2 clock source is Fsys/8
lda P_TMR2_3_Ctrl0
and #$F0
ora #C_T28B_COMP
sta P_TMR2_3_Ctrl0 ;Set Timer2 is 8-bit compare output
set P_INT_Flag1,CB_INT_T2OIF
;clear compare INT flag
|
9.设置Timer3的8位比较输出(PD2):10Kz、产生中断
|
lda #156 ;
sta P_TMR3_Preload ; Set Timer3 low byte counter initial value
lda P_TMR2_3_Ctrl1
and #$0F
ora #C_T3FCS_Div_8
sta P_TMR2_3_Ctrl1 ; Set Timer3 clock source is Fsys/8
lda P_TMR2_3_Ctrl0
and #$0F
ora #C_T38B_COMP
sta P_TMR2_3_Ctrl0 ; Set Timer3 is 8-bit compare output
set P_INT_Flag1,CB_INT_T3OIF
;clear compare INT flag
set P_INT_Ctrl1,CB_INT_T3OIE
;compare INT enable
cli
|
10.设置Timer3的8位比较输出(PD2):10Khz、不产生中断
|
lda #156 ;
sta P_TMR3_Preload ; Set Timer3 low byte counter initial value
lda P_TMR2_3_Ctrl1
and #$0F
ora #C_T3FCS_Div_8
sta P_TMR2_3_Ctrl1 ; Set Timer3 clock source is Fsys/8
lda P_TMR2_3_Ctrl0
and #$0F
ora #C_T38B_COMP
sta P_TMR2_3_Ctrl0 ; Set Timer3 is 8-bit compare output
set P_INT_Flag1,CB_INT_T3OIF
;clear compare INT flag
|
11.设置Timer3的16位比较输出(PD2):100hz、产生中断
|
lda #$D8 ;
sta P_TMR3_PreloadHi ; Set Timer3 high byte counter initial value
lda #$F0 ;
sta P_TMR3_Preload ; Set Timer3 low byte counter initial value
lda P_TMR2_3_Ctrl1
and #$0F
ora #C_T3FCS_Div_8
sta P_TMR2_3_Ctrl1 ; Set Timer3 clock source is Fsys/8
lda P_TMR2_3_Ctrl0
and #$0F
ora #C_T316B_COMP
sta P_TMR2_3_Ctrl0 ; Set Timer3 is 16-bit compare output
set P_INT_Flag1,CB_INT_T3OIF
;clear compare INT flag
set P_INT_Ctrl1,CB_INT_T3OIE
;compare INT enable
cli
|
12.设置Timer3的16位比较输出(PD2):100hz、不产生中断
|
lda #$D8 ;
sta P_TMR3_PreloadHi ; Set Timer3 high byte counter initial value
lda #$F0 ;
sta P_TMR3_Preload ; Set Timer3 low byte counter initial value
lda P_TMR2_3_Ctrl1
and #$0F
ora #C_T3FCS_Div_8
sta P_TMR2_3_Ctrl1 ; Set Timer3 clock source is Fsys/8
lda P_TMR2_3_Ctrl0
and #$0F
ora #C_T316B_COMP
sta P_TMR2_3_Ctrl0 ; Set Timer3 is 16-bit compare output
set P_INT_Flag1,CB_INT_T3OIF
;clear compare INT flag
|
|
|