单片机开发流程,你知道几个?
哈喽,我是华维麦琪,今天我整合了一些单片机开发流程的知识,让大家对产品开发有个初步的认识!
我们学习单片机的目的就是为了进行嵌入式系统的开发,学好单片机首先要有一个整体认识,下面将简要介绍一下单片机应用系统的开发流程!
一.明确任务
分析和了解项目的总体要求,并综合考虑系统使用环境、可靠性要求、可维护性及产品的成本等因素,制定出可行的性能指标。
二.划分软、硬件功能
单片机系统由软件和硬件两部分组成。在应用系统中,有些功能既可由硬件来实现,也可以用软件来完成。硬件的使用可以提高系统的实时性和可靠性;使用软件实现,可以降低系统成本,简化硬件结构。因此在总体考虑时,必须综合分析以上因素,合理地制定硬件和软件任务的比例。
三.确定希望使用的单片机及其他关键部件
根据硬件设计任务,选择能够满足系统需求并且性价比高的单片机及其他关键器件,如A/D、D/A转换器、传感器、放大器等,这些器件需要满足系统精度、速度以及可靠性等方面的要求。
四.硬件设计
根据总体设计要求,以及选定的单片机及关键器件,利用Protel等软件设计出应用系统的电路原理图。
五.软件设计
在系统整体设计和硬件设计的基础上,确定软件系统的程序结构并划分功能模块,然后进行各模块程序设计。
单片机程序设计语言可分为三类:
➢机器语言:又称为二进制目标代码,是CPU硬件唯一能够直接识别的语言(在设计CPU时就已经确定其代码的含义)。人们要计算机所执行的所有操作,最终都必须转换成为相应的机器语言由CPU识别、控制执行。CPU系列不同,其机器语言代码的含义也不尽相同。
➢汇编语言:由于机器语言必须转换为二进制代码描述,不便于记忆、使用和直接编写程序,为此产生了与机器语言相对应的汇编语言。用汇编语言编写的程序执行速度快,占用存储单元少,效率高。
➢高级语言:高级语言具有很好的可读性,使程序的编写和操作都十分方便,目前广泛使用的高级语言是C51。
注意:汇编语言和高级语言都必须被翻译成机器语言之后才能被CPU识别。
六.仿真调试
软件和硬件设计结束后,需要进行进行进入两者的整合调试阶段。为避免浪费资源,在生成实际电路板之前,可以利用Keil C51和Proteus软件进行系统仿真,出现问题可以及时修改。
七.系统调试
完成系统仿真后,利用Protel等绘图软件,根据电路原理图绘制PCB(Printed Circuit Board),即印刷电路板图,然后将PCB图交给相关厂商生产电路板。拿到电路板后,为便于更换器件和修改电路,可首先在电路板上焊接所需芯片插座,并利用编程器将程序写入单片机。然后将单片机及其他芯片插到相应的芯片插座中,接通电源及其他输入、输出设备,进行系统联调,直至调试成功。
八.测试修改、用户试用
经测试检验符合要求后,将系统交给用户试用,对于出现的实际问题进行修改完善,系统开发完成。
如何入门单片机开发?
前言
作为一个嵌入式老司机,多年来跟单片机、Keil、C语言、AD、烙铁、风枪、示波器、电子元器件纠缠不清。期间经历了不少磨练,熬过了很多夜晚,也掉了大把头发。
当初熬夜点亮了一个LED,像这样一个个小小成就感让我砥砺前行。
刚开始并不看好这个行业,事儿多工资少,需要不停地学习新知识。前几年熬夜焊板子,一边工作一边咒骂。
多年后,庆幸有这一技之长,让我能吃饱饭、开上车,有个家庭。
刚毕业就转行
当初是自学转行的,学的电梯专业,临近毕业20岁出头,精力旺盛没地方使,一块51开发板配一个视频教程,除了吃饭上厕所,寸步不离房间。
入门的时候,我和很多新手一样,不懂电路,不懂编程,不懂单片机,对单片机开发的任何一个环节都充满了问题。
好在学习能力还行,也有耐心,跟着视频一步一个脚印,看一个章节我就在开发板上试验一下。
很快我就能从点灯到做一个电子时钟了,其实单片机编程比纯软件要简单很多,代码量也少很多,所以还挺好学的,只要你的学习路径正确。干这行如果没有兴趣加持,还是挺难受的。
个人定位,从事软件还是硬件?
一般实际工作开发一款产品的时候,绝对不可能一个人从头到尾把产品做了。一般有的人负责硬件部分、有的人负责软件部分,这也是单片机开发的两大方向。
入行单片机开发,技能要有所倾向,将来要做硬件工程师还是软件工程师?
为什么要有软硬件之分呢?实际上大厂都是分工精细的,这样使工作内容流程化、简单化,提高工作效率,开发流程。另外也提高了公司业务的稳定性,即使有人突然离职也不会造成太大影响。
有些产品光程序这块就够你折腾一个月了,如果你又做外壳设计,又做硬件设计,又做软件。等产品出来的时候,客户可能都不在了。
所以,一个产品,最低配也是一个硬件工程师和一个软件工程师。
一个全能的人,除非在行业深耕很多年,不然很难所有东西都学精,所以大多数都是只懂皮毛,能把东西做出来,但很难优化到专业的水平。
看完上面你是否已经知道,不管你想从事任何行业,首先定位是非常重要的。
在定位之前你必须要去了解这个行业的现状,有哪些职位?
那单片机开发的职业定位有硬件工程师和单片机软件工程师。
凡是我的徒弟,我都会建议他们从单片机软件开始,性价比最高!大家去招聘平台搜一下工资待遇就知道了。
当然硬件做好了,收入分分钟秒杀软件,但硬件做好还是很难的,至少不是你看视频和看书能做好的,而是要遭受无数实际产品的毒打。
而且现在电路集成化都很高了,新手从事硬件很难接触到核心的技术。
还不如先从软件开始,工资也高,反正做单片机开发,即便你做软件,也是天天在调硬件,调多了,你也就懂了。
搞硬件就不一样了,一般很难接触到程序上的东西,即便接触构不成体系。
学习内容
有了清晰的定位以后,我们接下来就要根据这个定位去制定我们系统的学习路径。制定学习路径的目的有2个:
避免走弯路
规划好时间,鞭策你执行
结合我的经验直接给大家总结从事单片机开发最重要的几个关键字:
C51单片机/STM32单片机
C语言
能看懂原理图
基本焊接能力
下面说一下为什么很多人在开发板上把每个外设例程都学完了,但是还是感觉自己啥都不会?
你缺乏的是一定的产品思维,就是实现一个功能的思路。要解决这个问题就是做项目,没有别的捷径。
老话说行百里者半九十,单片机外设、C语言、电路原理、焊接能力,实际上这些只是为上手项目做铺垫。
单片机外设的学习相对简单,买一个开发板,把每个外设的例程跑几遍之后心里就有个大致了解。把单片机的每个外设的实际应用场景你都亲手写一遍,下次你再碰到同样的功能需求时就知道怎么去解决了。
声明: 本文转载自网络,如涉及作品内容、版权和其它问题,请于联系工作人员,我们将在第一时间和您对接删除处理!
相关问答
单片机 编程的基本步骤?基本步骤如下:1.确定程序的格式和数据类型:首先需要确定程序中的数据类型,如数字、字符、布尔值等。2.定义程序的地址和寄存器:在程序中定义一个地址和一...
单片机 是怎样编程的?单片机编程是将计算机指令转换为可执行的二进制代码,并将其储存在单片机中,以便控制硬件执行任务。编程的过程包括选择编程语言、编写代码、编译代码以生成可...
如何理解单片机? 单片机开发 是一个什么概念?1、单片机就是指那一片含有CPU的芯片。2、由单片机再加上一些外围电路比如D/A、A/D或内存或程序扩展,叫单片机系统。3、单片机开发就是指采用单片机(包括硬...
单片机 是用什么编程的?1.什么事单片机编程:就是硬件是单片机,基于单片机进行的程序开发,在有周围外设支持的情况下,用软件来控制的部分就是能过单片机编程来实现。单片机能识别的...
单片机 原理及应用怎么学?学习单片机原理及应用可以从以下几个方面入手:首先,了解单片机的基本原理,包括内部结构、指令集、寄存器等。其次,学习单片机的编程语言,如C语言或汇编语...
怎样自制 单片机 ?要自制单片机,需要完成以下几个步骤:确定设计方案:根据单片机的功能需求,选择合适的芯片型号和开发板。准备工具和材料:需要准备的工具包括焊台、万用表、示...
单片机 怎么入门?1、首先要了解单片机的基本概念,掌握单片机的结构、功能和特点;2、学习单片机的编程语言,比如C语言、Assembly语言等;3、学习单片机的硬件知识,比如外设的...
如何做才能精通 单片机 ?1、熟悉单片机的原理,结构;2、学好数电,模电,为设计电路打好基础;3、熟练使用C语言,多学习别人的程序;4、对操作系统原理有一定的了解;5...现在要学习的...
单片机开发 需要哪些工具?db,还有就是eclipse,vsstudio的插...windows下的话,主要就是keil了,有的用iar。还有一些小众的,有用eclipse的插件的,有vsstudio插件的。linux...
单片机开发 背景?1单片机技术自发展以来已走过了近20年的发展路程。小到遥控电子玩具,大到航空航天技术等电子行业都有单片机应用的影子。针对单片机技术在电子行业自动化方...