自动化单片机.ppt

上传人:夺命阿水 文档编号:260111 上传时间:2023-03-31 格式:PPT 页数:60 大小:1.60MB
返回 下载 相关 举报
自动化单片机.ppt_第1页
第1页 / 共60页
自动化单片机.ppt_第2页
第2页 / 共60页
自动化单片机.ppt_第3页
第3页 / 共60页
自动化单片机.ppt_第4页
第4页 / 共60页
自动化单片机.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《自动化单片机.ppt》由会员分享,可在线阅读,更多相关《自动化单片机.ppt(60页珍藏版)》请在课桌文档上搜索。

1、MCS-51单片机接口基础,MCS-51系列单片机在很多产品中得到了广泛的应用。在具体的工程实践中,单片机应用技术所涉及的实践环节较多,且硬件投入较大,如果因为控制方案有误而进行相应的开发设计,会浪费较多的时间和经费。Proteus仿真软件很好地解决了这些问题,它可以像Protel一样绘制硬件原理图并实现硬件调试,再与Keil编程软件进行联调,实现对控制方案的验证。尤其对于初学单片机的用户提供了极大的方便。,PROTEUS微处理器系统仿真,在基于微处理器系统的设计中,即使没有物理原型,Proteus VSM也能够进行软件开发。模型库中包含LCD显示、键盘、按钮、开关等通用外围设备。同时,提供的

2、CPU模型有ARM7、PIC、Atmel AVR、Motorola HCXX以及8051/8052系列。单片机系统的仿真是PROTEUS VSM的一大特色。同时,本仿真系统将源代码的编辑和编译整合到同一设计环境中,这样使得用户可以在设计中直接编辑代码,并可容易的查看到用户对源程序修改后对仿真结果的影响。VSM甚至能仿真多个CPU,它能便利处理两个或以上微控制器的联结与设计。,、PROTEUS设计与单片机传统开发过程比较、单片机系统的传统开发过程单片机系统原理图设计、选择元器件接插件、安装和电气检测。(总称硬件设计)单片机系统程序设计、汇编编译、调试和编程。(总称软件设计)单片机系统实际运行、检

3、测、在线调试直至完成。(总称单片机系统综合调试),PROTEUS设计与仿真流程,、单片机系统的现代开发过程,在ISIS平台上进行单片机系统原理图设计、选择元器件接插件、安装和电气检测。简称为PROTEUS电路设计。,在KeilC平台上进行单片机系统程序设计、汇编编译、代码级调试,最后生成目标级代码文件(*.hex)。也可以使用ISIS进行调试。在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。,6.1 汇编源程序的建立与编译,Keil是德国Keil公司开发的单片机编译器,是目前最好的51单片机开发工具之一,可以用来编译C源代码和汇编源程序、连接和重定位目标

4、文件和库文件、创建HEX文件、调试目标程序等,是一种集成化的文件管理编译环境。在Proteus中,可以直接与Keil编程软件进行联调,进而实现对所设计电路的验证。,6.1.1 Proteus中的源程序设计与编译,Proteus VSM提供了简单的文本编辑器,用它作为源程序的编辑环境。对于不同系列的单片机,VSM均提供了相应的编译器,使用时可根据单片机的型号和语言要求来选取。编译器有以下几种:ASEM51(51系列单片机编译器);ASM11(Motorola单片机编译器);AVRASM(Atmel AVR系列单片机编译器);AVRASM32(Atmel AVR系列单片机编译器);MPASM(PI

5、C单片机编译器);MPASMSWIN(PIC单片机编译器)。,单击“Code Generation Tool”(目标代码生成工具)下方框中按钮,弹出下拉菜单,根据需要选择相应的编译器,例如“ASEM51”(51系列单片机编译器)。,图6-1 Add/Remove Source Code Files对话框,1.建立源程序文件在Proteus ISIS界面中单击菜单Soure(源程序),在弹出的下拉菜单中单击“Add/Remove Source Files”(添加/移开源程序)选项,弹出如图6-1所示对话框,,在图6-1中单击“New”按钮,弹出如图6-2所示的对话框,选择“是”按钮,新建的源程序

