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

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

3天内不再提示

梳理单片机学习方法、产品开发流程

jf_pJlTbmA9 来源:STM32嵌入式开发 作者:STM32嵌入式开发 2023-09-21 17:20 次阅读

我们学习单片机的目的,就是为了进行嵌入式产品的开发。要想学好单片机,首先就得对流程有一个整体了解。

本文,先简要介绍一下单片机应用系统的开发流程。

单片机系统开发流程

wKgZomUD9emAV8lZAAG90omF2Ks731.jpg

上图是单片机系统开发流程框图。

1、明确任务

分析和了解项目的总体要求,并综合考虑系统使用环境、可靠性要求、可维护性及产品的成本等因素,制定出可行的性能指标。

2、划分软、硬件功能

单片机系统由软件和硬件两部分组成。在应用系统中,有些功能既可由硬件来实现,也可以用软件来完成。硬件的使用可以提高系统的实时性和可靠性;使用软件实现,可以降低系统成本,简化硬件结构。因此在总体考虑时,必须综合分析以上因素,合理地制定硬件和软件任务的比例。

3、确定希望使用的单片机及其他关键部件

根据硬件设计任务,选择能够满足系统需求并且性价比高的单片机及其他关键器件,如A/D、D/A转换器传感器放大器等,这些器件需要满足系统精度、速度以及可靠性等方面的要求。

4、硬件设计

根据总体设计要求,以及选定的单片机及关键器件,利用Protel等软件设计出应用系统的电路原理图。

5、软件设计

在系统整体设计和硬件设计的基础上,确定软件系统的程序结构并划分功能模块,然后进行各模块程序设计。

单片机程序设计语言可分为三类:

机器语言 :又称为二进制目标代码,是CPU硬件唯一能够直接识别的语言(在设计CPU时就已经确定其代码的含义)。人们要计算机所执行的所有操作,最终都必须转换成为相应的机器语言由CPU识别、控制执行。CPU系列不同,其机器语言代码的含义也不尽相同。

汇编语言 :由于机器语言必须转换为二进制代码描述,不便于记忆、使用和直接编写程序,为此产生了与机器语言相对应的汇编语言。用汇编语言编写的程序执行速度快,占用存储单元少,效率高。

高级语言 :高级语言具有很好的可读性,使程序的编写和操作都十分方便,目前广泛使用的高级语言是C51。

机器语言 :又称为二进制目标代码,是CPU硬件唯一能够直接识别的语言(在设计CPU时就已经确定其代码的含义)。人们要计算机所执行的所有操作,最终都必须转换成为相应的机器语言由CPU识别、控制执行。CPU系列不同,其机器语言代码的含义也不尽相同。

汇编语言 :由于机器语言必须转换为二进制代码描述,不便于记忆、使用和直接编写程序,为此产生了与机器语言相对应的汇编语言。用汇编语言编写的程序执行速度快,占用存储单元少,效率高。

高级语言 :高级语言具有很好的可读性,使程序的编写和操作都十分方便,目前广泛使用的高级语言是C51。

汇编语言和高级语言都必须被翻译成机器语言之后才能被CPU识别。

6、仿真调试

软件和硬件设计结束后,需要进行进行进入两者的整合调试阶段。为避免浪费资源,在生成实际电路板之前,可以利用Keil C51和Proteus软件进行系统仿真,出现问题可以及时修改。

7、系统调试

完成系统仿真后,利用Protel等绘图软件,根据电路原理图绘制PCB(Printed Circuit Board)印刷电路板图,然后将PCB图交给相关厂商生产电路板。拿到电路板后,为便于更换器件和修改电路,可首先在电路板上焊接所需芯片插座,并利用编程器将程序写入单片机。

接下来,将单片机及其他芯片插到相应的芯片插座中,接通电源及其他输入、输出设备,进行系统联调,直至调试成功。

8、测试修改、用户试用

经测试检验符合要求后,将系统交给用户试用,对于出现的实际问题进行修改完善,系统开发完成。

单片机学习方法探讨

单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,大致分为三个阶段。

第一阶段:掌握开发单片机的必备基础知识

首先是熟练掌握单片机的基本原理,虽然现在单片机厂商众多,但各家单片机的基本结构和原理都比较相近,例如内核结构、内存分配、中断处理、定时计数、串行通信端口复用等一些最基本的概念和原理。

除此之外,我们还需要学习模拟电子数字电子C语言程序开发以及原理图和PCB(Printed Circuit Board,印刷电路板)设计等知识。只有扎实的掌握了这些知识,在进行系统开发的时候,才能顺利地进行原理设计、PCB布板、程序编写、系统联调等工作。相关文章:如何成为高级嵌入式硬件工程师

第二阶段:研究其他单片机功能、特点

