标题:
版主请进
[打印本页]
作者:
xinmiao2000
时间:
2007-4-19 18:27
标题:
版主请进
;**************************************************************
;* 初始化定时器子程序 *
;**************************************************************
Init_timer:NOP
LDAB #$83 ;timer_int enable,pre_scale=128
STAB TSCR2
LDAB #$80 ;clr timer_overflew flag
STAB TFLG2
LDAB #HIGH(65535-7500)
STAB TCNTHi
LDAB #LOW(65536-7500) ;40ms
STAB TCNTLo
LDAB #$80
STAB TSCR1 ;timer_enable
RTC
;**************************************************************
;* 定时器溢出中断服务子程序 *
;**************************************************************
Int_timeroverflow: LDAB #$80
STAB TFLG2 ;clr int flag
LDAB #$00
STAB TSCR1 ;stop timer
LDAB #HIGH(65535-7500)
STAB TCNTHi
LDAB #LOW(65536-7500)
STAB TCNTLo ;load init_data
LDAB #$80
STAB TSCR1 ;enable timer
INC TIME
LDAB TIME
STAB PORTB
LDAB PORTA
COMB
STAB PORTA
RTI
以上是我使用定时器定20MS的程序,示波器在PA端看输出,在调试环境下调试完全正常,但是下到硬件上去以后,发现定时要长了很多,感觉像在中断子程序中TCNT没有付进值去,请问这是什么原因呢?
作者:
xinmiao2000
时间:
2007-4-19 18:47
;**************************************************************
;* 初始化系统时钟子程序 *
;**************************************************************
Init_sys_time
DAB #1
STAB REFDV
LDAB #2
STAB SYNR ;init sys_time 48M,bus_time as 24M
Init_sys_time_wait:BRCLR CRGFLG,#8,* ;wait for PLL lock
BSET CLKSEL,#$80 ;select PLL clock
LDAA #$49
STAA FCLKDIV
STAA ECLKDIV ;init flash_write clock
RTC
这是我初始化系统时钟的程序。
作者:
xinmiao2000
时间:
2007-4-19 20:30
我用的开发板是MC9S12EVKX!!谢谢
作者:
xinmiao2000
时间:
2007-4-19 20:35
呵呵。版主,我发现问题了,TCNT只在调试的时候写操作才有意义啊!
为什么调试的时候可以写,而下下去就不行了呢?
还不如都不行!
作者:
seuafu2005
时间:
2007-4-20 09:48
非调试环境下是不是时钟信号不对呢?
作者:
strongchen
时间:
2007-4-20 09:49
这样为调试提供了方便。
作者:
xinmiao2000
时间:
2007-4-20 09:50
是
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0