微机原理及接口技术实验报告_第1页
微机原理及接口技术实验报告_第2页
微机原理及接口技术实验报告_第3页
微机原理及接口技术实验报告_第4页
微机原理及接口技术实验报告_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、 微机原理及接口技术实验报告班 级 姓 名 学 号 4125 2014年 6月实验一显示程序实验4一、实验目的4二、实验内容4三、实验步骤4四、程序清单5五、运行结果6实验二数据传送实验7一、实验目的7二、实验内容7三、实验步骤7四、程序清单7五、运行结果8实验三数码转换程序实验9一、实验目的9二、实验内容9三、实验步骤12四、程序清单12五、运行结果21实验四运算类程序实验23一、实验目的23二、实验内容23三、实验步骤24四、程序清单24五、运行结果26实验五简单I/O口拓展试验27二、实验目的27二、实验设备27三、实验内容27四、实验原理27五、实验步骤27六、实验结果28实验六存储器

2、读写实验29一、实验目的29二、实验设备29三、实验内容29四、实验原理29五、实验步骤29六、实验结果31实验七8255并行口实验33一、实验目的33二、实验设备33三、实验内容33四、实验原理33五、实验步骤33六、实验结果34实验八8253定时器/计数器接口实验35一、实验目的35二、实验设备35三、实验内容35四、实验原理35五、实验步骤35六、实验结果37实验九8259中断控制器实验38一、实验目的38二、实验设备38三、实验内容38四、实验原理38五、实验步骤39六、实验结果43实验十流水灯实验44一、实验目的44二、实验设备44三、实验内容44四、实验原理44五、实验步骤44六、

3、实验结果46实验一 显示程序实验一、 实验目的1. 掌握在PC机上以十六进制形式显示数据的方法;2. 掌握部分DOS功能调用使用方法;3. 熟悉汇编语言调试环境和Turbo Debugger的使用。二、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能调用(INT 21H)。(1) 显示单个字符输出 入口:AH=02H 调用参数:DL=输出字符 (2) 显示字符串 入口:AH=09H 调用参数:DS:DX=串地址,$为结束字符

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

5、单 DATA SEGMENT MES DB Show a as hex:,0AH,0DH,$ SD DB a DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES ;显示提示信息 MOV AH,09H INT 21H MOV DI,OFFSET SD MOV AL,DS:DI AND AL,0F0H ;取高四位 SHR AL,4 CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;显示字符

6、 MOV AH,02H INT 21H MOV AL,DS:DI AND AL,0FH ;取低四位 CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H MOV DL,AL ;显示字符 MOV AH,02H INT 21H MOV AX,4C00H ;返回DOS INT 21H CODE ENDS END START五、运行结果实验二 数据传送实验一、实验目的1. 熟悉汇编语言调试环境和Turbo Debugger的使用; 2. 掌握与数据有关的不同寻址方式。 二、实验内容将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。三、实验步骤1.

7、 运行轻松汇编软件,选择Edit菜单编写实验程序; 2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3. 使用Run菜单中的Run,运行程序,观察运行结果; 4. 使用Run菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容; 5. 更改数据区中的数据,考察程序的正确性。 四、程序清单 DDATA SEGMENT ;定义源数据段 MSR DB HELLO,WORLD!$ LEN EQU $-MSR ;(段的长度) DDATA ENDS EXDA SEGMENT ;定义附加数据段 MSD DB LEN DUP(?) EXDA

8、 ENDS MYSTACK SEGMENT STACK ;定义堆栈段 DW 20 DUP(?) MYSTACK ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DDATA,ES:EXDA START: MOV AX,DDATA MOV DS,AX ;装载数据段寄存器 MOV AX,EXDA MOV ES,AX ;装载附加数据段寄存器 MOV SI,OFFSET MSR ;设置SI MOV DI,OFFSET MSD ;设置DI MOV CX,LEN ;计算的次数 NEXT: MOV AL,SI ;开始传输数据 MOV ES:DI,AL INC SI INC

9、 DI DEC CX JNZ NEXT PUSH ES POP DS ;将附加段寄存器的段值赋给数据段寄存器 MOV DX,OFFSET MSD MOV AH,9 INT 21H MOV AX,4C00H ;利用DOS功能调用返回DOS状态 INT 21H CODE ENDS END START五、运行结果实验三 数码转换程序实验一、实验目的掌握不同进制数及编码相互转换的程序设计方法。 二、实验内容计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应

