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

开发单片机应掌握的几个技巧

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

单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着工程师。为帮助工程师解决单片机设计上的难题,现根据论坛中的讨论归纳出单片机开发中应掌握的几个基本技巧。

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

邓宏杰指出,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。“如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。”

他指出,各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。“对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。

虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。”

二、如何减少程序中的bug?

对于如何减少程序的bug,邓宏杰给出了一些建议,他指出系统运行中应考虑的超范围管理参数有:

1.物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或非正常回应进行出错处理。

2.资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。在程式设计中,对资源参数不允许超范围使用。

3.应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM的擦写次数与资料存储时间等应用参数界限。

4.过程参数。指系统运行中的有序变化的参数。

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

邓宏杰指出:防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。

一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。

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

有读者希望了解用用什么方法来测试单片机系统的可靠性,邓宏杰指出:“当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:

1.测试单片机软件功能的完善性。这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。

2.上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。

3.老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。

4、ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。

例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。邓宏杰强调:“还可以模拟人为使用中,可能发生的破坏情况。人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。”

原文标题:单片机开发中应掌握的基本技巧

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

收藏 人收藏
分享:

评论

相关推荐

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

中国硬件创新大赛网络培训会—技术培训篇如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不一定喜欢单片机,也不
发表于 05-16 00:00 585次 阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

使用信号发生芯片MAX038设计多功能波形发生器的论文免费下载

 本设计是基于信号发生芯片MAX038的多功能波形发生器。由MAX038、D\A 转换,MAX414....
发表于 08-20 17:28 7次 阅读
使用信号发生芯片MAX038设计多功能波形发生器的论文免费下载

使用ATmega64单片机作为控制核心设计LED点阵书写显示屏的论文

LED点阵书写显示屏由主控制模块、LED点阵屏模块、光笔检测电路、遥控键盘模块、液晶显示模块和开关电....
发表于 08-20 17:28 14次 阅读
使用ATmega64单片机作为控制核心设计LED点阵书写显示屏的论文

使用单片机和DDS芯片设计单工无线呼叫系统的论文免费下载

本系统是基于专用DDS芯片AD9851和接收芯片LA1800的具有8个从站的点对多点单工无线呼叫系统....
发表于 08-20 17:28 8次 阅读
使用单片机和DDS芯片设计单工无线呼叫系统的论文免费下载

使用MSP430单片机控制MPU6000传感器的程序免费下载

本文档的主要内容详细介绍的是使用MSP430单片机控制MPU6000传感器的程序免费下载。
发表于 08-20 17:06 13次 阅读
使用MSP430单片机控制MPU6000传感器的程序免费下载

如何使用单片机进行室内红外超声波定位和电机的跟踪调速控制的设计

本文提出了一种基于51单片机的室内目标定位并反馈指导电机控制的方案。采用红外线触发,超声波测距,三点....
发表于 08-20 17:03 10次 阅读
如何使用单片机进行室内红外超声波定位和电机的跟踪调速控制的设计

使用单片机的定时器设计60S秒表的实验资料电路图和程序免费下载

 一、实验目的   (1)学习定时/计数器的工作原理;   (2)学习51单片机定时器的....
发表于 08-20 16:45 17次 阅读
使用单片机的定时器设计60S秒表的实验资料电路图和程序免费下载

STM32入门系列-使用库函数点亮LED,LED初始化函数

通常xxx.c文件用于存放编写的驱动程序,xxx.h文件用于存放xxx.c内的stm32头文件、管脚定义、全局变量声明、函数声明等内容。#inc...
发表于 08-20 16:07 129次 阅读
STM32入门系列-使用库函数点亮LED,LED初始化函数

求推荐一款蓝牙芯片与单片机进行通信!

需要一款蓝牙芯片与单片机进行通信。之前看到了CC2564这款芯片,但是里面的电平大部分都是1.8V。考虑到单片机的输入输出都是3...
发表于 08-20 11:34 33次 阅读
求推荐一款蓝牙芯片与单片机进行通信!

【设计技巧】指针的使用注意事项:空指针、指针赋值、void *指针

前面的文章,分析了指针的一些概念,可以说指针是C的灵魂,看起来简单,但是想要理解透彻却是相当难,需要大量的练习,不断的巩...
发表于 08-20 08:30 128次 阅读
【设计技巧】指针的使用注意事项:空指针、指针赋值、void *指针

使用STM32F103单片机进行温度OLED显示实验的工程文件免费下载

本文档的主要内容详细介绍的是使用STM32F103单片机进行温度OLED显示实验的工程文件免费下载。
发表于 08-20 08:00 24次 阅读
使用STM32F103单片机进行温度OLED显示实验的工程文件免费下载

