附录A单片机软件仿真系统Proteus(海神)介绍及使用一、该软件的特点:①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。③目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。④支持大量的存储器和外围芯片。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。二、ISIS智能原理图输入系统ISIS是Preoteus系统的中心,具有控制原理图画图的超强的设计环境。ISIS有以下特性:1、出版质量的原理图ISIS提供给用户图形外观,包括线宽、填充类型、字符等的全部控制,使用尸能够生成如杂志上看到的精美的原理图,画完图可以以图形文件输出,画图的外形由风格模板定义。2、良好的用户界面IsIs有一个无连线方式,用户只需单击元件的引脚或者先前布好的线,就能实现布线此外,摆放、编辑、移动和删除操作能够直接用鼠标实现.无需去单击菜单或图标。3.自动走线只要单击想要连接的两个引脚,就能简单地实现走线。在特殊的位置需要布线时,使用者只需在中间的角落单击。自动走线也能在元件移动的时候操作,自动解决相应连线。节点能够自动布置和移除。既节约了时间,又避免了其他可能的错误。4.层次设计ISIS支持层次图设计,模块可画成标准元件,特殊的元件能够定义为通过电路图表示的模块,能够任意设定层次,模块可画成标准元件,在使用中可放置和删除端口的子电路模块。5、总线支持ISIS提供的不仅是一根总线,还能用总线引脚定义元件和子电路。因此,一个连线在处理器和存储器之间的32位的处理器总线可以用单一的线表示,节省绘图的时间和空间。6.元件库ISIS的元件库包含8000个元件,有标准符号、三极管、二极管、热离子管、TTLCMOS、ECL、微处理器,以及存储器元件、PLD、模拟Ic和运算放大器。7.可视封装工具原理图和PCB库元件的匹配是由封装工具简化的。在原理图部分的引脚旁边将显示PCB的封装,并允许每个引脚名对应文本和图形的引脚号码。8.复合元件ISIS的元件库表达方式有很多种,无论是单个元件、同态复合元件、异态复合元件,还是连接器,都可以在原理图上以独立引脚来表达,不用所有线都连到一个独立元件上。9、元件特性设计中的每个元件都有一定数日的属性或特性。某些特性控制软件的特定功能(如PCB封装或仿真)用户也可以添加自己的特性。一旦库建立,就能提供默认值及特性定义。特性定义提供大量的特性描述,当修改元件时,将显示在编辑区域内。10、报告ISIS支持许多第三方网表格式,因此能为其他软件所使使用.设置元件清单后可以添加用户所需的元件属性,也可设置属性列以挑选一定数目的属性。ERC报告可列出可能的连线错误,如末连接的输入、矛盾的输出及未标注的网络标号。三、Proteus6Professional界面简介安装完Proteus后,运行ISIS6Professional,会出现以下窗口界面:1.原理图编辑窗口(TheEditingWindow):顾名思义,它是用来绘制原理图的。蓝色方框内为可编辑区,元件要放到它里面。注意,这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。2.预览窗口(TheOverviewWindow):它可显示两个内容,一个是:当你在元件列表中选择一个元件时,它会显示该元件的预览图;另一个是,当你的鼠标焦点落在原理图编辑窗口时(即放置元件到原理图编辑窗口后或在原理图编辑窗口中点击鼠标后),它会显示整张原理图的缩略图,并会显示一个绿色的方框,绿色的方框里面的内容就是当前原理图窗口中显示的内容,因此,你可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。3.模型选择工具栏(ModeSelectorToolbar):主要模型(MainModes):1*选择元件(components)(默认选择的)2*放置连接点3*放置标签(用总线时会用到)4*放置文本5*用于绘制总线6*用于放置子电路7*用于即时编辑元件参数(先单击该图标再单击要修改的元件配件(Gadgets):1*终端接口(terminals):有VCC、地、输出、输入等接口2*器件引脚:用于绘制各种引脚3*仿真图表(graph):用于各种分析,如NoiseAnalysis4*录音机5*信号发生器(generators)6*电压探针:使用仿真图表时要用到7*电流探针:使用仿真图表时要用到8*虚拟仪表:有示波器等2D图形(2DGraphics):1*画各种直线2*画各种方框3*画各种圆4*画各种圆弧5*画各种多边形6*画各种文本7*画符号8*画原点等4.元件列表(TheObjectSelector):用于挑选元件(components)、终端接口(terminals)、信号发生器(generators)、仿真图表(graph)等。举例,当你选择“元件(components)”,单击“P”按钮会打开挑选元件对话框,选择了一个元件后(单击了“OK”后),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。5.方向工具栏(OrientationToolbar):旋转:旋转角度只能是90的整数倍。翻转:完成水平翻转和垂直翻转。使用方法:先右键单击元件,再点击(左击)相应的旋转图标6.仿真工具栏仿真控制按钮1*运行2*单步运行3*暂停4*停止四、操作简介1、绘制原理图:绘制原理图要在原理图编辑窗口中的蓝色方框内完成。原理图编辑窗口的操作是不同于常用的WINDOWS应用程序的,正确的操作是:用左键放置元件;右键选择元件;双击右键删除元件;右键拖选多个元件;先右键后左键编辑元件属性;先右键后左键拖动元件;连线用左键,删除用右键;改连接线:先右击连线,再左键拖动;中键放缩原理图。2、定制自己的元件:有三个个实现途径,一是用PROTEUSVSMSDK开发仿真模型,并制作元件;另一个是在已有的元件基础上进行改造,比如把元件改为bus接口的;还有一个是利用已制作好(别人的)的元件,我们可以到网上下载一些新元件并把它们添加到自己的元件库里面。由于我没有PROTEUSVSMSDK,所以我只介绍后两个。3、Sub-Circuits应用:用一个子电路可以把部分电路封装起来,这样可以节省原理图窗口的空间。附录BKeilµVision2开发环境使用Keil软件是目前最流行开发MCS-51系列单片机的软件。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境µVisiion2将这些部分组合在一起。(!)在Windows下运行KeilµVisiion2软件,进入KeilµVisiion2开发环境。(2)在KeilµVisiion2选择Project/NewPreject…,建立一个新的工程项目,如图1-1所示:图1-1建立新工程项目(3)给工程项目取名为LED88,然后保存,如图1-2所示图1-2给工程项目取名(4)紧接着自动化弹出器件选择窗,选择Atmel公司的AT89C51,如图1-3和图1-4所示图1-3选择设备(一)图1-4选择设备(二)弹出时,选择否。(5)在KeilµVisiion2中选择File/New,打开程序编辑器,如图1-5所示。图1-5程序编辑器(6)输入程序,检查无误后保存文件(扩展名.asm)在工程项目相同的目录中,如图1-6和图1-7所示。保存后汇编指令中的关键字以蓝色显示。图1-6输入程序图1-7保存程序(7)在PrejectWorkspace窗口中,选择SourceGroup1条目并单击右键,在弹出的菜单在选择AddFilestoGroup‘SourceGroup1’,如图1-8所示。图1-8添加文件(8)加入刚才保存的汇编程序源文件led88.asm。注意,按一次Add按键即可,若有多个源文件需要添加到同一工程项目,则可继续选择源文件并单击Add按钮,选完后单击Close退出,如图1-9所示。添加结果可以ProjectWorkspace窗口SourceGroup1条目下浏览。图1-9选定并添加源文件(9)在ProjectWorkspace窗口中,选择Target1条目并单击右键,在弹出的菜单中选择OptionforTarget‘Target1‘,准备为Target1配置编译环境,如图1-10所示。图1-10配置编译环境(10)在Output页为CreateHEXFile项打勾,以便输出单片机烧写用HEX格式文件,如图1-11所示。图1-11选择HEX格式(11)选项配置好后,在KeilµVisiion2中选择Project/Buildtarget,编译工程项目,如图1-12所示。或点击图标。图1-12编译工程项目(12)编译结果显示在OutputWindows中,如图1-13所示。若有错,可双击错误提示行,然后定位到源程序中修改;若无误就可进行下面的软件调试。图1-13编译结果(13)在KeilµVisiion2中,选择Debug/Start/StopDebugSession,进入软仿真调试,如图1-14所示。图1-14软仿真调试(14)在KeilµVisiion2中选择Peripherals中的Port0、Port3,如图1-15所示。图1-15全速运行结果(15)在KeilµVisiion2中,选择Debug中的StipOver(或F10)即可进行单步调试;若选择Step(或F11)可深入子程序中调试;若选择Go(或F5)可全速运行程序。在此选择全速运行,即可看见Port0和Port3口各位变化。