6、文件就添加到图6-1中的“Source Code Filename”方框中,如图6-3所示。,图6-2 新建源程序文件对话框,2.编写源程序代码单击菜单【Source】【mydesign.asm】,出现图6-5所示的源程序编辑窗口。编写源程序后存盘退出。,图6-5 源程序编辑窗口,3.源程序编译(1)编译器设置。第一次使用编译器时需进行相关的设置,单击菜单SourceDefine Code Generation Tools,出现图6-6所示界面。单击【Source】【Build All】,如果没有错误便成功生成目标代码“.hex”文件。,图6-6 编译器设置界面,KeilC与Proteus连接

7、调试1、假若KeilC与Proteus均已正确安装在C:Program Files的目录里,把C:Program FilesLabcenter ElectronicsProteus 6 ProfessionalMODELSVDM51.dll复制到C:Program FileskeilCC51BIN目录中。2、用记事本打开C:Program FileskeilCC51TOOLS.INI文件,在C51栏目下加入:TDRV5=BINVDM51.DLL(Proteus VSM Monitor-51 Driver)其中“TDRV5”中的“5”要根据实际情况写,不要和原来的重复。3、单击“Project菜

8、单/Options for Target”选项或者点击工具栏的“option for target”按钮,弹出窗口,点击“Debug”按钮,出现如图所示页面。,4、Proteus的设置进入Proteus的ISIS,鼠标左键点击菜单“Debug”,选中“use romote debuger monitor”,便可实现KeilC与Proteus连接调试。,6.1.2 Keil Vision中的源程序设计与编译,在Keil集成开发环境下使用工程的方法来管理文件,而不是单一文件的模式,所有的文件包括源程序(如C程序、汇编程序)、头文件等都可以放在工程项目文件里统一管理。对于刚刚使用Keil的用户,一般

9、可以按照下面的步骤来创建一个自己的应用程序:(1)新建一个工程项目文件;(2)选择目标器件(例如,选择ATMEL公司的AT89C51);(3)为工程项目设置软硬件调试环境;(4)创建源程序文件并输入程序代码;(5)保存创建的源程序项目文件;(6)把源程序文件添加到项目中。,1.建立一个项目双击桌面快捷图标即可进入如图6-7所示的集成开发环境编辑操作界面,主要包括三个窗口:工程项目窗口、编辑窗口和输出窗口。单击 Project 菜单,在弹出的下拉菜单中选中“New Project”选项,新建一个项目,如图6-8所示。,图6-7 Vision2编辑操作界面,图6-8 Project界面,然后选择要

10、保存的路径,输入工程文件的名字(比如保存到uv目录里,工程文件的名字为“shiyan1”),如图6-9所示,然后单击“保存”按钮。这时会弹出一个对话框,要求选择单片机的型号。这里可以根据所使用的单片机来选择,Keil几乎支持所有51核的单片机,这里以Atmel的89C51来说明,如图6-10所示。,图6-9 Project保存设置界面,图6-10 选择器件,首先选择Atmel公司,然后单击左边的“+”号选择AT89C51 之后,右边栏是对这个单片机的基本说明,然后单击“确定”,在随后弹出的对话框单击“否”。完成以上步骤后,屏幕如图6-11所示,首先进行选项设置,将鼠标指针指向“Target 1

