单片机应用系统的设计与开发掌握:1、单片机系统开发的一般方法2、ISP在线编程中使用的单片机管脚3、利用Proteus进行51单片机仿真的流程4、熟练掌握Wave、Proteus软件的使用单片机应用系统的设计与开发一、单片机系统开发的一般方法二、单片机硬件系统的基本组成三、单片机开发系统概述四、ISP在线编程五、WAVE6000集成开发环境六、Proteus入门教程一、单片机系统开发的一般方法1、确定任务,可行性分析2、总体设计3、硬件设计程序存储器、数据存储器和I/O接口地址译码电路、总线驱动能力、抗干扰措施4、软件设计5、系统调试二、单片机硬件系统的基本组成电源单片机芯片时钟复位电路三、单片机开发系统概述用单片机组成应用系统时,其应用程序的编程、修改、调试,运行结果是否符合设计要求,软件、硬件故障的判断以及程序固化等等问题,靠系统自身根本无法解决,必须借助外界的帮助。帮助单片机应用系统进行研制的工具称为单片机开发工具或叫单片机开发系统。它和微机开发系统一样,是用来帮助研制单片机应用系统的软件和硬件的一种专用装置。串口/并口仿真器实验箱(目标板)仿真软件(集成开发环境)34芯电缆仿真头1402120EPROM写入器(或下载线)硬件:EEPROM写入器(或下载线)、仿真器、PC机软件:集成开发环境(编译、汇编、仿真程序),如:WAVE6000、KeiluV2/uV3EPROM写入程序程序下载软件(S51系列单片机)四、ISP在线编程AVR和ATMEL的AT89S系列单片机可以使用ISP下载线在线编程擦写,即不必将IC芯片拆下,直接在电路板上进行程序修改、下载等操作。这样对程序的调试和升级都很方便。ISP下载线的线路很简单,适合自己动手制作。注意:下载软件和下载工具都是配套的硬件不一样不可能通用MOSI:数据串行输入MISO:串行数据输出SCK:同步控制时钟REST:复位PinCABLEAT89SSignalnamePINOUT1MOSIP1.52VCC345RSTRESET67SCKP1.789MISOP1.610GND1、硬件安装把ISP下载线的一端接计算机的USB,另一端接CPU板的10芯插座。2、软件安装安装下载AVR_fighter.exe软件。3、使用方法软件安装后,双击图标运行下载软件。装入程序选择单片机型号五、WAVE6000集成开发环境WAVE6000软件集成了强大的文件编辑处理、编译连接、项目管理、排列窗口工具、书签窗口、观察窗口、反汇编等多种功能,提供单步、跟踪、自动单步/跟踪、断点、执行到光标处、全速执行、复位、暂停等多种调试手段。支持ASM、C语言及多模块混合源程序调试。同时可无缝支持KeilUv2/Uv3C51的仿真调试。项目窗口信息窗口编辑窗口CPU窗口1)打开WAVE6000调试环境2)建立新程序选择菜单[文件|新建文件]功能出现一个文件名为NONAME1的源程序窗口,在此窗口中输入程序。3)保存程序选择菜单[文件|保存文件]或[文件|另存为]功能选择文件所要保存的位置,文件名扩展名*.ASM。保存文件所在路径文件名,后缀为ASM4)建立新的项目选择菜单[文件|新建项目]功能(1)加入模块文件。(2)加入包含文件。(3)保存项目自动将后缀设成“.PRJ”。将项目存在与源程序相同的文件夹下。项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有一个模块“MY1.ASM”。如果项目窗口没有打开,可以选择菜单[窗口|项目窗口]功能来打开。可通过仿真器设置快捷键或双击项目窗口第一行选择仿真器和要仿真的单片机可以通过仿真器设置快捷键或双击项目窗口第一行选择仿真器和要仿真的单片机5)设置项目“仿真器”栏选择仿真器类型和仿真头及单片机。“语言”栏中选择编译器类型,“通信设置”中选择端口及波特率,保存项目。加上前面的“勾”即为软件仿真方式6)编译程序选择菜单[项目|编译]功能或按编译快捷图标或F9键,编译你的项目项目窗口编译快捷键信息窗口7)程序调试[执行|全速执行],或CTRL+F9[执行|跟踪],或F7键一条指令一条指令地执行程序,若有子程序调用,也会跟踪到子程序中去。[执行|单步],或F8键单步执行,但不会跟踪到子程序中[执行|执行到光标处],或F4键由于条件编译或高级语言优化的原因,不是所有的源程序都能产生机器指令。源程序窗口最左边的“o”代表此行为有效程序,此行产生了可以指行的机器指令。跟踪快捷键当前程序指针有效程序行六、Proteus入门教程Proteus是来自英国Labcenter公司的嵌入式系统仿真开发软件,它包括原理图布图、混合模式仿真、VSM嵌入式仿真以及PCB制板功能。(一)Proteus概览(二)原理图设计(三)PROTEUS微处理器仿真(四)Proteus和Keil联合调试在传统的CAD功能中添加了嵌入式系统的仿真可以完整地仿真微控制器以及相连的模拟和数字电路(一)Proteus概览ProSPICE混合模式仿真器ISIS设计仿真平台VSM嵌入式仿真ARESPCB制版ProteusDesignSuiteProteus概览在Proteus中,从原理图设计、单片机编程、系统仿真到PCB布线一气呵成。完成了从概念到产品的整个过程。Proteus是一个虚拟实验室,提供了大量的虚拟仪器、仪表、激励源和分析工具:13类激励源直流、正弦、脉冲……13类曲线图表模拟、数字、频率……12类虚拟仪器示波器、逻辑分析仪、SPI/I2C调试器……电压/电流探针PROTEUS虚拟实验室-探针(Probe)电压探针(Voltageprobes)-既可在模拟仿真中使用,也可在数字仿真中使用。在模拟电路中记录真实的电压值,而在数字电路中,记录逻辑电平及其强度。探针即可用于基于图表的仿真,也可用于交互式仿真中。预览窗口挑选元件按钮库管理按钮模型选择工具栏元件列表仿真按钮原理图编辑窗口方位控制按钮(二)原理图设计1、原理图编辑窗口(TheEditingWindow)用来绘制原理图,蓝色方框内为可编辑区,元件要放到它里面。注意:这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。2、预览窗口(TheOverviewWindow)可显示两个内容.(1)当你在元件列表中选择一个元件时,它会显示该元件的预览图;(2)当你的鼠标焦点落在原理图编辑窗口时,会显示整张原理图的缩略图,可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。3、模型选择工具栏(ModeSelectorToolbar)主要模型(MainModes)1)选择元件(components)(默认选择的)2)放置连接点3)放置标签(用总线时会用到)4)放置文本5)用于绘制总线6)用于放置子电路7)用于即时编辑元件参数(先单击该图标再单击要修改的元件)方便快捷的元件查找、放置功能:模糊查找分类查找结果列表元件预览封装预览配件(Gadgets)1)终端接口:有VCC、地、输出、输入等接口2)器件引脚:用于绘制各种引脚3)仿真图表:用于各种分析,如NoiseAnalysis4)录音机5)信号发生器(generators)6)电压探针:使用仿真图表时要用到7)电流探针:使用仿真图表时要用到8)虚拟仪表:有示波器等2D图形(2DGraphics)1*画各种直线2*画各种方框3*画各种圆4*画各种圆弧5*画各种多边形6*画各种文本7*画符号8*画原点等4、元件列表(TheObjectSelector)用于挑选元件(components)、终端接口(terminals)、仿真图表(graph)、信号发生器(generators)等。举例:当你选择“元件”,单击“P”按钮会打开挑选元件对话框,选择了一个元件后,单击“OK”(或双击元件),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。5、方向工具栏(OrientationToolbar)旋转:旋转角度只能是90的整数倍。翻转:完成水平翻转和垂直翻转。使用方法:先右键单击元件,再点击(左击)相应的旋转图标。6、仿真工具栏仿真控制按钮1*运行2*单步运行3*暂停4*停止操作简介1)绘制原理图:绘制原理图要在原理图编辑窗口中的蓝色方框内完成。其操作不同于WINDOWS应用程序。正确的操作是:用左键放置元件;右键选择元件;双击右键删除元件;右键拖选多个元件;先右键后左键编辑元件属性;先右键后左键拖动元件;连线用左键,删除用右键;改连接线:先右击连线,再左键拖动;中键放缩原理图。2)定制自己的元件:(1)用PROTEUSVSMSDK开发仿真模型,并制作元件;(2)是在已有的元件基础上进行改造,比如把元件改为bus接口的;(3)利用已制作好的元件,可以到网上下载一些新元件并把它们加到自己的元件库里3)Sub-Circuits应用:用一个子电路可以把部分电路封装起来,这样可以节省原理图窗口的空间。(三)PROTEUS微处理器仿真ProteusVSM是一个基于ProSPICE混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真平台。单片机系统的仿真是PROTEUSVSM的主要特色。用户可在Proteus中直接编辑、编译、调试代码,并直观地看到仿真结果。CPU模型有ARM7(LPC21xx)、PIC、AtmelAVR、MotorolaHCXX以及8051/8052系列。同时模型库中包含了LED/LCD显示、键盘、按钮、开关、常用电机等通用外围设备。PROTEUSVSM仿真与分析示例1:PWM电机控制——动态效果动态器件使仿真直观生动CPU可加载程序运行PROTEUSVSM仿真与分析示例2:单片机游戏——动态效果游戏手柄可映射到PC键盘上游戏显示屏(LCD)引脚逻辑状态显示CPU运行游戏程序PROTEUSVSM仿真与分析示例3:温度测量电路——虚拟与现实的交互PROTEUS仿真电路PC串行口串行电缆实际温度测量板通过物理接口模型,可以实现虚拟仿真电路与外部实际电路的双向通信51单片机仿真过程1.绘制原理图2.选择软件设计语言(汇编、C)编写源代码3.编译代码,生成目标文件。4.装载HEX或OMF文件,仿真调试。第三方工具的应用直接使用第三方IDE(IntegratedDevelopmentEnvironment)如:Keil’suVision2、WAVE6)开发源代码,并进行编辑,生成HEX文件后,切换到ProteusVSM,再进行仿真。1、使用第三方IDE建立工程,编写C程序2、编译生成HEX代码,加载到CPU当中。(无源码调试信息)3、编译生成OMF格式代码,加载到CPU当中。装载HEX或OMF文件,仿真调试。程序加载到CPU仿真调试实时显示系统输出结果实时显示元器件引脚电平说明:红色代表高电平,兰色代表低电平,灰色代表不确定电平(floating)。(四)Proteus和Keil联合调试联调过程:1.运行驱动程序vdmagdi.exe2.在Proteus中设计电路原理图,并选中Debug-useremotedebugmonitor3.在Keil环境下创建项目,编辑源程序(C或ASM)并编译为hex文件;(四)Proteus和Keil联合调试4.在Keil中,设置Target-targetoption-debug,选用ProteusVSMSimulator;5.在Proteus中将Keil生成的hex文件加载给CPU;6.在Keil中运行、调试程序,同时在Proteus中观察运行结果。PROTEUS与Keil联调Keil处于运行状态PROTEUS同时进入运行状态