程序中的TF0=0起什么作用,为什么要加这一句。

2019-07-16 05:15发布

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void main()
{
uchar T_Count=0;
//P3=0xfe;
P2=0xfe;
TMOD=0x01; //定时器0 工作方式1
TH0=(65536-40000)/256; //40ms 定时
TL0=(65536-40000)%256;
TR0=1; //启动定时器
while(1)
{
if(TF0==1)
{
TF0=0;      
TH0=(65536-40000)/256; //恢复初值
TL0=(65536-40000)%256;
if(++T_Count==5)      
{
//P3=_cror_(P0,1);
P2=_crol_(P2,1);
T_Count=0;
}
}
}
}
QQ截图20120711170526.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
吖鑫
1楼-- · 2019-07-16 09:46
本帖最后由 吖鑫 于 2012-7-11 18:48 编辑

目的就是while(1)循环里面的程序只能执行一次,当标志TF 下次被赋予1的时候才有可能再次进入里面执行里面的程序
qazxxcccc
2楼-- · 2019-07-16 11:46
这是个标志位
小杰杰
3楼-- · 2019-07-16 17:30
 精彩回答 2  元偷偷看……
獊韹→狼
4楼-- · 2019-07-16 18:35
它的作用是:当定时器0溢出时,由硬件使TF0置1,并申请中断,进入中断服务程序后,由硬件自动清0.要注意:如果使用的是软件查询方式的话,当查询到该为置1后得用软件清0.
cql673164516
5楼-- · 2019-07-16 20:54
獊韹→狼 发表于 2012-7-12 06:55
它的作用是:当定时器0溢出时,由硬件使TF0置1,并申请中断,进入中断服务程序后,由硬件自动清0.要注意: ...

你好。那这个例子就是属于软件查询?如果是软件查询,是不是因为有了“if(TF0==1)”这一句?
孔雀之星
6楼-- · 2019-07-16 23:18
顶顶,,,

一周热门 更多>