11、”并单击右键,再从弹出的右键菜单中单击“Options for Target”选项,如图6-12所示。,图6-11 初始化编辑界面,从弹出的“Options”对话框中选择“Output”标签栏。,图6-12 选择“Options for Target”选项,图6-13“Output”标签栏,2.建立一个新的ASM汇编语言程序并编译,下面开始编写源程序。(1)在菜单栏中,单击“File”菜单,再在下拉菜单中单击“New”选项,或直接单击工具栏的快捷图标来建立了一个新的编辑窗口。此时光标在编辑窗口里闪烁,这时可以输入用户的应用程序了。建议首先保存该空白文件,单击菜单上的“File”,在下拉菜单中选

12、中“Save As”选项,在弹出对话框的“文件名”栏右侧编辑框中,输入欲使用的文件名,同时,必须输入正确的扩展名,如“Text1.asm”,然后,单击“保存”按钮,如图6-14所示,注意:如果用语言编写程序,则扩展名为“.c”;如果用汇编语言编写程序,则扩展名为“.asm”,且必须添加扩展文件名。(2)回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,弹出如图6-15所示的快捷菜单。,图6-14 保存源程序,然后单击“Add File to GroupSource Group 1”,打开如图6-16所示对话框,在“文件类型”处默认为“C S

13、ource file(*.c)”,因为前面我们保存的是汇编语言的文件,故需要选择“Asm Source file(*.s*;*.src;*.a*)”,这样在上面就可以看到刚才保存的汇编语言文件“Text1.asm”,双击该文件则自动添加至项目,单击“Close”关闭对话框。对比图6-17和图6-15,可以看出二者的不同点:在添加了汇编语言文件后,在“Source Group 1”文件夹前面出现了一个“+”号,单击“+”号展开就看到了刚才添加的“Text1.asm”文件。,图6-15 弹出右键菜单,(3)右侧的编辑区输入汇编源程序了。在输入指令时,读者可以看到事先保存待编辑文件的好处:Keil会

14、自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。,图6-16 添加文件对话框,图6-17 添加文件后工程栏的变化,(4)程序文件编辑完毕后,单击“Project”菜单,选中“Built target”选项(或者使用快捷键 F7),或者单击工具栏的快捷图标来进行编译,如图6-19所示,图6-18 程序输入完毕后状态,图6-19 编译菜单,(5)如果有错误,则在最后的输出窗口中会出现所有错误所在的位置和错误的原因,并有“Target not created”的提示。双击该处的错误提示,在编辑区对应错误指令处左面出现蓝色箭头提示,然后对当前的错误指令进行修改

15、,如图6-20所示,图6-20 错误提示,3.调试并仿真,编译成功后,就可以进行调试并仿真了。单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键 Ctrl+F5),或者单击工具栏的快捷图标就可以进入调试界面,如图6-22所示,图6-22 调试界面,左面的工程项目窗口给出了常用的寄存器r0-r7以及a、b、sp、dptr、pc、psw等特殊功能寄存器的值。在执行程序的过程中可以看到,这些值会随着程序的执行发生相应的变化。在存储器窗口的地址栏处输入C:0000H后回车,则可以观看所有单片机片内程序存储器的内容,如图6-23所示,下面用横

16、线画出来的部分就是已经编辑的源程序转化成的机器语言的十六进制数(或者说是对应的机器码)。如果在存储器窗口的地址栏处输入D:00H后回车,则可以观看所有单片机片内数据存储器的内容,图6-23 存储器窗口,几种常用的调试命令及方法。(1)复位CPU用“Debug”菜单或工具栏的“Reset CPU”命令可以复位CPU。在不改变程序的情况下,若想使程序重新开始运行,执行此命令即可。执行此命令后程序指针返回到0000H地址单元。另外,一些内部特殊功能寄存器在复位期间也将重新赋值。例如,A将变为00H,DPTR变为0000H,SP变为07H,I/O口变为0FFH。(2)全速运行(F5)用“Debug”工

