张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

开发单片机时需掌握的四个基本技巧

单片机精讲吴鉴鹰 2018-11-05 11:21 次阅读

单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握的几个基本技巧。

1、如何减少程序中的bug。

对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。

2、如何提高C语言编程代码的效率。

用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。

3、如何解决单片机的抗干扰性问题。

防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。

4、如何测试单片机系统的可靠性。

当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:测试单片机软件功能的完善性;上电、掉电测试;老化测试;ESD和EFT等测试。有时候,我们还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。综上所述,单片机已成为计算机发展和应用的一个重要方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。此外在开发和应用过程中我们更要掌握技巧,提高效率,以便于发挥它更加广阔的用途。

原文标题:[经验] 单片机开发中应该掌握的四个基本技巧

文章出处:【微信号:wujianying_danpianji,微信公众号:单片机精讲吴鉴鹰】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

软件测试编程技术

本课程强调了软件设计开发相关知识对于做好软件测试工作的重要性,将软件设计开发工程中的重要阶段的重要方法植入软件测试课程体
发表于 11-14 00:00 33549次 阅读
软件测试编程技术

请问大家图中H桥电路的反向电动势会先打坏单片机的IO还是三极管?

项目里用了一个H桥电路,是一个巨简单的H桥电路,目的是用两个单片机IO口控制H桥,使得螺旋圈内正反两个方向交替的通过电流...
发表于 07-23 09:40 118次 阅读
请问大家图中H桥电路的反向电动势会先打坏单片机的IO还是三极管?

基于红外激光二极管的智能循迹小车的硬件系统分析与设计

    全国大学生“飞思卡尔”杯智能汽车竞赛是在规定的模型汽车平台上,使用飞思卡尔半导体公司的8位、16位微控制器作为...
发表于 07-23 08:22 51次 阅读
基于红外激光二极管的智能循迹小车的硬件系统分析与设计

Linux下多线程编程总结

最近研究MySQL源码,各种锁,各种互斥,好在我去年认真学了《unix环境高级编程》, 虽然已经忘得差不多了,但是学过始终是学...
发表于 07-23 08:17 17次 阅读
Linux下多线程编程总结

基于8位单片机的温控器硬件和软件设计

作者:贾世胜 目前,8位单片机在测控领域和智能化电子产品应用中仍占有重要地位.而应用嵌入式实时操作系统(ERTOS)会...
发表于 07-23 06:58 5次 阅读
基于8位单片机的温控器硬件和软件设计

一种使Freescale单片机A/D转换模块能够接收双极型模拟信号的电路设计

摘要  实现A/D转换通常需要使用A/D转换芯片,而单片机内置的A/D模块只能接收单极模拟信号。文中介绍了一种使Fr...
发表于 07-23 06:07 32次 阅读
一种使Freescale单片机A/D转换模块能够接收双极型模拟信号的电路设计

请问stc12单片机怎么用有源晶振啊?

stc12单片机怎么用有源晶振啊? 我用的33M有源晶振 4脚的 1nc 2gnd 3out 4vcc 但是单片机不工作 3out给18脚 19脚悬空!但是不工...
发表于 07-23 04:35 53次 阅读
请问stc12单片机怎么用有源晶振啊?

求一种高效的单片机学习方法!

我们来聊聊学习单片机的方法。
发表于 07-23 04:35 43次 阅读
求一种高效的单片机学习方法!

请问PM2.5的数据怎么显示在12864上用STC的单片机?

大神门指导一下PM2.5吧不会弄啊,有程序的大家帮忙发一下...
发表于 07-23 04:35 35次 阅读
请问PM2.5的数据怎么显示在12864上用STC的单片机?

请问stc12单片机用有源晶振后(33m)不能下载程序了但可以跑怎么办?

stc12单片机用有源晶振后(33m)不能下载程序了 但是可以跑 ,怎么解决下载问题呢 是下载软件的问题 还是硬件的问题 又成功地吗?...
发表于 07-22 21:36 75次 阅读
请问stc12单片机用有源晶振后(33m)不能下载程序了但可以跑怎么办?

【相约于朋友圈】快来!集赞送大礼,“张飞BLDC16节课程”集赞活动开始啦!

