微机原理实验实验指导书2015

合集下载

微机原理实验指导书

微机原理实验指导书

实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。

二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。

2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。

在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。

当每条数据传送完毕时,AX中的内容是什么。

程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。

三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。

2、本实验要求在PC机上完成。

3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。

4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。

如果用堆栈作为中间存储单元,必须遵循先进后出的原则。

(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。

[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。

[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。

微机原理及接口技术实验指导书(TPC-ZK-II认证)20151026

微机原理及接口技术实验指导书(TPC-ZK-II认证)20151026
7)逻辑电平开关电路
如图1.5,实验台右下方设有8个开关K7~K0,开关拨到“1”位置时开关断开,输出高电平,向下到“0”位置时开关接通输出低电平,电路中串接了保护电阻,使接口电路不直接同+5V、GND相连,防止误操作、误编程损坏集成电路。
图1.5逻辑电平开关电路
8)LED显示电路
如图1.6,实验台上设有8个发光二极管及驱动电路(输入端L7~L0),当输入信号为“1”时发光,为“0”时灭。
4)保存源程序
当前运行环境下,选择菜单栏中的“文件”菜单,菜单下拉后选择“保存”,如果是无标题文档,需在提示下输入文档的名称及选择保存的路径,单击确定后保存;否则程序自动保存当前文档显示区域中显示的文档。或者选择菜单栏中的“文件”菜单,菜单下拉后选择“另存为”,并在提示下输入文档的名称及选择保存的路径,单击确定后保存。
微机原理及接口技术
实验指导书
(2012版)
《微机原理及接口技术》课程教学团队编
2015年4月
概述/前言/课程介绍
《微机原理及接口技术实验》是电、计算机、控制等工科专业教育中的一门核心专业基础实验课,本实验由微机原理部分及接口部分组成,微机原理部分以微机指令系统,汇编程序设计为主要内容,程序设计面向16位/32位系统指今,接口部分面向3种常用的微机接口芯片8255、0832、0809开展实验,要求学生自行设计硬件电路,编程面向16位地址/数据系统,实现对接口芯片的控制并完成具体的实验要求。
汇编+链接+运行
在当前运行环境下,选择菜单栏中的“ASM编译”菜单,选择汇编+链接+运行选项则程序对当前ASM源文件进行汇编与链接,编译调试窗口中输出汇编与链接的结果,若程序汇编或链接有错,则详细报告错误信息。若汇编与链接成功,程序自动运行。

《微机原理实验指导书》2015

《微机原理实验指导书》2015

微机原理汇编及接口实验讲义电子信息工程系微机实验组2015年3月目录实验一寻址方式和汇编语言程序上机调试步骤 (1)实验二循环程序设计 (2)实验三子程序调用程序设计 (3)实验四 DOS系统功能调用 (4)实验五接口实验预备知识 (5)实验六简单的输出接口 (9)实验七简单的输入接口 (11)实验八数码管动态显示实验 (13)实验九可编程并行接口8255实验 (15)实验十可编程计数/定时器8253实验 (16)实验十一可编程中断控制器8259实验 (17)实验十二微机接口综合实验(上机测验)集成电路内部原理及管脚图 (21)实验一寻址方式和汇编语言程序上机调试步骤一、实验目的1、掌握在HQFC环境下8086的寻址方式。

2、掌握在HQFC环境下汇编语言程序上机步骤及调试过程。

3、掌握连续执行、单步执行、跳过执行及设置断点的方法。

4、掌握连续执行、单步执行过程中如何查寄存器、存储器、堆栈中的数据。

二、实验内容1、在HQFC环境下单步执行下列指令,查看每条指令的执行过程,随时查看寄存器、存储器、堆栈及反汇编窗口并记录执行结果,查看、记录每条指令的操作码和操作数,查看、记录所有指令的反汇编结果。

code segmentassume cs:codestart: mov ax,1234hmov bx,4321hadd ax,bxmov cx,axpush cxpop dxloop: jmp loopcode endsend start将3、4语句1234h、4321h改为1234、4321后再执行程序,观察结果寄存器窗口,说明变化原因。

在语句PUSH CX设置断点,连续执行后查看结果,说明设置断点对程序调试有何作用?2、在数据段X单元存放有数据42,Y单元存放有数据-43,编程求这两数之和,并把结果存放到S单元,编写出完整程序,上机调试,查看、记录执行结果。

3、已知数据段X单元存放的数据为10H,编程将该数据左移四位后存放到Y单元,编写出完整程序,上机调试,查看、记录执行结果。

微机原理实验指导书 何小海 严华

微机原理实验指导书 何小海 严华

实验一数据传送一、实验目的熟悉星研集成环境软件的使用方法。

熟悉Borland公司的TASM编译器熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。

二、实验内容1、熟悉星研集成环境软件。

2、编写程序,实现数据段的传送、校验。

使用汇编语言,将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FF中;B4区的61C256在I/O设备区,使用IOR、IOW读写;再将它传送回数据段的6000H~60FFH中。

三、程序流程图(学生根据实验内容设计)四、实验步骤在DS段内3000H~30FFH中输入数据;使用单步、断点方式等调试程序,检测DS段内6000H ~60FFH中的内容。

熟悉查看特殊功能寄存器、CS段、DS段的各种方法。