17、具栏的“Go”或快捷命令“Run”命令按钮,即可实现全速运行程序。当然若程序中已经设置断点,程序将执行到断点处,并等待调试指令。,(3)单步跟踪(F11)用“Debug”工具栏的“Step”或快捷命令“StepInto”命令按钮,可以单步跟踪程序。每执行一次此命令,程序将运行一条指令(以指令为基本执行单元)。当前的指令用黄色箭头标出,每执行一步箭头都会移动,已执行过的语言呈绿色。,(4)单步运行(F10)用“Debug”工具栏的“Step Over”或快捷命令“Step Over”按钮,即可实现单步运行程序,此时单步运行命令将把函数和函数调用当作一个实体来看待,因此单步运行是以语句(该语句不管

18、是单一命令行还是函数调用)为基本执行单元。(5)执行返回(Ctrl+F11)在用单步跟踪命令跟踪到子函数或子程序内部时,使用“Debug”菜单栏中的“Step Out of Current Function”或快捷命令按钮“Step Out”,即可将程序的PC指针返回到调用此子程序或函数的下一条语句。,6.2 Proteus与单片机电路的交互式仿真与调试,6.2.1 加载目标代码,双击单片机AT89C51,打开其属性编辑框,在“Program File”栏中,单击打开按钮,选取目标代码文件,这里是“MYDESIGN.HEX”。在“Clock Frequency”栏中设置时钟频率为12MHz,,

19、在Proteus仿真界面中单击按钮,全速启动仿真,此时电路中的LED不亮。用鼠标单击电路图中的按钮,进行交互仿真。单击一次按钮,LED灯亮,再单击一次,LED灯灭,如此循环交替。,6.2.3 调试菜单与调试窗口,系统在全速仿真运行时不显示调试窗口,可单击暂停按钮,然后单击Proteus ISIS界面的“Debug”菜单,调试菜单包含有3个存储器窗口,调试过程中可分别打开这3个存储器窗口进行观察。1.单片机寄存器窗口通过菜单【Debug】【8051 CPU Registers-U1】打开单片机寄存器窗口,如图6-28所示。里面有常用的SFR,如SP、PC、PSW、R0R7、ACC及将要执行的指令

20、等。,2.单片机SFR 窗口通过菜单【Debug】【8051 CPU SFR Memory-U1】打开单片机的SFR窗口。,3.单片机IDATA窗口通过菜单【Debug】【8051 CPU Internal(IDATA)Memory-U1】打开单片机的IDATA窗口,如图6-30所示。对于单片机的SFR寄存器,既可以从单片机的寄存器窗口中查看,也可以在SFR寄存器窗口中查看。在SFR、IDATA窗口中右击,可弹出该窗口的设置菜单,如图6-31所示。可使用“Goto”命令快速运动到指定的显示单元,还可复制数据或改变显示方式等。,图6-30 单片机IDATA窗口,图6-31 单片机IDATA窗口的

21、快捷菜单,6.2.4 观察窗口,Proteus又同时提供了一个观察窗口“Watch Window”,它可以将所关心的各项寄存器的内容集中于一个窗口中,观察起来十分方便。1.观察项添加通过菜单【Debug】【Watch Window】打开空白的观察窗口,在观察窗口内右击,弹出快捷菜单,如图6-32所示。由该菜单可添加、删除观察项,设置观察项的数据类型,显示格式以及设置窗口的字体、颜色等。,若单击“Add Items(By Name)”项,便会弹出如图6-33所示的对话框,双击相应的SFR寄存器名称,即可以观察项名称方式将观察项添加到观察窗口中。也可选择以观察项的地址来添加观察项的方式。添加了观察

22、项的观察窗口如图6-34所示。,图6-32 观察窗口及快捷菜单,ORG 0000H LJMP START ORG 0030HSTART:MOV DPTR,#TABLE MOV R0,#00H MOV P0,#3FH MOV P2,#3FH S1:INC R0 CJNE R0,#100,S2 MOV R0,#00H S2:JB P3.3,$LCALL DELAY JB P3.3,S2 S3:MOV A,R0 MOV B,#10 DIV AB,MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A,A+DPTR MOV P2,A JB P3.3,S1 LJMP S3DELAY:

