1、你的GIE没开,也许压根没产生过中断。
2、也许你开GIE了。TI_CC_LED1在异或下能亮,说明你的LED1的控制位应该是0吧?既下拉点亮LED1,但你要知道0^0永远都是0,你的LED1永远也都是亮着的。
3、你打算LED2闪烁,可你用或语句它只能保持一个状态(恰恰这个状态是1吧?LED2就这么灭着不亮),这里应该用异或才对。
这个程序执行的步骤是这样的:
第一次:k=0,k++后,k=1,结果红灯亮,k++。
第二次:k=1,k++后,k=2,结果红灯继续亮,绿灯不亮(1|1=1,它怎么会闪呢?),k=0
第三次:k=0,k++后,k=1,结果红灯继续亮,k++
………………
因此,在你看来红灯就一直亮,绿灯从来没亮过。