微机原理及应用实验指导书--2015秋_第1页
微机原理及应用实验指导书--2015秋_第2页
微机原理及应用实验指导书--2015秋_第3页
微机原理及应用实验指导书--2015秋_第4页
微机原理及应用实验指导书--2015秋_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理与应用课程实验备课笔记实验指导教师:郝昕玉前言一、微机原理与应用课程内容提要本课程主要介绍MCS-51单片机的原理及应用,内容包括:MCS-51单片机的基本组成,指令系统和程序设计的方法,片内各种功能部件的设置及应用,并行、串行接口扩展芯片及存储器系统的扩展,单片机应用。二、实验的地位、作用和目的本门课是一门实践性很强的课程,对实验环节必须充分予以重视。通过实验,培养学生的动手能力,加深对课堂所学知识的理解,掌握单片机原理及其实际应用。通过实验达到:1、加深了解单片机的硬件结构,熟悉单片机实验系统;、了解简单的单片机应用系统结构;、熟悉单片机控制系统开发过程及有关硬件及软件的使用方法。

2、2、学会使用汇编软件进行程序的设计、调试及运行方法。三、实验课程任务、教学方法及学时分配任务:通过实验,使同学们掌握单片机系统的组成情况,能够使用汇编语言编制程序,了解单片机的外部扩展。教学方法:1、汇编语言源程序上机调试时,启发、引导学生自己解决调试过程中的问题,这样可提高学生的编程能力。2、硬件实验组成电路时,指导学生掌握组成电路的原则。学时分配:1、单片机最小系统的熟悉 2学时2、分支程序,查表程序编写调试实验 2学时3、多字节、多进制加减运算实验 2学时4、数码管动态扫描显示实验 2学时实验一、单片机最小系统的熟悉一、实验目的在进行其他实验之前,先熟悉实验装置的核心模块单片机最小系统模

3、块。掌握该实验模块的电路原理和接口的使用方法。1掌握单片机振荡器时钟电路及CPU工作时序;掌握复位状态及复位电路原理;掌握单片机各引脚功能及通用I/O口的使用;掌握单片机基本指令的使用。2掌握IDE集成开发环境,仿真器等开发工具的使用。二、实验中实验设备的介绍(一) 认识单片机现场演示单片机芯片,对以下内容作简要介绍(绍主要内容,大部分内容由学生提前预习自学),加深学生对单片机结构的了解。1 AT89C51引脚说明我们以常用的单片机芯片AT89C51为教学实例,首先对其引脚进行简要介绍:u P0.0P0.7:P0口的8位双向三态I/O口线;u P1.0P1.7:P1口的8位准双向口线;u P2

4、.0P2.7:P2口的8位准双向口线;u P3.0P3.7:P3口的8位具有双重功能的准双向口线;u -ALE:地址锁存控制信号。u -PSEN:外部程序存储器读选通信号,读外部ROM时PSEN低电平有效。u -EA:访问程序存储器控制信号,当EA为低电平时,对ROM的读操作限制在外部程序存储器;当EA为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。 AT89C51引脚图及逻辑符号图u RST 复位信号,复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。u XTAL1 和 XTAL2 外接晶体引线端,当使用芯片内部时钟时,此二引线端用于

5、外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。u Vss 地线。u Vcc +5V电源。P3口线的第二功能见表1-1,这些特殊功能我们将在以后的实验中进行学习。表1-1 P3口线的第二功能口线第二功能信 号 名 称P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2INT0外部中断0申请P3.3INT1外部中断1申请P3.4T0定时器/计数器0计数输入P3.5T1定时器/计数器1计数输入P3.6WR外部RAM写选通P3.7RD外部RAM读通2 振荡电路、时钟电路和CPU时序(1)振荡电路、时钟电路。如图1- 2所示,外部时钟振荡电路由晶体振荡器和电容C1、C2构成并

6、联谐振电路,连接在XTAL1、XTAL2脚两端。对外部C1、C2的取值虽然没有严格的要求,但电容的大小会影响到振荡器频率的高低、振荡器的稳定性、起振的快速性。C1、C2通常取值C1=C2=30PF左右;8051的晶振最高振荡频率为12M,AT89C51的外部晶振最高频率可到24M。在单片机最小系统板上已经提供了晶振电路,在使用该电路时,应加上跳线帽,并插入合适的晶振。图1-2片内振荡器等效电路和外接元件AT89C51也可以采用外部时钟方式,外部时钟从XTAL1脚输入,XTAL2脚浮空。可以采用我们板子上提供的外部时钟源作为单片机外部时钟输入。(2)CPU时序晶振(或外部时钟)的振荡频率的确定,