五、程序清单(参考)本实例的源程序如下:.MODEL TINY ;memory mode : tiny.STACK 100 ;堆栈.CODE ;开始程序段START: MOV AX,@DATAMOV DS,AXMOV ES,AXNOPMOV CX,100HMOV SI,3000HMOV DX,2000HSTART1: MOV AL,[SI]OUT DX,ALINC SIINC DXLOOP START1MOV DI,6000HMOV DX,2000HMOV CX,100HSTART2: IN DX,ALMOV [DI],ALINC DIINC DXLOOP START2SJMP $Move ENDPEND START六、思考题编写一个程序,将数据段中2000H~20FFH单元的内容传送给数据段的6000H~60FFH中。

实验内容:1、用所学过的寻址方式编程实现将存储单元DS:1000H单元的内容送到DS:2020H单元。

2、设各寄存器及存储单元的内容如下:(DS)=0500H,(BX)=0010H,(SI)=0001H,(05010)=12H,(05011)=34H,(05012)=56H,(05013)=78H,(05120)=ABH,(05121)=CDH,(05122)=EFH,说明下列各条指令执行完后AX寄存器中的内容。

微机系统与接口技术实验指导书(2015版-200份)

微机系统与接口技术实验指导书(2015版-200份)

微机系统与接口技术实验指导书李鹤喜杭维颖张健五邑大学计算机学院2015.9目录目录 (I)上篇 16位微机原理及汇编程序设计实验 (2)一、系统认识实验 (2)二、数制转换实验 (7)三、运算类编程实验 (13)四、分支程序设计实验 (18)五、循环程序设计实验 (21)六、排序程序设计实验 (23)七、子程序设计实验 (26)八、查表程序设计实验 (30)下篇 80X86微机接口技术及其应用实验 (32)一、8255并行接口实验(1)-流水灯显示实验 (32)一、8255并行接口实验(2)——步进电机实验 (37)二、8251串行接口应用实验 (40)三、8254定时/计数器应用实验 (50)四、8259中断控制实验 (55)五、A/D转换实验 (63)六、D/A转换实验 (68)七、键盘扫描及显示设计实验 (71)八、电子发声设计实验 (76)九点阵LED显示设计实验 (81)I2上篇 16位微机原理及汇编程序设计实验本篇主要介绍汇编语言程序设计,通过实验来学习80X86的指令系统、寻址方式以及程序的设计方法,同时掌握联机软件的使用。

一、系统认识实验1.1 实验目的掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

1.2 实验设备PC机一台,TD-PITE实验装臵或TD-PITC实验装臵一套。

1.3 实验内容编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。

1.4 实验步骤1. 运行Wmd86软件,进入Wmd86集成开发环境。

2. 根据程序设计使用语言的不同,通过在‚设臵‛下拉列表来选择需要使用的语言和寄存器类型,这里我们设臵成‚汇编语言‛和‚16位寄存器‛,如图1-1、图1-2所示。

设臵选择后,下次再启动软件,语言环境保持这次的修改不变。

本章选择16位寄存器。

图1-1 语言环境设臵界面3图1-2 寄存器设臵界面3. 语言和寄存器选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-3所示。

微机原理实验指导书1_2_4_5

微机原理实验指导书1_2_4_5

微机原理实验指导书郑州大学电气工程学院目录实验一比较字符串实验 (1)实验二两个多位十进制数相加的实验 (14)实验三两个数相乘的实验 (18)实验四键盘输入并显示实验 (21)实验五统计学生成绩 (25)实验六 8259A 中断控制器实验 (29)实验七 8253计数器/定时器实验 (34)实验八 8255并行接口实验 (37)实验九 8251A 串行接口实验 (43)实验十 A/D 实验 (51)附录一调试程序DEBUG (51)附录二汇编程序出错信息 (59)实验一比较字符串实验一.实验目的1.掌握分支程序的设计方法。

2.熟悉在PC机上建立、汇编、链接、调试和运行8086汇编程序的过程。

二.实验内容1.比较两个字符串STRING1和STRING2所含的字符是否相同,若相同则显示‘Match’,否则显示‘No Match’。

2.修改程序,显示所比较字符的个数。

三.程序清单DATAREA SEGMENTSTRING1 DB 'Move the cursor backward.'STRING2 DB 'Move the cursor backward.'MESS1 DB 'Match.',13,10,'$'MESS2 DB 'No match.',13,10,'$'DATAREA ENDSPROGNAM SEGMENTMAIN PROC FARASSUME CS:PROGNAM,DS:DATAREA,ES:DATAREASTART: PUSH DSSUB AX,AXPUSH AXMOV AX,DATAREAMOV DS,AXMOV ES,AXLEA SI,STRING1LEA DI,STRING2CLDMOV CX,STRING2-STRING1REPZ CMPSB?LEA DX,MESS2?MATCH: LEA DX,MESS1DISP: MOV AH,09HINT 21HRETMAIN ENDPPROGNAM ENDSEND START四.实验方法1.用编辑程序EDIT.EXE建立源文件EDIT D101-1.ASM↙在编辑状态下输入源程序,存盘后退出编辑状态。

微机原理实验指导书

微机原理实验指导书

目录实验一并行接口8255应用实验 (1)实验二交通灯模拟控制实验 (5)实验三可编程定时器8254应用实验 (9)实验四8254控制继电器实验 (13)实验五DAC0832数模转换实验 (17)实验六ADC0809模数转换实验 (21)实验七串行通信8251应用实验 (25)实验一并行接口8255应用实验一、实验目的1.掌握8255工作方式0的使用方法;2.掌握8255I/O口的输入输出使用方法;3.了解8255、电平开关、LED发光二极管的电路连接。

