标题:
求助----关于MC68HC908GP32定时器溢出中断
[打印本页]
作者:
matafeiyan
时间:
2007-3-26 22:22
标题:
求助----关于MC68HC908GP32定时器溢出中断
程序如下:
T1SC EQU $0020
T1CNTH EQU $0021
T1MODH EQU $0023
PTA EQU $0000
DDRA EQU $0004
ORG $8000
MAIN:
LDHX #$023F ;堆栈初始化
TXS
BSET 1,DDRA
LDA #%01100110 ;允许溢出中断、不启动计数、分频因子=64
STA T1SC
LDHX #$0000 ;计数寄存器初值=$0000
STHX T1CNTH
LDHX #$9600 ;设1秒产生1次溢出中断
STHX T1MODH ;预置寄存器设定值=1×(2457600/64)=$9600
BCLR 5,T1SC ;允许定时器1计数寄存器计数
CLI ;开放中断
timer1overflow:
PSHH ;保护H 寄存器
BRCLR 1,PTA,PTA1SET ;指示灯状态变换
BCLR 1,PTA
BRA PTA1CLR
PTA1SET:
BSET 1,PTA
PTA1CLR:
LDA T1SC ;清除定时器溢出标志位
BCLR 7,T1SC
PULH ;释放H寄存器
RTI
ORG $FFF2 ;定时器1溢出中断向量
DW timer1overflow
ORG $FFFE
DW MAIN
编译通过后,用winxp超级终端下载到芯片后,运行岀现如下情况:
>^P PC=0000.8000
>G 41414141414141414141414141414141414141
或岀现如下情况:
>^P PC=0000.8000
> (此处已按G,但没显示跳过)
请问这是怎么一回事?
作者:
mist_24
时间:
2007-3-27 08:25
不会写点c代码啊?
作者:
mist_24
时间:
2007-3-27 08:25
不会写点c代码啊?
作者:
matafeiyan
时间:
2007-3-27 09:23
我是一位初学者,想用汇编来熟悉熟悉MC68HC908G32,请问上面这位你能解决这个问题吗?
作者:
seuafu2005
时间:
2007-3-27 10:53
你用的是哪个编译调试软件?
推荐用codewarrior,用其中的PE来生成一些代码。
可以用反汇编来查看C生成的汇编代码
作者:
matafeiyan
时间:
2007-3-27 21:30
我用得是ics08gpz,现在刚装了codewarrior,在codewarrior里Link 时,却停在 "DW timer1overflow" 通不过了。
作者:
seuafu2005
时间:
2007-3-28 09:48
codewarrior的中断向量写中断服务程序一般不用这个方式
在prm文件里面声明
Vector ADDRESS 0xFFF2 timer1overflow
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0