今日发烧友学院为了回馈新老用户,新鲜出炉一个不一样的活动,是不是特别想知道这次究竟是什么活动呢!别着急,立马为你们揭晓!...
发表于 07-22 14:43 128次 阅读
【相约于朋友圈】快来!集赞送大礼,“张飞BLDC16节课程”集赞活动开始啦!

使用单片机实现花样流水灯的设计论文和电路图及程序免费下载

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路....
发表于 07-22 08:00 9次 阅读
使用单片机实现花样流水灯的设计论文和电路图及程序免费下载

使用单片机设计平衡智能小车的源码资料合集免费下载

本文档的主要内容详细介绍的是使用单片机设计平衡智能小车的源码资料合集免费下载。
发表于 07-22 08:00 8次 阅读
使用单片机设计平衡智能小车的源码资料合集免费下载

使用ARMK60单片机设计的平衡智能小车源代码免费下载

本文档的主要内容详细介绍的是使用ARMK60单片机设计的平衡智能小车源代码免费下载。
发表于 07-22 08:00 15次 阅读
使用ARMK60单片机设计的平衡智能小车源代码免费下载

业对讲机用户编程软件GP88sR020300汉化版应用程序免费下载

本文档的主要内容详细介绍的是业对讲机用户编程软件GP88sR020300汉化版应用程序免费下载。 ....
发表于 07-22 08:00 6次 阅读
业对讲机用户编程软件GP88sR020300汉化版应用程序免费下载

使用STM8单片机控制LED的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用STM8单片机控制LED的程序和工程文件免费下载。
发表于 07-22 08:00 25次 阅读
使用STM8单片机控制LED的程序和工程文件免费下载

MSP430系列单片机接口技术及系统设计实例PDF电子书免费下载

本书较为详细地介绍了TI公司的MSP430系列单片机,全书共分5章。首先讲述MSP430会系列所涉及....
发表于 07-22 08:00 39次 阅读
MSP430系列单片机接口技术及系统设计实例PDF电子书免费下载

LKT系列加密芯片的驱动C语言免费下载

本文档的主要内容详细介绍的是LKT系列加密芯片的驱动C语言免费下载。
发表于 07-22 08:00 12次 阅读
LKT系列加密芯片的驱动C语言免费下载

使用STM32驱动智能小车电机实验的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用STM32F4O07VE板子单片机驱动智能小车电机实验的程序和工程文....
发表于 07-22 08:00 31次 阅读
使用STM32驱动智能小车电机实验的程序和工程文件免费下载

详解pic单片机和AVR、51系列单片机

51系列是应用最广泛的单片机,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的....
发表于 07-21 10:51 114次 阅读
详解pic单片机和AVR、51系列单片机

浅析单片机的周期关系和定时器原理

时钟周期也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,一般有外部的振晶产生,比如12MHZ=....
发表于 07-21 10:46 65次 阅读
浅析单片机的周期关系和定时器原理

单片机的引脚图及引脚功能_单片机简易编程

本文着手从集成电路角度去认识单片机,主要介绍了单片机的引脚图及引脚功能,以及单片机简易编程。
的头像 单片机精讲吴鉴鹰 发表于 07-21 10:42 181次 阅读
单片机的引脚图及引脚功能_单片机简易编程

单片机程序死机跑飞的原因盘点

是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象。
的头像 贸泽电子设计圈 发表于 07-21 10:28 213次 阅读
单片机程序死机跑飞的原因盘点

单片机器件选型错误案例

对于USB2.0而言其传输速率为480Mbps。通讯速率是比较高的。而TVS中除了要考虑动作电压外,....
的头像 玩转单片机 发表于 07-21 10:19 392次 阅读
单片机器件选型错误案例

库卡机器人模拟量输入输出编程的详细资料概述

本文档的主要内容详细介绍的是库卡机器人模拟量输入输出编程的详细资料概述
的头像 工控云学堂 发表于 07-20 11:09 230次 阅读
库卡机器人模拟量输入输出编程的详细资料概述

使用MSP430单片机设计电池电量测量系统的开题报告免费下载

本文档的主要内容详细介绍的是使用MSP430单片机设计电池电量测量系统的开题报告免费下载。
发表于 07-19 17:08 36次 阅读
使用MSP430单片机设计电池电量测量系统的开题报告免费下载

7月份编程语言排行榜 ython和Java到底谁更厉害?