7、就确定了CPU的工作时序。这里介绍几个重要的时序概念,我们在以后的实验中还会经常涉及到: 振荡周期:是指为单片机提供定时信号的振荡器的周期。 时钟周期:振荡周期的两倍,前部分通常用来完成算术逻辑操作;后部分完成内部寄存器和寄存器间的传输。 机器周期:在8051单片机中,一个机器周期由12个振荡周期组成。 指令周期:是指执行一条指令所占用的全部时间。一个指令周期通常含有14个机器周期。机器周期和指令周期是两个很重要的衡量单片机工作速度的值。若外接12MHz晶振时,8051的四个周期的值为:振荡周期=1/12us;时钟周期=1/6us;机器周期=1us;指令周期=14us。在一些应用中,传统的80

8、51的速度显得有些慢,因此,当前很多采用8051内核的新型单片机采用了加速处理器结构,使机器周期提高到振荡周期的6倍、4倍等等,RISC(精简指令集)的采用,更让单片机在单个时钟周期完成一条指令,使得单片机在处理速度上得到大大提高。3 复位状态和复位电路设计(1)复位状态在8051单片机中,只要在单片机的RST引脚上出现2个机器周期以上的高电平,单片机就实现了复位。单片机在复位后,从0000H地址开始执行指令。复位以后单片机的P0P3口输出高电平,且处于输入状态,SP(堆栈寄存器栈顶指针)的值为07H(因此,往往需要重新赋值,其余特殊功能寄存器和PC(程序计数器)都被清为0。复位不影响内部RA

9、M的状态。(2)复位电路单片机可靠的复位是保证单片机正常运行的关键因素。因此,在设计复位电路时,通常要使RST引脚保持10ms以上的高电平。当RST从高电平变为低电平之后,单片机就从0000H地址开始执行程序。8051单片机通常都采用上电自动复位和开关复位两种方式。实际使用中,有些外围芯片也需要复位,如8255等。这些复位端的复位电平要求与单片机的复位要求一致时,可以把它们连起来。在最小系统板上,提供了一个通用的复位电路,在使用该板之前,必须将该电路与单片机联结起来。另外,还可以采用主板上的微处理器监控模块来控制复位脚,以便更加可靠地管理单片机的工作。 4 存储器、特殊功能寄存器及位地址51单

10、片机的存储器包括5个部分:程序存储器、内部数据存储器、特殊功能寄存器、位地址空间、外部数据存储器。位地址空间、特殊功能寄存器包括在内部数据存储器内。51单片机的内部数据存储器一般只有128字节或256字节,当空间不够用时也就需要扩展外部数据存储器(参见实验十三)。有些单片机不具有内部程序存储器,例如8031,这时就需要扩展外部程序存储器(参见实验十四)。在单片机系统中,程序存储器和外部数据存储器的编址独立,各可寻址64K字节空间。两者在电路上,可以通过PSEN信号线区别开来。特殊功能寄存器是非常重要的部分,我们通过对特殊功能寄存器的设置和读写来完成单片机的大部分工作。限于篇幅,这里不对其内容进

11、行罗列,请查阅有关书籍。5 51系列单片机内部资源概览表芯片种类片内存储器中断源定时/计数器串行口耗电制造工艺ROM/EPROMRAM80514K128521125mAHMOS80528K256631100mAHMOS以上列出的是Intel8051、8051的主要资源配置。现在,由于8位51单片机的广泛使用,各个芯片生产厂商推出了具有自身特色的采用51内核的单片机,它们在这些基本资源的基础上进行了进一步的裁减或增强。二、介绍单片机仿真器(伟福S51、仿真头POD-H8X5X),烧录器(西尔特Superpro 680);现场演示伟福S51、仿真头POD-H8X5X,介绍其功能、各部分的用途及有关

12、线的联接方法。 。PODH8X5X / PODH591 仿真头PODH8X5X 可以从外部引入仿真电源,来仿真2.7V5.5V用户电压,当用户需要仿真低电压时,将“电源选择跳线”接成“外部电源接入”方式即可。仿真头的低电压由用户板提供。注意:当用户想仿真低电压时,仿真头上的仿真CPU必须能工作于低电压状态。(详见PODH8X5X 使用说明)仿真器与PODH8X5X 仿真头连接图 仿真器仿真器使用9 针串行口,与PC 机用两头为孔的串行电缆连接。对于一些只有USB 口而没有串口的计算机,可以使用USB转串口电缆将USB 转成串行口。仿真器外形示意图K51L/K51T/K51S 51 系列专用型仿

13、真器本实验用S51型三、介绍实验用汇编软件及其的使用方法现场用大屏幕示操作并讲解(介绍主要内容,大部分内容由学生提前预习自学)。本实验使用威福软件。打开桌面上的图标,显示如下画面:8文件(F)文件| 打开文件打开用户程序,进行编辑。如果文件已经在项目中,可以在项目窗口中双击相应文件名打开文件.文件| 保存文件保存用户程序。用户在修改程序后,如果进行编译,则在编译前,系统会自动将修改过的文件存盘.文件| 新建文件建立一个新的用户程序, 在存盘的时候,系统会要求用户输入文件名.文件| 另存为将用户程序存成另外一个文件, 原来的文件内容不会改变文件| 重新打开在重新打开的下拉菜单中有最近打开过的文件

14、及项目,选择相应的文件名或项目名就可以重新打开文件或项目。仿真器设置包括仿真器类型,仿真头(POD)类型,CPU 类型,显示格式和产生的目标文件类型可以用以下几种方法设置仿真器.o 在项目窗口中双击第一行,将打开仿真器设置窗口,对仿真器进行设置.o 按鼠标右键,在弹出菜单中选择仿真器设置.o 主菜单仿真器|仿真器设置.加入模块文件o 按鼠标右键,在弹出菜单中选择加入模块文件o 主菜单项目|加入模块文件加入包含文件o 按鼠标右键,在弹出菜单中选择加入包含文件o 主菜单项目|加入包含文件用户可以将以前单文件方式仿真转为WINDOWS 下的项目方式进行仿真1.主菜单文件|新建项目,在新建项目时,前一

15、个项目自动关闭.2.加入模块文件时,选择要调试的程序文件名,将文件加入项目.3.将项目存盘.4.编译,运行,调试项目.文件| 保存项目将用户项目存盘。用户在编译项目时,自动存盘。注意:当用项目仿真时,系统要求项目文件,模块文件,包含文件在同一个目录(文件夹)下.文件| 新建项目当用户开始新的任务时,应新建一个项目,在项目中,设置所用仿真器类型,POD类型,加入用户程序(模块)。文件| 关闭项目关闭当前项目,如果用户不想用项目方式调试单个程序,就要先关闭当前项目。文件| 项目另存为将项目换名存盘,此方法只是将项目用另一个名字,而不会将项目中的模块和包含文件换成另一个名字存盘.如果想将整个项目及模

16、块存到另一个地方,请用复制项目方法.文件| 复制项目复制项目,用户可以将项目中的所有模块(用户程序)备份到另一个地方。在多模块项目中,用复制项目功能,可以避免用户因为少复制某些模块,而造成项目编译不能通过.方便用户对程序进行管理.文件| 调入目标文件装入用户已编译好目标文件。系统支持两种目标文件格式:BIN,HEX 格式地址选择一般为缺省地址(由编译器定).如果想在当前项目已编译好的二进制代码中插入一段其它代码,可以去掉”缺省地址”前的选择.然后填入开始插入的地址和结束地址。用调入目标文件的方法,可以调试已有的二进制代码程序.而不需要源程序.直接调入目标文件进行仿真的方法是:1.关闭项目。2.

17、在新建的项目中,设置仿真器类型,仿真头类型,CPU 类型.3.调入目标文件.(不要用加入模块方式,而是直接调入文件)4.打开CPU 窗口,在CPU 窗口中就可以看见目标文件反汇编生成的程序.5.程序停在与CPU 相关的地址上(51 系列停在0000H处,96系列停在2080H)6.这样就可以单步或全速调试程序了.目标文件可以存成两种格式:二进制格式(BIN):由编译器生成的二进制文件,也就是程序的机器码英特尔格式(HEX):由英特尔定义的一种格式,用ASCII 码来存储编译器生成的二进制代码,这种格式包括地址,数据和校验地址选择一般为缺省地址(由编译器定).如果想要存盘的目标文件是由“调入目标

18、文件”方式装入,而不是由系统编译产生的代码,并已经修改,最好指定它的开始地址和结束地址,因为代码不是编译系统产生的.系统不知道文件有多长,无法指定开始和结束地址。自己指定地址的方法是: 去掉缺省地址前的选择勾.然后填入开始插入的地址和结束地址。文件| 反汇编将可执行的代码反汇编成汇编语言程序。(详见伟福反汇编功能的使用方法)文件| 打印打印用户程序。文件| 退出退出系统,如果在退出以前有修改过的文件没有存盘,系统将会提示是否把文件存盘.(2)编辑(E)编辑| 撤消键入取消上一次操作编辑| 重复键入恢复被取消的操作编辑| 剪切删除选定的正文,删除的内容被送到剪贴板上编辑| 复制将选定的内容,复制

19、到剪贴板上编辑| 粘帖将剪贴板的内容插入光标位置编辑| 全选选定当前窗口所有内容。 8(3)搜索(S)搜索| 查找在当前窗口中查找符号,字串。可以指定区分大小写方式,全字匹配方式,可以向上向下查找。搜索| 在文件中查找可以在指定的一批文件中查找某个关键字。搜索| 替换在当前窗口查找相应文字,并替换成指定的文字,可以指定区分大小写方式和全字匹配方式查找,可以在指定处替换,也可以全部替换。搜索| 查找下一个查找文字符号下一次出现的地方搜索| 项目中查找在项目所有模块(文件)中查找符号,字串。在项目所包含的文比较多时,用此方法可以很方便地查到字串在什么地方出现。搜索| 转到指定行将光标转到程序的某一

20、行。搜索| 转到指定地址/标号将光标转到指定地址或标号所在的位置。搜索| 转到当前PC 所在行将光标转到PC 所在的程序位置。8项目(P)项目| 编译编译当前窗口的程序。如有错误,系统将会指出错误所在的位置。项目| 全部编译全部编译项目中所有的模块(程序文件),包含文件。如有错误系统会指出错误所在位置。项目| 装入OMF 文件建好项目后,无须编译,直接装入在其它环境中编译好的调试信息,在伟福环境中调试。项目| 加入模块文件在当前项目中添加一个模块。项目| 加入包含文件在当前项目中添加一个包含文件 8(4)执行(R)执行| 全速执行运行程序执行| 跟踪跟踪程序执行的每步,观察程序运行状态。执行|

21、 单步单步执行程序,与跟踪不同的是,跟踪可以跟踪到函数或过程的内部,而单步执行则不跟踪到程序内部。执行| 执行到光标处程序从当前PC 位置,全速执行到光标所在的行。如果光标所在行没有可执行代码。则提示“这行没有代码”执行| 暂停暂停正在全速执行的程序。执行| 复位终止调试过程,程序将被复位。如果程序正在全速执行,则应先停止。执行| 设置PC将程序指针PC,设置到光标所在行。程序将从光标所在行开始执行。执行| 自动单步跟踪/单步模仿用户连续按F7 或F8 单步执行程序。执行| 编辑观察项观察变量或表达式的值,可以将需要检查和修改的值或表达式放到观察窗口里以便检查和修改。(图:观察项对话框)察内容

22、,也就是按地址顺序显示变量值,与变量类型无关求值: 对表达式求值,并按显示格式显示在窗口内.加入观察:将表达式加入观察窗口中,以便随时察看.编辑观察:当修改过窗口内容后,按此键后,替代观察窗口中的原观察项,如果选择加入观察,则会在观察窗口中另加一个变量的观察项,以两种格式观察一个变量.取消: 关闭编辑观察项窗口执行| 设置/取消断点将光标所在行设为断点,如果该行原来已为断点,则取消该断点。所有断点通过断点窗口进行管理。四种方法可以在光标处设置断点1.将光标移到编辑窗口内,行左边的空白处,光标变成“手指圆”箭头,单击鼠标左键, 可以设置/取消断点.2.使用Ctrl-F8 快捷键,可以在光标所在行

23、设置/取消断点3.右击鼠标, 弹出菜单,选择设置/取消断点,4.主菜单执行/设置取消断点,也可以用Alt-R / B 菜单快捷设置取消断点执行| 清除全部断点清除程序中所有的断点。让程序全速执行8(5)窗口(W)窗口| 刷新刷新打开的所有窗口,及窗口里的数据。窗口| 项目窗口打开项目窗口,以便在项目中加入模块或包含文件。(图:项目窗口)窗口| 信息窗口显示系统编译输出的信息。如果程序有错,会以图标形式指出,窗口| 观察窗口项目编译正确后,可以在观察窗口中看到当前项目中的所有模块,及各模块中的所在过程和函数,及各个过程函数中的各个变量,结构。如果能充分利用观察窗口的强大功能,可以加快你开发速度。

24、窗口| CPU 窗口 反汇编窗口的弹出菜单执行到光标处:使程序从当前PC 值,全速执行到光标所在行,用这种方法可以在调试程序时,跳过一些不必要的指令.将程序停到所要求的位置上.转到指定地址/标号:将光标跳到某个地址或标号所在位置,以便察看相应的程序,或使用“执行到光标处”功能,也可以设置断点, ,将程序全速执行到相应位置.转到当前PC所在行:将光标跳到PC所在行,由于在检查程序时,可能会将PC所在行移出当前窗口,用这种方法可找回PC 所在行.取消/设置断点:在光标所在行,设置断点,使程序全速执行到此处.若此行已是断点,再次点击将取消该断点.寄存器窗口的弹出菜单加入观察: 将当前寄存器放入观察窗

25、口,以方便随时察看.修 改: 修改当前寄存器值.在程序执行时,可以用这种方法,把寄存器值改为你所指定的值,从而观察程序在此值时运行的结果.窗口| 数据窗口数据窗口根据选择的CPU 类型不同,名称有所不同。51 系列有以下四种数据窗口DATA 内部数据窗口 CODE 程序数据窗口XDATA 外部数据窗口 PDATA 外部数据窗口(页方式) BIT 窗口以51系列为例说明数据窗口的操作方法,其它CPU 类型的数据窗口基本相同 内部数据窗口在内部数据窗口中可以看到CPU 内部的数据值,红色的为上一步执行过程中,改变过的值,窗口状态栏中为选中数据的地址,可以在选中的数据上直接修改数据的十六进制值,也可

26、以用弹出菜单的修改功能,修改选中的数据值。弹出菜单:修改:修改选中数据的值,可以输入十进制,十六进制,二进制的值,与直接修改不同的是,用这种方法可以输入多种格式数据,而直接修改只能输入十六进制数据。46(十进制),2EH(十六进制),00101110B(二进制)都是有效的数据格式,转到指定地址/标号:将数据地址直接转到指定的地址和标号所在的位置。生成数据源码:将窗口中某段数据转换成源程序方式的数据,可以贴到你的源程中。块操作:对窗口中的数据块进行填充、移动、写文件、读入等操作。显示为:选择不同的数据类型显示数据内容,可以是字节方式(BYTE),也可以是字方式(WORD,两字节),可以是长整型(

27、LONGINT,四字节),也可以是实数型(REAL,四字节)。这里是选择整个窗口的显示方式,如果想指定个别数据的显示方式,可以用主菜单执行|编辑观察项功能,选择所要选择的显示类型。(参见编辑观察项窗口)显示列数:将窗口中数据以4 列、8 列、16 列方式显示。适应不同需要。程序数据窗口显示的是编译后程序码,状态栏显示的是选中数据的地址,可以对在选中数据上直接修改程序数据的十六进制值,也可以对程序数据进行块填充,块移动操作,也可以读入一段二进制代码插入程序数据中,也可以将程序数据中的某段代码写文件中. 弹出菜单修改:修改选中数据的值,可以输入十进制,十六进制,二进制的值,与直接修改不同的是,用这

28、种方法可以输入多种格式数据,而直接修改只能输入十六进制数据。46(十进制),2EH(十六进制),00101110B(二进制)都是有效的数据格式.生成数据源码:将窗口中某段数据转换成源程序方式的数据,可以贴到你的源程序中。块操作: 对程序数据以块的方式进行操作.在窗口中按往左键拖动,可以选择块。块填充:将选中的块内数据值,填充为指定值.块移动:将选中的块移动到指定地址.读文件:读入二进制代码文件,插入的指定的地址内.(参见调入目标文件功能)写文件:将程序数据指定地址的一段代码写入文件.(参见保存目标文件功能)显示为:选择不同的数据类型显示数据内容,可以是字节方式(BYTE),也可以是字方式(WO

29、RD,两字节),可以是长整型(LONGINT,四字节),也可以是实数型(REAL,四字节)。这里是选择整个窗口的显示方式.窗口| 断点窗口通过断点窗口可以管理项目内的断点。可以在断点窗口中直观地看到断点的行号,内容,可以通过断点迅速定位程序所在的位置。窗口| 书签窗口通过书签窗口可以管理项目内的书签,在项目中迅速定位程序位置。窗口| 跟踪窗口显示跟踪器捕捉到的程序执行的轨迹,其中可以看到帧号,时标,反汇编程序,对应的源程序和程序所在的文件名。通过它,可以清楚地看到程序执行时,各端口输出的波形,迅速地帮助你找出硬件和软件中设计错误。窗口| 工具条通过工具条,可以打开/关闭菜单上的各功能的快捷按钮

30、。窗口| 排列窗口对打开的程序窗口进行管理。可叠排、坚排、横排、最小化源程序窗口。(6)外设(L)外设| 端口设置或观察当前端口的状态。外设| 定时器/计数器0定义或观察定时器/计数器0,通过定义定时器/计数器的工作方式,自动生成相应的汇编/C 语言。可以“复制/粘贴”到你的程序中。外设| 定时器/计数器1定义或观察定时器/计数器1,通过定义定时器/计数器的工作方式,自动生成相应的汇编/C 语言。可以“复制/粘贴”到你的程序中。外设| 定时器/计数器2定义或观察定时器/计数器2,通过定义定时器/计数器的工作方式,自动生成相应的汇编/C语言。可以“复制/粘贴”到你的程序中。外设| 串行口定义或观

31、察串行口的工作方式,可以观察串行口的工作方式是否正确,也可以定义串口的工作方式,自动生成串口初始化程序。(串口的波特率的时钟为仿真器设置中“使用伟福软件模拟器”的晶体频率,见“仿真头设置”)外设| 中断管理或观察中断源,也可以辅助生成中断初始化程序。(7)仿真器(O)仿真器| 仿真器设置语言设置设置项目编译语言的路径,命令行选项。编译器路径:指明本系统汇编器,编译器所在位置,系统缺省51 系列编译器在C:COMP51文件夹下,缺省96系列编译器在C:COMP96文件夹下.本系统使用的编译器为第三方软件,你应从其它途径获得.ASM 命令行:若使用英特尔汇编器,则需要加上所需的命令行参数。若使用伟

32、福汇编器,则需要选择是否使用伟福预定义的符号.在伟福汇编器中已经把51/96 使用的一些常用符号,寄存器名定义为相应的值.如果你使用伟福汇编器,就可以直接使用这些符号.如果你自己已经定义了这些符号,又想使用伟福汇编器,就将“使用伟福预定义符号”前面的选择去掉.C 命令行: 项目中若有C 语言程序,系统进行编译时,使用此行参数对C程序进行编译.PL/M 命令行:项目中若有PL/M 语言程序,系统编译时,就使用此行参数对程序进行编译.LINK 命令行:系统对目标文件链接时,使用此参数链接.注: 除非你对命令行参数非常了解,并且确实需要修改这些参数,一般情况下,不需要修改系统给出的缺省参数.以免系统

33、不能正常编译.编译器选择: 选择使用伟福汇编器,还是英特尔汇编器,系统对C 语言程序和PL/M 语言编译是采用第三方编译器. 一般情况下,如果用户项目中都是汇编语言程序,没有C 语言和PL/M 语言,选择伟福汇编器. 如果用户项目中含有C 语言,PL/M 语言,或者汇编语言是用英特尔格式编写的,就选择英特尔汇编器.缺省显示格式:指定观察变量显示的方式,一般为混合十/十六进制.命令行的缺省如右图。右是HT-PICC 语言,C命令行的缺省如下图。 目标文件设置选择仿真头: 框内为相应仿真器能支持的仿真头类型,选择所使用的仿真头.选择CPU: 框内为选择的仿真器和仿真头能等进行仿真支持的CPU.使用

34、伟福软件模拟器:使用伟福软件模拟器,可以在完全脱离硬件仿真器情况下,对软件进行模拟执行. 如果使用硬件仿真器,请不要选择使用伟福软件.晶体频率: 在使用伟福软件模拟功能时, 用来计算在软件模拟环境下程序执行时间。在外设中串行口的波特率也是依据此频率计算出的。仿真头设置: 可以设置该仿真头的特殊功能。包括仿真空间,看门狗,加密位等等.仿真头(POD)类型不同,设置内容有所不同. (见仿真头设置)如果按照以上方式,定义好后,系统已经将控制字写入2018H 及201AH(MC/MD)单元,即使用户在程序中自己定义控制字,系统并不采用,而是用此对话框设置为准,所以用户在仿真时和生成目标代码时,请用此对

35、话框设置196系列的控制字.8帮助(H)帮助| 关于帮助| CHINESE选择中文或英文显示方式,适应不同操作系统的需要。帮助| 安装MPASM辅助用户安装Microchip 的汇编器。将伟福BIN文件夹下的MPASM复制到指定的文件夹里。六、快速入门1建立你的新程序选择菜单文件| 新建文件功能出现一个文件名为NONAME1 的源程序窗口,在此窗口中输入以下程序ORG 0MOV A,#0MOV P1,#0 Loop:INC P1CALL DelaySJMP LOOPDelay:MOV R2,#3MOV R1,#0MOV R2,#0DLP:DJNZ R0,DLPDJNZ R1,DLPDJNZ R

36、2,DLPRETEND输出程序后的窗口如图,现在要做的是将此文件存盘。2保存你的程序选择菜单文件| 保存文件或文件| 另存为功能给出文件所要保存的位置,例如:C:WAVE6000SAMPLES 文件夹,再给出文件名MY1.ASM。保存文件。3建立新的项目新建项目会自动分三步走。A) 加入模块文件。在加入模块文件的对话框中选择刚才保存的文件MY1.ASM,按打开键。如果你是多模块项目,可以同时选择多个文件再打开。B) 加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选)。如果没有包含文件,按取消键。C) 保存项目。在保存项目对话框中输入项目名称。MY1 无须加后缀。软件会自动将