在掌握好一款单片机原理和应用的基础上,开始学习其他各家单片机,了解其独有的功能和特点。

例如实际工作中若客户要求低成本,那我们可以选用和泰、义隆、华邦等这类台湾芯片;如果客户要求工业级的性能,那么最好从PIC、NEC、飞思卡尔、NXP等这些欧美和日式单片机中选择;若要进行功耗的开发,选用MSP430系列应该有一定优势;在进行测量仪器设计的时候,C8051和AduC842这类数模混合芯片又显得比较实用。

另外,平时要注意技术积累。在项目开发过程中将一些常用的接口程序和控制算法整理成模块或者函数,日后若在其他的项目开发中有同样或者接近的需求时,原程序可以直接或者进行少量改动后使用,这样一来会节约大量开发成本。

第三阶段:工作项目中积累经验

在实际的项目开发过程中,不断深入研究单片机应用技术,不断积累应用行业的专业知识。

有了扎实的单片机应用相关的基础知识,并且熟悉掌握了几款不同类型单片机的开发方法后,对于各种实际的应用项目,往往还需要理解和掌握外围电路相关的原理和分析方法,并结合实际的应用背景,综合考虑各种因素,才能设计出性能最优、结构最合理的单片机应用系统。

来源:STM32嵌入式开发
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

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

    关注

    6001

    文章

    43973

    浏览量

    620825
收藏 人收藏

    评论

    相关推荐

    单片机开发好学吗?学习中有哪些乐趣与挑战?

    单片机编程究竟是不是好学的问题。先来说一说单片机编程的挑战性,对于初学者而言,单片机编程可能具有一定的挑战性,因为它需要你具备以下几点能力;单片机
    的头像 发表于 03-28 08:04 117次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>开发</b>好学吗?<b class='flag-5'>学习</b>中有哪些乐趣与挑战?

    学习RISC-V单片机的感想

    系列的可供学习和选择。RISC-V的,可供选择的比较少,不知道国内企业使用RISC-V单片机开发产品的多不多。 从自己在RISC-V的开发上,感觉和其它
    发表于 02-17 21:00

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

    学习 单片机开发技术的基础是电子电路原理和C语言编程。我们需要通过学习相关的教材和课程,加强对电子电路原理和C语言编程的掌握。只有扎实的基础知识,才能更好地进行
    发表于 01-05 10:14

    请问初学者要怎么快速掌握FPGA的学习方法?

    对于初学者 FPGA的编程语言是什么? FPGA芯片的基础结构也不了解. FPGA开发工具的名称和使用方法都不知道. 要学的很多啊,请问有什么自学的学习方法么?
    发表于 01-02 23:01

    单片机Keil开发环境的搭建

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

    100天如何备赛蓝桥杯单片机

    流程,熟悉单片机程序的编写和调试方法。这些基础知识可以通过查阅相关教材、网上资料或者参加相关的课程来学习。硬件设计在单片机比赛中,硬件设计也
    的头像 发表于 10-24 09:35 860次阅读
    100天如何备赛蓝桥杯<b class='flag-5'>单片机</b>

    怎么学习单片机编程?

    怎么学习单片机编程
    发表于 10-20 08:21

    stm32学习方法及资料

    1、 一共 24 个库,不可能都学,都学也没用。按照我的工作需求必须学的有 16 个,这 16 个也不是全学。主要学习来源是各种例程代码、“固件函数库用户手册”和“参考手册”。具体学习方法是通读
    发表于 10-13 06:30

    如何学习单片机步骤的知识梳理

    单片机学习实践 单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是非常重要的。
    发表于 10-07 09:55 391次阅读

    《电子工程师必备——九大系统电路识图宝典》+附录5学习方法

    刚刚接触电子技术的新手朋友来说,找到适合自己的学习方法更是至关重要。希望通过本文的分享,你能在探索电子技术的旅程中取得更多的成功和成就。 谢谢! 本人帖子: 米尔-STM32MP135开发板试用2-
    发表于 10-06 23:25

    STM32的学习方法

    STM32学习方法
    发表于 09-28 06:18

    单片机有前途吗?

    ,不存在优差之分。学单片机应该先学51单片机,学会了51单片机再去学其他单片机,这是学习单片机
    发表于 09-06 10:59

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

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

    联合学习在传统机器学习方法中的应用

    联合学习在传统机器学习方法中的应用
    的头像 发表于 07-05 16:30 540次阅读
    联合<b class='flag-5'>学习</b>在传统机器<b class='flag-5'>学习方法</b>中的应用

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

    单片机开发流程是一个有序的过程,通常包括以下几个关键步骤。请注意,下面的描述是一个一般化的单片机开发
    的头像 发表于 05-19 13:46 1223次阅读