68

帖子

0

TA的资源

一粒金砂(初级)

41
 
只能无语……
方法上面都说尽了
即使是用12M的单系统时钟单片机,其内部晶振给的也是±1.5%的频率
就是不算代码造成相对误差,1秒也要有个15ms的绝对误差
LZ你再苛求就没意义了

回复

66

帖子

0

TA的资源

一粒金砂(初级)

42
 
计算机也做不到绝对精确,单片机当然更做不到。
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

43
 
要精确 很麻烦 用定时器的话 最好用自动重装模式
相当于AVR的CTC模式 会比溢出中断精确
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

44
 
引用 3 楼 zyzhang365 的回复:
晕!
在中断里面计数就可以了。
假如你中断周期是100ms,如果你需要1000ms(1s)的定时,那么在中断中软件计数10次就可以了。
具体的楼主可以算算。



我用的也是这种方法
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

45
 
用专业的IC 嘛 呵呵

误差小的很
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

46
 
楼主的意思应该是如何实现理论上的精确,即精度达到跟晶振一样。
倒是好多跟帖的钻牛角尖里去了。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

47
 
都会有误差的~~ 没有绝对的1s,只有相对的1s
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

48
 
达不到吧,因为出现了奇数,而结果要求是偶数,也就是除非在计数过程中,人为的加入几个计数
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

49
 
进来学习。
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

50
 
这个,可以借助GPS时间,完美解决啊,精度超高。超过晶振的精度。
开个玩笑啊啊
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

51
 
一般的晶振没那么高的精度,反而是算的越准,实际偏差越大!
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

52
 
就是用12M的,晶振有误差,不可能绝对精确的啦,硬件调试时我一般让机器运行很长时间再做微调,但是还是不可能消除误差,而且我们用来校时的机器也不能绝对准确。
一两微妙的差别精度已经足够。若要减小累积误差,则可以效仿闰年,每过一段时间对计时加一或减一。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

53
 
单片机中断本身就有误差,如果是12M也有误差,没有100%准确的,只在错差在范围之内就可以了

否则你只能用专门的时钟芯片了
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

54
 
你要这么精准,干嘛不自己用时钟芯片啊,又不贵
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

55
 
4M晶振,如果定时器是16位,1s中断一次是达不到的;要是32为的可以;虽然说把计时放在中断中可以提高精确度,但多多少少还是有店误差的,可以通过观察,然后通过软件来校中下,这样误差就更小了
引用楼主 9smile 的回复:
初看,很简单,越研究越深入,发觉越麻烦。若换成12M 或者 6M的晶振,不叫问题,but,目前要求用89C51,晶振4M,实现1s的精确定时。

我们知道 对51单片机而言,一个机器周期等于12个晶振周期,故:
若晶振为12M,1个机器周期=12*(1/12M)=1us
若晶振为 4M,1个机器周期=12*(1/4M)=3us

用Timer0,设 TMOD = 1,使之工作于16-bit timer/counter.?
一个时钟周期为3us的话 <对应晶振是4M>,如何实现1s的定时呢?
最大计时为65536*3us=196.608ms? ,无论这个值取何值,例如150ms,定时多少次,例如6次 <0.9s>或者7次 <1.05s>,怎么得到1s呢?凑不出这个整数,, < 1s/3us=1000000/3=333333.3333333333333333333333333333 >

请大家指教一二,该如何实现?



 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

56
 
建议改3.6864晶振 如果晶振够准 理论可以0误差~
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

57
 
楼主好像被套住了!!!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表