37、后缀设成“.PRJ”。按保存键将项目存在与你的源程序相同的文件夹下。4设置项目选择菜单设置| 仿真器设置功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框在“仿真器”栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机。在“语言”栏中,“编译器选择”根据本例的程序选择为“伟福汇编器”。如果你的程序是C 语言或INTEL格式的汇编语言,可根据你安装的Keil 编译器版本选择“Keil C (V4或更低)”还是“Keil C (V5或更高)”。按“好”键确定。当仿真器设置好后,可再次保存项目。5编译你的程序选择菜单项目| 编译功能或按编译快捷图标或F9 键,编译你的项

38、目。在编译过程中,如果有错可以在信息窗口中显示出来,双击错误信息,可以在源程序中定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序存盘。在编译没有错误后,就可调试程序了,首先我们来单步跟踪调试程序。6单步调试程序选择执行| 跟踪功能或按跟踪快捷图标或按F7 键进行单步跟踪调试程序7连接硬件仿真按照说明书,将仿真器通过串行电缆连接计算机上,将仿真头接到仿真器,检查接线否有误,确信没有接错后,接上电源,打开仿真器的电源开关。参见第4 步,设置项目,在“仿真器”和“通信设置”栏的下方有“使用伟福软件模拟器”的选择项。将其前面框内的勾去掉。在通信设置中选择正确的串行口。按