10、用软件中,各类数制的转换和代码的转换是必不可少的。计算机与外设间的数码转换关系如图3-1所示,数码对应关系如表3-1所示。图3-1 计算机与外设间的数码转换关系1将ASCII码表示的十进制数转换为二进制数 十进制数可以表示为:Dn10n+Dn-110n-1+D0100=Di10i 其中Di代表十进制数1、2、39、0。 上式可以转换为:Di10i=(Dn10+Dn-1)10)+Dn-2)10+D1)10+D0 由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数结果。 本实验要求将缓冲区中的一个五位十进制数00012的ASCII码转

11、换成二进制数,并将转换结果按位显示在屏幕上。转换过程的参考流程如图3-2所示。表3-1 数码转换对应关系 2将十进制数的ASCII码转换为BCD码 本实验要求将键盘输入的一个五位十进制数54321的ASCII码存放入数据区中,转换为 BCD 码后,并将转换结果按位分别显示于屏幕上。若输入的不是十进制数的ASCII码,则输出“FF”。提示:一字节ASCII码取其低四位即变为BCD码。转换部分的实验流程参见3-3。 3将十六进制数的ASCII码转换为十进制数 十六位二进制数的值域为0-65535,最大可转换为五位十进制数。五位十进制数可表示为:ND=D4104+D3103+D2102+D110+D

12、0 因此,将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1-D4,并将它们转化为ASCII码。图3-2 十进制ASCII转换为 图3-3 十进制ASCII转换为二进制数参考流程 BCD码参考流程本实验要求将缓冲区中存放的000CH的ASCII码转换成十进制数,并将转换结果显示在屏幕上。转换部分的实验流程参见图3-4。4BCD码转换为二进制码 本实验要求将四个二位十进制数的BCD码存放在某一内存单元中,转换出的二进制数码存入其后的内存单元中,转换结束,送屏幕显示。转换部分的实验流程参见3-5。 图3-4 将十六进制数的ASCII码转换 图3-5 BCD码转换为二进制码为十进制数参

13、考流程 参考流程三、实验步骤1. 运行轻松汇编软件,选择Edit菜单编写实验程序; 2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接; 3. 使用Run菜单中的Run,运行程序,观察运行结果; 4. 使用Run菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5. 更改数据区中的数据,考察程序的正确性。四、程序清单1.程序清单 DATAS SEGMENT NUMBER DB 00012 DATAS ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATAS START: MOV AX,DATAS M

14、OV DS,AX MOV CX,4 MOV SI,OFFSET NUMBER MOV AL,SI SUB AL,30H MOV AH,00H MOV BL,10 L1: MUL BL ADD AL,SI+1 SUB AL,30H INC SI DEC CX JNZ L1 MOV CX,8 MOV BL,AL NEXT: SHL BL,1 JC ONE MOV DL,30H JMP EXIT ONE: MOV DL,31H EXIT: MOV AH,02H INT 21H DEC CX JNZ NEXT MOV AH,4CH INT 21H CODE ENDS END START2.程序清单 D

15、ATA SEGMENT D1 DB 6,?,6 DUP(?) D2 DB 5 DUP(?) D3 DB FF$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET D1 MOV AH,0AH INT 21H MOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H MOV CL,D1+1 MOV CH,0 MOV SI,0 L1: MOV AL,D1SI+2 CMP AL,30H JB L2 CMP AL,39H J

16、A L2 AND AL,0FH MOV D2SI,AL INC SI LOOP L1 MOV CL,D1+1 MOV SI,0 L4: MOV DL,D1SI+2 MOV AH,2 INT 21H INC SI LOOP L4 JMP L3 L2: MOV DX,OFFSET D3 MOV AH,09H INT 21H L3: MOV AH,4CH INT 21H CODE ENDS END START3.程序清单 DATA SEGMENT BUF DB 5 DB ? DB 5 DUP(?) HEX DB 4 DUP(?) DECI DB 5 DUP(0),$ S1 DB 16JINZHI :

17、 $ S2 DB 0AH,0DH,10JINZHI : $ DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,S1 MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV SI,2 MOV DI,0 CHECK: MOV AL,SIBUF CMP AL,40H JS NUM CMP AL,47H JS CAPITAL SUB AL,57H JMP STORE NUM: SUB AL,30H JMP STORE CAPITAL: SUB

