找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 908|回复: 10
打印 上一主题 下一主题
收起左侧

51单片机使用两个定时器存在的问题

[复制链接]
跳转到指定楼层
楼主
请问一下,为啥我用两个定时器的时候,定时器1不会按照我所定的时间去运行,而是速度极快且不停地输出数据  现象是用仿真看的,晶振是11.0952,求大佬们帮帮忙!!!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:220661 发表于 2023-6-8 06:40 | 只看该作者
不清楚你单片机型号,一种可能性是你的单片机不一定有定时器1,另外参照官方程序看看定时器寄存器配置位是否正确。
回复

使用道具 举报

板凳
ID:94031 发表于 2023-6-8 07:00 | 只看该作者
定时器1中断里不要处理串口发送,这样会打乱定时计数,串口发送放在main循环里处理。
回复

使用道具 举报

地板
ID:123289 发表于 2023-6-8 08:17 | 只看该作者
1、你对中断响应的条件,未搞清楚。
2、你的串行通讯的时序未搞清楚。
这就是原因,补补课吧。
提示:串口发送一个字节需要多少时间?你一共发送了多少字节?要用多少时间?在此时间内,T1会发生多少次溢出?每次溢出都能被中断响应吗?
重新仔细看书,弄清楚我提出的问题,就当是作业吧。做完作业,水平会有大的提升。
回复

使用道具 举报

5#
ID:884147 发表于 2023-6-8 08:40 | 只看该作者
你要5秒执行1次,请问5秒=多少毫秒
回复

使用道具 举报

6#
ID:1040123 发表于 2023-6-8 08:56 | 只看该作者
mtdzok 发表于 2023-6-8 08:40
你要5秒执行1次,请问5秒=多少毫秒

100,图中的已经改过了,还是会出现问题
回复

使用道具 举报

7#
ID:744809 发表于 2023-6-8 09:29 | 只看该作者
火鸡味锅巴qwq 发表于 2023-6-8 08:56
100,图中的已经改过了,还是会出现问题

不要放在定时器中发送咯,在main中读温度和发送
回复

使用道具 举报

8#
ID:744809 发表于 2023-6-8 09:30 | 只看该作者
火鸡味锅巴qwq 发表于 2023-6-8 08:56
100,图中的已经改过了,还是会出现问题

串口1也是用的定时器1吧,你这样应该是有问题的。
回复

使用道具 举报

9#
ID:1040123 发表于 2023-6-8 09:47 | 只看该作者
123156fsadf 发表于 2023-6-8 09:29
不要放在定时器中发送咯,在main中读温度和发送

好的,我试试
回复

使用道具 举报

10#
ID:1040123 发表于 2023-6-8 10:22 | 只看该作者
yzwzfyz 发表于 2023-6-8 08:17
1、你对中断响应的条件,未搞清楚。
2、你的串行通讯的时序未搞清楚。
这就是原因,补补课吧。

好的,我再看看
回复

使用道具 举报

11#
ID:213173 发表于 2023-6-8 11:36 | 只看该作者
你的定时器使用不合理。定时器0中断1ms用于按键扫描没问题,也可以设置一个变量累加到5000输出一个5秒标志。在主函数中查询5秒标志再读1820和串口发送。定时器1用做波特率发生器,切不可开定时器1中断,否则会乱套。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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