AD和DA转换器的详细介绍及其编程的资料概述

在实时控制和智能仪表等应用系统中,单片机所需处理的信号通常为模拟量,例如温度、压力、转速等等。这些模....
发表于 08-20 08:00 14次 阅读
AD和DA转换器的详细介绍及其编程的资料概述

有源RFID定位系统由什么构成?

      定位系统是指在有限的区域内,如企业内部、校园、港口、仓库等,对财产和人员进行定位和跟踪。随着数...
发表于 08-20 07:31 17次 阅读
有源RFID定位系统由什么构成?

射频读写器的输出信号怎么分析处理?

   射频识别RFID技术是一种基于射频原理实现的非接触式自动识别技术。它的基本原理是信号通过空间耦合(交变磁场和...
发表于 08-20 06:51 11次 阅读
射频读写器的输出信号怎么分析处理?

为什么一退出外部中断程序就会重启?

我现在正在写裸机中断代码。 代码架构:用汇编初始化IO口(控制灯,蜂鸣器,作为提示),初始化与外部中断有关寄存器EINT...
发表于 08-20 00:27 68次 阅读
为什么一退出外部中断程序就会重启?

请问大佬们,关于51单片机电源的问题

单片机的电源是不是经常与外围电路(电机什么的)分开,如果用同一个电源的话得用到什么芯片较好,稳定在5v(51的) ...
发表于 08-19 17:39 198次 阅读
请问大佬们,关于51单片机电源的问题

【VIP福利汇总】一网打尽,模电/单片机/电源/PCB/电赛资料汇总

开通VIP送资料活动已经进行了5期,包括PCB设计资料、电源资料、单片机资料、电赛资料、模电资料,内容涵盖电路、代码、教程...
发表于 08-19 15:42 261次 阅读
【VIP福利汇总】一网打尽,模电/单片机/电源/PCB/电赛资料汇总

ttl电平转换电路

第一例电路用了两个NPN三极管,我们先看单片机的发送,RS232的接收部分:当单片机的TXD输出高电....
的头像 发烧友学院 发表于 08-19 14:22 73次 阅读
ttl电平转换电路

电路板连接触摸屏,触摸屏无反应

电路板连接触摸屏,触摸屏无反应
发表于 08-19 14:14 120次 阅读
电路板连接触摸屏,触摸屏无反应

为什么嵌入式C语言中的size不等于所有成员size之和

结构体在C语言程序开发中,是不可或缺的语法。不过,相信不少C语言初学者遇到过这样的问题:为什么结构体....
发表于 08-19 11:50 22次 阅读
为什么嵌入式C语言中的size不等于所有成员size之和

嵌入式C语言中如何判断数据是否损坏

C语言中的结构体是非常有用的复合数据类型,正是有了结构体,C语言在描述复杂问题时才能够得心应手。
发表于 08-19 11:46 33次 阅读
嵌入式C语言中如何判断数据是否损坏

STC-ISP单片机下载编程烧录软件四个版本应用程序免费下载

本文档的主要内容详细介绍的是STC-ISP单片机下载编程烧录软件四个版本应用程序免费下载包括了:st....
发表于 08-19 08:00 12次 阅读
STC-ISP单片机下载编程烧录软件四个版本应用程序免费下载

如何利用MSP430F449设计数字频率计?

利用前置分频器SAB6456A和高速数字分频器74HC390的分频功能,结合新型的MSP430F449单片机,给出了一种新颖的、全自动...
发表于 08-19 07:32 75次 阅读
如何利用MSP430F449设计数字频率计?

使用C语言进行单片机编程的基本知识点和编程规范资料总结

这个8*8按键程序的过程中,不管是在自己写还是参考别人程序的过程中,发现自己对C语言有些基本知识点和....
的头像 玩转单片机 发表于 08-17 09:08 200次 阅读
使用C语言进行单片机编程的基本知识点和编程规范资料总结

STM8S105系列单片机的数据手册免费下载

STM8S105xx接入线8位微控制器提供16至32千字节的闪存程序存储器,以及集成的真数据EEPR....
发表于 08-16 17:37 66次 阅读
STM8S105系列单片机的数据手册免费下载

用Python做科学计算中文版PDF电子书免费下载

和Matlab不同,Python的科学软件包由众多的社区维护和发布,因此要一一将其收集齐安装到你的电....
发表于 08-16 08:00 33次 阅读
用Python做科学计算中文版PDF电子书免费下载

从C语言来分析Linux系统是如何创建的

许多操作系统都提供了专门的进程产生机制,比较典型的过程是:首先在内存新的地址空间里创建进程,然后读取....
发表于 08-15 17:09 58次 阅读
从C语言来分析Linux系统是如何创建的

复位电路的三种方式

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机....
的头像 发烧友学院 发表于 08-15 15:23 184次 阅读
复位电路的三种方式

从原理图到PCB设计的DS18B20的测温电路实例演示

对于经常与单片机打交道的人,Protues是经常使用的仿真软件,对于我们的设计帮助很大。从设计到PC....
发表于 08-14 17:42 78次 阅读
从原理图到PCB设计的DS18B20的测温电路实例演示

W5500全硬件TCP IP协议以太网控制器模块的用户手册免费下载

YIXIN_W5500以太网模块是一款基于WIZnet W5500芯片的以太网模块,是一款性能出色、....
发表于 08-14 16:56 70次 阅读
W5500全硬件TCP IP协议以太网控制器模块的用户手册免费下载

单片机入门视频教程之基本电路知识的详细资料说明

本文档的主要内容详细介绍的是单片机入门视频教程之基本电路知识的详细资料说明。
发表于 08-14 16:56 197次 阅读
单片机入门视频教程之基本电路知识的详细资料说明

使用STM32F4和FDC2214实现简单的纸张计数工程文件免费下载

本文档的主要内容详细介绍的是使用STM32F4系列单片机和FDC2214电容传感器芯片实现简单的纸张....
发表于 08-14 08:00 121次 阅读
使用STM32F4和FDC2214实现简单的纸张计数工程文件免费下载

Python标准库中文版PDF免费下载

五年前我偶然遇到了 Python, 开始了我的 Python 之旅, 我花费了大量的时间在 comp....
发表于 08-14 08:00 38次 阅读
Python标准库中文版PDF免费下载

单片机外围器件实用技术手册电源器件分册PDF电子书免费下载

《单片机外围器件实用手册:电源器件分册》(北京航空航天大学出版社。关德新。冯文全) PDF格式扫描版....
发表于 08-13 17:15 154次 阅读
单片机外围器件实用技术手册电源器件分册PDF电子书免费下载

干货 | 几种常用单片机之间的通信方式

串行接口的RAM在市场上很少见,不但难以买到而且价格很高。
的头像 电子工程技术 发表于 08-12 16:59 236次 阅读
干货 | 几种常用单片机之间的通信方式

MCU常用的C语言算法

算法(Algorithm):计算机解题的基本思想方法和步骤。
的头像 电子工程技术 发表于 08-12 15:00 256次 阅读
MCU常用的C语言算法

无线遥控灯具的结构及安装使用方法

无线遥控灯,由遥控部分和灯具部分组成。遥控和灯具上各由一块HT46单片机作为控制器,以NRF905无....
的头像 牵手一起梦 发表于 08-12 14:51 883次 阅读
无线遥控灯具的结构及安装使用方法

单片机的程序编写

MCU的程序的编写与PC下的程序的编写存在很大的区别,虽然现在基于C的MCU开发工具越来越流行,但对....
的头像 国科环宇 发表于 08-12 09:57 369次 阅读
单片机的程序编写

单片机的学习窍门分享

任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。
的头像 中国标准化 发表于 08-12 09:53 305次 阅读
单片机的学习窍门分享

微控制器的分类及应用

MCU是Microcontroller Unit 的简称,中文叫微控制器,俗称单片机,是把CPU的频....
的头像 电子工程技术 发表于 08-12 09:45 167次 阅读
微控制器的分类及应用

如何使用C语言来完成SN8系列芯片的程序设计

Assembly(汇编)的历史已经有半个多世纪了,从计算机的发明那天开始,汇编就注定要与其结缘,它作....
发表于 08-12 08:00 51次 阅读
如何使用C语言来完成SN8系列芯片的程序设计

SN8F5702单片机的IO和定时器及PWM等学习资料合集免费下载

本文档的主要内容详细介绍的是SN8F5702单片机的IO和定时器及PWM等学习资料合集免费下载。 ....
发表于 08-12 08:00 37次 阅读
SN8F5702单片机的IO和定时器及PWM等学习资料合集免费下载

松翰单片机仿真器SN Link ISP V2.02应用程序免费下载

本文档的主要内容详细介绍的是松翰单片机仿真器SN Link ISP V2.02应用程序免费下载。
发表于 08-12 08:00 33次 阅读
松翰单片机仿真器SN Link ISP V2.02应用程序免费下载

DL-RTS1278M无线串口模块的数据手册免费下载

DL-RTS1278M是针对无线抄表、工业远程控制行业研发的一款高性能无线串口模块,其嵌入高速低功耗....
发表于 08-12 08:00 35次 阅读
DL-RTS1278M无线串口模块的数据手册免费下载

使用LCD12864进行图片显示的C语言程序和工程文件资料合集免费下载

本文档的主要内容详细介绍的是使用LCD12864进行图片显示的C语言程序和工程文件资料合集免费下载。
发表于 08-12 08:00 69次 阅读
使用LCD12864进行图片显示的C语言程序和工程文件资料合集免费下载

单片机最小系统的振荡电路原理分析

单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机....
的头像 玩转单片机 发表于 08-11 11:34 987次 阅读
单片机最小系统的振荡电路原理分析

单片机的“功耗”如何计算?

单片机的功耗是非常难算的,而且在高温下,单片机的功耗还是一个特别重要的参数。
的头像 电子工程技术 发表于 08-11 11:33 631次 阅读
单片机的“功耗”如何计算?

如何在单片机上实现卡尔曼滤波详细计算方法和程序概述

本文档的主要内容详细介绍的是如何在单片机上实现卡尔曼滤波详细计算方法和程序概述。
的头像 玩转单片机 发表于 08-11 11:23 362次 阅读
如何在单片机上实现卡尔曼滤波详细计算方法和程序概述

51单片机的keil配置方法

Compact的方式要自己通过程序来指定页的高位地址,编程比较复杂,如果外部RAM很少,只有256个....
发表于 08-10 10:28 94次 阅读
51单片机的keil配置方法

STC ISP单片机烧录软件下载程序不成功应该如何解决详细方法说明

本文档的主要内容详细介绍的是STC ISP单片机烧录软件下载程序不成功的多个解决详细方法说明资料免费....
发表于 08-09 17:17 81次 阅读
STC ISP单片机烧录软件下载程序不成功应该如何解决详细方法说明

你对于Java语言了解有多少

Java语言的语法与C语言和C++语别接特近,使得大多数程序员很容易学习和使用。
发表于 08-09 15:54 65次 阅读
你对于Java语言了解有多少

51系列中嵌入式单片机的优缺点分析

51系列是应用最广泛的单片机,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的....
发表于 08-08 11:14 139次 阅读
51系列中嵌入式单片机的优缺点分析

51单片机从入门到精通教程之单片机原理与接口技术的详细资料讲解

本篇共6章,主要介绍MCS-51系列单片机的基础知识,内容包括51系列单片机的发展概况、硬件结构、指....
发表于 08-08 08:00 181次 阅读
51单片机从入门到精通教程之单片机原理与接口技术的详细资料讲解

使用单片机进行智能寻迹小车的设计资料合集免费下载

本文档的主要内容详细介绍的是使用单片机进行智能寻迹小车的设计资料合集免费下载包括了:毕业设计论文,参....
发表于 08-08 08:00 106次 阅读
使用单片机进行智能寻迹小车的设计资料合集免费下载

TX-1C 51单片机开发板使用手册和使用ADC0804实现示波器的工程文件

本文档的主要内容详细介绍的是TX-1C 51单片机开发板使用手册和使用ADC0804实现LCD128....
发表于 08-08 08:00 96次 阅读
TX-1C 51单片机开发板使用手册和使用ADC0804实现示波器的工程文件

微机原理及接口技术的七个实验指导资料免费下载

本文档的主要内容详细介绍的是微机原理及接口技术的七个实验指导资料免费下载包括了:实验一 一个简单的微....
发表于 08-08 08:00 107次 阅读
微机原理及接口技术的七个实验指导资料免费下载

浅析单片机指令执行过程

单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。
的头像 贸泽电子设计圈 发表于 08-07 14:47 210次 阅读
浅析单片机指令执行过程

单片机中,P0上拉电阻的阻值的选取何讲究?

由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供....
的头像 贸泽电子设计圈 发表于 08-07 14:23 185次 阅读
单片机中,P0上拉电阻的阻值的选取何讲究?

RAM在单片机中用途是什么?

单片机就是个小计算机,大计算机少不了的数据存储系统,单片机一样有,而且往往和CPU集成在一起,更加显....
的头像 贸泽电子设计圈 发表于 08-07 14:10 194次 阅读
RAM在单片机中用途是什么?

NE555脉冲发生器的C语言程序和工程文件免费下载

本文档的主要内容详细介绍的是NE555脉冲发生器的C语言程序和工程文件免费下载 产生一定脉冲的方波。
发表于 08-07 08:00 64次 阅读
NE555脉冲发生器的C语言程序和工程文件免费下载