18、AL,37H JMP STORE STORE: MOV HEXDI,AL INC DI INC SI CMP DI,4 JNZ CHECK LEA DX,S2 MOV AH,9 INT 21H MOV AX,WORD PTR HEX SHL AL,4 ADD AH,AL MOV CH,AH MOV AX,WORD PTR 2HEX SHL AL,4 ADD AL,AH MOV AH,CH MOV SI,5 MOV BX,10 MOV DX,0 CMP AX,0 JNS CONV NEG AX PUSH AX PUSH DX MOV DL,2DH MOV AH,2 INT 21H POP DX

19、POP AX CONV: DEC SI DIV BX ADD DX,30H MOV DECISI,DL XOR DX,DX CMP AX,0 JNZ CONV LEA DX,DECI MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START4.程序清单 DATA SEGMENT DASC DB 3 DB ? DB 3 DUP(?) S1 DB 0AH,0AH,0DH,10 JINZHI MA : $ S2 DB 0AH,0DH, BCD MA: $ S3 DB 0AH,0DH, 2 JINZHI MA : $ STO DB 8 DUP(?)

20、 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV DI,0 MOV SI,4 LOOPER: CALL WHOLE DEC SI JNZ LOOPER JMP EXIT WHOLE: LEA DX,S1 MOV AH,9 INT 21H LEA DX,DASC MOV AH,10 INT 21H LEA DX,S2 MOV AH,9 INT 21H MOV AX,WORD PTR 2DASC SUB AX,3030H SHL AL,4 ADD AL,AH MOV DISTO,AL M

21、OV CH,2 MOV CL,4 PRE1: MOV DX,30H ROL AL,1 JNC DISP1 ADD DX,01H DISP1: PUSH AX MOV AH,02 INT 21H POP AX DEC CL JNZ PRE1 PUSH AX MOV DL,20H MOV AH,2 INT 21H POP AX DEC CH MOV CL,4 JNZ PRE1 LEA DX,S3 MOV AH,9 INT 21H MOV AL,DISTO MOV BL,AL AND BL,0FH SHR AL,4 MOV CL,10 MUL CL ADD AL,BL INC DI MOV DIST

22、O,AL INC DI MOV CX,8 PRE2: MOV DX,30H ROL AL,1 JNC DISP2 ADD DX,01H DISP2: PUSH AX MOV AH,02 INT 21H POP AX LOOP PRE2 RET EXIT: MOV AH,4CH INT 21H CODE ENDS END START五、运行结果1.运行结果2.运行结果3.运行结果4.运行结果实验四 运算类程序实验一、实验目的1. 掌握运算类指令编程及调试方法; 2. 掌握运算类指令对各状态标志位的影响及测试方法。 二、实验内容80x86指令系统提供了实现加、减、乘、除运算的基本指令,可对表4-1

23、所示的数据类型进行算术运算。表4-1 数据类型算术运算表1二进制双精度加法运算 本实验要求计算X+Y=Z,将结果Z输出到屏幕,其中X=001565A0H,Y=0021B79EH。 实验利用累加器AX,先求低十六位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。在80386以上微机中可以直接使用32位寄存器和32位加法指令完成本实验的功能。图4-1 二进制双精度加法运算参考流程三、实验步骤1. 运行轻松汇编软件,选择Edit菜单编写实验程序; 2. 使用Com

24、pile菜单中的Compile和Link对实验程序进行汇编、连接; 3. 使用Run菜单中的Run,运行程序,观察运行结果; 4. 使用Run菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容; 5. 更改数据区中的数据,考察程序的正确性。 四、程序清单 DATA SEGMENT X DD 421C65A0H Y DD 3C41B69BH S DB X+Y= $ SUM DB 4 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX

25、,WORD PTR X MOV BX,WORD PTR Y ADD AX,BX MOV WORD PTR SUM,AX MOV AX,WORD PTR 2X MOV BX,WORD PTR 2Y ADC AX,BX MOV WORD PTR 2SUM,AX LEA DX,S MOV AH,9 INT 21H MOV CX,4 MOV SI,3 CHECK: MOV AL,SUMSI MOV AH,AL SHR AL,4 CMP AL,0AH JS DISP1 ADD AL,07H DISP1: ADD AL,30H MOV DL,AL PUSH AX MOV AH,02H INT 21H PO

