单片机原理及应用技术实验指导书
单片机原理及应用实验指导书
![单片机原理及应用实验指导书](https://img.taocdn.com/s3/m/0a08ab2567ec102de2bd8960.png)
实验一指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。
采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
实验操作说明Keil 软件调试方式分为:软件仿真方式和硬件调试两种。
软件仿真实验上机操作步骤:1、进入Keil,点击桌面上“Keil μVersion 3”图标,进入Keil系统窗口;2、新建工程:1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名;2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;3)存入C:\keil 文件夹中。
(机房,安装在C盘,改为C:\keil)3、打开“视图”菜单中的“工程窗口”;4、在“工程窗口”中,右击“目标1”,为工程设置参数;1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”;2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”;3)选择“调试”选项卡,在单选框选择“软件仿真方式”;4)确定,即完成了“软件仿真方式”的设置。
5、新建文件1)打开“文件”菜单,选择“新建”;2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入C:\keil 文件夹中(在大机房,安装在C盘,改为C:\keil);例如:a.asm。
6、将刚建的新文件添入当前的工程中1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”;2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框; 3)在对话框中选择“文件类型”为*.*;4) 选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮;5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。
单片机原理及应用技术实验指导书
![单片机原理及应用技术实验指导书](https://img.taocdn.com/s3/m/9f0b45df4028915f804dc24a.png)
单片机原理及应用实验指导书实验前准备1.建立新程序选择菜单[文件| 新建文件]功能出现一个文件名为NONAME1 的源程序窗口,在此窗口中输入以下程序ORG 0 MOV A ,#0 MOV P1,#0 LOOP:INC P1 ACALL Delay SJMP LOOP Delay:MOV R2,#3 DPL2:MOV R1,#0 DPL1:MOV R0,#0 DPL:DJNZ R0,DPL DJNZ R1,DPL1 DJNZ R2,DPL2 RETEND输出程序后的窗口如图,现在要做的是将此文件存盘。
2.保存程序选择菜单[文件| 保存文件]或[文件| 另存为]功能给出文件所要保存的位置,例如:D:\My programm 文件夹,再给出文件名MY1.ASM 。
保存文件。
文件保存后,程序窗口上文件名变成了:D:\MY PROGRAMM\MY1.ASM3.建立新的项目选择菜单[文件| 新建项目]功能,新建项目会自动分三步走:A ) 加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件MY1.ASM ,按打开键。
如果是多模块项目,可以同时选择多个文件再打开。
B ) 加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件(可多选)。
如果没有包含文件,按取消键。
C ) 保存项目。
在保存项目对话框中输入项目名称。
MY1 无须加后缀。
软件会自动将后缀设成“.PRJ ”。
按保存键将项目存在与你的源程序相同的文件夹下。
项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有一个模块“MY1.ASM ”,如果项目窗口没有打开,可以选择菜单[窗口| 项目窗口]功能来打开。
可以通过仿真器设置快捷键或双击项目窗口第一行选择仿真器和要仿真的单片机。
4.设置项目选择菜单[设置| 仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框。
在“仿真器”栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机。
单片机原理与应用实验指导书
![单片机原理与应用实验指导书](https://img.taocdn.com/s3/m/522c32e16137ee06eff9184f.png)
Harbin Institute 单电子of Technology单片机实哈尔子与信息工20机原理实验指尔滨工业大工程学院015年04与应导大学电子工程月用程系目 录前言 (1)一 实验素养和一般知识 (1)二 单片机实验开发系统 (1)三、实验报告内容和要求 (4)第一部分 软件实验 (5)实验一 清零实验 (6)实验二 拆字拼字实验 (7)实验三 查找相同数个数实验 (8)实验四 二进制转ASCII码实验 (9)实验五 数据块传送实验 (10)第二部分 硬件实验 (11)实验一 复杂IO控制实验 (11)实验二 定时器中断实验 (12)实验三 直流电机控制实验 (13)实验四 PC串口通信实验 (14)实验五 键盘扫描与显示实验 (15)附录一 主板布局图 (16)附录二 ISP安装与使用 (17)附录三 常见故障分析 (20)附录四 硬件实验5程序代码 (21)前言一、 实验素养和一般知识1.实验前准备工作(1)明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。
(2)做好实验前预习和必要的准备(先编好程序),做到有的放矢。
2.进入实验室后(1)进入实验室后请首先了解关于实验仪器和相关操作的介绍,熟悉所用的单片机实验开发系统及仪器设备。
(2)严格按照操作流程进行实验操作,保证自身安全和实验设备的完好无损:接线要简单、正确、明了,一个人接线,另一个人检查,经老师复查允许后才可通电。
(3)通电瞬间,应注意仪器是否正常工作,不要只看开关,如有不正常现象,应立即断电查找原因。
3.实验进行时(1)正常请况下,按规定步骤进行,读取数据,并及时记录。
(2)各种操作要有目的、按要求进行。
4.实验完成后经老师察看或签字,并把仪器、导线、工具等清理收拾完毕后,学生签到方可离开实验室。
二、 单片机实验开发系统图1 Proteus软件与FB-EDU-MCU-F型微控制器仿真实训实验箱FB-EDU-MCU-F型微控制器仿真实训实验箱可以支撑目前各高校普遍开设的课程实验内容,如“单片机(微控制器)原理与应用”,“单片机(微控制器)技术”,“微机原理与接口”,“单片机C语言程序设计”,“EDA与SOPC 技术”,“嵌入式系统与技术”等微控制器及其应用技术教学大纲的要求,本实验箱将Proteus仿真软件设计与硬件实践紧密结合,可提高实践环节的授课效果。
《单片机原理及应用》实验操作指导书
![《单片机原理及应用》实验操作指导书](https://img.taocdn.com/s3/m/d08403d8b9f3f90f76c61b94.png)
c ai wp @f j ut .e d u.c n单片机实验操作指导书第一篇 Keil uVision2基本操作Windows应用程序Keil uVision2是一个集成开发环境,它把项目管理、源代码编辑、程序调试等集成到一个功能强大的环境中。
存储器窗口工作窗口外围设备窗口输出窗口项目窗口下面以P1口点亮LED 灯为例,介绍基本的实验操作。
1.双击桌面上的图标,启动Keil uVision2。
2.选择或工具栏的按钮新建文件。
3.编辑源程序,并将文件保存成后缀为.asm 的文件(本例存为led.asm)。
(建议先在D 盘建一文件夹如MCS51用于存放实验文件)。
c ai w p @f j ut .e d u.c n4.建立项目。
(1)从菜单中选择新建项目。
(2)输入项目名称(一般与源程序同名),点保存。
(3)选择器件。
选择Atmel 公司的AT89S51c ai w p @f j ut .e d u.c n往下,找到AT89S51,选中后点确定。
(5)出现下列对话项时,选择“否”。
(如果用C51,则选择“是”)5.将源程序文件添加到项目中。
①鼠标左键单击“+”号展开②单击鼠标右键③单击鼠标左键④在弹出的对话窗口中选择“文件类型”和“文件名”,然后点“Add ”添加。
添加后该窗口不会关闭,点“Close ”关闭。
c ai w p @f j ut .e d u.c n项目中添加了源程序文件6.设置目标文件选项单击工具按钮“Options for Target ”,对“Target”和“Output”标签进行相关设置。
设置后点“确定”。
设置时钟频率,用于仿真调试时定时、观察程序运行时间等,如设为6.0MHzc ai w p @f j ut .e d u.c n单击,将该选项打勾,编译后才会在当前目录生成后缀为.HEX 的目标文件,用于仿真调试。
7.编译 用菜单中的命令或工具栏的按钮对项目进行编译。
单片机原理及应用实验指导书
![单片机原理及应用实验指导书](https://img.taocdn.com/s3/m/9c6e439e852458fb760b568e.png)
单片机原理及应用实验指导书河北理工大学信息学院2005 年5 月目录实验一P1 口实验................................................................... .1 实验二软件BCD ASCII码转换 .......................................................... .3 实验三定时/计数器实验................................................................. .4 实验四外部中断实验............................................................. (6)实验五外部存储器扩展实验........................................................ (7)实验六串行口通讯实验 (8)实验七A/D转换接口实验 (9)一、实验题目1.P1 口做输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。
二、实验目的1.学习P1 口作为输出口的使用方法。
2.学习延时子程序的编写和使用。
三、有关说明P1 口为准双向口,P1 口的每一位都能独立地定义为输出线或输入线。
作为输入的口线,必须向锁存器相位写入1,该位才能作为输入。
再看一下延时程序的实现,现常用的有两种方法:一是用定时器中断来实现,二是用指令循环来实现。
在系统时间允许的情况下,可以采用后一种方法。
以12M晶振为例,一个机器周期为12/12=1uS,现要写一个延时0.1S的程序,可大致写出如下:MOV R7,#200DE1:MOV R6,#XDE2:DJNZ R6,DE2DJNZ R7,DE1上面MOV,DJNZ指令均需要两个机器周期,所以每执行一条指令需2uS,现求出X 值:(X*2+2+1)*200+1=100000,求出X=248。
《单片机原理与应用》实训指导书
![《单片机原理与应用》实训指导书](https://img.taocdn.com/s3/m/a6b6985ebe23482fb4da4c77.png)
佛山市顺德区郑敬诒职业技术学校《PIC单片机原理与应用》实训指导书制定:审核:审批:制定日期:二00七年九月实训项目一 熟悉实验环境及MPLAB 的使用实验目的:熟悉实验软硬件环境,能够对单片机编程并进行调试。
实验内容:了解实验平台软、硬件的构成,熟悉实验环境,掌握MPLAB 的使用方法;建立工程,编程,调试并运行程序。
基本要求:能够在计算机上使用MPLAB 建立一个工程,应用简单指令编写简单的程序进行编译,并在实验板上调试成功。
扩展要求:1、编写一段程序让PORTD 口输出二进制数‘10101010’。
2、编写跑马灯程序。
电路原理:单片机与LED:RD0RD1 RD2: RD7 程序流程:实现D 口小灯四亮四灭的程流程图单片机PORTD实验步骤:1、打开MPLAB。
双击桌面上名为“MPLAB IDE”的图标,打开MPLAB编译环境。
2、进入工程向导。
点击MPLAB上面菜单中的Project(工程),选择ProjectWizard(工程向导),通过工程向导来建立工程。
3、选择单片机。
进入欢迎界面(下图),点击下一步,在Device(设备)中选择PIC16F877A,如果该项为PIC16F877A则直接点下一步。
4、选择编译语言。
选择MPASM汇编语言编译器,如果该项为MicrochipMPASM Toolsuite,则直接点下一步。
5、创建工程文件。
请在D盘下建立一个存放工程的文件夹,文件名可以用英文、数字或英文数字混合,注意:不要用中文或标点符号,文件夹名和工程名长度不要超过8个字符。
下面以建立文件夹名为abcd , 工程名为LED 为例。
此处写入工程名字,可以和实验内容相关,如LED此处写入存放工程的路径,如D:\abcd,建议通过点击右边Browse(浏览)来选择建立好的文件夹6、添好工程名和路径后点击下一步,下图表示可以添加程序文件到工程中,如果是初次编程或没有编好的程序文件,可直接点击下一步。
《单片机原理与应用》实验指导书1
![《单片机原理与应用》实验指导书1](https://img.taocdn.com/s3/m/c24e9f702e60ddccda38376baf1ffc4ffe47e222.png)
《单片机原理与应用》实验指导书目录实验一无符号双字节乘法运算子程序实验二 BCD码与ASCII码转换实验三 P1口实验实验四定时器实验—循环彩灯实验实验五数码显示实验实验六 A/D转换实验实验一无符号双字节乘法运算子程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:(1)在(R2R3)和(R6R7)中输入双字节无符号整数。
(2)将(R2R3)和(R6R7)中双字节无符号整数相乘,积存入R2R3R4R5中。
(3)连续或单步运行所编程序。
检查R2R3R4R5中的内容是正确。
四、实验原理:R6 R7R2 R3R4 R5B AB AB A(B)R2 (B+B+A) R3 (R4+A+A) R4 R5五、实验调试1、打开Keil,新建Keil项目;2、选择CPU类型为ATMEL中的AT89C52单片机;3、根据流程图新建汇编源程序(*.asm),并保存;4、在项目管理器窗口(project windows)中,将新建的ASM源程序添加到“source group 1”中;5、在Keil中选择“project”->“build target”菜单,编译汇编源程序,如有错,修改后重新编译;6、选择“debug”->“start/stop debug session”菜单,进入程序调试环境;7、按“F11”键,单步运行程序,观察“project windows”中,寄存器R0~R7的变化情况,最后验证R2R3R4R5无符号双字节相差的结果是否正确(可和程序/附件计算器的相乘结果对比)。
六、参考程序实验二 BCD码与ASCII码转换程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:将本人的班号学号以压缩的BCD码的形式由低到高存放在50H开始的单元中,如10050941班,学号为01的同学,将1050H、0551H、0952H、4153H、0154H。
《单片机原理及应用实验指导书》
![《单片机原理及应用实验指导书》](https://img.taocdn.com/s3/m/543836ab3169a4517723a3e2.png)
实验一 I/O口的实验一、实验目的1.掌握在Keil环境下建立项目、添加、保存源文件文件、编译源程序的方法;2.掌握运行、步进、步越、运行到光标处等几种调试程序的方法;3.掌握在Proteus环境下建立文件原理图的方法;4.实现Proteus与Keil联调软件仿真。
二、实验原理1.在Proteus环境下建立如下仿真原理图,并保存为文件;原理图中常用库元件的名称:无极性电容:CAP 极性电容:CAP-ELEC 单片机:AT89C51晶体振荡器:CRYSTAL 电阻:RES 按键:BUTTON发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;参考程序如下:ORG 0000HLJMP MAINORG 0100HMAIN: MOV A,# HLOOP: MOV P2,ACALL DELAYSJMP LOOPDELAY: MOV R1,# HDL1: MOV R2,# HDL2: MOV R3,# HDJNZ R3,$DJNZ R2,DL2DJNZ R1,DL1RETEND将以上程序补充完整,流水时间间隔为50ms。
3.将.HEX文件导入仿真图,运行并观察结果;4.利用Keil软件将程序下载至实验箱,进行硬件仿真,观察实验结果。
三、主要实验设备实验室电脑及配套实验箱LED发光二极管、按键电路。
四、实验内容1.将以上汇编语言程序补充完整;2.改变流水灯的时间间隔;3.编写出对应的C51程序。
五、实验总结进行软硬件仿真时,观察到8支LED发光二极管流水发光。
六、预习及思考1.如何让改变流水方向?2.若将R3至R10上拉电阻省略,8支LED还能正常发光吗?3.如果将LED接到P0口与接到P2口硬件设计时应注意什么问题?实验二定时计数器中断实验一、实验目的利用单片机的定时计数器和外部中断,实现LED流水灯轮流发光,流水时间以定时器的方式来控制,利用计数器进行计数改变流水灯的状态,输入外部脉冲产生外部中断改变流水灯的状态。
《单片机原理与应用》实验指导书
![《单片机原理与应用》实验指导书](https://img.taocdn.com/s3/m/a3f4010ac381e53a580216fc700abb68a982adec.png)
10
实验三 定时器/计数器实验
一、实验目的
1.了解 MCS-51 单片机定时/计数器的基本结构、工作原理和工作方式。
2.掌握定时/计数器工作在定时器和计数器两种方式下的编程方法。
3.掌握数码管显示电路的驱动原理及编程方法。
二、实验原理
8031 内部有TO 、T1 两个定时器/计数器,它们分别是 16 位的可编程定
延时时间的计算:
因为本实验系统的晶振频率为 6MHz,即一个机器同期时间为 12/6MHz 即
2uS,所以该段程序的执行时间为:2+(2+4×250+4)×10 = 10.06 mS
七、实验方法与步骤
将P3.0、P3.1 分别对应连接至K0、K1、将P1.0、 P1.1、 P1.2、 P1.3
分别对应连接至LO ~ L3 ,运行程序,观察LED显示状态.
表 3-1 数字 0 1 2 3 4 5 6 7 8 9
段码 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH
三、实验电路
图 3-2 四、实验内容
1.参照实验电路,利用 8031 的定时/计数器,设计一个 60 秒计时器, 秒计时结果选用实验仪上两位 LED 数码管显示。
图 1-6 如果仿真器和仿真头设置正确,并且硬件连接没有错误,将会出现 “硬 件仿真”对话框,并显示仿真器、仿真头的型号及仿真器的序列号。表明 仿真器初始化正确。如果仿真器初始化过程中有错,软件就会再次出现仿 真器设置对话框。这时应当检查仿真器及仿真器类型选择是否有错,硬件 连接是否正确,纠正错误后,再次确认。 (三)程序的编译 选择菜单:项目/编译或按编译快捷图标或 F9 键,对源文件或项目进 行编译。在编译过程中,如果有错,将会在信息窗口中显示出来,双击错 误信息,可以在源程序中定位所在行。纠正错误后,再次编译直到没有错 误,在编译之前,软件会自动将项目和程序存盘,编译没有错误后,就可 对程序进行调试了。 (四)程序的调试方法 1、单步调试 选择菜单:执行/跟踪或按单步快捷图标或按 F1 键,进入单步跟踪调 试方式,单步跟踪是一条一条指令地执行程序,若有子程序调用,也会跟 踪到子程序中去。用户可以通过观察寄存器和数据窗口的各种数据,了解 程序的运行状态。 2、执行到光标处 将光标移到程序想要暂停的地方,选择菜单:执行/执行到光标处或按 F4 键,程序会全速执行到光标所在行。
单片机原理及应用实验指导书
![单片机原理及应用实验指导书](https://img.taocdn.com/s3/m/2f27b7a6dd3383c4bb4cd24b.png)
《单片机原理及应用》实验指导书温州大学瓯江学院2007年9月目录实验一单片机开发系统的使用 (1)实验二单片机软件实验 (4)实验三MCS-51单片机I/O实验 (9)实验四MCS-51单片机中断实验 (15)实验五定时器计数器实验 (22)实验六单片机综合应用设计实验 (25)附录Keil C51常用库函数原型 (31)实验一单片机开发系统的使用一、实验目的1、了解单片机开发系统的各主要组成部分,包括PC、仿真器和实验开发系统;2、掌握仿真器及其软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等;3、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法。
二、实验仪器1、自制的C51实验开发板 1块2、直流温压电源 1台3、仿真器(EASYPROBE) 1只4、PC机 1台三、实验内容1、认识51单片机开发系统的结构。
图1-1 51单片机开发系统的结构2、初步认识仿真器软件和Keil C51软件界面。
3、简单程序调试(1) 传送指令设置内部RAM的值,(30H)=40H, (40H)=10H,单步执行下列程序,检查结果。
MOV R0,#30HMOV A,@R0MOV R1, AMOV B, @R1STOP: SJMP STOP执行后:(R0)= ,(R1)= ,(A)= ,(B)= ,(30H)= ,(40H)= 。
(2) 运算指令4、多字节十进制数加法被加数加数结果低位20H21H22H23H 高位图1-2 4字节十进制数相加两个4字节十进制数1234567和89987265相加,将其8421-BCD码按低位到高位存放在地址为20-23H、30-33H的RAM中,运算结果存放在20-23H的地址中,如上图示。
运算程序如下,ADD_BCD为多字节十进制数加法子程序的首地址。
分别按“跟踪”、“单步”和“全速”方式调试程序。
检查运算结果,区别“跟踪”、“单步”调试方式的不同。
在“ADD_BCD子程序”的指令“DA A”处设置断点,再用“全速”方式运行,到达断点后,观察“A”的值,然后用“单步”运行,观察指令“DA A”的功能。
《单片机原理及应用》实验指导书.doc
![《单片机原理及应用》实验指导书.doc](https://img.taocdn.com/s3/m/89ba8248e2bd960590c677b9.png)
《单片机原理及应用》实验指导书广州大学松田学院电气与汽车工程系2011年10月实验一流水灯实验.................................. 实验二数码管动态显示实验 (3)实验三单片机外部中断实验 (5)实验四单片机定时器/计数器应用 (7)实验五中断及综合实验 (10)附录开发板电路原理图 (II)实验一流水灯实验1.实验H的及要求1)掌握keil c51软件和STC-ISP软件使用方法。
2)巩固单片机基本程序的编写方法和单片机工程项F1的建立流程。
3)熟悉用单片机P0 口控制LED灯亮和灭的方法。
2.实验仪器计算机、keil c51软件、单片机开发板、下载线3.实验内容利用P0 口直接控制8个LED灯的亮和灭。
把不同的数据(本实验采用40 个不用的字节)定时输出P0 口,控制LED灯相应的变化,产生花样灯效果。
改变延吋吋间,则改变LED灯改变速度,效果也不一样。
4.实验步骤1)使用ke订c51软件建立一个工程,命名保存,并配置工程。
2)新建一个文件,主文件名与工程名一致,文件后缀名为MSM。
编辑实验源程序。
(注意:源程序编辑不要在屮文状态下)实验参考程序如下:ORG 0100HTMP1:DB 0111, 02H, 04H, 0811, 10H, 2011, 40H, 80H, 8111, 8211DB 84H, 88H, 90H, OAOH, OCOH, 0C1H, 0C2H, 0C4H, 0C8H, ODOHDB OEOH, 0E1H, 0E2H, 0E4H, 0E8H, OFOH, 0F1H, 0F2H, 0F4H,0F8H0RG 000011 ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主稈序的开始MAIN: MOV DPTR, #TMP1 ;得到数据的地址MOV R7, #40 ;设置循环40次Ml: CLR AMOVC A, ©A+DPTR ;读取相应地址的数据CPL A ;因发光二极管采用共阳极,所以将数据取反再输出MOV P0, AINC DPTRLCALL DELAY ;转入延时了程序DJNZ R7, Ml ; 40次未完成继续LJMP MAIN ;40次完成冋到开始处DELAY: MOV R5, #255 ;延时子稈序D1: MOV R6, #255DJNZ R6, $DJNZ R5, DIRETEND ;程序体结束3)汇编、连接生产目标文件。
单片机原理与应用技术实验指导书(V2.3)
![单片机原理与应用技术实验指导书(V2.3)](https://img.taocdn.com/s3/m/36cfb3f2f46527d3240ce0ae.png)
单片机原理与应用技术实验指导书(Freescale)机械工程学院机械电子工程教研室王晓峰实验一飞思卡尔嵌入式实验系统入门—GPIO控制实验一、实验目的:熟悉CodeWarrior集成开发环境及飞思卡尔嵌入式实验开发系统掌握AW60的GPIO结构及控制方法掌握CodeWarrior工程结构及创建汇编工程熟悉汇编指令及应用汇编语言编程方法二、实验内容1.运用CodeWarrior新建工程,进行工程程序编辑、编译、下载、调试;2.利用飞思卡尔嵌入式实验开发系统根据实验需要进行硬件连接;3.观察示例工程项目,该工程功能为:根据连接在PTC0、PTC1口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下二种不同状态:八个LED同时亮-灭循环;四个灯交替亮-灭;4.设计一个比示例工程简单的工程项目,内容为控制PTB口上连接的八个LED灯同时亮-灭循环一次再四个灯交替亮-灭一次。
5.设计一个比示例工程更复杂一些的工程项目,根据连接在PTC口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下四种不同状态:八个LED亮—灭循环;四个灯交替亮—灭;一个LED左移流水灯;两个LED右移流水灯。
三、实验步骤(注意:在调试过程中如需要进行连接线路时,要先将实验箱断电,待电路连接好后再接通电源!!!)1.将飞思卡尔嵌入式实验开发系统实验箱接上电源,写入器BDM接头插接入核心卡BDM座,USB头接入PC机USB口。
2.PC机上启动CodeWarrior,新建工程LED.mcp(注意设置工程保存路径)3.观察工程文件结构,查看相应文件。
4.在main.asm中编辑工程主文件5.编辑相关子程序6.编译,如果有错误修改,直至编译通过7.链接、下载,调试观察LED灯现象导线接插点Vcc拨码开关GN图1-1 LED及拨动开关原理图四、参考程序1.主汇编程序main.asm该程序为根据PTD口的PTD0上接的拨动开关的状态控制连接在PTB口上的八个LED灯在四亮四暗状态或八个灯同时亮同时暗的状态XDEF asm_mainXREF MCUInitXREF DelayHXINCLUDE 'derivative.inc'INCLUDE 'light.inc'INCLUDE 'switch.inc'MyCode: SECTION; this assembly routine is called the C/C++ applicationasm_main:JSR MCUInitJSR Switch_InitJSR Light_InitM_Scan: JSR Switch_ReadLDA $70CMP #$01BNE M01LDA #0JSR Light_On_OffLDHX #$0fffJSR DelayHXLDA #1JSR Light_On_OffLDHX #$0fffJSR DelayHXBRA M_ScanM01: CMP #$02BNE M02JSR Light_HalfLDHX #$0fffJSR DelayHXM02: BRA M_ScanRTS ; return to caller2、LED灯构件程序light.asm;[Light.asm]小灯驱动-----------------------------------------------------* ;本文件包含: * ; (1)Light_init:定义控制小灯的MCU的I/O引脚为输出* ; (2)Light_On_Off:驱动小灯"亮","暗" * ;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;小灯控制引脚宏定义Light_P: equ PTBD ;灯(Light)接在PTB口Light_D: equ PTBDD ;相应的方向寄存器Lon: equ $00Loff: equ $ffLdiff: equ $0f;声明外部函数XDEF Light_Init ;小灯初始化XDEF Light_On_Off ;驱动小灯"亮","暗"XDEF Light_Half ;驱动小灯"四亮","四灭";Lightinit:定义控制小灯的MCU引脚为输出---------------------------* ;功能:定义控制小灯的MCU引脚为输出,并使小灯初始为暗* ;----------------------------------------------------------------------------------* Light_Init:LDA #$FFSTA Light_P ;设置初始时八个LED灯全灭LDA #$FFSTA Light_D ;设置LED所接PTB口为输出RTS;Light_On_Off:驱动小灯"亮","灭"---------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------* Light_On_Off:CMP #0BNE Light_1LDA #LonSTA Light_PBRA Light_ExitLight_1:CMP #1BNE Light_Exit ;入口非'L'/'A',程序无响应LDA #LoffSTA Light_PLight_Exit:RTS;Light_Half:驱动小灯"四亮","四灭"-------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------*Light_Half:LDA Light_PCMP #LdiffBNE Light_half1LDA #~LdiffSTA Light_PBRA L_exitLight_half1:LDA #LdiffSTA Light_PL_exit:RTS3、拨动开关控制程序Switch.asm;[switch.asm]开关状态输入---------------------------------------------* ;本文件包含: * ; (1)Switch_init:定义连接开关的MCU的I/O引脚为输入* ; (2)Switch_read:读取开关状态* ; (3)RAM$70保存开关状态;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名XDEF Switch_InitXDEF Switch_Read;开关连接引脚宏定义Switch_P: equ PTCDSwitch_D: equ PTCDDS_K1: equ 0S_K2: equ 1;Switch_Init:定义连接开关的I/O为输入----------------------------------*Switch_Init:BCLR S_K1,Switch_DBCLR S_K2,Switch_DRTS;Switch_Read:读取连接开关的I/O口数据,取出开关状态------------* ;RAM$70保存开关状态* ;------------------------------------------------------------------------------------*Switch_Read:PSHALDA #0STA $70BSET S_K1,$70BSET S_K2,$70LDA Switch_PAND $70STA $70PULARTS4、延时通用程序DelayHX.asmXDEF DelayHXDelayHX:PSHA ;[A进栈](保护寄存器A)CPX #0 ;X变址寄存器中的值是否为0BEQ DelayHX_ExitDelayHX_1:LDA #200 ;延时约200*5=1000(T)------DelayHX_2:NOP ;(1T)NOP ;(1T)DBNZA DelayHX_2AIX #-1 ;(HX - 1) -> HXCPHX #0BNE DelayHX_1DelayHX_Exit:PULA ;[A出栈](恢复寄存器A)RTS;[MCUInit.asm]AW60芯片初始化子程序---------------------*;功能: *; 系统初始化设置,设置ICGC1和ICGC2寄存器,SOPT的寄存器*; 设置,由外部晶振f = 4MHz,产生内部总线时钟f = 20MHz *;入口:无*;出口:无*;------------------------------------------------------*INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;声明外部函数XDEF MCUInit ;芯片初始化MCUInit:PSHA ;A进栈(保护寄存器A)LDA #%01100000; |||; |||; |||; ||+------STOPE --- 允许STOP; |+-------COPT ---- long timeout 2^18; +--------COPE ---- 关看门狗STA SOPT ;系统选项寄存器(只写一次)MOV #%00110000,ICGC2; |||||||| 应该在设置ICGC1之前写MFDx; |||||||+-RFD0 \; ||||||+--RFD1 --- 分频因子R=1; |||||+---RFD2 /; ||||+----LOCRE --- 丢失时钟信号后产生一个中断信号; |||+-----MFD0 \; ||+------MFD1 --- 锁频环倍乘因子N = 10; |+-------MFD2 /; +--------LOLRE --- 锁频环失锁后产生一个中断信号(不复位) MOV #%01111000,ICGC1; |||||||x; ||||||+--LOCD ---- 允许检测时钟信号丢失Lost of Clock; |||||+---OSCSTEN - 在OFF模式下允许晶振电路; ||||+----CLKS0 \ - 选择FLL engaged external reference(FEE) ; |||+-----CLKS1 / 使用锁频环的外时钟模式; ||+------REFS ---- 使用晶振(0表示使用外时钟信号); |+-------RANGE --- 使用高频晶振(4MHz p=1) (1-1;0-64); +--------HGO ----- 低功耗;等待FLL稳定PULA ;A出栈(恢复寄存器A)RTS四、思考题1.CodeWarrior建立工程有什么工程框架文件,这些文件的作用?2.该实验采用模块化设计方法,工程框架包含哪些文件,画出其组织结构,画出主程序流程图。
单片机原理与应用实验教案实验指导书
![单片机原理与应用实验教案实验指导书](https://img.taocdn.com/s3/m/d1d39b3887c24028915fc35c.png)
单片机原理与应用实验指导书专业班级姓名计算机学院编2007年3月实验目录第一部分软件实验选做实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同个数实验七无符号数双字节快速乘法子程序实验八脉冲计数(定时/计数综合实验)第二部分硬件实验选做实验一 P1口亮灯实验实验二 P1口转弯灯实验实验三 P3.3口输入,P1口输出实验四工业顺序控制实验五 8255PA口控制PB口实验六 8255控制交通灯实验七简单I/O口扩展实验八 A/D转换实验第一部分软件实验实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把2000H~20FF的内容清零。
三、实验步骤用连续或单步方式运行程序,检查2000H~20FF执行程序前后的内容变化。
四、思考 1、假使把2000H~20FF中的内容改为FF,如何修改程序。
2、将程序中的汇编语言中每条单步执行的指令阐述出来。
五、程序清单(sw01.asm)ORG 0000HLJMP SE01ORG 0640HSE01:MOV R0,#00HMOV DPTR,#00H ;(0000H)送DPTRLOO1:CLR AMOVX @DPTR,A ;0送DPTRINC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,00H,LOO1 ;不到FF个字节再清LOOP:SJMP LOOPEND实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、实验程序框图四、实验步骤用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。
五、思考 1、如何用断点方式调试本程序。
2、将程序中的汇编语言中每条单步执行的指令阐述出来。
六、程序清单(sw02.asm)ORG 0000HLJMP SE02ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A ;(2000H)→A→BSWAP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,A ;送2001HINC DPTRMOV A,BANL A,#0FH ;(2000H)内容屏蔽高位MOVX @DPTR,A ;送2002HLOOP: SJMP LOOPEND实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。
《单片机原理及应用》课程实验指导书
![《单片机原理及应用》课程实验指导书](https://img.taocdn.com/s3/m/0fe676d928ea81c758f5786a.png)
江西理工大学《单片机原理及应用》课程实验指导书主审人:主撰人:前言单片机技术作为计算机技术的一个重要分支,广泛用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域,它具有集成度高、性能价格比优越、货源充足等优点。
因此,越来越受到工程技术人员重视,目前国内中高等学校电力技术、电气自动化、自动控制、电子技术等均开设了此课程。
目录第一部分绪论第二部分基本实验指导实验一单片机及其开发系统入门实验二单片机I/O口控制实验实验三外部中断实验实验四定时/计数器实验实验五蜂鸣器驱动实验实验六串转并的I/O口实验实验七 8x8LED扫描输出实验实验八基于C51单片机综合程序设计实验九并转串的I/O口实验实验十 RS232串行口通信实验实验十一并行的模数转换实验实验十二并行的数模转换实验附录实验仪硬件结构第一部分绪论本实验指导书是根据《单片机原理及应用》课程实验教学大纲编写,适用于电气工程及自动化、自动化专业。
一、本课程实验的作用与任务《单片机原理及应用》实验是单片机学习过程中必不可少的重要实践环节。
通过实验和设计,让学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念,使学生在分析问题和解决问题等方面受到系统科学的训练,从而提高学生理论联系实际能力、自主动手能力和创新能力。
二、本课程实验的基础知识本课程要求学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念。
学生在学习这门课程之前,必须掌握《模拟电子技术》、《数字电路》、《微机原理及应用》、《C语言程序设计》等课程相关内容。
三、本课程实验教学项目及要求第二部分基本实验指导实验一单片机及其开发系统入门一. 实验目的熟悉 Keil C51集成开发环境的使用方法。
二.实验原理利用单片机的P1口控制发光二极管,进行Keil C51集成开发环境的仿真调试练习。
《单片机原理及应用》实验指导书(第一部分实验--4学时)
![《单片机原理及应用》实验指导书(第一部分实验--4学时)](https://img.taocdn.com/s3/m/3db8ae1ecc7931b765ce15d5.png)
《单片机原理及应用》课程实验指导书一、实验目的《单片机原理及应用》课程实验是电子信息工程专业的一门专业基础课实验,是本专业学生获得单片机知识的开端。
要求学生通过本课程实验,具备利用单片机技术解决实际控制问题的能力。
培养与提高学生科学实验的能力,动手实践能力、理论联系实际的能力、自学能力、从简单的设计到综合的应用能力和创新能力。
通过实验的训练,使学生掌握《单片机原理及应用》实验的基本方法和基本技能,加深对单片机知识的理解,掌握单片机应用系统设计方法,为今后的工作打下良好的基础。
二、实验设备及器件PC机一台DP-51PROC单片机综合仿真实验仪一台示波器一台电阻若干电容若干导线若干三、实验内容本实验共8个实验内容:实验一仿真实验仪的操作使用练习实验二单片机I/O口控制实验实验三蜂鸣器驱动实验实验四电子琴实验实验五定时器输出PWM实验实验六直流电机实验实验七点阵LED 扫描输出实验实验八串口通信实验*详细指导内容请见附录。
四、实验考核、成绩评定考核方法:设计过程中检查学生实际操作能力,根据课程设计内容要求,设计相关程序, 指导书中所给代码仅供参考,要求学生独立进行整体程序设计,教师要检查学生的运行步骤及结果。
成绩评定:实验成绩根据考勤、实验态度、动手能力、创新能力和实验报告来综合评定,实验成绩计入课程平时成绩,占总成绩的20%。
五、参考资料1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.2、李广第.等单片机基础.北京航空航天大学出版社,2005年.3、蒋辉平等.基于Proteus的单片机系统设计与仿真实例,2012年.六、实验报告格式要求按学院实验报告统一格式报告内容包括:实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。
附录——详细指导内容第一次实验(4学时)实验一仿真实验仪的操作使用练习一.实验目的和要求熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及应用实验指导书实验前准备1.建立新程序选择菜单[文件| 新建文件]功能出现一个文件名为NONAME1 的源程序窗口,在此窗口中输入以下程序ORG 0 MOV A ,#0 MOV P1,#0 LOOP:INC P1 ACALL Delay SJMP LOOP Delay:MOV R2,#3 DPL2:MOV R1,#0 DPL1:MOV R0,#0 DPL:DJNZ R0,DPL DJNZ R1,DPL1 DJNZ R2,DPL2 RETEND输出程序后的窗口如图,现在要做的是将此文件存盘。
2.保存程序选择菜单[文件| 保存文件]或[文件| 另存为]功能给出文件所要保存的位置,例如:D:\My programm 文件夹,再给出文件名MY1.ASM 。
保存文件。
文件保存后,程序窗口上文件名变成了:D:\MY PROGRAMM\MY1.ASM3.建立新的项目选择菜单[文件| 新建项目]功能,新建项目会自动分三步走:A ) 加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件MY1.ASM ,按打开键。
如果是多模块项目,可以同时选择多个文件再打开。
B ) 加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件(可多选)。
如果没有包含文件,按取消键。
C ) 保存项目。
在保存项目对话框中输入项目名称。
MY1 无须加后缀。
软件会自动将后缀设成“.PRJ ”。
按保存键将项目存在与你的源程序相同的文件夹下。
项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有一个模块“MY1.ASM ”,如果项目窗口没有打开,可以选择菜单[窗口| 项目窗口]功能来打开。
可以通过仿真器设置快捷键或双击项目窗口第一行选择仿真器和要仿真的单片机。
4.设置项目选择菜单[设置| 仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框。
在“仿真器”栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机。
在“语言”栏中,“编译器选择”根据本例的程序选择为“伟福汇编器”。
如果你的程序是C 语言或INTEL 格式的汇编语言,可根据安装的Keil 编译器版本选择“Keil C (V4或更低)”还是“Keil C (V5或更高)”。
按“好”键确定。
当仿真器设置好后,可再次保存项目。
5.编译程序选择菜单[项目| 编译]功能或按编译快捷图标或F9 键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来,双击错误信息,可以在源程序中定位所在行。
纠正错误后,再次编译直到没有错误。
在编译之前,软件会自动将项目和程序存盘。
在编译没有错误6.单步调试程序选择[执行| 跟踪]功能或按跟踪快捷图标或按F7 键进行单步跟踪调试程序单步跟踪就一条指令一条指令地执行程序,若有子程序调用,也会跟踪到子程序中去。
你可以观察程序每步执行的结果,“=>”所指的就是下次将要执行的程序指令。
由于条件编译或高级语言优化的原因,不是所有的源程序都能产生机器指令。
源程序窗口最左边的“o ”代表此行为有效程序,此行产生了可以指行的机器指令。
程序单步跟踪到“Delay ”延时子程序中,在程序行的“R0”符号上单击就可以观察“R0”的值,观察一下“R0”的值,可以看到“R0”在逐渐减少。
因为当前指令要执行256次才到下一步,整个延时子程序要单步执行3x256x256次才能完成,单步执行太慢了!没关系,我们有“执行到光标处”的功能,将光标移到程序想要暂停的地方,本例中为延时子程序返回后的“SJMP Loop ”行。
选择菜单[执行| 执行到光标处]功能或F4 键或弹出菜单的“执行到光标处”功能。
程序全速执行到光标所在行。
如果想下次不想单步调试“Delay ”延时子程序里的内容,可以按F8 键单步执行就可以全速执行子程序调用,而不会一步一步地跟踪子程序。
F8 F8F8F8F8F8F8......是不是太烦了?那就移动光标到暂停行再按F4,如果程序太长,每次这样移来移去,是不是也太累?那就设置断点吧。
将光标移到源程序窗口的左边灰色区,光标变成“手指圈”,单击左键设置断点,也可以用弹出菜单的“设置/取消断点”功能或用Ctrl+F8组合键设置断点。
如果断点有效图标为“红圆绿勾”,无效断点的图标为“红圆黄叉”。
断点设置好后,就可以用全速执行的功能,全速执行程序,当程序执行到断点时,会暂停下来,这时你可以观察程序中各变量的值,及各端口的状态,判断程序是否正确。
本例是将P1 端口加一,然后延时,再重复,这样若P1就是一个二进制加法器,若P1口接发光二极管,就会闪亮。
不过到此为止,我们都是用软件模拟方式来调试程序。
如果想要用仿真器硬件仿真。
就要连接上仿真器。
7.连接硬件仿真按照说明书,将仿真器通过串行电缆连接计算机上,将仿真头接到仿真器,检查接线是否有误,确信没有接错后,接上电源,打开仿真器的电源开关。
参见第4 步,设置项目,在“仿真器”和“通信设置”栏的下方有“使用伟福软件模拟器”的选择项。
将其前面框内的勾去掉。
在通信设置中选择正确的串行口。
按“好”确认。
如果仿真器和仿真头设置正确,并且硬件连接没有错误,就会出现如图的“硬件仿真”的对话框,并显示仿真器、仿真头的型号及仿真器的序列号。
表明仿真器初始化正确。
如果仿真器初始化过程中有错,软件就会再次出现仿真器设置对话框,这时你应检查仿真器、仿真器的选择是否有错,硬件接线是否有错,检查纠正错误后,再次确认。
直至正确。
我们现在用硬件仿真方式来调试这个程序,因为程序是对P1端口加1操作,我们可以打开外设的端口来观察P1口。
方法是选择主菜单[外设| 端口]功能打开端口窗口。
重新编译程序,全速执行程序,因为有断点,程序会暂停在断点处。
我们观察端口窗口的P1 口值,会发生变化。
再次全速执行,观察P1 口的变化。
同时也可以用电压表去测量仿真头的P1 管脚,可以看到P1 管脚也随之发生变化。
点击端口窗口的P1口的白框来改变P1 口的值,再次运行程序,P1 从改变后的值加1。
(P1 口的值也可以从SFR 窗口观察、修改)去掉前面的勾即为硬件仿真方式如果用户已经有写好的程序,可以从第3步“新建项目”开始,将你的程序加入项目,就能以项目方式仿真了。
如果用户不想以项目方式仿真,则要先关闭项目,再打开你的程序,并且要正确设置仿真器、仿真头,然后再编译、调试程序。
连接Lab51CPU 板:在实验平台的右下角有三个插座,是用来安装实验Lab8051CPU 板的。
仿真器与实验平台的连接:端口窗口4 硬件安装● 将Lab51板的DC34芯插座与G6W 仿真器上的DC34插座用扁平电缆连接起来。
仿真器与计算机的连接:● 用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。
但务必注意所选用的串口未被设置成它用,如Modem 口、鼠标口。
● 应特别注意的是,在仿真器与计算机连接串口电缆时,两台机器必须都关断电流。
否则易损坏计算机和仿真器。
实验连线:按实验方案,用随机的实验连线插入孔后, 轻轻转动一下锁紧插头, 保证良好接触。
拆线时,应先回转一下,不要硬拨, 以免损坏线路板。
不管是拆线还是插线,都应在断电的情况下进行。
实验例程中“接线方案”的粗线即为需用户动手接连的线。
实验1 EICE51实验仪的使用及键盘操作一、实验目的熟悉EICE51实验仪及键盘操作,学习目标程序的输入方法及运行、调试程序的基本步骤。
二、实验器材上海福旦EICE51仿真器三、实验内容通过键盘输入并运行下列程序:地址机器码程序ORG 8000HMOV A,30HANL A,#0FHMOV R0,AMOV A,31HANL A,#0FHSWAP AORL A,R0MOV 32H,ASJMP $END四、实验步骤1)输入程序:按键(六位显示器)MON↓8000↓ 8 000 - -EXAM↓ 8 000 X XE5↓ 8 000 E 5WRI↓ 8 001 X X30↓ 8 001 3 0WRI↓ 8 002 X X……2)检查输入的程序是否正确:出现错误进行修改按键(六位显示器)MON↓8000↓ 8 000 - -EXAM↓ 8 000 E 5EXAM↓ 8 001 3 830↓ 8 001 3 0WRI↓ 8 002 5 4EXAM↓……注:并且用输入程序的方法在30H和31H中写入内容并记录。
3)单步运行程序,并检查32H单元中的内容,验证结果的正确性。
单步运行操作过程:MON↓→8000→(EXAM)→SBK↓→SBK↓……4)再一次修改30H和31H中的内容,连续运行程序,检查32 H单元中的内容,验证结果的正确性。
连续运行操作过程:MON↓→8000→(EXAM)→EXE↓5)将上述地址从8000H开始的程序搬移到以9000H开始的存储单元中,并从9000H开始运行程序,检查结果。
数据块搬移的方法如下:MON↓→首地址→F1↓→末地址↓→F2↓→目的首地址↓→MOV↓五、思考题1)本程序完成什么功能,程序中的指令ORL A,R0可用哪条指令来代替?简述你在本实验中遇到过哪些问题?这些问题是如何解决的?有什么收获和体会?实验2 开发环境的使用及基本指令实验一、实验目的练习正确使用开发环境,了解如何寻址及程序的编写,加深对寻址方式及数据传送指令的理解。
二、实验设备计算机一台三、实验内容练习程序输入和运行,体会寻址方式和数据传送的方法。
四、开发环境的使用1)选择开始→程序→WAVE(或者桌面快捷键WAVE)2)选择菜单【文件/新建文件】(或者用菜单中的快捷图标)出现一个文件名为NONAME1的源程序窗口,在此窗口中输入程序。
3)保存程序:选择菜单【文件/保存文件】或【文件/另存为】功能给出文件要保存的位置C:\WAVE6000\SAMPLES文件夹,再给出文件名XX.ASM→保存,程序窗口上文件名变为C:\WAVE6000\SAMPLES\XX.ASM4)建立新项目:选择菜单【文件/新建项目】功能。
新建项目会分三步走:A)加入模块文件。
在加入模块对话框中,选择刚才保存的文件XX.ASM,按打开键。
如果是多模块项目可以同时选择打开。
B)加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件。
如果没有包含文件,按取消键。
C)保存项目。
在保存项目对话框中,输入项目名称,无须加后缀。
软件会自动将后缀设成“.PRJ”。
按保存键将项目存在与你的源程序相同的文件夹下。
5)编译程序。
选择菜单【项目/编译】功能或快捷图标或F9键,编译你的项目。
在编译过程中,如有错,可在信息窗口显示,双击错误信息可在源程序中定位所在行。
纠正错误再次编译,直到没有错误。
6)单步运行程序。
选择菜单【执行/跟踪】功能或快捷图标或F7键进行单步跟踪调试程序。