89c52的定时器0在开启后无法手工赋初值吗?解决思路
发布时间:2010-06-14 16:01:07 文章来源:www.iduyao.cn 采编人员:星星草
89c52的定时器0在开启后无法手工赋初值吗?
问题描述:
因为需要用定时器来计数(非计数器),流程就是:对定时器赋初值→开启定时器→读取TH0和TL0的值→再次对定时器赋初值→再次开启定时器→再次读取TH0和TL0的值。
而现在的问题是,在第二次对定时器赋初值打开定时器(TR0=1)后,读取的定时器值为71,显然和赋的初值65525相差巨大,如果在第二次不开启定时器,则读取的值是正确的,请问这是为何?是否定时器0不支持第二次的手工赋初值,必须在中断里面赋呢?
代码如下:
//变量定义部分
unsigned int i;
//main函数部分
TH0=0xFF;
TL0=0xF6;
TR0=1;//开启定时器
i=TL0;
i+=TH0<<8;
printf("1st is %u\n",i);//这里串行输出的值为65529
DelayMs(200);
TR0=0;
TH0=0xFF;
TL0=0xF5;
TR0=1;//停了后不能开?
i=TL0;
i+=TH0<<8;
printf("2ed is %u\n",i);//按照逻辑应该输出65528,但是实际上输出的值为71或者75
while(1);
------解决方案--------------------
停了之后,可以再开的,没有问题。
如果是12M晶振,也就多了不到100微妙,是不是有中断?
或者你是仿真状态下运行?仿真软件自身占了时间.
------解决方案--------------------
是不是你的应用中有其他中断?
你关了定时器的同时再禁止下所有中断试一下,重新启动定时器时再开启所有中断。
------解决方案--------------------
汽车在行驶过程中不能加油,请先停车,再加油,再行驶。。。
------解决方案--------------------
unsigned int i;
//main函数部分
TH0=0xFF;
TL0=0xF6;
TR0=1;//开启定时器
i=TL0;
i+=TH0<<8;
printf("1st is %u\n",i);//这里串行输出的值为65529
DelayMs(200);
ET0=0;[color=#FF0000][/color]//这里加这么一句 关闭中断试试看 应该没问题的
TR0=0;
TH0=0xFF;
TL0=0xF5;
TR0=1;//停了后不能开?
i=TL0;
i+=TH0<<8;
printf("2ed is %u\n",i);//按照逻辑应该输出65528,但是实际上输出的值为71或者75
while(1);
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
c51串口求助!
串口接收程序如下
void rec_gps(void) interrupt 4 {
uchar str;
uint i,k;
k=0;
i=0;...
-
win7运行CodeWarrior IDE出错
我的本安装了CodeWarrior IDE,一运行就会出现提示:
IDE 4.1 Build 0622 已停止工作。
或者提示:
Unha...
-
关于AT指令控制GSM短信猫的问题
C/C++ code
打开串口
BOOL CComm::OpenComm(const char* pPort,
int nBaudRa...
-
关于51中断求教
各位大虾,我现在要做一个GPS授时的小程序,遇到如下困惑,求大虾们解答:
1 线路板上带有时钟芯片,平时显示时间是...
-
atd指令拨号,如何判断电话状态
在网上找了许久,终于找到一位仁心解决方案,这个指令是可以得到手机当时的状态,但是不管是空号、欠费、...
-
知道在哪跑飞,跑飞的详细原因有谁能解释一下。
今天出现这样的问题:
将这个中断函数注释掉:
#pragma vector=USCI_B2_VECTOR
__in...
-
51程序移植到2051
大牛们,我想吧一个51的程序移植到2051中,用NXP的89V51芯片时用到的I/O口只有P1.0 P1.1 P1.2 3三个,我现在移植到AT...
-
一道课程设计题:基于单片机的波形发生器的设计
设计要求:
1.能产生正弦波、方波、三角波、锯齿波等4种周期性波形,并且可通过调节变...
-
解析单片机最小系统及相关电路
原文出自:电子发烧友论坛——单片机论坛[color=#FF0000][/color]
单片机最小系统单片机最小系统介...
-
单片机学习书籍大全推荐
在电子发烧友论坛里看到了单片机学习资料汇总,特地搜罗了过来,不知道大家看过几本,也希望让需要学习的人 都...