5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 2625|回复: 12
打印 上一主题 下一主题

用 STC89C52 的IO口测电位器阻值的方法,打算用来造枪控。

[复制链接]
跳转到指定楼层
楼主
发表于 2013-10-7 19:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一直想用 1.5元的 STC89C52 与 4.8元的超再生无线模块制作遥控器,但是 STC89C52 没有 AD 模块,所以一直受阻。
今天找到了一种变相解决的方法。

例如,一个50K的电位器,可以串一个10K的电阻连到 P0 的端口,同时这个端口通过 0.1uF 的电容连接到地。

通常情况下 P0 = 0, 让电容把电放干净。
需要读取电阻值时,P0 = 1,并用循环(用中断与定时器更好)近似读取 P0 = 0 的时间:nCount = 0; while (P0 == 0) nCount++;

根据 nCount 的值,估算出电阻。



欢迎继续阅读楼主其他信息

沙发
发表于 2013-10-7 20:06 | 只看该作者
上多大的晶振,STC12C5A60S2带AD转换的啊
3
发表于 2013-10-7 20:24 | 只看该作者
这个精度应该不敢用吧,而且自带AD的片子一大堆干嘛非用C52呢,而且就算外加一个AD也才几毛钱 ,干嘛费这劲呀。。。。。
4
发表于 2013-10-7 20:54 | 只看该作者
路过
5
发表于 2013-10-7 21:02 | 只看该作者
都是高手啊
6
发表于 2013-10-7 21:14 | 只看该作者
你这个太慢了吧,一秒钟能更新几次?
7
发表于 2013-10-7 21:40 | 只看该作者
3楼正解。
8
 楼主| 发表于 2013-10-7 22:22 | 只看该作者
本帖最后由 skypup 于 2013-10-7 22:24 编辑

用的是 16M 晶振, 纯属个人喜好。我的PIC与Arduino都是用的16M晶振。

充电时间 400us - 2700us, 车模用的枪控只需要2个电位器,在2 * 2700us = 5.4ms之内可以完成对2个电位器的取值,每个运算周期有20ms 那么长,足够了。


9
 楼主| 发表于 2013-10-24 22:59 | 只看该作者
Source_20131024.rar (4.06 KB, 下载次数: 27)

增加了 EEPROM 读写功能。

// 函数定义
#define EEPROMRead(tnAddress)           IapReadByte(tnAddress)
#define EEPROMWrite(tnAddress, tcValue) IapProgramByte(tnAddress, tcValue)

例程:
EEPROMWrite(nTemp, 'A');
cTemp = EEPROMRead(nTemp);
SendString("1 cTemp = ");
Send(cTemp);



10
发表于 2013-10-25 15:29 | 只看该作者
stm8s系列最便宜1块2的003都带ad的,体积又小性能好,接口全,干嘛还要用51呢
11
发表于 2013-11-14 22:00 | 只看该作者
虽然不玩51,但是也听说过,据说有种增强型的51,无所不能啊,怎么会连最基本的ADC都不支持?
12
发表于 2013-11-15 10:21 | 只看该作者
楼主这招很高啊,人家如果想抄,一时半会还领会不到楼主的意图啊
13
发表于 2013-11-15 13:51 | 只看该作者
除非像十年前一样硬件达不到需求,或者为研究而做尝试,否则我觉得没啥意义,话说的比较直白,但目的不是打击楼主,台系的日系的大 陆系的带ad的单片机多的是,即便是要求1.5元以下的也多得是选择
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

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