电子发烧友网 > 控制/MCU > 正文

单片机C语言的求平方根怎么实现

2019年07月13日 09:36 次阅读

C语言中要求平方根,可以在头文件中加入#include .然后调用sqrt(n);函数即可。但在单片机中调用此函数无疑会耗费大量资源和时间,是极不合适的。在此,总结下网上常见的四种单片机常用开方根算法:

对于拥有专门的乘除法指令的单片机,可采用以下两种方法:

单片机C语言的求平方根怎么实现

1、二分法

对于一个非负数n,它的平方根不会小于大于(n/2+1)(谢谢@linzhi-cs提醒)。在[0, n/2+1]这个范围内可以进行二分搜索,求出n的平方根。

-------------------------------------------------------------------------------

1 int sqrt(int x) { 2 long long i = 0; 3 long long j = x / 2 + 1; 4 while (i <= j) 5 { 6 long long mid = (i + j) / 2; 7 long long sq = mid * mid; 8 if (sq == x) return mid; 9 else if (sq < x) i = mid + 1;10 else j = mid - 1;11 }12 return j;13 }

-------------------------------------------------------------------------------

2、更为常用的牛顿迭代法

-------------------------------------------------------------------------------

1 int sqrt(int x) { 2 if (x == 0) return 0; 3 double last = 0; 4 double res = 1; 5 while (res != last) 6 { 7 last = res; 8 res = (res + x / res) / 2; 9 }10 return int(res);11 }

-------------------------------------------------------------------------------

牛顿迭代法也可以求解多次方程。

对于不带乘除法指令的单片机,可采取以下两种算法:

算法3:

本算法只采用移位、加减法、判断和循环实现,因为它不需要浮点运算,也不需要乘除运算,因此可以很方便地运用到各种芯片上去。

我们先来看看10进制下是如何手工计算开方的:

先看下面两个算式:

x = 10*p + q (1)

公式(1)左右平方之后得:

x^2 = 100*p^2 + 20pq + q^2 (2)

现在假设我们知道x^2和p,希望求出q来,求出了q也就求出了x^2的开方x了。

我们把公式(2)改写为如下格式:

q = (x^2 - 100*p^2)/(20*p+q) (3)

这个算式左右都有q,因此无法直接计算出q来,因此手工的开方算法和手工除法算法一样有一步需要猜值。

我们来一个手工计算的例子:计算1234567890的开方

首先我们把这个数两位两位一组分开,计算出最高位为3。也就是(3)中的p,最下面一行的334为余数,也就是公式(3)中的(x^2 - 100*p^2)近似值

3 --------------- | 12 34 56 78 90 9 --------------- | 3 34

下面我们要找到一个0-9的数q使它最接近满足公式(3)。我们先把p乘以20写在334左边:

3 q --------------- | 12 34 56 78 90 9 --------------- 6q| 3 34

我们看到q为5时(60+q*q)的值最接近334,而且不超过334。于是我们得到:

3 5 --------------- | 12 34 56 78 90 9 --------------- 65| 3 34 | 3 25 --------------- 9 56

接下来就是重复上面的步骤了,这里就不再啰嗦了。

这个手工算法其实和10进制关系不大,因此我们可以很容易的把它改为二进制,改为二进制之后,公式(3)就变成了:

q = (x^2 - 4*p^2)/(4*p+q) (4)

我们来看一个例子,计算100(二进制1100100)的开方:

1 0 1 0 --------------- | 1 10 01 00 1 --------------- 100| 0 10 | 0 00 --------------- | 10 011001| 10 01 --------------- 0 00

这里每一步不再是把p乘以20了,而是把p乘以4,也就是把p右移两位,而由于q的值只能为0或者1,所以我们只需要判断余数(x^2 - 4*p^2)和(4*p+1)的大小关系,如果余数大于等于(4*p+q)那么该上一个1,否则该上一个0。

下面给出完成的C语言程序,其中root表示p,rem表示每步计算之后的余数,divisor表示(4*p+1),通过a>>30取a的最高 2位,通过a<<=2将计算后的最高2位剔除。其中root的两次<<1相当于4*p。程序完全是按照手工计算改写的,应该不难理解。

-------------------------------------------------------------------------------