二、实验内容1、逻辑电平开关和LED显示电路如图1-1所示,8255的电路连接如图1-2所示。

2、利用8255C口作为并行数据的输入端(逻辑电平开关实现),A口作为并行数据的输出端(LED显示电路实现),当电平开关拨到上方时对应发光二极管亮,拨到下方时对应发光二极管灭,编写程序。

图1-1 逻辑电平开关和LED显示电路图1-2 8255接线电路三、接线方案PC0~PC7/8255 接K0~K7/逻辑电平开关PA0~PA7/8255 接L0~L7/LED显示CS/8255 接Y1/IO地址图1-3实验线路四、编程提示及流程图1、A口地址—288H;B口地址—289H;C口地址—28AH;8255控制寄存器端口地址—28BH。

2、参考程序流程图如图1-4所示。

图1-4 参考程序流程图五、实验步骤1、连接USB通信电缆和电源线;2、根据图1-3实验线路进行电路连接;3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;4、点击“编译”,并确保实验程序没有语法错误;5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;7、观察实验现象,并记录。

若实验现象有误请重复第4~6步。

六、参考程序;*******************************;;* 8255方式0的C口输入,A口输出 *;;*******************************;data segmentio8255a equ 288hio8255b equ 28bhio8255c equ 28ahdata endscode segmentassume cs:codestart:mov ax,datamov ds,axmov es,axmain:mov dx,io8255b ;设8255为C口输入,A口输出mov al,() ;计算控制字out dx,alinout: mov dx,() ;从C口输入一数据in al,dxmov dx,() ;从A口输出刚才自C口out dx,al ;所输入的数据jmp inout ;跳转,则继续自C口输入,A口输出code endsend start七、思考题1、根据程序要求补充实验程序,并执行程序观察现象;2、修改程序,电平开关拨到上方时发光二极管灭,拨到下方时发光二极管亮。

微机实验指导书-学生使用(2015定稿)-A.

微机实验指导书-学生使用(2015定稿)-A.

《微机原理与接口技术》实验指导书2015年11月杭州电子科技大学自动化学院说明1)实验室禁止吃东西,实验完成请把垃圾清理、自行带走。

2)微机实验箱拔插数据\通信线,操作连线时必须断电。

3)在同步PC和实验箱无法正常连接时,按实验箱REST(复位键)。

4)试验代码:CODE SEGMENT ;发光二极管移位实验PA7...0->L1 (8)ASSUME CS:CODEPA EQU 0FF28HPB EQU 0FF29HPC EQU 0FF2AHPCTL EQU 0FF2BHORG 11B0HSTART: MOV AL,80H ;命令字:输出口MOV DX,PCTLOUT DX,ALMOV AL,7fH ;第一位点亮MOV DX,PALED: OUT DX,ALMOV CX,20H ;延时CALL DELYROR AL,1 ;右移一位JMP LED ;循环DEL Y: PUSH CX ;延时子程序DEL2: PUSH CXDEL3: PUSH CXLOOP $POP CXLOOP DEL3POP CXLOOP DEL2POP CXLOOP DELYRET CODE ENDS END START目录第一章系统概述 (1)1.1 系统主要特点 (1)1.2 系统资源分配 (1)1.3 系统配置 (2)第二章系统组成和结构 (3)2.1 系统接口定义 (3)2.2 系统硬件组成 (5)第三章系统安装与使用 (9)第四章键盘监控使用简介 (10)4.1 引言 (10)4.2 键盘显示 (10)4.3 功能键操作说明一缆表 (10)4.4总操作过程 (10)4.5监控程序命令及操作 (11)第五章8086K实验系统与PC机联机操作 (13)5.18086K软件概述 (13)5.28086K软件安装 (13)5.38086K软件启动和联机 (13)5.48086K软件主窗口 (14)5.5菜单栏和工具栏命令简介 (14)第六章实验指导 (17)软件实验 (18)实验一二进制多位加法运算 (18)实验二二进制码转换为BCD码 (19)实验三BCD码转换为二进制码 (20)实验四十进制数的BCD码相减运算 (21)实验五数码显示 (22)实验六求最大值和最小值 (23)硬件实验 (24)实验一A/D转换实验 (24)实验二D/A转换实验(一) (26)实验三D/A转换实验(二) (28)实验四8255A并行口实验(一) (29)实验五8255A并行口实验(二) (30)实验六定时器/ 计数器 (32)实验七8259单级中断控制器实验 (34)实验八小直流电机调速实验(选做) (36)实验九电子琴实验(选做) (37)实验十温度控制实验(选做) (38)附录一、88部分实验接线汇总表 (40)第一章系统概述引言本《实验指导书》适用于8086/88微机实验开发系统,本书就598K实验开发系统的8086部分作详细介绍,其它机型均可参考。

2015微机原理实验指导书

2015微机原理实验指导书

微机原理及接口技术实验指导书前言《微机原理及接口技术》是工科计算机及相关专业学习微型计算机基本知识和应用技能的重要课程。

本课程帮助学生掌握微型计算机的硬件组成及使用;学会运用指令系统和汇编语言进行程序设计;熟悉各种类型的接口及其应用,树立起微型计算机体系结构的基本概念,为后继计算机课程的学习及应用打好基础。