39、“好”确认。如果仿真器和仿真头设置正确,并且硬件连接没有错误,就会出现如图的“硬件仿真”的对话框,并显示仿真器、仿真头的型号如果用户已经有写好的程序,可以从第3步“新建项目”开始,将你的程序加入项目,就能以项目方式仿真了。如果用户不想以项目方式仿真,则要先关闭项目,再打开你的程序,并且要正确设置仿真器、仿真头,然后再编译、调试程序。到此为止,你已经学会使用伟福的仿真环境了。在使用过程中,你会逐步提高自己的技能。伟福仿真器的更多功能可参考本说明书的其它部分。四、介绍实验用的仪器MPC100B -I型实验箱及主要的各功能模块及其用途。(单片机最小系统实验模块,键盘实验模块,发光二极管阵列实验模块)

40、介绍实验用的仪器MPC100B -I型实验箱的各功能模块及其用途。整个单片机实验系统由实验箱、功能扩展模块、单片机专用开发工具等组成。以下主要介绍实验箱的组成。实验箱主要包括:单片机最小系统、基础板。1)单片机最小系统最小系统板是本实验装置的核心模块,它提供了51单片机的一个最小工作系统,并充分地扩展了单片机总线和I/O口以便于与其他模块的电路连接。最小系统板包括的外围电路有:时钟电路、复位电路、P0口锁存电路、拨码开关电路。最小系统板上扩展的I/O口,包括P0、P1、P2、P3口的每个管脚独立都引出,作为数据总线(P0口),地址总线低8位(P0口经锁存后的输出),地址总线高8位用8针的双排插

