我们学习单片机的目的就是为了進行嵌入式系统的开发学好单片机首先要有一个整体认识,下面将简要介绍一下单片机应用系统的开发流程如图1-22所示。
图1-22 单片机系統开发流程
分析和了解项目的总体要求并综合考虑系统使用环境、可靠性要求、可维护性及产品的成本等因素,制定出可行的性能指标
(2)划分软、硬件功能
单片机系统由软件和硬件两部分组成。在应用系统中有些功能既可由硬件来实现,也可以用软件来完成硬件嘚使用可以提高系统的实时性和可靠性;使用软件实现,可以降低系统成本简化硬件结构。因此在总体考虑时必须综合分析以上因素,匼理地制定硬件和软件任务的比例
(3)确定希望使用的单片机及其他关键部件
根据硬件设计任务,选择能够满足系统需求并且性价比高嘚单片机及其他关键器件如A/D、D/A转换器、传感器、放大器等,这些器件需要满足系统精度、速度以及可靠性等方面的要求
根据总体设计偠求,以及选定的单片机及关键器件利用Protel等软件设计出应用系统的电路原理图。
在系统整体设计和硬件设计的基础上确定软件系统的程序结构并划分功能模块,然后进行各模块程序设计
单片机程序设计语言可分为三类:
? 机器语言 :又称为二进制目标代码,是CPU硬件唯┅能够直接识别的语言(在设计CPU时就已经确定其代码的含义)人们要计算机所执行的所有操作,最终都必须转换成为相应的机器语言由CPU識别、控制执行CPU系列不同,其机器语言代码的含义也不尽相同
? 汇编语言 :由于机器语言必须转换为二进制代码描述,不便于记忆、使用和直接编写程序为此产生了与机器语言相对应的汇编语言。用汇编语言编写的程序执行速度快占用存储单元少,效率高
? 计算機能识别高级语言吗 :计算机能识别高级语言吗具有很好的可读性,使程序的编写和操作都十分方便目前广泛使用的计算机能识别高级語言吗是C51。
汇编语言和计算机能识别高级语言吗都必须被翻译成机器语言之后才能被CPU识别
软件和硬件设计结束后,需要进行进行进入两鍺的整合调试阶段为避免浪费资源,在生成实际电路板之前可以利用Keil C51和Proteus软件进行系统仿真,出现问题可以及时修改
完成系统仿真后,利用Protel等绘图软件根据电路原理图绘制PCB(Printed Circuit Board)印刷电路板图,然后将PCB图交给相关厂商生产电路板拿到电路板后,为便于更换器件和修改電路可首先在电路板上焊接所需芯片插座,并利用编程器将程序写入单片机
接下来将单片机及其他芯片插到相应的芯片插座中,接通電源及其他输入、输出设备进行系统联调,直至调试成功
(8)测试修改、用户试用
经测试检验符合要求后,将系统交给用户试用对於出现的实际问题进行修改完善,系统开发完成
单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,大致分为三个阶段
第一阶段:掌握开发单片机的必备基础知识。
首先是熟练掌握单片机的基本原理虽然现在单片机厂商众多,但各家单片机的基本结構和原理都比较相近例如内核结构、内存分配、中断处理、定时计数、串行通信、端口复用等一些最基本的概念和原理。除此之外我們还需要学习模拟电子、数字电子、C语言程序开发以及原理图和PCB(Printed Circuit Board,印刷电路板)设计等知识只有扎实的掌握了这些知识,在进行系统開发的时候才能顺利地进行原理设计、PCB布板、程序编写、系统联调等工作。
第二阶段:在掌握好一款单片机原理和应用的基础上开始學习其他各家单片机,了解其独有的功能和特点
例如实际工作中若客户要求低成本,那我们可以选用和泰、义隆、华邦等这类台湾芯片;洳果客户要求工业级的性能那么最好从PIC、NEC、飞思卡尔、NXP等这些欧美和日式单片机中选择;若要进行功耗的开发,选用MSP430系列应该有一定优势;茬进行测量仪器设计的时候C8051和AduC842这类数模混合芯片又显得比较实用。
另外平时要注意技术积累。在项目开发过程中将一些常用的接口程序和控制算法整理成模块或者函数日后若在其他的项目开发中有同样或者接近的需求时,原程序可以直接或者进行少量改动后使用这樣一来会节约大量开发成本。
第三阶段:在实际的项目开发过程中不断深入研究单片机应用技术,不断积累应用行业的专业知识
有了紮实的单片机应用相关的基础知识,并且熟悉掌握了几款不同类型单片机的开发方法后对于各种实际的应用项目,往往还需要理解和掌握外围电路相关的原理和分析方法并结合实际的应用背景,综合考虑各种因素才能设计出性能最优、结构最合理的单片机应用系统。
聲明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载文章观点仅代表作者本人,不代表电子发烧友网立场文章及其配图僅供工程师学习之用,如有内容图片侵权或者其他问题请联系本站作侵删。