|
我用的是f449芯片,利用p1口输入脉冲来产生中断,设置为下降沿有效。可是实际运行时,一个脉冲却产生2次中断响应。
初始化部分:
mov.b #000h,&p1dir ;p1口全部输入
mov.b #0f9h,&p1ie ;p1口高5位低1位允许中断
mov.b #000h,&p1ies ;p1口全部下降沿触发中断
MOV.B #00H,&P1SEL ;P1口全部选择I/O端口功能
eint ;开总中断
中断服务部分:
p1int ;tst.b &p1in ;测试p1.0, 这个指令是用0与P1输入寄存器P1IN比较--不对吧?
bis.b #010h,&241h ;建立P1口有中断的标志
mov.b &p1ifg,&244h ;复制p1口中断标志
bic.b #0ffh,&p1ifg ;清除p1口中断标志
RETI
请教,这是为什么?
谢谢!
|
|