41、针座引出;控制总线(WR, RD, ALE等)独立引出。由于最小系统板的独立式可更换设计,使得本实验装置可通过改变这个最小系统板来进行不同家族单片机的实验教学,如PIC,96家族单片机等,非常灵活和方便。2)基础板基础板是实验装置的实验基础,共由21个模块组成,本课程实验实验使用到发光二极管阵列模块;键盘模块(独立式与矩阵式两用键盘);动态数码管扫描显示模块;时钟源模块;电源模块(±12V/±5V)等。五介绍仿真头、仿真器、机、MPC100B -I型实验箱的联接方法现场演示。三、提出实验要求1连接实验电路,编写简易单片机汇编程序达到下述工作要求:以任意两个独立式按键作为输入

42、,当第一键按下时,点亮第一行发光二极管;当第二键按下时,点亮第二行发光二极管。2将编写的程序调入仿真器中,在IDE集成开发环境中进行调试;3在IDE中产生机器码文件,用烧录器烧录到单片机芯片中,插在板子上观察工作情况。四、实验原理()原理图中的发光二极管使用实验箱中的发光二极管阵弄模块,阵列模块如左图所示:该模块每行为8个发光二极管,共4行。每行与底部的8针排线座相对应。第一行发光二极管与从左数第一个插座对应,第二行发光二极管与左数第二个插座对应。插座的每个引脚与发光管阴极相连,也就是说,当对应脚为低电平时,发光二极管点亮。(2)原理图中的按键开关使用实验箱中的键盘阵列模块:键盘模块是“独立式

