《NO2单片机编译软件的使用及电路仿真电子课件 单片机应用技术.ppt》由会员分享,可在线阅读,更多相关《NO2单片机编译软件的使用及电路仿真电子课件 单片机应用技术.ppt(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机应用技术学习任务二 单片机编译软件的使用及电路仿真学习目标任务说明在本学习任务中,主要学习伟福仿真软件、Keil C仿真软件和Proteus仿真软件的使用方法和特点。通过实验使学生加深对仿真软件的使用感受,掌握单片机应用系统开发的基本思路、步骤和方法。学习目标知识和能力要求(1)掌握伟福仿真软件的使用方法;(2)掌握Keil C仿真软件的使用方法;(3)掌握Proteus仿真软件的使用方法。知识要求(1)会用伟福软件对电路进行仿真;(2)会用Proteus软件绘制电路原理图并实现仿真;(3)会用Keil C软件对源程序进行编译调试及与Proteus软件联调,实现电路仿真;(4)综合利用各
2、种仿真软件并结合单片机进行简单的系统开发。能力要求一 WAVE(伟福)软件的使用 1.伟福纯软件仿真器的特点()双平台。有DOS版本和Windows版本两种,其中Windows版本功能强大,中文界面、英文界面可任选。()双工作模式。具有软件模拟仿真(不要仿真器也能模拟仿真)和硬件仿真。()双集成环境。编辑、编译、下载、调试全部集中在一个环境下。多种仿真器、多类CPU仿真全部集成在一个环境下。伟福纯软件仿真器具有以下几个特点:2.Windows版本软件安装将光盘插入光驱,找到WAVE6000文件夹,打开。双击SEUP文件。按照安装程序的提示输入相应内容。继续安装,直至结束。一 WAVE(伟福)软
3、件的使用3.软件的启动(1)单击开始菜单“程序”“WAVE”。(2)如果在桌面建立了快捷方式,直接双击其图标即可。一 WAVE(伟福)软件的使用图2-1启动界面一 WAVE(伟福)软件的使用4.软件的使用1)设置仿真器选择菜单“仿真器设置”“仿真器”,弹出“仿真器设置”对话框。一 WAVE(伟福)软件的使用单击“目标文件”选项卡,出现如图2-3所示对话框,按图示设置即可。一 WAVE(伟福)软件的使用 单击“语言”选项卡,出现如图2-4所示对话框,按照图中设置即可,注意“编译器选择”项一定要选择“伟福汇编器”,其他项不用改变。一 WAVE(伟福)软件的使用2)建立源程序选择菜单“文件”“新建文
4、件”,出现如图2-5所示的窗口。一 WAVE(伟福)软件的使用 默认文件名称是NONAME1,现在就可以在此窗口中输入源程序了。例如,输入以下一个小程序。MOV 30H,#5AH MOV DPTR,#0128H MOV A,30H MOV X DPTR,AH NOP 这个程序的功能是将片内RAM中30H单元的一字节数送到片外RAM中0128H单元。以此为例讲解利用伟福纯软件仿真的过程。首先输入源程序,修改文件名。单击菜单“文件”“另存为”,出现如图2-6所示的对话框。一 WAVE(伟福)软件的使用输入文件名(如“MOVX.ASM”),单击“保存”即可。一 WAVE(伟福)软件的使用注意文件扩展
5、名一定要输入,汇编语言的扩展名“*.asm”不能忽视。文件改名时要确定其扩展名,以便根据此判断文件类型。源程序中字符出现彩色,表示不同的文字属性。一 WAVE(伟福)软件的使用3)新建项目 选择菜单“文件”“新建项目”功能,新建项目会自动分三步进行。新建项目及加入模块文件窗口如图2-8所示。第一步,加入模块文件。加入刚建立的模块文件。一 WAVE(伟福)软件的使用 第二步,加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件,如果没有包含文件,按“取消”键,加入包含文件窗口如图2-9所示。一 WAVE(伟福)软件的使用 第三步,保存项目。在保存项目对话框中输入项目名称,无须加后缀,软件
6、会自动将后缀设成“.PRJ”,单击“保存”将项目存在与源程序相同的文件夹中,保存项目窗口如图2-10所示。一 WAVE(伟福)软件的使用4)汇编 选择菜单“项目”“编译”,就会自动调用伟福汇编器对源程序进行汇编,这时在信息窗口会显示汇编的相关信息,如图2-11所示。一 WAVE(伟福)软件的使用 图2-11中信息表示没有错误,汇编完成。如果有错误,双击错误信息行,在源程序窗口会出现深色显示行,指示错误所在。修改错误后,再次汇编,直到没有错误。这时在代码窗口(CODE)会出现十六进制的机器码,默认的开始地址是0000H,如图2-12所示。一 WAVE(伟福)软件的使用5)调试 选择菜单“执行”“
7、复位”,在源程序窗口出现橄榄绿色横条,横条显示在即将执行的程序行上,并且在该行的前面出现一个小箭头,指示该行指令即将被执行,如图2-13所示。一 WAVE(伟福)软件的使用 选择菜单“执行”“单步”,即执行该条指令,并将横条和小箭头移动到下一行指令上,同时可以在对应的窗口看到执行的结果,如图2-14所示。一 WAVE(伟福)软件的使用 单步执行到第三条指令后的情形如图2-15所示。一 WAVE(伟福)软件的使用由图2-15可知,即将执行的指令如下。MOVX DPTR,A 图2-15中第一条指令执行的结果在DATA(片内数据存储器)窗口中,地址为30H,单元的内容为5AH;第二条和第三条指令的执
8、行结果在SFR(特殊功能寄存器)窗口中,DPH的值为01H,DPL的内容为28H,也就是DPTR的内容是0128H,ACC中的内容为5AH,还可以看到ACC中内容的二进制形式数据为01011010(从上到下读)。再进行一次单步运行,窗口界面没有任何变化,单击右边窗口的XDATA(片外数据存储器)页,向下拖动滑动条,可以看到地址为0128H单元的变化内容。至此调试过程结束。进行调试时,许多操作可以使用菜单行下面的工具图标,将鼠标指针移到工具图标上时,会显示该图标的功能,这样既方便又快捷。一 WAVE(伟福)软件的使用二 Proteus软件的使用 提供软件调试功能。具有强大的原理图绘制功能。该软件
9、的特点如下:实现了单片机仿真和SPICE电路仿真相结合。支持主流单片机系统的仿真。1.Proteus的启动启动Proteus,启动界面如图2-16所示,工作界面如图2-17所示。Proteus启动界面二 Proteus软件的使用Proteus工作界面二 Proteus软件的使用2.Proteus的鼠标使用原则在Proteus中,鼠标操作与传统的方式不同,其右键用来选取,左键用来编辑或移动。右键单击选中对象,此时对象呈红色;再次右键单击已选中的对象,即可删除该对象。右键拖曳可以框选一个块的对象。单击可以放置对象或对选中的对象编辑属性。左键拖曳可以移动对象。二 Proteus软件的使用3.原理图设
10、计的步骤设计步骤存盘和输出新建设计文件并设置图样参数和相关信息补充完善调整、检查和修改放置元器件对原理图进行布线二 Proteus软件的使用4.对元器件的操作1)选择元器件 单击图标工具栏中的图标,并选择图2-18中所示对象选择器中的P按钮,出现选择元器件对话框,元器件选择如图2-19所示。对象选择器中的P按钮二 Proteus软件的使用元器件选择二 Proteus软件的使用2)放置元器件在对象选择器窗口中,选中元器件,将鼠标置于图形编辑窗口该对象的欲放位置,单击鼠标,完成该对象的放置。3)移动元器件若对象位置需要移动,将鼠标移到该对象上,右键单击鼠标,可以注意到该对象的颜色已变至红色,表明该
11、对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后松开鼠标,完成移动操作。二 Proteus软件的使用4)删除元器件对于误放置的元器件,右键双击对象即可删除,若不小心进行了误删除操作,可通过工具栏的撤销按钮进行恢复。5)调整元器件方位选中元器件,使其高亮显示,单击旋转按钮即可调整方位。二 Proteus软件的使用二 Proteus软件的使用6)撤销选中(刷新)编辑窗口显示正在编辑的电路原理图,可以通过执行菜单“View”“Redraw”命令来刷新显示内容,也可以单击工具栏的刷新命令按钮或者快捷键“R”,与此同时预览窗口中的内容也将被刷新。7)编辑对象先右键单击鼠标选中对象,然后单击对象,
12、此时出现属性编辑对话框。这时可以改变元器件标号、值、PCB封装以及是否把这些东西隐藏等,修改完毕单击“OK”按钮即可。二 Proteus软件的使用5.对原理图布线(1)单击绘图工具栏中的总线按钮,使之处于选中状态。将鼠标置于图形编辑窗口,绘制出总线。(2)单击绘图工具栏中的导线按钮,在图形编辑窗口完成导线或总线的标注。二 Proteus软件的使用6.Keil C与Proteus连接仿真调试 在Keil C中编译输出“*.EX”文件,右击选中工作区中的单片机芯片,单击打开属性对话框,如图2-20所示,按下按钮,在弹出的选择文件对话框中选择相应的“*.EX”文件。参数修改三 Keil C编译器的使
13、用 首先进行软件的安装,这里不再赘述。运行Keil软件,单击“Project”“New Project”(新建工程)命令,如图2-21所示。三 Keil C编译器的使用在出现的窗口中选择保存工程的路径及具体目录,如图2-22所示。三 Keil C编译器的使用输入新建工程文件名,如图2-23所示。三 Keil C编译器的使用(1)选择单片机类型,如图2-24所示。三 Keil C编译器的使用(2)选择单片机具体型号,单击确定,如图2-25所示。三 Keil C编译器的使用(3)在接着出现的窗口中单击“是”或“否”按钮均可,这里单击“是”按钮,如图2-26所示。三 Keil C编译器的使用(4)单
14、击菜单“File”“New Project”(新建文件)命令,如图2-27所示。三 Keil C编译器的使用(5)单击菜单“File”“Save”命令保存文件,在弹出目录与工程相同不要更改的对话框中输入文件名和扩展名(C语言加“c”后缀,汇编语言加“asm”后缀),如图2-28所示。三 Keil C编译器的使用(6)然后添加代码文件到工程中,单击“arget”前边的“+”符号,添加文件到Source Group1,方法如图2-29所示。三 Keil C编译器的使用(7)然后在出现的窗口中进行图2-30所示操作,即添加前面保存的代码文件到工程中。三 Keil C编译器的使用(8)接着就可以编写代
15、码了,代码编写过程中可随时保存且很有必要,关于代码的编写请查阅其他相关资料,代码编写区域如图2-31所示。三 Keil C编译器的使用 如果需要生成“.EX”文件,即烧录到单片机的文件,还应进行如图2-32所示操作。三 Keil C编译器的使用 在接着出现的窗口中进行如图2-33所示操作。三 Keil C编译器的使用在程序编写完成时要进行查错及文件编译,如图2-34所示。三 Keil C编译器的使用 窗口最下部为输出窗口,编译中出现的错误及警告可在此处看到,如图2-35所示。三 Keil C编译器的使用 调试程序直至没有出现错误,若事先选择了生成“.EX”文件,则系统将创建“.EX”文件,如图
16、2-36所示,再用相应软件即可将该文件烧录到单片机里。四 单片机系统开发过程 单片机应用系统由硬件和软件两部分组成。在系统的开发过程中,软件和硬件的功能总是在不断地调整以相互适应。硬件设计和软件设计不能分开,硬件设计时应考虑系统资源及软件实现方法,而软件设计时又必须了解硬件的工作原理。单片机应用系统开发过程包括总体设计、硬件设计、软件设计、仿真调试、可靠性实验和产品化等几个阶段,但各阶段不是绝对独立的,有时是交叉进行的。设计人员在接到某项单片机应用系统的研制任务后,一般先进行总体设计。四 单片机系统开发过程1.明确系统功能设计人员接到研制任务后,应先对用户提出的任务做深入细致的分析和研究,参考
17、国内外同类或相关产品的有关资料和标准,根据系统的工作环境、用途、功能和技术指标拟定出性价比最高的一套方案。四 单片机系统开发过程1)货源充足、稳定所选单片机芯片在国内元器件市场上货源要稳定、充足,并且有成熟的开发设备(主要指仿真器和编程器)。2)性价比高在保证性能指标的情况下,所用芯片价格要尽可能低,使系统有较高的性价比。3)芯片加密功能完善因为系统硬件无密可守,如果所选芯片加密功能不完善,容易破解,这对委托方与开发者的利益都可能造成潜在损害。四 单片机系统开发过程4)研发周期短在研制任务重、时间紧的情况下,应考虑采用设计人员比较熟悉的单片机系列,这样可以较快地进行系统设计。原则上应选择用户广
18、泛、技术成熟、性能稳定而设计人员又熟悉的单片机类型。在选定单片机类型后,通常还需要对系统中一些严重影响系统性能指标的器件(如传感器、微弱信号放大器等)进行选择。例如,一个设计合理的测控系统往往因传感器的精度或使用条件等因素的限制而达不到应有的效果。四 单片机系统开发过程2.硬件电路设计与搭建(2)系统配置及扩展标准必须充分满足系统的功能要求并留有余地,以便于系统的二次开发。(1)尽可能选择标准化、模块 化的典型电路,且符合单片机应用系统的常规用法。(3)硬件结构应结合控制程序设计一并考虑。(4)系统中相关的器件要尽可能做到性能匹配。(5)单片机外接电路较多时,必须考虑其驱动能力。(6)可靠性及
19、抗干扰设计是硬件系统设计不可缺少的一部分。设计原则 四 单片机系统开发过程3.软件(程序)设计与编译 一个单片机应用系统所拥有的硬件资源可分为片内和片外两部分。当设计人员选定某种型号的单片机芯片进行系统设计时,应充分利用片内的各种硬件资源。但在应用中,若片内硬件资源不足时,就需要在片外加以扩展。通过系统扩展,单片机应用系统具有了更多的硬件资源,因而有了更强的功能。四 单片机系统开发过程4.程序语言及程序结构选择 设计控制程序时可选择C语言,如Keil C,也可以选择汇编语言。选择C语言时,程序编写、调试相对容易,但编译后代码长,所需程序存储空间大,执行速度慢。而采用汇编语言时,情况则正好相反。
20、一个设计优良的单片机应用系统,应采用汇编语言编写监控程序。四 单片机系统开发过程5.软件可靠性设计 计算机系统不可靠的原因有很多,如电磁干扰、电源电压及温度波动、环境湿度变化等原因都可能干扰信号的输入/输出,甚至会造成程序计数器PC“走飞”、内部RA或存储单元数据丢失等不可预测的后果。四 单片机系统开发过程(1)PC“飞跳”过部分程序段,如果跳过的部分正好是接收输入数据程序段,则将造成随后的数据处理不正常。(2)拆分多字节指令,即将一条指令的操作数部分当作指令码执行。如果这一“指令码”属于多字节指令,又继续拆分下一指令,即把下一指令的操作码作为操作数处理。(3)跳到数据区,把数据当指令执行。危
21、害PC飞跳 后两种情况产生的结果将无法预料,毕竟程序设计者无法预测拆分的指令是哪些,因此,也就无法预料被拆分后的指令功能是什么,也许会改写内部RA、数据丢失,或关闭中断、改变外设工作方式,或进入死循环。四 单片机系统开发过程6.下载程序到单片机中并调试1)利用编程器把程序写入单片机 编程器是一个专门用于单片机写入的设备,写入就是把程序代码存储到单片机的过程。程序写入过程是把单片机或存储芯片插到编程器的插座上,然后用编程器插座上的一个小扳手把单片机或存储器芯片夹住,这样,单片机或存储器的每一个金属管脚与编程器插座的每一个插孔实现了电气连接,单片机或存储器就做好了接收数据的准备。编程器通过串口、U
22、SB口或并口与普通计算机连接,计算机端通过写入芯片的应用程序控制编程器的工作,将编译好的“.EX”文件中的十六进制代码写入单片机专门用于存储执行代码的空间中。四 单片机系统开发过程2)利用下载线把程序在线写入单片机 现在一些新型的单片机(如A89S51)大都支持在线下载功能(in-system programming)。在线下载与前述提到的编程器写入单片机不同,在线下载不需要使用编程器就能使代码在目标系统中直接被写入,即指令代码能从普通计算机直接写入到单片机中。要实现在线下载,需要一根下载线,这是一条连接计算机并口(也有适用于串口或USB口的)和单片机在线下载接口的电缆。四 单片机系统开发过程
23、2)利用下载线把程序在线写入单片机 现在一些新型的单片机(如A89S51)大都支持在线下载功能(in-system programming)。在线下载与前述提到的编程器写入单片机不同,在线下载不需要使用编程器就能使代码在目标系统中直接被写入,即指令代码能从普通计算机直接写入到单片机中。要实现在线下载,需要一根下载线,这是一条连接计算机并口(也有适用于串口或USB口的)和单片机在线下载接口的电缆。四 单片机系统开发过程2)利用下载线把程序在线写入单片机 现在一些新型的单片机(如A89S51)大都支持在线下载功能(in-system programming)。在线下载与前述提到的编程器写入单片机不
24、同,在线下载不需要使用编程器就能使代码在目标系统中直接被写入,即指令代码能从普通计算机直接写入到单片机中。要实现在线下载,需要一根下载线,这是一条连接计算机并口(也有适用于串口或USB口的)和单片机在线下载接口的电缆。四 单片机系统开发过程2)利用下载线把程序在线写入单片机 现在一些新型的单片机(如A89S51)大都支持在线下载功能(in-system programming)。在线下载与前述提到的编程器写入单片机不同,在线下载不需要使用编程器就能使代码在目标系统中直接被写入,即指令代码能从普通计算机直接写入到单片机中。要实现在线下载,需要一根下载线,这是一条连接计算机并口(也有适用于串口或U
25、SB口的)和单片机在线下载接口的电缆。四 单片机系统开发过程2)利用下载线把程序在线写入单片机 现在一些新型的单片机(如A89S51)大都支持在线下载功能(in-system programming)。在线下载与前述提到的编程器写入单片机不同,在线下载不需要使用编程器就能使代码在目标系统中直接被写入,即指令代码能从普通计算机直接写入到单片机中。要实现在线下载,需要一根下载线,这是一条连接计算机并口(也有适用于串口或USB口的)和单片机在线下载接口的电缆。任务汽车双闪灯控制程序的编译工作内容及要求双闪灯即危险报警闪光灯。开关为红三角标志的按钮。双闪灯是一种提醒其他车辆与行人注意本车发生了特殊情况
26、的信号灯。在驾车过程中遇到浓雾天气,能见度低于50 m时,由于视线不好,司机不仅应该开启前、后防雾灯,同时还应该开启危险报警闪光灯,即汽车两侧的转向灯同时闪烁,以提醒过往车辆及行人注意。特别是提醒后方行驶的车辆应保持应有的安全距离和必要的安全车速,避免紧急刹车而引起追尾事故。本任务中,我们要利用单片机驱动左右两个发光二极管来模拟双闪灯,发光二极管的亮灭过程即双闪灯的闪烁过程,亮灭之间的时间间隔通过单片机延时500 ms程序控制完成。双闪按钮实物图如图2-37所示。任务汽车双闪灯控制程序的编译图2-37双闪按钮任务汽车双闪灯控制程序的编译任务分析本任务用A89S51单片机作为本系统的控制核心,利
27、用单片机P0口的两个位端口控制两个发光二极管,利用延时程序来控制发光二极管亮与灭之间的时间间隔达到500 ms,从而来模拟汽车的两个转向灯实现“双闪”功能。两个发光二极管接限流电阻,起到保护二极管的作用。在第一个学习任务中我们学到了单片机驱动负载的方法,这里我们仍然采用单片机接收输入电流,提供低电平使发光二极管发光。因此,我们使P0.0和P0.7分别接发光二极管的负极。其他按单片机最小系统的接法,即40号引脚接电源,20号引脚接地,电解电容接复位端9号引脚上,18和19号引脚接晶振的两端,31号引脚接电源。一、硬件电路及软件程序设计 1.“双闪”硬件电路设计 根据本任务的工作内容及要求,结合任 务分析,设计的汽车双闪灯控制系统硬件电 路图如图2-38所示。根据硬件电路图在面包 板上连接此汽车双闪灯模拟电路。实训模块汽车双闪灯控制系统的设计实训模块汽车双闪灯控制系统的设计