PYPL是非常流行的参考指标,其榜单数据的排名均是根据榜单对象在Google上相关的搜索频率进行统计....
的头像 全球人工智能 发表于 07-19 11:58 777次 阅读
7月份编程语言排行榜 ython和Java到底谁更厉害?

加拿大大四学霸,天才程序员和他的逆天语言模型

一位来自加拿大的大四学霸,开发了一款”Deep TabNine“代码补全工具,实现了这一大胆的想法。
的头像 新机器视觉 发表于 07-19 09:03 191次 阅读
加拿大大四学霸,天才程序员和他的逆天语言模型

电磁炉的原理和设计等详细资料说明

电磁灶是应用电磁感应原理进行加热工作的,是现代家庭烹饪食物的先进电子炊具。它使用起来非常方便,可用来....
发表于 07-19 08:00 105次 阅读
电磁炉的原理和设计等详细资料说明

PID控制算法的C语言实现的详细教程说明

在工业应用中 PID 及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握 P....
发表于 07-19 08:00 59次 阅读
PID控制算法的C语言实现的详细教程说明

C语言学习入门知识点/干货

C语言知识点总结
的头像 C语言编程学习 发表于 07-18 17:54 304次 阅读
C语言学习入门知识点/干货

Proteus自制元件实例教程免费下载

在使用Proteus仿真单片机系统的过程中,经常找不到所需的元件,这就需要自己编写。Proteus ....
发表于 07-18 16:37 47次 阅读
Proteus自制元件实例教程免费下载

单片机实现消防车报警声音的设计

两个简单的报警程序,希望能对大家有所启发,让单片机发出更美妙的音响 #include #....
发表于 07-18 14:57 89次 阅读
单片机实现消防车报警声音的设计

一套符合标准SQL语义的开发语言,link的最新特性

在 Flink 1.7.0 中,我们更接近实现快速数据处理和以无缝方式为 Flink 社区构建数据密....
的头像 AI科技大本营 发表于 07-18 14:12 226次 阅读
一套符合标准SQL语义的开发语言,link的最新特性

用C语言掌握算法的PDF电子书免费下载

有很多关于数据结构和算法的书,包括一些有用的C函数库。使用C掌握算法为您提供了理论背景和工作代码的独....
发表于 07-18 08:00 42次 阅读
用C语言掌握算法的PDF电子书免费下载

单片机教程之串行口与串行通信的详细资料说明

本文档的主要内容详细介绍的是单片机教程之串行口与串行通信的详细资料说明包括了:1 串行通信概述,2 ....
发表于 07-17 17:28 66次 阅读
单片机教程之串行口与串行通信的详细资料说明

如何使用LabWindows CVI多线程技术实现实时的数据采集详细资料说明

本文对LabWindows/ CVI软件开发平台下利用多线程技术实现实时数据采集进行了研究。以往采用....
发表于 07-17 17:02 36次 阅读
如何使用LabWindows CVI多线程技术实现实时的数据采集详细资料说明

技术 | 单片机中去耦电容在电路中的应用

有了这个电容,可以说我们的电压和电流就会很稳定了,不会产生大的波动。
的头像 畅学单片机 发表于 07-17 15:49 224次 阅读
技术 | 单片机中去耦电容在电路中的应用

使用STC89C52单片机设计红外遥控步进电机的详细资料说明

本设计介绍了一种基于STC89S52单片机的红外遥控步进电机的设计,系统分为红外遥控编解码和驱动步进....
发表于 07-17 08:00 53次 阅读
使用STC89C52单片机设计红外遥控步进电机的详细资料说明

使用STC15F2K60S2单片机为核心设计SPWM逆变电源的论文免费下载

本文论述是一种采用STC15F2K60S2单片机为核心的SPWM逆变电源,单片机通过自然数查表法控制....
发表于 07-17 08:00 48次 阅读
使用STC15F2K60S2单片机为核心设计SPWM逆变电源的论文免费下载

MSP-EXP430G2口袋实验平台的用户手册和原理图免费下载

本文档的主要内容详细介绍的是MSP-EXP430G2口袋实验平台的用户手册和原理图免费下载。 Lau....
发表于 07-17 08:00 51次 阅读
MSP-EXP430G2口袋实验平台的用户手册和原理图免费下载

超简单的C语言心形代码免费下载

本文档的主要内容详细介绍的是超简单的C语言心形代码免费下载。
发表于 07-16 16:35 34次 阅读
超简单的C语言心形代码免费下载