43、”和“矩阵式”两用键盘。使用之前,必须连接键盘模块右下角的VCC和GND,为模块提供电源。模块右边的S0S15锁紧孔,是独立式键盘接口,分别对应着实验仪器上健盘模块中的键S0S15。当某个键按下时,对应的接口将被拉低。五、实验步骤1、连接单片机与复位电路、时钟源(晶振电路或外部时钟源),选择几组I/O口,用导线分别连接发光二极管阵列、及键盘。2、编写程序若实验在实验开出前已学过指令及程序设计、单片机的接口,则指导学生预先编写程序,若学生未学习指令及程序设计前开出,可提供以下示例程序供学生调试。假设P1.0,P1.1口分别连接两个键,P0口连接第一行发光二极管,P2口连接第二行发光二极管,参看电

44、路图13。程序实例如下: ORG 0000HSTART: MOV P1,0FFHMOV A,P1MOV 40H,A;暂存于40HACALL DL10MS;去抖延时MOV A,P1CJNE A,40H,PASSCJNE A,#0FEH,LAMP1;第一键?MOV P2,#0FFHMOV P0,#00H ;点亮第一行发光二极管PASS: LCALL DL10MS ;延时AJMP STARTLAMP1: CJNE A,#0FDH,PASS;第二键? MOV P0,#0FFHMOV P2,#00HAJMP PASS;延时子程序:DL10MS: MOV R7,#08hLOOP1: MOV R6,#0F9