23、MOV R5,#20 D1:MOV R6,#250 DJNZ R6,$DJNZ R5,D1 RETTABLE:DB 3FH,06H,5BH,EFH,66H;DB 6DH,7DH,07H,7FH,6FHEND,图6-33“Add Memory Item”对话框,图6-34 添加了观察项的观察窗口,利用单片机AT89C51制作一个099计数器手动计数器,用其P2.0P2.7接一个共阴极数码管,输出显示099计数值的个位,用P0.0P0.7接数码管输出显示计数值的十位数。P3.3引脚外接一轻触开关,要求每按下一次按键,计数值加1,当计数值超出99后自动返回0重新开始循环计数。,6.3 I/O口输入输

24、出应用,1.电路原理图,6.3.1 Proteus电路设计,6.3.3 Proteus调试与仿真,1.建立程序文件(1)打开Keil Vision3,新建Keil项目,选择AT89C51单片机作为CPU;(2)新建汇编源文件,编写程序并将其导入到“Source Group 1”中;(3)在“Options for Target”对话框中,选中“Output”选项卡中的“Create HEX File”选项和“Debug”选项卡中的“Use:Proteus VSM Simulator”选项;(4)编译源程序,修改程序中的错误直至通过。,2.加载目标代码文件(1)在Proteus ISIS中,左键

25、双击AT89C51元件打开“Edit Component”对话框,设置单片机的频率为12MHz;(2)在该窗口的“Program File”栏中,选择先前在Keil中编译产生的“.HEX”文件;(3)在Proteus ISIS菜单栏中选择【File】【Save Design】选项,保存设计;(4)在Proteus ISIS菜单栏中,打开“Debug”下拉菜单,在菜单中选择“Use Remote Debug Monitor”选项,以支持与Keil的联调。,3.进行调试与仿真(1)在Keil的菜单栏中选择【Debug】【Start/Stop Debug Session】选项,或者在工具栏中直接单击

26、图标,进入调试环境;(2)按“F5”键或图标,顺序执行程序;(3)在Proteus ISIS界面中,按动开关,可看到数码管的显示值随之加1。,Proteus ISIS的元件制作和层次原理图设计,1 原理图元件制作2 元件的编辑3 利用其他人制作的元件4 层次原理图设计5 模块元器件的设计6 网络表文件的生成6.1 网络的相关概念6.2 网络表的生成,和大多数其他电子设计软件一样,Proteus 提供了元件制作和层次电路图设计功能,使读者能够满足一些特殊设计的需要,并能够在电路较为复杂时,实现由上而下或由下而上的层次原理图设计。,在绘制原理图的过程中,如果遇到原理图元件库中找不到的元器件,或是没

27、有适合使用的元器件时,需要自行制作原理图元件。制作元件前需知道的信息:1)元件的外观、封装、管脚名称、类型、输入输出形式等指标;2)元件的仿真模型;3)元件放置的库。制作元件的步骤:绘制元件边框、引脚,设置引脚属性,添加中心点,封装入库。制作元件方法:1)制作全新的元件2)根据库里元件进行改造。绘制原理图元件的基本步骤如下:,(1)打开Proteus 7 ISIS编辑环境,新建一个“New Design”,系统将清除所有原有的设计数据,出现一张空的设计图纸。(2)用二维工具“2D GRAPHICS”中的绘制“Device Body”,如图1所示。(3)绘制引脚(图2为引脚列表),其中DEFAU