26、P AX AND AH,0FH CMP AH,0AH JS DISP2 ADD AH,07H DISP2: ADD AH,30H MOV DL,AH MOV AH,02H INT 21H DEC SI LOOP CHECK EXIT: MOV AH,4CH INT 21H CODE ENDS END START五、运行结果实验五 简单I/O口拓展试验二、 实验目的1、 熟悉74LS273,74LS244的应用接口方法。 2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。二、实验设备 EL-MUT-III 型微机/单片机教学实验系统三、实验内容逻辑电平开关的状态输入到74LS244,然后通

27、过74LS273锁存输出,利用LED显示电路作为输出的状态显示。四、实验原理本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。五、实验步骤1. 实验接线 (表示相互连接)CS0CS244;CS1CS273;平推开关的输出K1K8 IN0IN7(对应连接);0007LED1LED8。2. 程序框图3. 源程序assume cs:code code segment public org 100hstart: mov dx,04a0h ;74LS244地址 in al,dx ;读输入开关量 mov dx,04b0h ;74LS273地址 out dx,al ;输出至LED jmp st

28、art code ends end start 4. 单步运行调试程序,调试成功后全速运行,观看记录实验结果。六、实验结果全速运行后,拨动逻辑电平开关时相应的LED灯被点亮。例如:K2置于L位置,则对应的LED2应该点亮。实验六 存储器读写实验一、实验目的 1.掌握PC机外存扩展的方法。 2.熟悉6264芯片的接口方法。二、实验设备 EL-MUT-III 型微机/单片机教学实验系统三、实验内容 向02000020FFH单元的偶地址送入AAH,奇地址送入55H。要求设置两个断点,在断点1处内存区02000H020FFH单元为00H;在断点2处偶地址为AAH,奇地址为55H四、实验原理存储器电路由

29、一片2764、一片27256、一片6264、一片62256、三片74LS373组成,2764提供监控程序高8位,27256提供监控程序低8位,6264提供用户程序及数据存储高8位,2764提供监控程序低8位,74LS373提供地址信号。ABUS表示地址总线,DBUS是数据总线。D0D7是数据总线低八位,D8D15是数据总线高八位。其他控制总线如:MEMR,MEMW和片选线均已接好。在8086系统中,存储器分成两部分,高位地址部分(奇字节)和低位地址部分(偶字节)。当A0=1时,片选信号选中奇字节;当A0=0时,选中偶字节。五、实验步骤1、实验接线:本实验无需接线。2、程序框图3、源程序 COD

30、E SEGMENT ASSUME CS:CODE ORG 0100H START: MOV AX,0100H MOV DS,AX;数据段地址 MOV ES,AX MOV SI,1000H;偏移地址 MOV CX,0100H;循环次数 MOV AL,0 INTRAM: MOV SI,AL INC SI LOOP INTRAM MOV SI,1000H;设置断点处 MOV CX,100H MOV AX,55AAH FIL: MOV SI,AX ;RAM区循环置数 INC SI;movsi,ah INC SI LOOP FIL NOP ;设置断点处 JMP START CODE ENDS END S

31、TART 4、运行实验程序,可采取单步、设置断点方式,打开内存窗口可看到内存区的变化。六、实验结果设置断点后运行时可看到在断点1处内存区02000H020FFH单元为00H;在断点2处偶地址为AAH,奇地址为55H。实验七 8255并行口实验一、实验目的掌握8255A的编程原理。二、实验设备 EL-MUT-III 型微机/单片机教学实验系统三、实验内容 8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。四、实验原理本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。五、实验步骤1、 实验接线CS0CS8255,PA0PA7,平推开关的输出K1K8,PB0PB7发光二极管的输入LDE1LDE8。2、 程序框图3、 源程序 ASSUME CS:CODE CODE SEGMENT PUBLIC ORG 100H START: MOV DX,04A6H ;控制寄存器地址 MOV AX,90H ;设置为A口输入,B口输出 OUT DX,AX START1: MOV DX,04A0H ;A口地址 IN AX,DX ;输入 MOV DX,04A2H ;B口地

温馨提示

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

评论

0/150

提交评论