本帖最后由 dyjhy 于 2016-3-19 08:48 编辑
想把定时器1的信号从P3.4口硬件输出。设置如下:
AUXR |=0x40; //定时器时钟1T模式
TMOD &=0x0f; //T1用作定时器 16位自动加载
TL1=-0x55;
TH1=0x66;
ET1=0;//定时器1中断关闭。
TR1 = 1; //定时器1开始计时
INT_CLKO |=0x02; //使能P3.4口的定时器1的时钟输出功能
把最后一句注释掉程序正常,只是P3.4口没信号输出。但只要把后一句加上,让P3.4口输出信号,程序就死了,任何操作都没反应,但用示波器看P3.4口有定时器1信号电平输出。P3.4没外接其它电路。
我考虑有两点可能:1 可能是定时器1硬件输出打开后会进入中断然后就出不来了,但我已经把定时器1的中断关了呀。
2 可能是定时器1硬件输出打开后跟其它定时器有冲突,从而使其它定时器不正常,从而使按键、显示什么的不能正常工作。 按键、显示、延时什么的都是用定时器0的,也换成过定时器2,但问题依旧。 这个可能性感觉不大。
不知哪位朋友知道问题出在哪里?帮忙说一下,困在这里一天了。谢谢!!
不好意思,已经解决。 板子原来是有编码器的,后来去掉了。但程序中忘了把它的扫描程序删掉了(我自己以为是去掉了,呵呵),刚好P3。4口就是用在编码器上的。 谢谢大家的回复。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
然后我启用T0,和你的一样,没开中断,有输出在P3.4,但是T1的中断都没有了,死在哪儿了不知道。奇怪的是逐条屏蔽,首先是INT_CLKO |= 0X02;但是一样程序没有运行,但是也没测量是否有输出,直到屏蔽了TMOD |= 0X0F;之后,T1的中断正常了。
只能先实验到这里了。
一周热门 更多>