实验教学是本课程的重要组成部分,对学生理解概念、进行程序设计及提高应用技能至关重要。

本课程实验采用的主要设备为。

公司研发的。

实验箱,所有实验内容均针对此实验箱设计。

在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。

书中标(*)的实验可酌情选作。

由于作者水平有限,书中难免存在不足之处,敬请读者批评指正。

目录前言 (2)目录 (3)第一部分汇编语言程序实验实验一显示程序实验 (1)一、实验目的 (1)二、实验所用设备 (1)三、实验内容 (1)四、实验步骤 (1)五、参考程序清单 (2)六、实验报告内容及要求 (3)实验二数据传送实验 (4)一、实验目的 (4)二、实验所用设备 (4)三、实验内容 (4)四、实验步骤 (5)五、实验报告内容及要求 (5)实验三数码转换程序实验 (6)一、实验目的 (6)二、实验所用设备 (6)三、实验内容 (6)四、实验步骤 (8)五、实验报告内容及要求 (9)实验四运算类程序实验 (10)一、实验目的 (10)二、实验所用设备 (10)三、实验内容 (10)四、实验步骤 (11)五、实验报告内容及要求 (11)实验五分支程序设计实验 (12)一、实验目的 (12)二、实验所用设备 (12)三、实验内容 (12)四、实验步骤 (12)五、实验报告内容及要求 (13)实验六循环程序设计实验 (14)一、实验目的 (14)二、实验所用设备 (14)三、实验内容 (14)四、实验步骤 (14)五、实验报告内容及要求 (15)第二部分16位微机接口技术实验。

微机原理实验指导书-硬件部分(2015)(1)

微机原理实验指导书-硬件部分(2015)(1)

实验1 存储器读写实验一、实验目的1.掌握PC机外存扩展的方法。

2.熟悉6264芯片的接口方法。

3.掌握8086十六位数据存储的方法。

二、实验设备微机实验箱、8086CPU模块。

三、实验内容向02000~020FFH单元的偶地址送入AAH,奇地址送入55H。

四、实验原理介绍本实验用到存储器电路五、实验步骤和要求1、实验接线:本实验无需接线。

2、编写调试程序3、运行实验程序,可采取单步、设置断点方式,打开内存窗口可看到内存区的变化。

本实验的主要目的是学会用使用工具软件,掌握用单步执行和断点方式运行程序,观察寄存器和内存中的数据变化等程序调试的手段。

六、实验提示1、RAM区的地址为02000H,编程时可将段地址设为0100H,则偏移地址为1000H。

2、如果按字节进行存储,则AL为55H或AAH;如果按字进行存储,则AX应为55AAH。

3、6264、62256等是计算机系统扩展中经常用到的随机存储器芯片(RAM),主要用作数据存储器扩展。

本实验所进行的内存置数在程序中经常用到。

计算机系统运行中会频繁地进行内存与外设或者内存与内存之间的数据传输,所以本实验虽然简单但对理解系统程序的运行很关键,望学习和实验时认真对待。

七、实验范例程序框图及源代码(实验程序名:RAM.ASM)八、思考题1、单步执行到“intram”标号的语句时,ds寄存器的数据是什么?采用断点方式运行时执行到第一个断点处,2000H~202FH内存单元的数据是什么?执行到第二个断点处,2000H~200FH内存单元的数据是什么?并根据观察结果和对源程序的判读简述源程序的运行效果。

如图,单步执行到“intram”标号的语句时ds寄存器的数据为0100采用断点方式运行时执行到第一个断点处,2000H~202FH内存单元的数据如图所示。

由源程序知道第一个断点前的程序是为了把数据段内存单元清0,符合上图结果其实清零在这里可以不用,直接进行后面的置数执行到第二个断点处,2000H~200FH内存单元的数据如图所示。

微机原理实验指导书 (1)

微机原理实验指导书 (1)

实验一系统操作及程序调试举例1.实验目的学习并掌握实验系统的基本操作,为以后的实验打下基础。

2.实验设备DICE-8086B实验系统一台3.实验准备工作系统一经连好,检查无误后,就可以通电运行。

系统提供两种启动方式,即:系统自动完成后,显示器上会显示“>”提示符,等待键入操作命令。

4.实验内容及步骤(1)系统操作练习(一)要求:从3500内存单元开始建立0~15共16个数据。

程序流程图如下:实验步骤①输入与修改:在“﹥”提示符下键入A2000,此时显示器上将会显示程序的段地址CS和偏移地址IP(=2000H),接着就可以在光标处输入程序。

注:在输入过程中,若发现本行有错误,则可以按“ ”键删除并重新输入;若回车后系统提示“ERROR!”,则要在原地址指针处重新正确输入。

输入程序后可通过反汇编查看程序。

(U操作)②程序运行:在DICE-8086B实验系统上,程序的运行方式有单步、连续和断点运行几种方式。

可参考(T操作,G操作,GB操作等)③内存单元的修改与显示:用(D操作)可显示内存单元的内容,用(E操作)可修改内存单元的内容。

(分别参考前)。

④运行程序观察从3500H单元开始连续存放的16个数据为多少?任意修改AX的值,再运行程序,显示运行结果是否正确?流程图及参考程序如下:地址机器码助记符注释2000 BF 3500 MOV DI,3500 ;设数据区首址2003 B9 0010 MOV CX,0010 ;字节数送CX2006 B8 0000 MOV AX,00002009 9E SAHF200A 88 05 MOV B[DI],AL ;写入一字节200C 47 INC DI ;修改地址指针200D 40 INC AX ;修改数据200E 27 DAA ;十进制调整200F E2 F9 LOOP 200A ;未填完转移2011 CD 00 INT(2)系统操作练习(二)要求:将内存3500单元开始的0~15共16个数传递到3600单元开始的数据区中。