使用STM32单片机驱动TM1638的程序免费下载

本文档的主要内容详细介绍的是使用STM32单片机驱动TM1638的程序免费下载驱动程序测试可用的。
发表于 07-16 08:00 59次 阅读
使用STM32单片机驱动TM1638的程序免费下载

单片机语言程序设计实训100例和案例仿真资料免费下载

本书基于Keil μV ision程序设计平台和Proteus硬件仿真平台,精心编写了100余个80....
发表于 07-16 08:00 96次 阅读
单片机语言程序设计实训100例和案例仿真资料免费下载

电子竞赛资料报告高分模块

原文地址:https://mp.weixin.qq.com/s/RkTjxTEdAN_Hsb6nZVULTQ
的头像 电子芯 发表于 07-15 19:02 114次 阅读
电子竞赛资料报告高分模块

机器人教育与编程教育的区别是什么?二者有冲突吗?

对于现在迅速崛起的科技信息时代,很多人对于机器人教育和编程教育二者之间的关系都不太了解。
的头像 银河机器人 发表于 07-15 09:23 200次 阅读
机器人教育与编程教育的区别是什么?二者有冲突吗?

不用单片机的温度传感器电路原理图免费下载

本文档的主要内容详细介绍的是不用单片机的温度传感器原理图免费下载。
发表于 07-15 08:00 52次 阅读
不用单片机的温度传感器电路原理图免费下载

使用单片机设计4个数码管交通灯的资料合集免费下载

本文档的主要内容详细介绍的是使用单片机设计4个数码管交通灯的资料合集免费下载包括了:Altium D....
发表于 07-15 08:00 53次 阅读
使用单片机设计4个数码管交通灯的资料合集免费下载

一块STM32单片机的主控板原理图和PCB图免费下载

本文档的主要内容详细介绍的是一块STM32单片机的主控板原理图和PCB图免费下载。
发表于 07-15 08:00 101次 阅读
一块STM32单片机的主控板原理图和PCB图免费下载

嵌入式C语言的小技巧能够减少不少代码量

为了写出适应性更广的C语言程序,程序员考虑问题时应面面俱到。例如,在C语言程序中调用 open() ....
发表于 07-14 11:03 215次 阅读
嵌入式C语言的小技巧能够减少不少代码量

关于嵌入式C语言的陷阱与技巧

结合C语言的指针和结构体语法,基本能够实现对象语法最核心的部分,即成员函数和成员变量。另外,上一节讨....
发表于 07-14 11:00 143次 阅读
关于嵌入式C语言的陷阱与技巧

FLASH闪存的七种类型详细资料说明

Flash存储器,简称Flash,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程的性能,还不....
的头像 开源嵌入式 发表于 07-14 09:36 537次 阅读
FLASH闪存的七种类型详细资料说明

单片机对蜂鸣器的驱动电路设计

按照驱动方式分为有源蜂鸣器和无源蜂鸣器。这里的有源和无源不是指电源,而是振荡源。有源蜂鸣器内部带了振....
发表于 07-13 10:29 206次 阅读
单片机对蜂鸣器的驱动电路设计

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

电容的选取,第一个参数是耐压值的考虑。我们用的是 5V 系统,电容的耐压值要高于5V,一般推荐 1.....
发表于 07-13 10:23 155次 阅读
去耦电容在单片机电路中的应用介绍

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

SWIM:当SWIM引脚出现特定序列信号时,就会进入此状态。这种模式下,调试工具通过SWIM引脚使用....
发表于 07-13 09:43 100次 阅读
stm8单片机的SWIM模式引脚复用

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

C语言中要求平方根,可以在头文件中加入#include .然后调用sqrt(n);函数即可。但在单片....
发表于 07-13 09:36 154次 阅读
单片机C语言的求平方根怎么实现

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

大家都知道函数调用是通过栈来实现的,而且知道在栈中存放着该函数的局部变量。但是对于栈的实现细节可能不....
发表于 07-12 17:08 107次 阅读
带你了解嵌入式C语言函数调用栈

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

C语言作为嵌入式开发的基础语言已经越来越让工程师们知道它的厉害:可以直接操控寄存器,方便CPU的功能....
发表于 07-12 16:59 153次 阅读
关于嵌入式C语言指针的解析