unsigned short sqrt(unsigned long a){ unsigned long rem = 0; unsigned long root = 0; unsigned long divisor = 0; for(int i=0; i<16; i++){ root <<= 1; rem = ((rem << 2) + (a >> 30)); a <<= 2; divisor = (root<<1) + 1; if(divisor <= rem){ rem -= divisor; root++; } }return (unsigned short)(root); }

-------------------------------------------------------------------------------

算法4

这种方法比牛顿迭代法更加快速的方法。

1.原理

下述用pow(X,Y)表示X的Y次幂,用B[0],B[1],...,B[m-1]表示一个序列,

其中[x]为下标。

假设:

B[x],b[x]都是二进制序列,取值0或1。

1、 M = B[m-1]*pow(2,m-1) + B[m-2]*pow(2,m-2) + ... + B[1]*pow(2,1) + B[0]*pow

(2,0)

2、 N = b[n-1]*pow(2,n-1) + b[n-2]*pow(2,n-2) + ... + b[1]*pow(2,1) + n[0]*pow

(2,0)

3、 pow(N,2) = M

(1) N的最高位b[n-1]可以根据M的最高位B[m-1]直接求得。

设 m 已知,因为 pow(2, m-1) <= M <= pow(2, m),所以 pow(2, (m-1)/2) <= N <=

pow(2, m/2)

如果 m 是奇数,设m=2*k+1,

那么 pow(2,k) <= N < pow(2, 1/2+k) < pow(2, k+1),

n-1=k, n=k+1=(m+1)/2

如果 m 是偶数,设m=2k,

那么 pow(2,k) > N >= pow(2, k-1/2) > pow(2, k-1),

n-1=k-1,n=k=m/2

所以b[n-1]完全由B[m-1]决定。

余数 M[1] = M - b[n-1]*pow(2, 2*n-2)

(2) N的次高位b[n-2]可以采用试探法来确定。

因为b[n-1]=1,假设b[n-2]=1,则 pow(b[n-1]*pow(2,n-1) + b[n-1]*pow(2,n-2),

2) = b[n-1]*pow(2,2*n-2) + (b[n-1]*pow(2,2*n-2) + b[n-2]*pow(2,2*n-4)),

然后比较余数M[1]是否大于等于 (pow(2,2)*b[n-1] + b[n-2]) * pow(2,2*n-4)。这种

比较只须根据B[m-1]、B[m-2]、...、B[2*n-4]便可做出判断,其余低位不做比较。

若 M[1] >= (pow(2,2)*b[n-1] + b[n-2]) * pow(2,2*n-4), 则假设有效,b[n-2] =

1;

余数 M[2] = M[1] - pow(pow(2,n-1)*b[n-1] + pow(2,n-2)*b[n-2], 2) = M[1] -

(pow(2,2)+1)*pow(2,2*n-4);

若 M[1] < (pow(2,2)*b[n-1] + b[n-2]) * pow(2,2*n-4), 则假设无效,b[n-2] =

0;余数 M[2] = M[1]。

(3) 同理,可以从高位到低位逐位求出M的平方根N的各位。

使用这种算法计算32位数的平方根时最多只须比较16次,而且每次比较时不必把M的各位逐

一比较,尤其是开始时比较的位数很少,所以消耗的时间远低于牛顿迭代法。

2. 实现代码

这里给出实现32位无符号整数开方得到16位无符号整数的C语言代码。

-------------------------------------------------------------------------------