45、HLOOP2: NOP NOP DJNZ R6,LOOP2 DJNZ R7,LOOP1 RETEND实验一用程序(修改后的)ORG 0000HSTART: MOV P3,#0FFHMOV A, P3MOV 40H,A;暂存于40HACALL DL10MS;去抖延时MOV A,P3CJNE A,40H,LAMP0AJMP PASSLAMP0: CJNE A,#0FEH,LAMP1;第一键?MOV P1,#0FCH ;点亮白色发光二极管 PASS: LCALL DL10MS ;延时AJMP STARTLAMP1: CJNE A,#0FDH,LAMP2;第二键?MOV P1,#0F3H ;点亮黄色发

46、光二极管 AJMP PASSLAMP2: CJNE A,#0FCH,LAMP3;第三键?MOV P1,#0CFH ;点亮绿色发光二极管 AJMP PASSLAMP3: CJNE A,#0FBH,PASS;第四键?MOV P1,#3FH ;点亮红色发光二极管 AJMP PASS;延时子程序:DL10MS: MOV R7,#08hLOOP1: MOV R6,#0F9HLOOP2: NOP NOP DJNZ R6,LOOP2 DJNZ R7,LOOP1 RETEND在IDE集成开发环境中编写单片机程序,进行程序编译,排除所有的错误,直到编译完全成功。3、正确连接仿真器与PC机、仿真头与目标板、仿真器

