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

审核编辑 黄宇

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

    关注

    6074

    文章

    45341

    浏览量

    663643
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机的误区

    是:IIC、SPI、USART、单口通讯。 9.不重视项目学习,盲目学习知识 学习单片机的最终目的是做产品
    发表于 11-14 07:46

    第1章 如何学习单片机

      在错误的道路上日夜兼程,最终也无法成功,方法和思路绝对是最重要的。本章节讲到的学习单片机方法,都是作者学习
    的头像 发表于 10-10 10:32 238次阅读

    开发单片机需要学习什么?软件编程的 4 个关键层次

                        开发单片机需要学习什么?软件编程的 4 个关键层次 单片机的 “智能” 全靠软件实现,编程技能需从基础语法逐步进阶到复杂逻辑,每个层次对应不同的开发
    的头像 发表于 08-25 11:32 580次阅读

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要
    的头像 发表于 07-25 11:39 480次阅读

    单片机定制研发流程有哪些?选择专业团队是关键

    单片机定制研发是一项系统性工程,涉及需求分析、方案设计、软硬件开发、测试验证等多个环节,流程的规范性直接影响最终产品的稳定性和开发效率。对于
    的头像 发表于 07-23 17:58 453次阅读

    ARM入门学习方法分享

    。 以下是一些入门学习方法的分享: 一、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是一种精简指令集计算机(RISC
    发表于 07-23 10:21

    单片机开发流程包括什么?

    单片机开发是一个系统性的工程,从需求明确到最终产品落地,需要经历多个相互关联的流程环节,每个环节都对最终产品的性能和质量有着重要影响。 一、
    的头像 发表于 07-22 11:21 626次阅读

    单片机定制开发的设计思路

    单片机定制开发是根据特定场景和功能需求,量身打造符合要求的单片机应用方案,其设计过程需要兼顾技术可行性与实际应用价值,涉及多个关键环节。 一、需求分析阶段 单片机定制
    的头像 发表于 07-17 11:14 590次阅读
    <b class='flag-5'>单片机</b>定制<b class='flag-5'>开发</b>的设计思路

    KF32A136系列单片机产品介绍

    F32A136 系列单片机是基于 KF32 内核架构开发单片机
    的头像 发表于 06-27 11:42 1681次阅读
    KF32A136系列<b class='flag-5'>单片机</b><b class='flag-5'>产品</b>介绍

    KF32A156系列单片机产品介绍

    KF32A156 系列单片机是基于 KF32 内核架构开发单片机。KF
    的头像 发表于 06-26 14:43 1387次阅读
    KF32A156系列<b class='flag-5'>单片机</b><b class='flag-5'>产品</b>介绍

    第一章 W55MH32 高性能以太网单片机学习方法概述

    本章介绍W55MH32的学习方法,建议先了解硬件资源,按基础篇、入门篇循序渐进学习。参考两份手册,提供例程资料,还给出官网、github 等学习资料查找渠道。让我们一起踏上W55MH32高性能以太网
    的头像 发表于 05-26 09:07 547次阅读
    第一章 W55MH32 高性能以太网<b class='flag-5'>单片机</b>的<b class='flag-5'>学习方法</b>概述

    51单片机笔记(建议收藏!)

    简单汇总下51单片机的资源和学习方法 一页纸讲清单片机 也许有人问:有没有那么简单呀? 当然不会那么简单啦,首先你要把书读薄,然后再把书读后,最后把书放进自己脑子里,形成自己的一套思路。 理解
    发表于 05-21 17:24

    新概念51单片机C语言教程入门、提高、开发、拓展全攻略

    资料介绍 从实际应用入手,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇
    发表于 04-15 13:57

    传统机器学习方法和应用指导

    用于开发生物学数据的机器学习方法。尽管深度学习(一般指神经网络算法)是一个强大的工具,目前也非常流行,但它的应用领域仍然有限。与深度学习相比,传统
    的头像 发表于 12-30 09:16 1982次阅读
    传统机器<b class='flag-5'>学习方法</b>和应用指导

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU)调试是嵌入式开发中的一个重要环节,它帮助开发者发现和修复代码中的错误,优化程序性能。不同的单片机
    的头像 发表于 12-19 09:56 2172次阅读