28、LT为普通引脚,INVERT为低电平有效引脚,POSCLK为上升沿有效的时钟输入引脚,NEGCLK为下降沿有效的时钟输入引脚,SHORT为较短引脚(见图3中的引脚5),BUS为总线。,图1 绘制的Device Body,单击鼠标右键打开其快捷菜单,如图4所示,对引脚进行一些修改操作,如拖拉、编辑属性、删除、旋转、镜像等。,图3 各类引脚的形状,图4 选中引脚后用右键打开的下拉菜单,DEFAULT为普通引脚,INVERT为低电平有效引脚,POSCLK为上升沿有效的时钟输入引脚,NEGCLK为下降沿有效的时钟输入引脚,SHORT为较短引脚,BUS为总线。,(4)根据需要修改引脚属性。例如,以74L

29、S373为例,画出元件及引脚,如图5所示。各引脚说明如下:引脚1为 GND,PIN10;引脚2为 D0.7;引脚3为 OE,PIN1;引脚4为 LE,PIN11;引脚5为 VCC,PIN20;引脚6为 Q0.7。,图5 制作元件74LS373,先右击、后左击引脚1,在出现的对话框中输入如图6所示的数据;对引脚5的操作也是类似的。GND和VCC 需要隐藏,故“Draw body”不选。,图6 引脚1属性对话框,最终得到如图12所示的元件。(5)添加中心点。选择中的绘制中心点,选择“ORIGIN”,中心点的位置可任意放,如图13所示。,图13 添加中心点,图12 制作出的元件74LS373,(6)

30、封状入库。先用右键选择整个元件,如图14所示。然后,选择菜单【Library】【Make Device】,出现如图15所示对话框,并按照图中内容输入相应部分。,图14 用右键选择整个元件,图15 Make Device对话框,单击图15中的“Next”选项,出现选择PCB封装的对话框,直接单击图16中的“Next”选项,出现设置元件参数的对话框,如图17所示。,需添加属性ITFMOD=TTLLS和MODFILE=74XX373.MDF,因此单击“New”,出现如图18所示选择框,选择“ITFMOD”,并按照图19所示将其缺省值设为TTLLS。,图16 选择PCB封装对话框,图17 设置元件参数

31、的对话框,图18 参数选择框 图19 ITFMOD参数设置对话框再单击图19中的选项“New”,选择“MODFILE”参数,并按照图20将其缺省值设为“74XX373.MDF”。接着单击“Next”,出现图21所示对话框,可以不加以设置。,图8-20 ITFMOD参数设置 图8-21 Device Data Sheet&Help File对话框继续单击“Next”,选择元件存放位置,默认是放在“USERDVC”中的左边是选择类别,最好自己新建一个,如“MYLIB”,如图22所示。,图22 选择元件存放位置对话框选择菜单【Library】【Make Manager】打开库管理器来管理自己的元件,

32、如图23所示。,图23 元件库管理器,在用Proteus设计原理图的过程中,当需要的元件在库中不能直接找到时,除了可以利用上一节的内容自己制作原理图元件外,也可以利用现有元件,在现有元件的基础上进行修改,使其符合我们的需要。仍以74LS373为例,利用库中自带的元件,如图24所示,将其修改成如图25所示的“.bus”接口的元件。,定制元件的方法2),图24 库中自带的74LS373 图25 修改成.bus的74LS373,操作步骤:拆分元件,修改元件,制作元件。(1)在Proteus 7 ISIS原理图编辑环境下,添加元件74LS373。(2)选中74LS373,再单击工具栏中的分解符号,出现

33、如图26所示画面,于是此元件处于可修改状态下。(3)对元件的各部分进行修改。先把 Q0至Q7、D0至D7的管脚删掉,添加上BUS形式的引脚。,图26 元件处于可修改状态下,图27 元件修改后效果,(4)重新“Make Device”。拖选整个元件,选择菜单【Library】【Make Device】,出现如图28所示对话框。在图28所示对话框中将“74LS373”改为“74LS373.bus”,其他不变,然后单击“Next”选项,出现如图29所示选择封装对话框。,图28 Make Device对话框 图29 选择封装对话框,图30 MODFILE属性修改对话框,图31 选择对应Data Sheet的对 话框,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号