29楼的问题:复位后堆栈已经清零了,只是显示没有刷新,不会影响到实际的使用. 30楼的问题:PB口中断设置是没有什么问题的,你用示波器查看一下该口的波型,我想波型还是有些抖动,导致多次中断.除了在外部加电容滤波,您也可以考虑在中断中再多次判断PB口状态的方式来滤波.
另外,代码部分有一处隐患,如果不改正,烧录IC后可能工作不正常. LDI PMODE,0111B //OSCX做主振 此条建议用逻辑操作 ORIM PMODE,0001B LDI PBCR,0000B LDI PMODE,1111B //PMODE 即$0D PULLEN,PH/PL,OXS,OXON 此条也是一样,用逻辑操作指令, ORIM PMODE,1100B LDI PB,1111B |