[信息与通信]第1、3章第一讲单片机应用概述与开发步骤.ppt
1,单片机应用概述与开发步骤,2,为什么要学习单片机技术?,答:因为单片机应用广泛。,3,单片机应用领域,单片机应用智能控制,4,单片机的应用领域,单片机应用智能控制,5,1.单片机的应用领域,单片机应用军事技术,6,1.单片机的应用领域,单片机应用消费电子产品,7,1.单片机的应用领域,单片机应用工业控制,8,本讲主要内容,1.电子计算机的发展概述,2.单片机的发展过程及产品近况,3.单片机的特点,4.单片机应用系统开发简介,小结,9,1.电子计算机发展概述,世界上第一台计算机1946年2月15日,第一台计算机ENIAC问世,这标志着计算机时代的到来ENIAC是电子管计算机,时钟频率仅有100 KHz,但能在1秒钟的时间内完成5000次加法运算与现代的计算机相比,有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响ENIAC的出现满足了人们计算的需要,但它的体积实在太大了!,10,1.电子计算机发展概述,计算机的冯诺依曼结构1946年6月,匈牙利籍数学家冯诺依曼提出了“程序存储”和“二进制运算”的思想,进一步构建了计算机由运算器、控制器、存储器、输入设备和输出设备组成这一计算机的经典结构,11,1.电子计算机发展概述,计算机发展的两个主要方向,要是计算机能放进我的口袋里多好啊!,计算机能比现在的运算速度快10000倍吗?,12,2.单片机及其展过程,单片机是什么?单片机是单片微型计算机的简称,它是在一块半导体芯片上,集成了CPU、半导体存储器、I/O(Input/Output)接口、中断系统和定时器等计算机必备部件,所构成的一个完整的数字电子计算机。,13,2.单片机及其展过程,单片机的发展过程原始阶段1971年1月,INTEL公司的特德霍夫在与日本商业通讯公司合作研制台式计算器时,将原始方案的十几个芯片压缩成三个集成电路芯片。其中的两个芯片分别用于存储程序和数据,另一芯片集成了运算器和控制器及一些寄存器,称为微处理器(即Intel 4004)。,14,2.单片机及其展过程,单片机的发展过程发展阶段1976年Intel公司推出了8位的MCS-48系列的单片机,以其体积小、重量轻、控制功能齐全和低价格的特点,得到了广泛的应用,为单片机的发展奠定了坚实的基础。80年代初,Intel公司推出了8位的MCS-51系列的单片机,随着单片机的应用的急剧增加,其它的单片机也随之大量涌现如:Motorola的68系列,Zilog的Z8系列等,从而掀开了单片机应用的历史新篇章,15,2.单片机及其展过程,单片机现状单片机经过约30年的发展,已经形成有几千种型号上百种品牌的半导体产业,对电子信息技术、工业控制技术、军事技术的发展起到巨大的推动作用。目前主流的单片机:51内核的系列单片机Microchip公司的PIC系列单片机Motorola公司的68系列Texas Instrument公司的MSP16bit系列单片机ARM内核的32bit系列单片机,16,3.单片机的特点,单片机的特点体积小巧重量轻 可靠性高控制能力强价格低开发方便简单,易于产品化,17,4.单片机应用系统开发简介,单片机应用系统是以单片机为核心构成的智能化产品。为了实现产品的智能化处理与智能化控制,还要嵌入相应的控制程序,称之为单片机应用软件。嵌入了应用软件的单片机系统称为单片机应用系统。单片机是单片机系统中的一个器件,单片机系统是构成某一单片机应用系统的全部硬件电路,单片机应用系统是单片机系统和应用软件相结合的产物。,18,4.1单片机应用系统的研制步骤和方法,4.2单片机应用系统开发的软硬件环境,4.4Keil C51高级语言集成开发环境,4.5基于Proteus的单片机系统仿真,4.单片机应用系统开发简介,4.3Proteus开发环境,19,4.1单片机应用系统的研制步骤和方法,单片机应用系统的研制流程如图所示:,20,确立功能特性指标单片机的选型软件的编写和支持工具,(1)总体设计,需考虑其功能是否全部满足规定的要求,最好使用现有的开发工具或增加少量的辅助器材就可达到目的。,21,(2)硬件系统,根据总体设计中确立的功能特性要求,确定单片机的型号、所需外围扩展芯片、存储器、I/O电路、驱动电路,可能还有A/D和D/A转换电路以及其它模拟电路,设计出应用系统的电路原理图。,22,硬件设计,硬件电路做成目标板运用PROTEUS、PROTEL等软件,23,硬件设计,24,(3)软件系统,系统资源分配程序结构数学模型程序流程编制程序,25,软件设计,程序设计通常是C语言或者汇编语言,在特定的集成开发环境(IDE)中编程调试,比如应用最广泛的KEIL uVision3,26,联调,27,PCB,28,焊电路板,29,程序下载使用并行编程器,30,1-4.单片机应用系统开发简介,程序下载使用并行编程器,编程器驱动软件,单片机或单独存储器,并行编程器,31,调试仿真,目标系统,通信数据线,开发软件,32,4.2单片机应用系统开发的软硬件环境,一个典型的单片机系统开发环境组成如图所示。,单片机系统开发环境组成,33,1-4.单片机应用系统开发简介,调试硬件仿真器,硬件仿真器,目标系统,开发软件,34,1-4.单片机应用系统开发简介,调试仿真,目标系统,通信数据线,开发软件,35,1-4.单片机应用系统开发简介,程序下载使用并行编程器,编程器驱动软件,单片机或单独存储器,并行编程器,36,1-4.单片机应用系统开发简介,程序下载使用ISP(In System Program在系统编程),ISP软件,下载线,目标系统,37,(1)单片机应用系统开发工具选择原则,全地址空间的仿真。不占用任何用户目标系统的资源。必须实现硬断点,并且具有灵活的断点管理功能。硬件实现单步执行功能。可跟踪用户程序执行。可观察用户程序执行过程中的变量和表达式。可中止用户程序的运行或用户程序复位。系统硬件电路的诊断与检查。支持汇编和高级语言源程序级调试。,38,(2)使用JTAG界面单片机仿真开发环境,39,在线编程目前有两种实现方法:在系统编程(ISP)在应用编程(IAP)。,(3)单片机的在线编程,40,4.3 基于Proteus的单片机系统仿真,英国Labcenter Electronics公司推出的Proteus套件,可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232 终端等动态外设模型来对设计进行交互仿真。目前在单片机的教学过程中,已越来越受到重视,并被提倡应用于单片机数字实验室的构建之中。Proteus支持的微处理芯片(Microprocessors Ics)包括8051系列、AVR系列、PIC系列、HC11系列、ARM7/LPC2000系列以及Z80等。,41,示例程序中定义一个加法计数器字节型变量ucTimer,每次加1后送到P2口显示,并使用打印printf函数输出相应指示信息,整个程序只包含一个源文件McuTimer.c,这个小型的应用程序帮助读者确定Keil Vision3可以编译、链接和调试一个应用程序。,下面通过创建项目实例介绍一个简单的软件开发流程,42,(1)Proteus 7 Professional界面介绍,安装完 Proteus后,运行ISIS 7 Professional,会出现如图的窗口界面。,43,窗口内各部分的功能用中文作了标注。ISIS大部分操作与windows的操作类似。,1.原理图编辑窗口(The Editing Window)顾名思义,它是用来绘制原理图的。蓝色方框内为可编辑区,元件要放到它里面。与其它Windows应用软件不同,这个窗口是没有滚动条的,可以用左上角的预览窗口来改变原理图的可视范围,用鼠标滚轮缩放视图。,44,2.预览窗口(The Overview Window)它可以显示两个内容。一个是:在元件列表中选择一个元件时,它会显示该元件的预览图;另一个是:当鼠标焦点落在原理图编辑窗口时(即放置元件到原理图编辑窗口后或在原理图编辑窗口中点击鼠标后),它会显示整张原理图的缩略图,并会显示一个绿色的方框,绿色方框里面的内容就是当前原理图窗口中显示的内容,因此你可用鼠标在它上面点击来改变绿色方框的位置,从而改变原理图的可视范围。,45,3.模型选择元件栏(Mode Selector Toolbar),4.元件列表区(The Object Selector),5.方向工具栏(Orientation Toolbar),6.仿真工具栏,3、4、5、6操作命令类似于windows操作,详细见主教材(64-65页)。,46,(2)绘制电路原理图,1.将所需元器件加入到对象选择器窗口,47,(2).放置元器件至图形编辑窗口,48,(3).放置总线至图形编辑窗口,49,(4).添加电源和接地引脚,50,(5).元器件之间的连线Wiring Up Components on the Schematic,51,(6).给导线或总线加标签,52,(7).添加电压探针,53,(8).添加文字标注,54,(9).添加虚拟仪器,55,(10).选择AT89C52属性并加载程序文件,56,从“文件”下拉菜单选择“保存”项,出现如图对话框,提示输入文件名,图中设文件名为80C51VSM.DSN,点“保存”按钮。,57,单击仿真运行开始按钮,进入调试运行窗口,58,虚拟终端窗口,59,4.4 Keil C51高级语言集成开发环境Vision3 IDE,Keil C51软件是目前最流行开发80C51系列单片机的软件工具。Keil C51提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision3 IDE)将这些部份组合在一起。,60,集成开发环境,C51 编译器和A51汇编器,LIB51库管理器,BL51链接器/定位器,Vision3 软件调试器,Vision3 IDE硬件调试器,RTX51 实时操作系统,(1)Vision3 IDE主要特性如下:,61,(2)Vision3 IDE集成开发环境,Vision3 IDE界面,62,(3)Vision3 IDE的使用,Vision3 IDE包括一个项目管理器,它可以使 8x51 应用系统的设计变得简单。要创建一个应用,需要按下列步骤进行操作:,启动Vision3 IDE,新建一个项目文件并从器件库中选择一个CPU器件。新建一个源文件并把它加入到项目中。增加并设置选择的器件的启动代码。针对目标硬件设置工具选项。编译项目并生成可以编程ROM的HEX文件。,63,示例程序中定义一个加法计数器字节型变量ucTimer,每次加1后送到P2口显示,并使用打印printf函数输出相应指示信息,整个程序只包含一个源文件McuTimer.c,这个小型的应用程序帮助读者确定Keil Vision3可以编译、链接和调试一个应用程序。,下面通过创建项目实例介绍一个简单的软件开发流程,64,设项目名MyProject,采用标准的AT89C52芯片,程序使用的硬件资源是AT89C52片内的并行I/O口P2和串行口,不需要一个实际的单片机系统,因为Vision3 IDE可以模拟程序所需要的硬件并行I/O口和串行口。,65,(1)选择【Project】/【New Project】选项,如图(a)所示。(2)在弹出的“Create New Project”对话框中选择要保存项目文件的路径,比如保存到McuPort目录里,在“文件名”文本框中输入项目名为MyProject,如图(b)所示,然后单击“保存”按钮。,图3.6(a)Project 菜单(b)Create New Project 对话框,66,这时会弹出一个对话框,要求选择单片机的型号。以常用的 AT89C52为例来说明,先选择ATMEL公司,再选择AT89C52 之后,,67,然后单击“确定”按钮,弹出将8051初始化代码拷贝到项目中的询问窗口,如图3.8所示。单击“Y”按钮。,68,新建项目后Vision3 界面图,69,新建一个源程序文件。建立一个汇编或 C 文件,如果已经有源程序文件,可以忽略这一步。选择【File】/【New】选项,在弹出的程序文本框中输入一个简单的程序,如图3.12所示,具体内容见主教材第60页。,70,(6)选择【File】/【Save As】选项,或者单击工具栏按钮,保存文件。,71,(7)然后要将McuTimer.c文件加入到项目中,鼠标右键点左边项目窗口中“Source Group 1”在弹出的菜单中选择“Add Files to GroupSource Group 1”,选择刚才的建立的文件 McuTimer.c。,72,(8)这时在Source Group 1里就有 McuTimer.c 文件和事先建立项目时已经加入的文件STARTUP.A51,73,(9)至(10)是编译环境设置,具体内容详见主教材55-59页。,74,(11)编译连接程序,选择【Project】/【Rebuild all target files】选项,如图所示。,75,如果没有错误,则编译连接成功,开发环境右下角信息框会显示编译连接成功的信息,如图所示。,76,(12)编译完毕之后,选择【Debug】/【Start/Stop Debug Session】选项,即就进入Debug调试环境,如图所示。,77,(13)装载代码之后,开发环境Output Window(在左下角)显示如图所示的装载成功信息。,78,(14)示例程序中定义一个加法计数器字节型变量ucTimer,每次加1后送到P2口显示,并使用打印printf函数输出相应指示信息,整个程序只包含一个源文件McuTimer.c。,选择【View】/【Serial Window#1】选项,如图所示。,源文件McuTimer.c见主教材60页。,79,选择【Peripherals】/【I/O-Ports】/【Port 2】选项,如图所示。,80,按“F5”键启动程序,在串口窗口Serial#1可看到printf的输出信息和P2端口数据的变化情况,如图所示。串口窗口默认字符显示模式“Ascii Mode”,在窗口中点鼠标右键,在弹出的窗口单击右键可修改显示模式为“Hex Mode”。,81,(3)Proteus VSM与Vision3的联调,Proteus VSM支持第三方集成开发环境IDE,目前支持的第三方80C51IDE有:IAR Embedded Workbench、Keil Vision3 IDE。本文以Keil Vision3 IDE为例介绍Proteus VSM与Vision3 IDE的联调。,82,对于proteus 6.9或更高的版本,在安装盘里有vdmagdi插件或到LABCENTER公司下载该插件,安装该插件后即可实现与Keil Vision3 IDE的联调。下面的叙述是假定我们已经分别安装了如下软件:(1)Proteus 7 Professional(2)Keil Vision3 IDE(3)vdmagdi.exe,83,(1).Proteus VSM的设置,选中“use romote debuger monitor”,,84,(2).Vision3 IDE设置,设置option for target/Debug选项,85,设置option for ta rget/Output选项,86,4.5 Proteus VSM与Vision3的联调,在Vision3环境下,首先按“F7”产生该项目的HEX文件,然后进入Vision3 调试模式,为了在Proteus VSM环境下能观察到程序连续运行情况,取消目前项目中所有断点。按“F5”按钮进入全速运行。可以看到完全一致的运行画面。此时Proteus VSM的运行完全依赖于外部调试器Vision3。,87,我们利用图接在U1AT89C52单片机P1.0和P1.3的元件单刀双掷开关“SW-SPDT”和P1.6的元件按钮“BUTTON”说明如何仿真AT89C52片外的外围部件。,88,要求在图中,当单刀双掷开关“SW-SPDT”接到P1.0,单片机P2口输出作加法计数,当单刀双掷开关“SW-SPDT”接到P1.3,单片机P2口输出作减法计数。当按钮“BUTTON”按下时超过1秒,单片机P2口的计数输出清“0”。为此我们修改项目MyProject中的文件McuTimer.c,修改后的源程序见主教材。,89,在Vision3 IDE环境下重新编译该项目。按“F5”按钮进入全速运行。然后切换到Proteus VSM环境。可以分别点“加1按钮”、“减1按钮”和“清零按钮”可以观察程序单片机外围部件仿真运行情况。,90,可以在程序中设置断点,可以观察到在Vision3环境下,断点运行和单步运行时在Proteus VSM环境下原理图的变化情况。图为在电脑桌面上放置2个应用窗口。,91,Proteus VSM与Vision3的联调时,Proteus VSM的U1-AT89C52可以不加载任何程序文件。但笔者还是建议,要加载程序文件,且选择当前在Vision3环境下所调试程序生成的HEX文件。这样无论是否联调,在Proteus VSM的运行情况总是一致的。,92,本讲小结,单片机简介。单片机应用系统的研制步骤和方法简介。,