首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求助----关于MC68HC908GP32定时器溢出中断

求助----关于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,但没显示跳过)
请问这是怎么一回事?

不会写点c代码啊?
希望能和大家多多交流。
不会写点c代码啊?
希望能和大家多多交流。
我是一位初学者,想用汇编来熟悉熟悉MC68HC908G32,请问上面这位你能解决这个问题吗?
你用的是哪个编译调试软件?
推荐用codewarrior,用其中的PE来生成一些代码。
可以用反汇编来查看C生成的汇编代码
我用得是ics08gpz,现在刚装了codewarrior,在codewarrior里Link 时,却停在 "DW timer1overflow" 通不过了。
codewarrior的中断向量写中断服务程序一般不用这个方式
在prm文件里面声明
Vector ADDRESS 0xFFF2 timer1overflow
返回列表