微机原理与接口技术实验三

合集下载

微机原理及接口技术实验报告

微机原理及接口技术实验报告

《微机原理与接口技术》实验报告姓名:学号:班级:专业:电气工程及其自动化学院:电气与信息工程学院目录实验一数据传送 (2)实验二算术运算 (4)实验三代码转换 (6)实验四程序的基本结构 (9)1、分支程序 (9)2、循环程序 (13)3、子程序 (16)实验五中断实验(8259) (19)实验六并行接口实验(8255) (25)实验七定时器/计数器实验(8235) (31)实验八D/A接口实验 (36)实验九A/D接口实验 (40)实验十串行通信实验 (43)实验一数据传送一、实验目的1. 掌握与数据有关的不同寻址方式。

2. 继续熟悉实验操作软件的环境及使用方法。

二、实验设备PC微机一台、TD-PIT + 或TD-PIT ++ 实验系统一套。

三、实验内容本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。

四、实验步骤(1) 运行Tdpit 集成操作软件,编写实验程序。

(2) 编译连接无误后,进入调试环境,进行程序的调试。

按F8 键单步运行程序,执行完MOV DS,AX 语句后,观察DS 寄存器中出现的段地址。

如图1-1所示可以看出DS数据段中MSR源数据串"HELLO,WORLD!$"。

图1-1 进入调试环境(3)继续单步运行程序,执行MOV ES,AX 语句后,可以看数据段出现的段地址,用同样的方法可以查看ES:0000 的数据。

数据传输还没开始进行,此时ES 段的数据为空,如图1-1所示。

继续单步运行程序如图1-2可以看出数据正在逐渐的进入ES段中。

图1-2 DS源数据段数据(4)直到数据传输完毕,可以看到ES 数据段中目的数据串MSD 已经被写入了数据串"HELLO,WORLD!$"。

如图1-3所示。

图1-3 根据ES值查看附加段的数据实验二算术运算一、实验目的1. 掌握运算类指令编程及调试方法。

2. 掌握运算类指令对各状态标志位的影响及测试方法。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告实验一、认识tddebug集成操作软件一.实验内容(一)实验题目:数据传输实验1.编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。

2.修正此程序,使用字符串传输指令顺利完成。

(二)实验目的:通过对该程序进行调试,查看程序段、数据段、附加段装入内存后的分配情况。

单步执行数据传送指令后,观察各个寄存器及数据区的内容。

(三)实验步骤:1.运行tddebug软件,选择edit菜单编写实验程序件。

3.使用rmrun菜单中的run运行程序,观察运行结果。

4.采用rmrun菜单中的debug调试程序,查阅程序段、数据段、额外段放入内存后的分配情况。

单步执行数据传送指令后,观察各寄存器及数据区的内容。

过程如下:1)按f7单步执行,在代码区中有一个三角,表示正在执行的指令。

每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。

2)检查内存数据区的内容,关键是找出用户程序的数据段和附加段:方法1:在cpu窗口按tab键并使内存数据表明区沦为活动区,按ctrl+g键,?输入:“ds或es寄存器的值:偏移地址”,即可显示用户指定的数据区方法2:选择菜单view|dump,弹出内存数据显示窗口。

3)查阅继续执行结果:按alt+f5,转换至用户窗口。

5.修改数据区中的数据,实地考察、调试程序的正确性。

二.分析设计思想,绘制实验原理图、流程图。

汇编语言程序的研发过程例如图1.1右图,这个过程主要存有编辑、编程、链接几个步骤形成。

三.程序清单及相关注释。

ddatasegmentmsrdb\lenequ$-msrddataendsexdasegmentmsddblendup(?);定义源数据段;定义额外数据段1exdaends;定义堆栈段mystacksegmentstackdw20dup(?)mystackendscodesegment;定义代码段assumecs:code,ds:ddata,es:exdastart:movax,ddatamovds,axmovax,exdamovmovmovmovmoves,axsi,offsetmsrdi,offsetmsdcx,lenbx,0;装载数据段寄存器;装载附加数据段寄存器next:moval,msr[bx];已经开始传输数据moves:msd[bx],al inclooppushbxnextes;将附加段寄存器指向的段值赋给数据段寄存器popdsmovdx,offsetmsdmovah,9int21hmovah,4chint21h;显示字符串;返回dos状态codeendsendstart四.实验结果并分析。

微型计算机原理与接口技术实验指导3

微型计算机原理与接口技术实验指导3

实验三数据串传送和查表程序实验目的:通过实验掌握下列知识:1.执行串操作指令前要做哪些准备工作(设置哪些寄存器)?2.串传送、串比较、串扫描等指令及重复前辍REP、REPZ、REPNZ等。

