电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
一个定时器做的秒表的延时函数,,,看不懂
已解决
73482
个问题
已帮助
5993
位优秀工程师
一个定时器做的秒表的延时函数,,,看不懂
025c833b2bb372e8
2018-11-30
浏览量:769
void delay()
{
unsigned char i = TH0+1;
if(i > 0xFE)
{
i = 0xDC;
}
while(i != TH0);
}
显示全部
单片机
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
yhj416606438
定时器高位加到溢出就是延时结束了
发布于
2018-12-01
举报
评论 0
0
0
其他答案
数量:
8
我是假管贴胸小助手
这样子的写法是没有使用中断服务程序,而是采用访问中断标志的方式,达到延时目的。
发布于
2018-11-30
举报
评论 0
1
0
Andrewz
这个没有初始化也没有注释。但是从程序上分析,TH0应该会自己变化,而且从0变到255。如果i=TH0+1 > 254;那么设置i=0xDC,否则i=TH0+1,然后将i与TH0比较,如果不一样就卡住。那个条件判断无法理解。可以判断TH0是向下计数的。
发布于
2018-11-30
举报
评论 0
0
0
donatello
这个其实相当于直接跟你程序中的变量跟TH0寄存器比较,因为TH0计数器的值一直在减少,所以你的程序就可以判断计数的进度。
发布于
2018-11-30
举报
评论 0
0
0
一笔之名也
一秒的时间是有点长了,对于定时器来说,所以,这里是配置了两次定时器时间 的
发布于
2018-11-30
举报
评论 0
0
0
xdsnet
程序中TH0一定是一个不依据程序运行自动变化的值,比如某个定时器(计数)寄存器的值。
这样无论TH0如何计数,则都有条件使得延时程序进入一个阻塞状态,到i和TH0相等时退出。
发布于
2018-12-01
举报
评论 0
0
0
chen0000009
这里的意思就是一直将变量与TH0比较,直到TH0等于那个变量就推出
发布于
2018-12-11
举报
评论 0
0
0
序缘阿斌
这个是把你的数据和TH0比较,进行溢出的判断
发布于
2019-01-09
举报
评论 0
0
0
Florrie
实际的效果就比较两个寄存器,然后输出时间
发布于
2019-01-12
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
一个定时器做的秒表的延时函数,,,看不懂
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: