0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机开发的7个规则

fcsde-sh 来源:张飞实战电子 作者:张飞实战电子 2020-11-11 10:20 次阅读

01 设计满足要求的最精简的系统

正确估计单片机的能力,知道单片机能做什么,最大程度的挖掘单片机的潜力对一个单片机系统设计者来说是至关重要的。我们应该有这样一个认识,即单片机的处理能力是非常强大的。

早期的PC机,其CPU(8086)处理能力和8051相当,却能处理相当复杂的任务。单片机的能力的关键就在软件设计者编写的软件上。只有充分地了解到单片机的能力,才不会做出“冗余”的系统设计。而采用许多的外围芯片来实现单片机能实现的功能。这样做,即增加了系统成本,也可能会降低了系统的可靠性。

02 使用看门狗

看门狗电路通常是一块在有规律的时间间隔中进行更新的硬件。更新一般由单片机来完成,如果在一定间隔内没能更新看门狗,那看门狗将产生复位信号,重新复位单片机。更新看门狗的具体形式多是给看门狗芯片相关引脚提供一个电平上升沿或读写它的某个寄存器。使用看门狗电路将在单片机发生故障进行死机状态时,重新复位单片机。

当前有多种看门狗的芯片,如MAXIM 公司的MAX802,MAX813等。而且,有好多种单片机中本身就集成有看门狗。一个外部的看门狗是最好的,因为它不依赖于单片机。如果可能的话,看门狗更新程序不应该放在中断或是子程序中,原则上应该放在主程序中。

我曾经见过一个工程师,他所调试的程序在运行时偶而会引起看门狗的复位动作,于是他干脆在每10ms就中断一次的时钟中断程序中清看门狗。我相信他也知道使看门狗失去作用,可他却没有不是去查明引起这个现象的真正原因。因此,我想提醒大家:不论什么理由,绝对不要忽略系统故障的真正原因。高质量的产品来自于高素质的工程师,高质量的产品造就高素质的工程师。

03 确定系统的复位信号可靠

这是一个很容易忽略的问题。当你在设计单片机系统时,你脑中有这个概念吗?什么样的复位信号才是可靠的吗?你用示波器查看过你设计的产品的复位信号吗?不稳定的复位信号可能会产生什么样的后果?你有没有发现过你所设计的单片机系统,每次重新上电启动后,数据变得乱七八糟,并且每一次现象并不相同,找不出规律,或者有时候干脆不运行,或者有时候进入一种死机状态,有时候又一点事都没有正常运行?在这种情况下,你应该查一下你的系统的复位信号。

一般在单片机的数据手册(Datasheet)中都会提到该单片机需要的复位信号的要求。一般复位信号的宽度应为。复位电平的宽度和幅度都应满足芯片的要求,并且要求保持稳定。还有特别重要的一点就是复位电平应与电源上电在同一时刻发生,即芯片一上电,复位信号就已产生。不然,由于没有经过复位,单片机中的寄存器的值为随机值,上电时就会按PC寄存器中的随机内容开始运行程序,这样很容易进行误操作或进入死机状态。

04 确定系统的初始化有效

系统程序开始应延时一段时间。这是很多单片机程序设计中的常用方法,为什么呢?因为系统中的芯片以及器件从上电开始到正常工作的状态往往有一段时间,程序开始时延时一段时间,是让系统中所有器件到达正常工作状态。究竟延时多少才算合适?这取决于系统的各芯片中到达正常工作状态的时间,通常以最慢的为准。

一般来说,延时20-100毫秒已经足够。对于系统中使用嵌入式MODEM等“慢热”型的器件来说,则应更长。当然,这都需要在系统实际运行中进行调整。

05 上电时对系统进行检测

上电时对系统中进行检测是单片机程序中的一个良好设计。在硬件设计时也应该细细考虑将各个使用到的芯片、接口设计成容易使用软件进行测试的模式。很多有经验的单片机设计者都会在系统上电时(特别是第一次上电时)进行全面的检测,或者更进一步,将系统的运行状态中分为测试模式和正常运行模式,通过加入测试模式对系统进行详细的检测,使得系统的批量检测更为方便容易。另外要注意的是,一个简单明了的故障显示界面也是颇要费得心思的。

比如:系统的外部RAM(数据存储器)是单片机系统中常用的器件。外部RAM如果存在问题,程序通常都会成为一匹脱缰的野马。因此,程序在启动时(至少在第一次上电启动时)一定要对外部RAM进行检测。

检测内容包括:

