dyjhy 发表于 2016-3-18 23:17:45

求助!STC只要一开启 定时器1信号输出,程序就死了

本帖最后由 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口就是用在编码器上的。 谢谢大家的回复。

q457344370 发表于 2016-3-19 07:10:39

看程序好像没啥问题,测试下改为12T模式,换定时器0,换个单片机都是什么效果

q457344370 发表于 2016-3-19 07:11:29

还有就是删除所有不相关代码,

xiaobendan 发表于 2016-3-19 07:54:06

楼主用 的哪一款芯片?

dyjhy 发表于 2016-3-19 08:25:18

15F2K60S2,打电话给厂家了,说ic没这个缺陷的

dyjhy 发表于 2016-3-19 08:29:44

q457344370 发表于 2016-3-19 07:11
还有就是删除所有不相关代码,

把定时器1的中断函数删了也一样,把定时器0改成定时器2也一样

xiaobendan 发表于 2016-3-19 09:05:11

可能是芯片的问题吧,我用15W408的一个板子,是用T1的,刚才插入一条打开T1输出在P3.5上面,但是没有任何输出产生,但是T1的中断都正常。就是INT_CLKO |= 0X01;没有任何作用。

然后我启用T0,和你的一样,没开中断,有输出在P3.4,但是T1的中断都没有了,死在哪儿了不知道。奇怪的是逐条屏蔽,首先是INT_CLKO |= 0X02;但是一样程序没有运行,但是也没测量是否有输出,直到屏蔽了TMOD |= 0X0F;之后,T1的中断正常了。

只能先实验到这里了。

ymyhd 发表于 2016-3-28 16:27:55

那里弄错了。。1T
页: [1]
查看完整版本: 求助!STC只要一开启 定时器1信号输出,程序就死了