微机原理实验指导书

微机原理实验指导书

微机原理实验指导书课程类型:考查课专业班级:信息工程与自动化学院通信2013级学年学期:2014—2015 学年上学期课程总学时:16 学时主讲教师:杨青青说明:1. 本次实验为16个学时,以微机原理课程为依托,每两个学时完成一个实验,原理上应该有8份实验报告。

2. 实验报告可采取打印的方式,分析、填写程序等部分应该手写。

实验一汇编程序上机训练-熟悉指令格式一、上机环境:Window7系统,MasmEditor软件二、实验目的:1、学习使用在MasmEditor环境下完成汇编语言的编译、连接、运行、调试等。

2、熟悉80X86的指令系统及汇编语言指令格式。

三、实验步骤:1、编译源程序,生成可执行文件(.exe);2、用DeBug的各个调试指令,观察寄存器窗口的变化。

四、实验内容:参照微机原理课程第三章内容,进行课本例题的上机练习,完成程序的调试,例如单步步入、断点设置等,并在寄存器窗口察看各个寄存器的变化,从而也加深对80X86寻址方式的理解。

上机题目:微机原理教材第三章,例3.1,例3.3,例3.4,例3.6,例3.7,例3.8,例3.11,例3.23,例3.52,例3.64,例3.68,例3.71,例3.73思考题:试编程实现:(1)AL寄存器的第四位清0;(2)BL寄存器的第四位置1;(3)CL寄存器的第四位取反;(4)测试DL寄存器的最低两位是否为0,若是将0送入AL寄存器;否则将1送入AL寄存器。

五、实验报告要求:1.实验报告符合要求格式2.完成思考题的编程实现。

实验例题实验四汇编程序上机训练-多重循环程序设计一、上机环境:Window7系统,MasmEditor软件二、实验目的:1. 学习并熟悉汇编的多重循环程序的设计。

2. 进一步熟悉在MasmEditor环境下完成汇编语言的编译、连接、运行、调试等操作。

三、实验内容:例1:有十位同学的成绩分别是80,100,78,56,79,90,96,88,82,75;编程分别统计低于60分,60-69,70-79,80-89,90-99,100分的人数,并分别存入a100,b90,c80,d70,e60,f50单元中。

微机原理实验指导书

微机原理实验指导书

目录目录 (1)实验一ARM汇编基础实验 (3)一.实验目的 (3)二.实验内容 (3)三.预备知识 (3)四.实验设备与工具 (3)五.实验原理 (3)六.实验步骤 (9)七.思考题 (10)实验二ARM控制LED实验 (12)一、实验目的 (12)二、实验内容 (12)三、预备知识 (12)四、实验设备与工具 (12)五、实验原理及说明 (12)六、实验步骤 (14)七、思考题 (14)实验三ARM汇编实现串口通信实验 (15)一.实验目的 (15)二.实验内容 (15)三.预备知识 (15)四.实验设备与工具 (15)五.实验原理 (15)六.实验步骤 (20)七.思考题 (21)实验四基于ARM的嵌入式Linux开发环境建立 (22)一.实验目的 (22)二.实验内容 (22)三.预备知识 (22)四.实验设备与工具 (22)五.实验原理与说明 (22)六.实验步骤 (24)七、思考题 (27)实验五基于ARM的模块方式驱动程序实验 (28)一.实验目的 (28)二.实验内容 (28)三.预备知识 (28)四.实验设备与工具 (28)五.实验原理与说明 (28)六.实验步骤 (32)七. 思考题 (35)实验六基于ARM的键盘及数码管驱动实验 (36)一.实验目的 (36)二.实验内容 (36)三.预备知识 (36)四.实验设备与工具 (36)五.实验原理与说明 (36)六.实验步骤 (42)七. 思考题 (42)实验七基于ARM的LCD驱动程序设计实验 (43)一.实验目的 (43)二.实验内容 (43)三、预备知识 (43)四、实验设备及工具 (43)五.实验原理与说明 (43)六.实验步骤 (49)实验八基于ARM的触摸屏驱动程序设计实验 (52)一.实验目的 (52)二.实验内容 (52)三.预备知识 (52)四.实验设备与工具 (52)五.实验原理与说明 (52)实验九SD卡读写及文件系统设计实验 (61)一、实验目的 (61)二、实验内容 (61)三、预备知识 (61)四、实验设备及工具 (61)实验十AC97音频驱动及应用实验 (74)一.实验目的 (74)二.实验内容 (74)三.预备知识 (74)四.实验设备与工具 (74)五.实验原理与说明 (74)六.实验步骤 (77)实验十一以太网通讯实验 (78)一、实验目的 (78)二、实验内容 (78)三、预备知识 (78)四、实验设备及工具 (78)五、实验原理及说明 (78)六、思考题 (85)实验一ARM汇编基础实验一.实验目的1.掌握ARM汇编指令及ARM汇编语言编程2.学习掌握C语言与汇编语言混合编程3.熟练使用ARM处理器平台调试工具RVDS进行程序调试操作二.实验内容1.ARM汇编语言编程实现1+2+...+N功能2.ARM汇编语言实现冒泡算法的程序3.C语言程序调用汇编语言程序的实验(实现字符串拷贝功能)4.汇编语言程序调用C语言程序的实验5.上述程序的编译(汇编)、调试和运行验证三.预备知识1.C语言、ARM汇编语言2.RVDS调试工具的使用四.实验设备与工具硬件:ARM嵌入式开发平台,PC机Pentium100以上软件:Windows操作系统,RVDS软件五.实验原理1.自然整数累加程序自然数累加的算法基本过程很简单,就是使用寄存器保存需累加的变量和累加结果,其算法参考流程图如下:2.冒泡算法简介冒泡算法的基本思想:将待排序的元素(数据)看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。