实验内容及步骤:一、利用查表方法把DX的内容(16进制数)转换成ASCII码:1. 用A命令键入下列程序:MOV BX,1000MOV DI,2000MOV CX,4LOP: PUSH CXMOV CL,4ROL DX,CLPOP CXMOV AL,DLAND AL,OFXLATCLDSTOSBLOOP LOPINT 202. 用A命令在1000H处键入下列ASCII码并用D命令检查之:DB `0 1 2 3 4 5 6 7 8 9 A B C D E F'用D命令检查时注意左边的ASCII码值和右边的字符。

3. 用R命令给DX送一个四位的16进制数(例7F8E)。

4. 用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(用D命令检查)5. 用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。

可注意屏幕右边的ASCII字符与DX是否一致。

二、数据串搬家程序:1. 用A命令键入下列程序:MOV SI,1000MOV DI,1500MOV CX,0FLOP: MOV AL,[SI]MOV [DI],ALINC SIINC DILOOP LOPINT 202. 用A命令DB伪指令在1000H键入下列字符串:‘IBM_PC COMPUTER'3. 用G命令运行此程序,并用D命令检查目的地址处的字符与源串是否一致。

4. 若此程序中的目的地址改为1002H,再运行此程序,看能不能把1000H开始的字符串搬到1002H开始的地方去?修改程序以做到这一点。

三、段寄存器概念及字符串传送指令练习:1. 用A命令键入下列程序:MOV SI,0MOV DI,0MOV AX,1000MOV DS,AXMOV AX,1500MOV ES,AXMOV CX,0FCLDREP MOVSBINT 202. 用A命令DB伪指令在1000:0000处键入字符串'IBM_PC COMPUTER',并用D命检查之3. 用D命令检查0F00:1000处内容,看是否一样。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告
本次实验是关于微机原理与接口技术的实验报告,通过本次实验,我们将深入
了解微机原理与接口技术的相关知识,并通过实际操作来加深对这些知识的理解和掌握。

实验一,微机原理。

在本次实验中,我们首先学习了微机的基本原理,包括微机的组成结构、工作
原理和基本功能。

通过实际操作,我们了解了微机的主要组成部分,如中央处理器(CPU)、内存、输入输出设备等,并学习了它们之间的工作原理和相互配合关系。

同时,我们还学习了微机的基本指令系统和数据传输方式,加深了对微机工作原理的理解。

实验二,接口技术。

在接口技术的实验中,我们学习了微机与外部设备之间的接口技术,包括并行
接口、串行接口和通用接口等。

我们通过实际操作,了解了这些接口技术的工作原理和应用场景,学会了如何通过接口技术实现微机与外部设备的数据交换和通信。

实验三,实验综合。

在本次实验的最后,我们进行了一个综合实验,通过实际操作来综合运用微机
原理和接口技术的知识,实现一个具体的功能。

通过这个实验,我们加深了对微机原理与接口技术的理解,掌握了如何将理论知识应用到实际操作中。

总结。

通过本次实验,我们深入学习了微机原理与接口技术的相关知识,并通过实际
操作加深了对这些知识的理解和掌握。

微机原理与接口技术作为计算机科学与技术的基础知识,对我们今后的学习和工作都具有重要意义。

希望通过这次实验,能够对大家的学习和工作有所帮助,并为今后的学习打下坚实的基础。

以上就是本次实验的实验报告,希望对大家有所帮助。

感谢大家的阅读!。

微机原理与接口技术实验报告(3)

微机原理与接口技术实验报告(3)

4、实验总结在本次实验中需要注意的是在AH中的值会被覆盖,所以,我们为了解决这个问题,增加堆栈来储存这个值。

并且在这里我们用了移位指令,移位指令能够移位的次数,一定是1和寄存器CL中的内容,一定要注意,SHL这个指令一定要注意标志位OF和CF 。

本次实验是输入2个十进制数组合成压缩BCD码存入DL;再将压缩BCD码转换成ASCII码送CRT显示,了解cpu工作过程对我们学习汇编十分有用。

实验三顺序结构程序设计1、实验目的1. 熟悉EMU8086集成环境软件的使用方法。

2. 熟悉8086汇编指令,能自己编写简单的程序,并调试运行验证结果。

3.学会顺序结构程序设计的设计方法。

2、实验环境及设备PC机、EMU80863、实验内容(分为1 2两个实验)1. 编写简单程序,用数据运算指令,对两个16位数做加法运算。

这两个数从地址10050H 开始连续存放,低位在低地址一端,结果放在这两个数之后。

code segmentstart:; set segment registers:MOV AX,1000HMOV DS,AXMOV SI,50HMOV DI, 52HMOV BX, 54HCLC ;将进位位CF清零,即CF=0.XOR AX, AXMOV AX, [SI]ADC AX, [DI]MOV [BX], AXHLTends在此实验过程中,寄存器显示的数值能够和源程序中设置值吻合,但是有个不明白的地方,如果给[SI][DI]赋值,运算结果并不能够得到正确答案,标志寄存器中CF的值也对不上,,结果如上图所示。

4、实验总结实验遇到问题在之后在学习过程中已经找老师得到解答。

值得一提的是,8086本身为十六位的数据系统,因此在做十六位加减法时程序比较简单,如果是八位数据系统的话,就要先加低八位,利用CF来进位,再加高八位。

一定要意识到这个问题。

2.编写简单程序,实现组合BCD码转换成ASCII码送CRT显示。

实验内容:。

微机原理与接口技术实验报告参考

微机原理与接口技术实验报告参考

微机原理与接口技术实验报告实验一显示程序实验一、实验目的1. 掌握在PC机上以十六进制形式显示数据的方法;2. 掌握部分DOS功能调用使用方法;3. 熟悉Tddebug调试环境和Turbo Debugger的使用。

二、实验所用设备1. PC微机一台。

三、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。

本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。

实验中可使用DOS功能调用(INT 21H)。

(1) 显示单个字符输出入口:AH=02H调用参数:DL=t出字符(2) 显示字符串入口:AH=09H调用参数:DS:DX串地址,’$'为结束字符(3) 键盘输入并回显入口:AH=01H返回参数:AL=t出字符(4) 返回DO系统入口:AH=4CH调用参数:AL=M回码四、实验步骤1. 运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图1-1示;2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3. 使用Rmrun菜单中的Run,运行程序,观察运行结果;4. 使用Rmrun菜单中的Debug调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5. 更改数据区中的数据,考察程序的正确性。

图1-1显示程序实验流程图五、程序清单DATA SEGMENTMES DB 'laoshihao:', 0AH,0DH,'$' SD DB 'b'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, OFFSET MESMOV AH, 09HINT21HMOV DI, OFFSET SDMOV AL, DS:[DI]AND AL, 0F0HSHR AL,4CMP AL, 0AHJB L1ADD AL, 07HL1: ADD AL, 30HMOV DL, ALMOV AH, 02HINT21HMOV AL, DS:[DI]AND AL, 0FHCMP AL, 0AHJB L2ADD AL, 07HL2: ADD AL, 30HMOV DL, ALMOV AH, 02HINT21HMOV AX, 4C00HINT21HCODE ENDSEND START六、实验调试过程调试过程中出现警告,显示没有使用堆栈段。

实验三并行总线实验报告

实验三并行总线实验报告

同济大学电子与信息工程学院实验中心实验报告实验课程名称:微机原理与接口技术(双语)任课老师:张伟实验项目名称:并行总线实验姓名马绮铭学号1452343实验日期2016年10月25日实验地点电信楼348并行总线实验一、实验要求使用 4 块实验板完成多板间的并行总线实验,能够实现按键控制模块通过总线、cpu 模块来控制数码管显示模块的功能。

二、实验目的通过此实验加深对 Intel 微处理器的总线设计架构的理解,并尝试设计编写拓展模块。

掌握模块例化的方法,提高 Verilog 编程效率。

三、原理介绍在典型的 Intel 微处理器中,CPU 通过总线和其它设备连接,总线架构按功能分类,一般分为三类:数据总线(data bus)、地址总线(address bus)和控制总线(control bus)。

CPU、外设、总线的关系可以用下面这张图表示:典型的 Intel CPU 总线架构图Intel 微处理器最早使用并行总线架构,从最初的 16 位发展到 32 位、64 位,运行速度不断提高,在提高 CPU 的高速访问、扩大内存等性能上提供有力支持。

CPU 按照一定的时序逻辑,可以实现对总线和外设的数据进行高效、快速、准确的读、写操作。

8086 微处理器的总线时序:读操作中断功能:为了协调高速工作的 CPU 和低速运行的外设之间的矛盾,避免CPU 长时间处于无用的等待过程而浪费宝贵的 CPU 资源,Intel 微处理器还引入了中断的设计。

具体可以参照微机原理课程,这里不再展开。

四、实验环境硬件环境为 Xilinx 公司的 spartan3 开发板5块及其组件。

软件实验环境为Xilinx ISE 开发软件。

五、实验原理图六、模块说明此实验共需要五块开发板,分别充当CPU模块、总线模块、按键控制模块、数码管显示模块和UART串口模块。

1、 CPU 模块:使用 bank3作为总线端,连接到总线模块的bank 0,因端口数有限,设计包含4位地址线、8位数据线、3位控制线、4位中断信号线。

微机原理与接口技术实验3报告

微机原理与接口技术实验3报告

微机原理与接口技术实验报告实验三实验名称:数码管显示实验实验代码:代码一:数码管动态显示0-9;Io-8.asm;数码管显示示例程序1;动态显示0-9IOY0 EQU 3000H ;片选IOY0对应的端口始地址DA TA1 SEGMENT;定义数码管显示0-9的值NUM DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H DA TA1 ENDSSTACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA1START:;载入数据段MOV AX,DATA1MOV DS,AXMOV DX,IOY0LEA SI,NUMMOV CX,10XOR AX,AXNEXT:MOV AL,[SI] ;低八位确定要显示的数值MOV AH,1FH ;高八位确定选择的数码管OUT DX,AX ;将值输出到外设CALL DALL YINC SI ;显示下一数值LOOP NEXTJMP STARTDALL Y PROC NEAR ;软件延时子程序PUSH CXPUSH AXMOV CX,0FFFHD1: MOV AX,0FFFFHD2: DEC AXJNZ D2LOOP D1POP AXPOP CXRETDALL Y ENDPCODE ENDSEND START运行结果:六位数码管动态显示0-9代码二:数码管动态显示0-99;数码管动态显示0-99IOY0 EQU 3000H ;片选IOY0对应的端口始地址DA TA1 SEGMENT;定义数码管显示0-9的值NUM DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H DA TA1 ENDSSTACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA1START:;载入数据段MOV AX,DATA1MOV DX,IOY0LEA SI,NUMLEA DI,NUMMOV CX,10XOR AX,AXMOV CX,100MOV BX,0ADD DI,BXNEXT1:;---------SW----;MOV CX,10;----------GW-------;NEXT:PUSH CXMOV CX ,0FFHNEXT3:MOV AL,[SI] ;低八位确定要显示的数值MOV AH,2FH ;高八位确定选择的数码管OUT DX,AXCALL DALL YMOV AL,[DI]MOV AH,1FHOUT DX,AXCALL DALL YLOOP NEXT3INC SIPOP CX;JMP MYLOOP ;显示下一数值LOOP NEXTINC DILEA SI,NUMJMP NEXT1DALL Y PROC NEAR ;软件延时子程序PUSH CXMOV CX,0FFHD1: MOV AX,0FFFHD2: DEC AXJNZ D2LOOP D1POP AXPOP CXRETDALL Y ENDPCODE ENDSEND START运行结果:数码管后两位动态显示0-99。

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

实验四、可编程并行接口(一)
(8255 方式0)
09电子班姓名:赵洪娟学号:2009061306
一、实验目的
1.掌握8255 方式0 的工作原理及使用方法。

二、实验内容
1.实验电路如图(10),8255C 口接逻辑电平开关K0~K7,A 口接LED 显示电路L0~L7。

2. 编程从8255C 口输入数据,再从A 口输出.
图10
三、编程提示
1、8255控制寄存器端口地址28BH
A口的地址288H
C口的地址28AH
2、参考流程图
图11
四、实验程序
ioport equ 0d400h-0280h outp0=ioport+28Bh
outpA=ioport+288h outpC=ioport+28Ah
code segment
assume cs:code
start : mov al , 89h mov dx , outp0
out dx , al
mov dx , outpC
in al , dx
mov dx , outpA
out dx, al
mov dl ,al
mov ah , 2
int 21h
mov dl , 0dh
int 21h
jmp start
mov ah , 4ch
int 21h
code ends
end start
五、实验分析
先将实验电路图连接好,然后写程序,检查是否有错误,改正后链接运行程序,运行成功后拨动开关,会看到打开哪个开关哪个灯就会亮,并且会发现电脑上会显示不同的符号。

写程序是注意若A口地址为288h则B口地址为289h、C口地址为28Ah、控制寄存器端口地址为28Bh,因为A1A0是用来选择ABC数据口和控制寄存器。

也可以改变输入输出口,只需改变
mov dx , outpC
in al , dx
mov dx , outpA
out dx, al
这四句话就可以了,但要记住要把电路图改变。

六、实验心得
学会了8255 方式0 的工作原理及使用方法,如何用汇编定义8255A的数据口的输出输入,以及如何用A1A0选择数据口和控制寄存器。

相关文档
最新文档