/****************************************/ /*Function: 开根号处理 */ /*入口参数:被开方数,长整型 */ /*出口参数:开方结果,整型 */ /****************************************/ unsigned int sqrt_16(unsigned long M) { unsigned int N, i; unsigned long tmp, ttp; // 结果、循环计数 if (M == 0) // 被开方数,开方结果也为0 return 0; N = 0; tmp = (M >> 30); // 获取最高位:B[m-1] M <<= 2; if (tmp > 1) // 最高位为1 { N ++; // 结果当前位为1,否则为默认的0 tmp -= N; } for (i=15; i>0; i--) // 求剩余的15位 { N <<= 1; // 左移一位 tmp <<= 2; tmp += (M >> 30); // 假设 ttp = N; ttp = (ttp<<1)+1; M <<= 2; if (tmp >= ttp) // 假设成立 { tmp -= ttp; N ++; } } return N; }

-------------------------------------------------------------------------------

以上算法结尾网上收集所得,虽然原理可能比较难懂,但都可在单片机中实际运用。

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

玩单片机到千万身家,“技术型老总”需要哪些神技能?

中国硬件创新大赛网络培训会—技术培训篇如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不一定喜欢单片机,也不

发烧友学院 发表于 2017-05-16 00:00 585次阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

去耦电容在单片机电路中的应用介绍

电容的选取,第一个参数是耐压值的考虑。我们用的是 5V 系统,电容的耐压值要高于5V,一般推荐 1....

发表于 2019-07-13 10:23 0次阅读
去耦电容在单片机电路中的应用介绍

stm8单片机的SWIM模式引脚复用

SWIM:当SWIM引脚出现特定序列信号时,就会进入此状态。这种模式下,调试工具通过SWIM引脚使用...

发表于 2019-07-13 09:43 14次阅读
stm8单片机的SWIM模式引脚复用

带你了解嵌入式C语言函数调用栈

大家都知道函数调用是通过栈来实现的,而且知道在栈中存放着该函数的局部变量。但是对于栈的实现细节可能不...

发表于 2019-07-12 17:08 17次阅读
带你了解嵌入式C语言函数调用栈

关于嵌入式C语言指针的解析

C语言作为嵌入式开发的基础语言已经越来越让工程师们知道它的厉害:可以直接操控寄存器,方便CPU的功能...

发表于 2019-07-12 16:59 28次阅读
关于嵌入式C语言指针的解析

六种智能小车的制作的说明安装详解

发表于 2019-07-12 16:32 242次阅读
六种智能小车的制作的说明安装详解

技术 | 基于PLC技术的VIGAN卸船机控制系...

卸船机故障显示单片机通过双绞线与plc的输出模块建立连接及时读取plc的内部寄存器区的各种故障信息。

发表于 2019-07-12 15:57 73次阅读
技术 | 基于PLC技术的VIGAN卸船机控制系...

单片机开发时为什么需要仿真机

仿真有CPU仿真和ROM仿真两种,所谓CPU仿真是指用仿真机代替目标机的CPU,由仿真机向目标机的应...

发表于 2019-07-12 14:58 39次阅读
单片机开发时为什么需要仿真机

如何将实时运行的大数据存储在TXT文件中?

发表于 2019-07-12 05:55 20次阅读
如何将实时运行的大数据存储在TXT文件中?

请问能用中断方式计算接收输入脉冲个数吗?

发表于 2019-07-12 04:35 8次阅读
请问能用中断方式计算接收输入脉冲个数吗?

请问做点阵时遇到的电路A“输出的是低电平吗?

发表于 2019-07-12 02:07 4次阅读
请问做点阵时遇到的电路A“输出的是低电平吗?

KEIL5进行软件仿真的时候程序不能执行,为什么只能点一次执行一步

发表于 2019-07-11 17:51 204次阅读
KEIL5进行软件仿真的时候程序不能执行,为什么只能点一次执行一步

用stm32单片机输出精准脉冲数,来控制步进电机——程序

发表于 2019-07-11 15:22 438次阅读
用stm32单片机输出精准脉冲数,来控制步进电机——程序

单片机多机通信系统的设计

当51单片机进行多机通信时,串口要工作在方式2和方式3。假设当前多机通信系统有1个主机和3个从机,从...

发表于 2019-07-11 15:04 58次阅读
单片机多机通信系统的设计

掌握模电必需阅读的几本书

发表于 2019-07-11 11:36 385次阅读
掌握模电必需阅读的几本书

51单片机延时函数延时出现异常

发表于 2019-07-11 09:58 135次阅读
51单片机延时函数延时出现异常

出现 ”芯片超时无应答,无法连接“ 是什么原因?

发表于 2019-07-11 09:24 247次阅读
出现 ”芯片超时无应答,无法连接“ 是什么原因?

μC/OS-II在单片机教学的应用

发表于 2019-07-11 08:25 29次阅读
μC/OS-II在单片机教学的应用

嵌入式系统为什么选择C语言作为开发语言

了解嵌入式开发的朋友们都非常的清楚其核心的开发语言为C语言,C语言在嵌入式开发的过程中占有十分重要的...

发表于 2019-07-10 17:01 88次阅读
嵌入式系统为什么选择C语言作为开发语言

嵌入式C语言中的组成结构是什么

尽管变量voice和sample_rate彼此相关,但它们被定义为两个独立变量。为了将这两个变量相互...

发表于 2019-07-10 11:05 73次阅读
嵌入式C语言中的组成结构是什么

单片机中的时钟周期是如何定义的

时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如...

发表于 2019-07-09 15:28 96次阅读
单片机中的时钟周期是如何定义的

STM32提醒您:功能不安全,亲人两行泪

发表于 2019-07-08 21:38 87次阅读
STM32提醒您:功能不安全,亲人两行泪

单片机的烧写方法总结

单片机学习、使用非常重要的一个步骤就是把写好的程序烧写到单片机里,好多初学者,好不容易才写好一个程序...

发表于 2019-07-07 09:55 83次阅读
单片机的烧写方法总结

单片机采样模拟量数据的方法

单片机的ADC接口属于模数转换接口,将外部的模拟量信号转化为数字信号,单片机属于数字器件,需将模拟信...

发表于 2019-07-07 09:39 67次阅读
单片机采样模拟量数据的方法

PLC与单片机相比有什么优势?

PLC底层,实际就是单片机在运行,它只不过是基于单片机的基础,开发出来的一款二次应用的工业逻辑控制器...

发表于 2019-07-07 09:36 214次阅读
PLC与单片机相比有什么优势?

D语言相对C/C++的衍生功能和优势

我记得我读过Scott Meyer著名的《Effective C ++》,这本书其实更多讲的是指出低...

发表于 2019-07-07 07:22 171次阅读
D语言相对C/C++的衍生功能和优势

PLC和单片机有什么区别?如何分清PLC和单片机

PLC底层,实际就是单片机在运行,它只不过是基于单片机的基础,开发出来的一款二次应用的工业逻辑控制器...

发表于 2019-07-06 11:32 402次阅读
PLC和单片机有什么区别?如何分清PLC和单片机

单片机外围电路应该如何设计详细的设计攻略分享给你

单片机外围电路设计之一:电阻 对于电阻,想必大家都觉得简单,没有什么好说的。其实电阻的应该还是非常...

发表于 2019-07-06 10:21 486次阅读
单片机外围电路应该如何设计详细的设计攻略分享给你

单片机控制PCB板设计的原则和细节说明

在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器、晶振、CPU的时钟输入端...

发表于 2019-07-05 14:58 123次阅读
单片机控制PCB板设计的原则和细节说明

学习C语言你所必须要了解的知识有哪些

高级语言(如C,Java 和 C++)都以更抽象的方式即我们人的思维来实现代码。

发表于 2019-07-05 14:50 110次阅读
学习C语言你所必须要了解的知识有哪些

2019年瑞萨电子在中国主推的产品有哪些?

近日,瑞萨开始了新一轮的产品巡回研讨会,首站厦门,随后在南京和西安三地巡回举办,在研讨会上瑞萨全系列...

发表于 2019-07-01 10:53 930次阅读
2019年瑞萨电子在中国主推的产品有哪些?

非常优秀的单片机开发工程师讲解单片机进行开发的经...

老生常谈的话题又来了,感觉自己看过好多五花八门的关于单片机的开发经验了,但是不一定那些就是适合你的,...

发表于 2019-06-30 11:10 609次阅读
非常优秀的单片机开发工程师讲解单片机进行开发的经...

I2C总线的工作原理及使用方法详细分析

大家好,通过前一期的学习,我们已经对ICD2 仿真烧写器和增强型PIC 实验板的使用方法及学习方式有...

发表于 2019-06-30 10:34 562次阅读
I2C总线的工作原理及使用方法详细分析

如何使用8位单片机对16位INT型数据进行操作

在8位单片机中没有16位数的操作指令,所有的int型数据都要通过两个字节分开操作,使用的方法不用,生...

发表于 2019-06-30 10:29 265次阅读
如何使用8位单片机对16位INT型数据进行操作

单片机扬声器实验设计

LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真...

发表于 2019-06-30 10:26 102次阅读
单片机扬声器实验设计

单片机串口设置问题如何解决

最近测试涉及到底层串口代码的修改。经过这次修改,突然发现其实自己对于串口的一些特性以前并不是十分清楚...

发表于 2019-06-29 11:31 539次阅读
单片机串口设置问题如何解决

单片机C语言编制程序在自助式寄存柜中系统的应用

系统程序有以下部分组成:主程序、存取程序、监控管理程序、控制输出程序、柜体箱位排序程序及键盘中断、时...

发表于 2019-06-25 15:59 108次阅读
单片机C语言编制程序在自助式寄存柜中系统的应用

12v直流电机驱动电路图

电流小于3A可以使用l298N(l298N的原理图我这没有,你自己百度搜把),电流小于43A可以使用...

发表于 2019-06-25 15:17 929次阅读
12v直流电机驱动电路图

单片机中断系统

单片机中断系统的概念 什么是中断,我们从一个生活中的例程引入。 你正在家中看书,突然电话铃响了,你放...

发表于 2019-06-24 21:57 121次阅读
单片机中断系统

如何优化单片机系统使其运行拥有更好的可靠性

看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即...

发表于 2019-06-21 15:34 173次阅读
如何优化单片机系统使其运行拥有更好的可靠性

单片机串行通信的结构组成及工作原理解析

目前多数单片机都配有串行接口,如51单片机和MCS - 96等系列单片机都配有一个全双工的串行接口,...

发表于 2019-06-21 15:22 248次阅读
单片机串行通信的结构组成及工作原理解析

干货 | 基于单片机的16×64 LED 点阵显...

本文详细介绍了一种低廉的16x64点阵LED显示屏的设计过程。

发表于 2019-06-20 17:08 497次阅读
干货 | 基于单片机的16×64 LED 点阵显...

对于物联网开发商来说什么是关键

在主要为工业市场开发系统的增长推动下,物联网(IOT)是嵌入式系统和设备开发的主要焦点。

发表于 2019-06-20 16:50 223次阅读
对于物联网开发商来说什么是关键

干货 | 单片机、ARM、FPGA、嵌入式的区别...

学习嵌入式需要了解硬件知识,其中包括单片机、ARM、FPGA等,不同的硬件有不同的特点,需要了解他们...

发表于 2019-06-20 10:50 1190次阅读
干货 | 单片机、ARM、FPGA、嵌入式的区别...

干货 | 关于单片机上for循环中运用ACC的隐...

想到了这个方法后,觉得自己好白痴,以后都不用ACC了。

发表于 2019-06-20 10:47 374次阅读
干货 | 关于单片机上for循环中运用ACC的隐...

粤芯半导体本月将试产

近日,智光电气在投资者互动平台上透露,其参与投资的广州粤芯半导体技术有限公司在生产线在做试产前的测试...

发表于 2019-06-19 17:56 1230次阅读
粤芯半导体本月将试产

如何采用单片机实现VD5026编码器的工作过程

由专用编/解码器组成的报警系统,通常需要用单片机的10~14位输入/输出口,对编码器进行编码和控制,...

发表于 2019-06-19 15:23 96次阅读
如何采用单片机实现VD5026编码器的工作过程

嵌入式开发通常采用哪种编程语言

目前在嵌入式开发领域比较常见的编程语言是C,另外C++、Python、JavaScript等语言也可...

发表于 2019-06-18 16:59 220次阅读
嵌入式开发通常采用哪种编程语言

关于嵌入式C开发必须掌握的一些专业技能

华为的嵌入式系统做得非常棒,这个是毋庸置疑。做嵌入式的C开发人员一般都会想进华为,看看华为的嵌入式系...

发表于 2019-06-18 11:37 155次阅读
关于嵌入式C开发必须掌握的一些专业技能

单片机定时器中断原理及s3c2440的定时器使用...

使CPU中断的事件称中断源。中断源向CPU发出中断请求,CPU暂时中断原来执行的事件A转去做事件B。...

发表于 2019-06-17 16:06 115次阅读
单片机定时器中断原理及s3c2440的定时器使用...

51单片机的定时器

从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T...

发表于 2019-06-17 15:02 204次阅读
51单片机的定时器

单片机定时器/计数器的结构

 每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数...

发表于 2019-06-17 09:57 158次阅读
单片机定时器/计数器的结构

单片机定时器/计数器基本原理

AT89S52单片机内部的定时/计数器的结构如图2所示。定时器T0由特殊功能寄存器TL0(低8位)和...

发表于 2019-06-17 09:19 88次阅读
单片机定时器/计数器基本原理

你有这些嵌入式硬件电路设计的基本功吗?

我走的电子开发道路其实和大多数人说的一样,基本的路线为模拟电子(熟练)→数字电路设计(掌握)→单片机...

发表于 2019-06-16 11:52 792次阅读
你有这些嵌入式硬件电路设计的基本功吗?

基于GPRS技术的单片机开发特点及过程介绍

针对这一问题,提出一种基于GPRS的单片机上网的解决方案,即在单片机中实现PPP协议,并通过驱动GP...

发表于 2019-06-13 15:20 212次阅读
基于GPRS技术的单片机开发特点及过程介绍

单片机精确延时的方法解析

1、使用循环函数延时: void delay1ms(void) //误差 0us,延时1ms ...

发表于 2019-06-12 15:32 147次阅读
单片机精确延时的方法解析

太阳能电池板自动对光控制集成电路的关键技术研究

针对太阳能电池板自动对光控制集成电路的关键技术展开研究,设计一种可以通过太阳光电池板自动对光的集成电...

发表于 2019-06-10 17:25 472次阅读
太阳能电池板自动对光控制集成电路的关键技术研究

单片机晶振电路中22pf或30pf电容的作用

刚学单片机的学长告诉我单片机的晶振电路中就是用22pf或30pf的电容就行,听人劝吃饱饭吧,照着焊电...

发表于 2019-06-10 16:44 634次阅读
单片机晶振电路中22pf或30pf电容的作用

单片机 | 基础汇编语言编程实例

单片机汇编语言编程

发表于 2019-06-05 18:04 698次阅读
单片机 | 基础汇编语言编程实例

单片机 | 音乐程序设计原理解析

利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能...

发表于 2019-06-05 17:18 520次阅读
单片机 | 音乐程序设计原理解析

单片机 | P0口什么时候使用上拉电阻?

P0口作为I/O口输出的时候时,输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态,也就是...

发表于 2019-06-05 17:17 777次阅读
单片机 | P0口什么时候使用上拉电阻?

单片机 | STM32定时器比较输出切换模式之应...

定时器比较输出切换实现任意波形之实例。

发表于 2019-06-04 14:08 444次阅读
单片机 | STM32定时器比较输出切换模式之应...

寄存器变量定义

 寄存器变量和普通变量比起来速度上的差异很大,毕竟CPU的速度远远大于内存的速度。寄存器有这么两个特...

发表于 2019-06-03 10:40 85次阅读
寄存器变量定义

嵌入式通用系统之间错综复杂的关系!

首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较...

发表于 2019-06-03 09:18 737次阅读
嵌入式通用系统之间错综复杂的关系!

单片机常用的14个C语言算法盘点

是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么...

发表于 2019-06-02 10:22 562次阅读
单片机常用的14个C语言算法盘点

如何使用51单片机进行带wifi APP查看功能...

功能简要说明 1、发射板组成:DHT11 温湿度采集+51 单片机+cc2530 zigbee 无...

发表于 2019-06-01 10:17 749次阅读
如何使用51单片机进行带wifi APP查看功能...

基于单片机的汽车制冷系统维护自动化设备

制冷系统已成为的现代汽车重要配置,制冷系统内的冷媒量和冷媒纯度都是影响制冷效果的关键因素,需要按期进...

发表于 2019-06-01 09:58 154次阅读
基于单片机的汽车制冷系统维护自动化设备

详解STM32的位带操作

51单片机相信各位都用过,假设P1.1的IO口上挂了一个LED,那么你单独对LED的操作就是P1.1...

发表于 2019-06-01 09:54 100次阅读
详解STM32的位带操作

单片机对直流电机的调速测试程序设计

DCBITP1.0 speedequ20h org000h jmpdc_MOTOR...

发表于 2019-05-31 16:00 201次阅读
单片机对直流电机的调速测试程序设计

单片机之间的串口通讯程序设计

#defineucharunsignedchar #defineSLAVE0x00 #d...

发表于 2019-05-30 15:05 147次阅读
单片机之间的串口通讯程序设计

单片机双机点对点通信设计

#define__MAX_LEN_64//数据最大长度 #define_MHz_11//设置单...

发表于 2019-05-29 14:40 176次阅读
单片机双机点对点通信设计