找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机欧姆表问题如图,代码在keil里,仿真图在simulate里

查看数: 2620 | 评论数: 13 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-7-6 00:05

正文摘要:

51单片机测频转电阻

回复

ID:777603 发表于 2021-7-6 11:20
lkc8210 发表于 2021-7-6 11:03
怎样换?上代码

谢谢点拨。已经可以啦,强制转换实现啦
ID:777603 发表于 2021-7-6 11:05
lkc8210 发表于 2021-7-6 11:03
怎样换?上代码

用强制转换实现了,现在可以显示了,就是误差有点大,哈哈哈。谢谢您点拨我。
ID:161164 发表于 2021-7-6 11:03
黄冬梅 发表于 2021-7-6 10:52
那最后我把R1强制转换成整形,咋我的仿真里数值还是不变?

怎样换?上代码
ID:777603 发表于 2021-7-6 10:52
lkc8210 发表于 2021-7-6 10:12
因为float不能取模(%)啊~

那最后我把R1强制转换成整形,咋我的仿真里数值还是不变?
ID:777603 发表于 2021-7-6 10:16
那我咋取得到个位,请教一下
ID:161164 发表于 2021-7-6 10:12
黄冬梅 发表于 2021-7-6 10:01
为什么显示函数要改?

因为float不能取模(%)啊~
ID:777603 发表于 2021-7-6 10:09
lkc8210 发表于 2021-7-6 09:50
为什么不改为XS(R1)再上传?

刚才边吃早餐边看,不太细心

不改XS确实不行,我全改为float型,显示我再想想
ID:777603 发表于 2021-7-6 10:01
lkc8210 发表于 2021-7-6 09:50
为什么不改为XS(R1)再上传?

刚才边吃早餐边看,不太细心

为什么显示函数要改?
ID:161164 发表于 2021-7-6 09:50
黄冬梅 发表于 2021-7-6 09:01
有啊,转换R1就是啊,应该改为XS(R1)就是了,但在仿真里数值不变。

为什么不改为XS(R1)再上传?

刚才边吃早餐边看,不太细心
现在摸鱼再看,看出了问题

f 和 t 的类型是unsigned long,是整数
1/f 变成了小于1的小数,结果t 永远等于0

有两个改正方法
1. t 可以不要了,R2 = f * 690000;
2. 把相关的变数的类型改为float, 而且XS函数要改一下
ID:777603 发表于 2021-7-6 09:02
yzwzfyz 发表于 2021-7-6 08:34
1、事实上,单片机计数是强项,与其说测频率,还不如说计时间。
2、根据公式计算出F的周期t与电阻阻值的关 ...

那那个表格很大,10——100000,不现实。
ID:777603 发表于 2021-7-6 09:01
lkc8210 发表于 2021-7-6 07:45
看了你的代码
只有显示频率
没有写显示阻值啊?

有啊,转换R1就是啊,应该改为XS(R1)就是了,但在仿真里数值不变。
ID:123289 发表于 2021-7-6 08:34
1、事实上,单片机计数是强项,与其说测频率,还不如说计时间。
2、根据公式计算出F的周期t与电阻阻值的关系,并做成一个【t-R】表格。
3、用单片机测出t,查【t-R】表,得到R,显示出来。
当然,如果楼主认为测量频率方便,你就做一个【f-R】表。道理一样。
ID:161164 发表于 2021-7-6 07:45

看了你的代码
只有显示频率
没有写显示阻值啊?

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

Powered by 单片机教程网

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