找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3043|回复: 9
收起左侧

51单片机都是定时5ms(没有中断,单纯定时) 为什么16位定时器次8位定时器慢一点?

[复制链接]
ID:711481 发表于 2020-4-20 22:02 来自手机 | 显示全部楼层 |阅读模式
一个51单片机问题 都是定时 5ms (没有中断,单纯定时) 为什么16位定时器次8位定时器慢一点?是程序错了,还是………
回复

使用道具 举报

ID:584814 发表于 2020-4-21 11:30 | 显示全部楼层
理论上讲,没区别,不会有十块钱的表比十万块钱的表快或慢的。但实际上是有区别的,器件质量、编程水平等都会造成事实影响,但如果偏差太大或比较明显的话,就是与理论上的器件无关的问题了。
回复

使用道具 举报

ID:711481 发表于 2020-4-21 21:43 来自手机 | 显示全部楼层
man1234567 发表于 2020-4-21 11:30
理论上讲,没区别,不会有十块钱的表比十万块钱的表快或慢的。但实际上是有区别的,器件质量、编程水平等都 ...

使用中断是不是可以消除这些???
回复

使用道具 举报

ID:540236 发表于 2020-4-21 22:14 | 显示全部楼层
这个都有误差的,受晶振影响,示波器抓出来看,还有你初始化的时候先开的那个,那个就要快点
回复

使用道具 举报

ID:582109 发表于 2020-4-21 22:23 | 显示全部楼层
肯定是程序设计有问题,程序结构不对造成的
回复

使用道具 举报

ID:584814 发表于 2020-4-21 22:45 | 显示全部楼层
可爱萌萌哒 发表于 2020-4-21 21:43
使用中断是不是可以消除这些???

同时开几个定时器估计也一样找不到北
回复

使用道具 举报

ID:401564 发表于 2020-4-22 08:36 | 显示全部楼层
所谓慢一点是怎么得来的?
仿真:那就不说了,没有意义
示波器:那就看你的程序,慢了多少?而且,是不是所有时间下都慢这么多
16位和8位的工作方式都是不一样的,时间上肯定是有区别,你不上图片,也不给代码,人家不知道怎么回事的
如果是你要精确到5000uS,那就只能汇编一点一点的去算了,C精确不好达到一个时钟的
回复

使用道具 举报

ID:711481 发表于 2020-4-23 02:03 来自手机 | 显示全部楼层
Y_G_G 发表于 2020-4-22 08:36
所谓慢一点是怎么得来的?
仿真:那就不说了,没有意义
示波器:那就看你的程序,慢了多少?而且,是不是 ...

相同当时写了一个C程序,发现两个灯闪烁的频率不一样
回复

使用道具 举报

ID:401564 发表于 2020-4-23 08:17 | 显示全部楼层
可爱萌萌哒 发表于 2020-4-23 02:03
相同当时写了一个C程序,发现两个灯闪烁的频率不一样

如果是你写好程序烧录的结果是这样的,那肯定是你程序的问题,不管是用什么延时,虽然说是有点区别,但肯定不是你可以从灯光的频率看出来的
你不觉得你应该把代码上传一下吗?
回复

使用道具 举报

ID:491577 发表于 2020-4-23 11:05 | 显示全部楼层
你确定是用定时器吗?从原理上讲定时器不管8位16位都一样,前提是8位的不能够溢出,8位定时器只能计数256次是不可能定时5ms的,5us可以。你用8位定时器定时5ms是不可能的,你的程序有问题。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表