微机原理实验指导书-最终版

微机原理实验指导书-最终版

单片机原理与应用实验指导书长安大学电气工程专业实验室目录实验总目的及要求.....................................................................1系统概述 (2)实验一、系统认识……………………………………………………………7实验二、熟悉51指令(多字节十进制加法)……………………………11实验三、熟悉51指令(双字节乘法)……………………………………13实验四、熟悉51指令(数据排序)………………………………………16实验五、熟悉51指令(双字节除法)……………………………………18实验六、熟悉51指令(布尔操作)………………………………………21实验七、定时器/计数器……………………………………………………23实验八、ADC0809(模/数转换)…………………………………27 实验九、DAC0832(数/模转换)…………………………………29 实验十、8155接口扩展及其应用………………………………………32 实验十一、串行口扩展并行I/O…………………………………………371实验总目的及要求学习单片机原理及应用这门课程,必须重视实践环节。

即要独立编写程序,独立连接线路,独立上机调试程序。

上机的目的:绝不是为了验证教材和讲课内容或者验证自己所编的程序正确与否。

应该说,学习单片机程序设计及硬件开发,其上机实验目的为:(1)加深对讲授内容的理解。

一些重要的语法规定,只靠课堂讲授,既枯燥无味又难以记住,而通过多次实验,就能自然地、熟练地掌握。

所以通过上机来掌握语法规则是行之有效的方法。

(2)熟悉所用的计算机系统的操作方法,也就是了解和熟悉MCS-51系统的开发环境。

一个程序必须在一定的外部环境下才能运行,所谓“环境”,就是指系统的硬件条件和软件条件。

使用者应该了解为了运行一个程序,需要哪些必要的外部条件,可以利用哪些系统的功能来帮助自己开发程序。

2015年微机原理及应用实验指导书

2015年微机原理及应用实验指导书

2015年微机原理及应用实验指导书实验一数据传送一、实验目的1.熟悉8086指令系统的数据传送指令,掌握传送指令的寻址方式。

2.利用DEBUG调试工具来调试汇编程序。

二、实验设备PC机及相应的软件。