47、电源。正确连接目标板电源。在仿真环境下运行程序,观察程序运行结果,程序运行正确后,输出机器代码文件。4、正确连接烧录器和PC机、烧录器电源。把单片机芯片放入烧片机芯片座(注意放置位置),夹紧;打开烧录器驱动软件,把文件被固化到单片机中。5、除去目标板电源,将单片机取下,插入目标板插座中,注意对齐1脚。正确连接目标板电源。观察程序运行情况。六、在实验过程中及时解答学生提出的有关问题,视实验情况对学生提问,启发学生思考、操作并作有关记录。1、说明单片机的各个引脚的功能及作用,比较P0,P3脚的异同?2、时钟周期、机器周期的关系是什么?3、单片机的开发工具和开发过程了解了吗?等七、实验结束后对实验报

48、告撰写提出要求1 填写准确实验名称、实验时间、实验指导教师姓名。2 具体内容:实验目的、实验设备、实验要求、实验原理、实验步骤。3、画出实验原理图。4、给出单片机程序程序清单。、对实验操作的情况、实验中观察到的现象、实验的结果进行分析与讨论实验二 分支程序,查表程序编写实验一、实验目的1掌握跳转指令2掌握子程序调用指令3掌握查表程序运用二、实验设备单片机IDE集成开发软件实验前指导复习汇编软件的使用方法。(在仿真环境下调试,不连仿真器)三、实验要求验证“实验原理”一节中给出的实例程序,熟悉各种跳转指令、子程序调用指令,以及查表程序编写方法。四、实验原理作为软件实验,可以在没有硬件及仿真仪的情况

49、下,利用集成开发环境进行。1跳转指令控制转移的指令包括无条件转移指令和有条件跳转指令。(1)长跳转指令LJMP addr16长跳转,把16位(2个字节)的地址送入PC中。2绝对转移指令AJMP addr11在存储空间2kB内转移。与PC当前值高5位共同组成16位目标地址。(3)短跳转指令SJMP rel8位补码表示的地址。可以在-128到127之间跳转。(4)间接跳转指令JMP A+DPTR这是一条很有用的散转指令。跳转地址在程序运行时动态决定。(5)累加器判零转移指令JZ rel,JNZ rel,JZ rel,累加器为0转移,JNZ rel,累加器不为0转移。(6)比较转移指令,CJNE &

50、lt;目的字节>,<源字节>,rel。CJNE A,#data,relCJNE A,direct,relCJNE Ri,#data,relCJNE Rn,#data,rel(8)循环转移指令DJNZ Rn,rel。首先Rn减1,然后判断是否是零,不是则跳转。DJNZ direct , rel。首先直接地址中的数据减1,然后判断是否是零,不是则跳转。(9)位控制转移指令JC rel,若Cy=1,则(PC)<-(PC)+2+rel 若Cy=0,则(PC)<-(PC)+2JNC rel若Cy=0,则(PC)<-(PC)+2+rel 若Cy=1,则(PC)<-

51、(PC)+2JB bit,rel; 若(bit)=1,则(PC)<-(PC)+3+rel 若(bit)=0,则(PC)<-(PC)+3JNB bit,rel若(bit)=0,则(PC)<-(PC)+3+rel 若(bit)=1,则(PC)<-(PC)+3JBC bit,rel; 若(bit)=1,则(PC)<-(PC)+3 若(bit)=0,则(PC)<-(PC)+3+rel,(bit)ß02子程序调用和返回指令。把重复使用的程序段编写为一个子程序,通过主程序调用它。这样不断减少编程工作量,而且减少程序所占存储空间。1)长调用指令LCALL addr16 ; (PC)ß(PC)+3(SP)ß(SP)+1, (SP)ß(PC)70(SP)ß(SP)+1, (SP)ß(PC)158(PC)ßaddr16除了PC要断点保护,注意其他寄存器不能冲突。2)绝对调用指令ACALL addr11 ; (PC)ß(PC)+2(SP)ß(SP)+1, (SP)ß(PC)70(SP)ß(SP)+1, (SP)ß(PC)158(PC)ßaddr113)返回指令RET:子程序返回指令,RETI:中断程序返回指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论