找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

求教更换单片机后AD的时序问题

查看数: 2645 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-10-16 20:28

正文摘要:

设计的作品中有一部分是用hx711作模数转换读压力传感器数据。一开始用的是stc89c52rc单片机,现在换成了stc8a8k64s4a12单片机后运行速度变快了很多,不满足hx711的时序了,我就想改延时函数,就是让小灯亮灭然后拿秒 ...

回复

ID:213173 发表于 2019-10-21 07:47
执念Richard 发表于 2019-10-20 20:14
按照各位师傅说的做了,第一个是stc89c52rc可以正常使用的程序,第二个是我相应地改到stc8a8k64s4a12上的程 ...

stc89c52rc在12M时钟时这个延时是6us,不是4us。
void Delay_hx711_us(void)
{
        _nop_();
        _nop_();
}
ID:282850 发表于 2019-10-17 15:17
STC8A是单时钟指令,STC89C52是12时钟,原则是如果主频都是11.0592Mhz,都会快了12倍。重新写STC8A的delay函数。HX711对时钟要求不算严格,可以搞定。
此贴再次说明,MCU不是越快越好,合适的才是对的。MSP430F1xx最高时钟8MHz,TI难道没有能力设计高频的MCU吗?就算时8Mhz还经常处于关闭状态,待机或常规运行常常用在32768hz (ACLK)。
ID:213173 发表于 2019-10-17 14:01
stc8a8k64s4a12默认内部时钟24M,一个_nop_()不是2us,是0.043us。楼主可以根据原程序的延时时间利用STC-ISP软件的软件延时计算器功能重新写延时函数。下面是本坛连接,有我给坛友的回复,实物验证一次成功。
http://www.51hei.com/bbs/forum.p ... 9330&highlight=
ID:401564 发表于 2019-10-17 11:25
换了STC8之后,所有的延时都会变短,而且并不是单纯的加快了几倍,乱得很
有的指令快了6倍,有的指令快了4.8倍,
89C52大多的指令是6个系统时钟
STC8A大多的指令是1个系统时钟
所以,在很多情况下,STC8A是比89C52快6倍的
但也只是大多情况下是这样而已,有的时候是要快12倍的,所以,这就很让人头痛的
跟外部器件有严格时序要求的,要么你全部增加延时12倍,要么是看编译后的汇编代码慢慢算
最简单的是看别人的代码来改
ID:235200 发表于 2019-10-17 08:18
阅读HX711资料,对时序要求的部分在新的单片机上改正即可

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

Powered by 单片机教程网

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