1)检测RAM 中的单元。这主要通过写入和读出的数据保持一致。

2)检测单片机与RAM 之间的地址数据总线。总线即没有互相短路,也没有连接到“地”上。

另外,很多芯片,都提供了测试的方法。如串行通信芯片UART,都带环路测试的功能。

06 按EMC测试要求设计硬件

EMC 测试要求已经成为产品的必需。

07 尽可能使用Small 模式编译

对比起Large模式和Compact 模式,Small 模式能生成更为紧凑的代码。在Small 模式下,C51 编译器将没有使用关键词,如idata、pdata、xdata特殊声明的变量通通放在data单元中。在编程中,对于在的数据区,可以指定放在外部存储器中。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47775

    浏览量

    409076
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620803
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10438

    浏览量

    206530

原文标题:掌握了这7个规则,单片机开发连大神都跪了!

文章出处:【微信号:fcsde-sh,微信公众号:fcsde-sh】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【英锐恩科技知芯社】-单片机开发必备的工具有哪些?#单片机

    单片机开发
    英锐恩科技
    发布于 :2024年04月11日 16:32:45

    求助,英飞凌单片机程序开发和STM32程序开发之间有多少差异?

    英飞凌单片机程序开发和STM32程序开发之间有多少差异?英飞凌单片机有没有类似库函数的东西?
    发表于 02-05 07:14

    如何提升单片机开发技术?

    单片机开发是现代电子技术中的重要分支,其在各个领域都有着广泛的应用。单片机开发技术的提升不仅可以提高工作效率,还可以提高工作质量和创新能力。那么,如何提升
    发表于 01-05 10:14

    stm32和51单片机的区别

    OTPROM。闪存具有更大的存储容量和更高的读写速度。 接口 STM32单片机具有更多的外设接口,包括USB、CAN和以太网等。而51单片机的接口较少,只能支持一些基本的外设。 开发环境 STM32
    发表于 11-20 13:18

    单片机Keil开发环境的搭建

    欢迎大家来到C语言单片机编程课堂。前面一课我们了解了单片机编程与嵌入式开发内容,这节课我们来学习单片机开发环境Keil,并使用keil完成
    的头像 发表于 11-01 09:17 843次阅读
    <b class='flag-5'>单片机</b>Keil<b class='flag-5'>开发</b>环境的搭建

    STM8系列单片机开发与应用

    公司推出的STM8系列单片机即是典型代表之一。本文首先把STM8系列单片机做一简要介绍,并与传统的Intel 80C51系列单片机进行对比,然后介绍其调试原理与开发工具,最后就其
    发表于 10-10 06:36

    7基于STM32单片机的精彩设计实例

    7基于STM32单片机的精彩设计实例-附原理图、代码等相关资料
    发表于 09-22 07:03

    40经典单片机实验分享

    精选40单片机课题项目,分别给出电路和程序,程序都用汇编和C语言进行了编写,想学好单片机,必看!!
    发表于 09-21 06:17

    华大单片机命名规则

    华大单片机命名规则
    的头像 发表于 09-18 10:59 599次阅读

    单片机有哪些分类?

    单片机有哪些分类? 1.AVR单片机-----速度快,一时钟周期执行一条指令,而普通的51单片机需要12时钟周期执行一条指令。当然,A
    发表于 09-07 14:54

    51单片机开发环境搭建方法

    上至航天,下至儿童玩具,凡事沾一点智能的东西,都离不开单片机的身影......,本文开始,我们学习单片机的相关知识,我们采用的是由普中科技开发的A7开发板,该
    发表于 07-15 15:22 1250次阅读
    51<b class='flag-5'>单片机</b><b class='flag-5'>开发</b>环境搭建方法

    单片机方案开发的基本步骤

    单片机方案开发是指利用单片机进行电子产品设计与开发的过程。在这个过程中,设计人员需要从需求出发,通过选择合适的单片机型号,设计符合要求的硬件
    的头像 发表于 07-05 14:39 3623次阅读

    求助,求推荐一简单的小小的开发传统51单片机的组合

    推荐一简单的小小的开发传统51单片机的组合
    发表于 06-27 08:18

    单片机开发

    单片机
    YS YYDS
    发布于 :2023年06月25日 21:52:40

    单片机方案开发流程,基于单片机开发项目

    单片机开发流程是一个有序的过程,通常包括以下几个关键步骤。请注意,下面的描述是一个一般化的单片机开发流程,并且在实际应用中可能会有一些差异。
    的头像 发表于 05-19 13:46 1216次阅读