三、实验内容1、从3500H内存单元开始建立(0~15共16个数据。

程序如图1所示。

图1实验步骤:(1)打开PC机电源,进入Windows XP(2)点击开始,指向运行,在打开窗口键入CMD ↙,(划线部分是实际输入的内容),↙代表回车键。

(3) 在提示符下,输入 DEBUG ↙,此命令是调用调试程序DEBUG程序,所幕显示“一”提示符,表示进入DEBUG状态。

(4)输入程序 A命令:(在“一”提示符开始输入程序段)-A 2000 ↙程序流程图输入程序过程中,若在Enter前发现本行有错误字符,则可以按←键删除重输;当Enter 后,系统提示“eeror”的,地址指针仍旧会停留在当前行,等你重新输入。

输入程序后,可以按以下操作进行反汇编,查看程序:(5)修改程序:当发现源程序有输入错误时,可做相应的修改,例如;修改2003语句为MOV CX,000FH的操作如下:注意:当输入程序出现多语句或少语句时,DEBUG调试工具没有删除和插入功能,修改输入程序的错误,需从出错的源程序的偏移地址IP开始,顺序输入正确的观程序。

(6)运行程序:程序的运行方式有跟踪与显示、设置断点、连续运行方式。

每次运行一条指令就显示行寄存器和8个标志位的内容以及下一条要执行的指令及地址IP,重复T ↙就可一条一条地运行整个程序,且到程序结束。

○2连续运行命令G-G=2000 2011 ↙用G命令执行程序段,起始地址为2000H,终止地址为20llH,并列出执行后CPU各寄存器的内容和最后一条指令。

如果只用G命令不加地址参数,程序运行的起始地址IP为100H。

该命令方式每次显示128个字节的内容。

显示的内容为两种方式:左边为十六进制内容,右边为与十六进制相对应的ASCII码字符,对不可见的字符以“.”代替。

微机原理实验指导书(软件部分)

微机原理实验指导书(软件部分)

实验一一、实验名称:常用DEBUG命令的功能及使用举例二、实验目的:掌握汇编语言基本运行环境和熟悉DEBUG调试程序的命令。

包括:学习使用指令,掌握常用的指令功能和简单程序设计;掌握DEBUG调试程序的命令,熟悉程序输入、存储器和CPU寄存器及标志位的检查方法,单步、断点、连续等运行程序的调试方法。

三、实验内容:DEBUG的主要命令功能与格式DEBUG命令是在DEBUG提示符“-”下,由键盘键入的。

每条命令以单个字母的命令符开头,然后是命令的操作参数,操作参数与操作参数之间,用空格或逗号隔开,操作参数与命令符之间用空格隔开,命令的结束符是回车键Enter。

命令及参数的输入可以是大小写的结合。

Ctrl+Break键可中止命令的执行。

Ctrl+Num Lock键可暂停屏幕卷动,按任一键继续。

所用数均为十六进制数,且不必写H。

1. 汇编命令A格式:A [[<段寄存器名>/<段地址>:] <段内偏移>]上式等价于:(1) A <段寄存器名>:<段内偏移>(2) A <段地址>:<段内偏移>(3) A <段内偏移>(4) A功能:键入该命令后显示段地址和段内偏移并等待用户从键盘逐条键入汇编命令,逐条汇编成代码指令,顺序存放到段地址和段内偏移所指定的内存区域,直到显示下一地址时用户直接键入回车键返回到提示符“-”。

注:其中(1)用指定段寄存器的内容作段地址,(3)用CS的内容作段地址,(4)以CS:100作地址。

以后命令中提及的各种‘地址’形式,均指(1)、(2)、(3)中A后的地址形式。

2. 显示内存命令D格式:D [<地址>/<范围>]上式等价于:(1) D <地址>(2) D <范围>(3) D功能:以两种形式显示指定范围的内存内容。

一种形式为十六进制内容,一种形式为以相应字节的内容作为ASCII码的字符,对不可见字符以‘.’代替。

微机原理实验指导书

微机原理实验指导书

微机原理实验指导书实验一数据传送实验目的:1.熟悉8086指令系统的数据传送指令及8086的寻址方式。

2.利用TurboDebugger调试工具来调试汇编语言程序。

实验任务:1.通过下述程序段的输入和执行来熟悉TurboDebugger的使用,并通过显示器屏幕观察程序的执行情况。

练习程序段如下:MOVBL,08HMOVCL,BLMOVAX,03FFHMOVBX,AXMOVDS:[0020H],BX2.用以下程序段将一组数据压入(PUSH)堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。

压栈程序段如下:MOVAX,0102HMOVBX,0304HMOVCX,0506HMOVDX,0708HPUSHAXPUSHBXPUSHCXPUSHDX出栈程序段请自行编写(用不同的出栈顺序)。

3.指出下列指令的错误并加以改正,上机验证之。

(1)MOV[BX],[SI](2)MOVAH,BX(3)MOVAX,[SI][DI](4)MOVBYTEPTR[BX],2000H(5)MOVCS,AX(6)MOVDS,2000H4.设置各寄存器及存储单元的内容如下:(BX)=0010H,(SI)=0001H(10010H)=12H,(10011H)=34H,(10012H)=56H,(10013H)=78H(10120H)=0ABH,(10121H)=0CDH,(10122H)=0EFH说明下列各条指令执行完后AX寄存器中的内容,并上机验证。

(1)MOVAX,1200H(2)MOVAX,BX(3)MOVAX,[0120H](4)MOVAX,[BX](5)MOVAX,0110H[BX](6)MOVAX,[BX][SI](7)MOVAX,0110H[BX][SI]5.将DS:1000H字节存储单元中的内容送到DS:2020H单元中存放。

试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微型计算机原理与应用实验指导书上海大学通信学院2015 年 3 月实验一8051单片机简单编程与调试一、实验目的通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。

学会Proteus与Keil的整合调试。

二、实验基本要求建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。

画出实验程序的流程框图。

三、实验步骤采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤:1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。

在菜单栏中选择“Project” →“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。

在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“AT89C51”,确定CPU类型。

如图所示。

点击“确定”按钮后,弹出如下的对话框如果是进行汇编语言编程选择“否”。

2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。

一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。

在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File” →“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。

单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。

程序编写完后,再次保存。

在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。

在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm文件,双击此文件,将其添加到Source Group中,此时“Project Workspace”子窗口如图所示。

3、通过μVision2的各种选项,配置Cx51编译器、Ax51宏汇编器、BL51/.Lx51连接定位器以及Debug调试器。

在“Project Workspace”窗口中的“Target 1”文件夹上单击鼠标右键,在弹出的右键菜单中选择“Option for Target”选项,这时会弹出“Options for Target”对话窗口,在此对话窗口中选择“Output”选项卡,选中“Create HEX File”选项,如图所示。

4、利用μVision2的构造(Buid)功能对项目中的源程序文件进行编译连接,生成绝对代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源程序中的错误后重新构造整个项目。

在Keil的菜单栏中选择“Project”→“Build Target”命令,编译汇编源文件。

如果编译成功,则在“Output Window”子窗口中会显示如图所示的信息;如果编译不成功,双击“Output Window”窗口中的错误信息,则会在编辑窗口中指示错误语句。

5、将没有错误的绝对代码装入 Vision2调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的EPROM中。

在Keil的菜单栏中,选择“Debug”→“Start/Stop Debug Session”选项,进入程序调试环境,如图所示。

按“F11”键,单步运行程序。

在“Project Workspace”窗口中,可以查看累加器、通用寄存器及特殊功能寄存器的变化。

在“Memory”窗口中,可以看到每执行一条语句后存储空间的变化。

在“Address”栏中,输入“D: 30H”,查看AT89C51的片内直接寻址空间。

程序调试完毕后,再次在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,退出调试环境。

在Proteus中调试程序打开Proteus ISIS编辑环境,在菜单栏中选择“File”→“Load Design”弹出“Load ISIS Design File”对话窗口,选择要打开的Proteus的.DSN设计文件。

在本实验中,设计文件为本实验子目录下的Basic.DSN单击鼠标右键选中AT89C51并单击鼠标左键,打开“Edit Component”对话窗口,在此窗口中的“Program File”栏中,选择先前用Keil生成的.HEX文件,如图所示。

单击Proteus ISIS界面左下角的按钮,进入程序调试状态,并在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal (IDATA) Memory”及“8051 CPU SFR Memory”三个观察窗口,按“F11”键,单步运行程序。

在程序运行过程中,可以在这三个窗口中看到各寄存器及存储单元的动态变化。

Proteus 与Keil整合调试及电路仿真在Proteus的“Debug”菜单中选择“Use Remote Debug Monitor”选项,如图所示。

选择Keil的“Project”→“Options for Target ‘Target 1’”,在弹出的对话框中,单击Debug选项卡,单击右上部的下三角按钮选择“Proteus VSM Monitor-51 Driver”如图所示。

单击“Setting”进入对话框填写如图所示的IP地址和端口号。

在Keil中,在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,Keil 系统进入调试状态。

同时Proteus也进入调试状态。

这时可以调整这两个软件窗口的大小,使它们同时出现在桌面上,这样就可以同时观察这两个软件运行的情况了。

在Proteus的调试状态下,在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal(IDATA) Memory”、“8051 CPU SFR Memory”三个观察窗口,在单步运行程序的过程中,可以在这三个窗口中看到各寄存器以及存储单元的动态变化。

四、实验内容1. 实验内容1Porteus模型为BASIC.DSN如下图所示。

(1)存储块置全“1”源代码:汇编语言源程序:ORG 00HSTART E QU 30HMOV R1,#START ;起始地址;Rn中设置32字节计数值MOV A,#0FFHLOOP: MOV @R1,A;指向下一个地址;计数值减1,不为零继续SJMP $END在下划线处填入适当指令。

输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。

解释START EQU 30H。

(2)二进制BCD码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HLJMP STARTSTART: ;堆栈指针指向40HMOV A,#123LCALL BINTOBACSJMP $BINTOBAC:;除以100得百位数MOV RESULT,AMOV A,BMOV B,#10DIV AB ;余数除以10得十位数MOV RESULT+1,AMOV RESULT+2,B ;余数为个位数RETEND在下划线处填入适当指令。

用单步执行的方法,观察子程序调用过程中堆栈指针的变化。

(3)二进制ASCII码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HSTART:MOV A,#1AH;调用BINTOHEX子程序LJMP $BINTOHEX:;表的首址ASCIITAB送DPTR MOV B,A ;暂存ASWAP A;取A的高四位;查ASCII表MOV RESULT, AMOV A,B ;恢复AANL A,#0FH ;取低四位MOVC A,@A+DPTR ;查ASCII表MOV RESULT+1,ARETASCIITAB:DB '0123456789ABCDEF' ;定义数字对应的ASCII表END在下划线处填入适当指令。

单步运行程序观察查表指令的执行过程。

把LJMP $这条指令注释掉,然后全速运行该程序,然后让其停止观察程序执行到哪里?2. 实验内容2输入、汇编、调试下列四个程序,通过信息窗口观察并回答问题。

(1)程序a.asmORG 0000HMOV 30H,#87HMOV A,#69HADD A,30HNOPEND问:CY= ,(A)= ,OV= ,P=将程序中的指令NOP改为指令DA A后问:CY=,(A)= ,OV= ,P=(2)程序b.asmORG 0000HMOV SP,#60HMOV DPTR,#0A679HPUSH DPHPUSH DPLMOV A,#80HPUSH ACCPOP BPOP 30HPOP 31HNOPEND问:(SP)= ,(A)= ,(30H)= ,(31H)=,(B)=,(DPH)=,(DPL)=(3)程序c.asmORG 0000HMOV DPTR,#TABMOV A,#05HMOVC A,@A+DPTRNOPORG 1000HTAB: DB 6FH,30H,96H,75H,0A8H,0FEHDB 49H,8AH,5FH,0B6H,7FH,0C4HEND问:执行完MOVC A,@A+DPTR以后,(A)=(4)程序d.asmORG 0000HMOV A,#02HMOV B,ARL AADD A,BMOV DPTR,#TABJMP @A+DPTRNOPORG 0800HTAB: LJMP 1000HLJMP 2000HLJMP 3000HLJMP 4000HEND问:执行完JMP @A+DPTR以后,PC=实验二8051单片机汇编语言程序设计一、实验目的通过上机实验掌握单片机汇编语言程序的编写和调试。

二、实验基本要求按实验内容上机输入并调试实验程序。

画出实验程序的流程框图。

三、实验内容Proteus模型为BASIC.DSN。

1.内存块移动汇编语言源程序:ORG 00HSTART: MOV R0, #30HMOV R1, #00H ;设置源地址MOV R2, #40HMOV R3, #00H ;设置目标地址MOV R7, #0 ;设置计数值LOOP: MOV DPH, R0MOV DPL, R1 ;将源地址(3000H)赋DPTRMOVX A, @DPTR ;取源地址中的数据MOV DPH, R2MOV DPL, R3 ;将目标地址(4000H)赋DPTR MOVX @DPTR, A ;将源地址中的数据送到目标地址INC R1 ;源地址加1INC R3 ;目标地址加1DJNZ R7, LOOPLJMP $END输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。

相关文档
最新文档