微机接口机原理实验报告

时间:2024.3.31

微机原理及接口技术

         ——实验报告

 

 

 

 

 

 

 

                学号:xxxxxx

           姓名:  xxxxx

           专业:网络工程

 

实验一:系统认知

1.1实验目的

掌握 TD 系列微机原理及接口技术教学实验系统的操作,熟悉 Wmd86 联机集成开发调试软件的操作环境。通过顺序程序设计与分支程序设计来进行举例。

1.2实验设备

PC 机一台,TD-PITE 实验装置一套。

1.3实验内容

    内存从BUFF开始的单元中存放着两个字数据X、Y,完成X+Y,并将相加的和(假设仍为一个字数据)存放于内存从RESULT开始的存储单元中。

DATA SEGMENT

BUFF  DW   X,Y

RESULT DW ?

DATA  ENDS

CODE  SEGMENT

         ASSUME CS:CODE,DS:DATA

START:  MOV AX,DATA

          MOV DS,AX

           MOV AX,BUFF

          ADD AX,BUFF+2

          MOV RESULT,AX

          MOV AH,4CH

         INT 21H

CODE  ENDS

           END START

加载程序后调试,R寄存器;U反汇编;D显示数据;E修改数据。

1.4实验截图

实验二分支程序设计

2.1实验目的

1. 掌握分支程序的结构。

2. 掌握分支程序的设计、调试方法。

2.2实验设备

PC 机一台,TD-PITE 实验装臵一套。

2.3实验内容

           1,    X>0

求函数Y=  0,      X=0

           -1,     X<0

程序如下:

DATA  SEGMENT

VAR1  DB   X

VAR2  DB ?

DATA ENDS

CODE    SEGMENT

         ASSUME CS:CODE,DS:DATA

START:MOV  AX,DATA

       MOV  DS,AX

       MOV  AL,  VAR1

       CMP  AL, 0

       JGE BIG

       MOV  VAR2,0FFH

       JMP    DONE

BIG:JE EQUL

    MOV  VAR2,1

    JMP  DONE

EQUL:MOV VAR2, 0

DONE:MOV  AH, 4CH

     INT 21H

CODE  ENDS

     END   START

实验三循环程序设计

3.1实验目的

1)加深对循环结构的理解。

2)掌握循环结构程序设计的方法以及调试方法。

3.2实验设备

PC 机一台,TD-PITE 实验装置一套。

3.3实验内容

PUBLIC  MAX

DATA  SEGMENT

NUMBER  DB  01H,11H,22H,33H,44H,55H,66H,77H,88H,99H

MAX   DB ?

DATA  ENDS

CODE SEGMENT

      ASSUME  CS:CODE,DS:DATA

START:  MOV   AX,DATA

         MOV  DS,AX

INIT: LEA   SI,   NUMBER

      LEA   DI,   MAX

      MOV   CX,10

      MOV   AL,[SI]

      INC  SI

      DEC   CX

AGAIN:  CMP   AL,[SI]

      JA NEXT

      MOV   AL,[SI]

NEXT: INC  SI

         LOOP  AGAIN

RESULT: NOP

         MOV   [DI],AL

         MOV   AX,4C00H

         INT   21H

CODE     ENDS

         END   START

3.4实验截图

实验四8259中断控制实验

4.1实验目的

1)掌握8259中断控制器的原理

2)学习8259的应用编程方法

3)掌握8259级联方式的使用方法

4.2实验设备

PC机一台,TD—PIDE实验装置一套

4.3实验内容

1)单次脉冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。

程序如下:

SSTACK  SEGMENT  STACK

        DW  32   DUP(?)

SSTACK   ENDS

CODE     SEGMENT

         ASSUME   CS:CODE

START:PUSH  DS

      MOV  AX,0000H

      MOV  DS,AX

      MOV  AX,OFFSET MIR7      

      MOV  SI,003CH

      MOV  [SI],AX

      MOV  AX,CS

      MOV  SI,003EH

      MOV  [SI],AX

      CLI

      POP  DS

      MOV  AL,11H

      OUT  20H,AL

      MOV  AL,08H

      OUT  21H,AL

      MOV  AL,04H

      OUT  21H,AL

      MOV  AL,01H

      OUT  21H,AL

      MOV  AL,6FH

      OUT  21H,AL

      STI

AA1:NOP

    JMP  AA1

MIR7:STI

     CALL DELAY

     MOV  AX,0137H

     INT  10H

      MOV  AX,0120H

      INT  10H

      MOV  AL,20H

      OUT  20H,AL

      IRET

DELAY:PUSH  CX

      MOV  CX,0F00H

AA0:PUSH  AX

    POP  AX

    LOOP  AA0

    POP  CX

    RET

CODE   ENDS

END  START

2)KK1 +连接到主片8259的IR7上,KK2+连接到从片8259 的IR1上,当按一次KK1+时,显示屏上显示字符“M7”按一次KK2+时,显示字符“S1”。

程序如下:

SSTACK   SEGMENT STACK

         DW  32  DUP(?)

SSTACK   ENDS

CODE     SEGMENT

           ASSUME  CS:CODE

 START:PUSH   DS

       MOV  AX,0000H

       MOV  DS,AX

       MOV  AX,OFFSET  MIR7      

       MOV  SI,003CH

       MOV  [SI],AX

       MOV  AX,CS

       MOV  SI,003EH

       MOV  [SI],AX

       MOV  AX,OFFSET SIR1

       MOV  SI,00C4H

       MOV  [SI],AX

       MOV  AX,CS

       MOV  SI,00C6H

       MOV  [SI],AX

       CLI

       POP  DS

       MOV  AL,11H

       OUT  20H,AL

       MOV  AL,08H

       OUT  21H,AL

        MOV  AL,04H

        OUT  21H,AL

        MOV  AL,01H

        OUT  21H,AL

        MOV  AL,11H

        OUT  0A0H,AL

        MOV  AL,30H

        OUT  0A1H,AL

        MOV  AL,02H

        OUT  0A1H,AL

        MOV  AL,01H

        OUT  0A1H,AL

        MOV  AL,0FDH

        OUT  0A1H,AL

        MOV  AL,6BH

        OUT  21H,AL

        STI

AA1:NOP

    JMP  AA1

MIR7:CALL DELAY

     MOV  AX,014DH

     INT  10H

      MOV  AX,0137H

      INT  10H

      MOV  AX,0120H

      INT  10H

      MOV  AL,20H

      OUT  20H,AL

      IRET

SIR1:CALL DELAY

     MOV  AX,0153H

     INT  10H

     MOV  AX,0131H

     INT  10H

     MOV  AX,0120H

     INT  10H

     MOV  AL,20H

     OUT  0A0H,AL

     OUT  20H,AL

     IRET

DELAY:PUSH  CX

      MOV   CX, 0F00H

AA0:PUSH  CX

    POP   AX

    LOOP  AA0

    POP   CX

    RET

CODE     ENDS

END   START

4.4实验截图

实验五8254定时/计时器实验

5.1实验目的

1)掌握8254的工作方式及应用编程。

2)掌握8254典型应用电路的接法。

5.2实验设备

PC机一台,TD-PITE 实验装臵一套。

5.3实验内容

1)计数应用实验。编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按动‘KK1+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’。

2)定时应用实验。编写程序,应用8254的定时功能,产生一个 1s 的方波。

5.4实验程序

A8254 EQU  06C0H

B8254 EQU  06C2H

C8254 EQU  06C4H

CON8254    EQU 06C6H

SSTACK  SEGMENT STACK

    DW  32 DUP(?)

SSTACK  ENDS

CODE SEGMENT

   ASSUME CS:CODE, SS:SSTACK

START:  PUSH DS

    MOV AX, 0000H

    MOV DS, AX

    MOV AX, OFFSET IRQ7     

        MOV SI,  003CH    

        MOV  [SI], AX     

        MOV AX, CS

        MOV SI, 003EH

MOV  [SI], AX 

CLI

POP DS

MOV AL,  11H

OUT  20H, AL

MOV AL,  08H

OUT  21H, AL

MOV AL,  04H

OUT  21H, AL

MOV AL,  01H

OUT  21H, AL

MOV AL,  6FH

OUT  21H, AL

MOV DX, CON8254

MOV AL,  10H

OUT DX, AL

MOV DX, A8254

MOV AL,  04H

OUT DX, AL

STI

AA1: JMP AA1

IRQ7: MOV DX, A8254

MOV AL,  04H

OUT DX, AL

MOV AX,  014DH

INT  10H 

MOV AX,  0120H

INT  10H

MOV AL,  20H

OUT  20H, AL

IRET

CODE ENDS

END    START

实验六8255并行接口实验

5.1实验目的

1)学习并掌握 8255 的工作方式及其应用。

2)掌握 8255 典型应用电路的接法。

3)掌握程序固化及脱机运行程序的方法。

5.2实验设备

PC机一台,TD-PITE 实验装置一套。

5.3实验步骤及内容

1)基本输入输出实验:本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。用一组开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

程序如下:

SSTACK  SEGMENT

DW 32 DUO(?)

SSTACK  ENDS

CODE SEGMENT

         ASSUME  CS:CODE

START:  MOV  DX,0646H

         MOV  AL,90H

         OUT  DX,AL

AA1:    MOV  DX,0640H

         IN   AL,DX

         CALL DELAY

         MOV  DX,0642H

         OUT  DX,AL

         JMP  AA1

DELAY:  PUSH CX

         MOV  CX,0F00H

AA2:    PUSH AX

         POP  AX

         LOOP AA2

         POP  CX

         RET

CODE    ENDS

         END  START

2)流水灯显示实验:使8255的A口和B口均为输出,数据灯 D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与 D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

程序如下:

SSTACK  SEGMENT

         DW 32 DUO(?)

SSTACK  ENDS

CODE SEGMENT

         ASSUME  CS:CODE

START:  MOV  DX,0646H

         MOV  AL,80H

         OUT  DX,AL

         MOV BX,8001H

AA1:    MOV  DX,0640H

         MOV  AL,BH

         OUT  DX,AL

         ROR  BH,1

        MOV  DX,0642H

         MOV  AL,BL

         OUT  DX,AL

         ROL  BL,1

         CALL DELAY

         CALL DELAY

         JMP  AA1

DELAY:  PUSH CX

         MOV  CX,0F00H

AA2:    PUSH AX

         POP  AX

         LOOP AA2

         POP  CX

         RET

CODE    ENDS

         END  START

    实验七  设计流水灯显示

实验要求:

设计一组实验程序,实现按下开关KK1,流水灯由中间向两边依次发亮。按下开关KK2,流水灯由两边向中间依次发亮。

实验目的

:对前边实验进行总结,自行设计,达到实验要求。

实验设备

PC 机一台,TD-PITE 实验装置一套。

实验线路连接图:

实验实现程序:

SSTACK SEGMENT STACK

   DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

   ASSUME CS:CODE

START: PUSH DS

   MOV AX, 0000H

   MOV DS, AX

   MOV AX, OFFSET MIR7 ;取中断入口地址

   MOV SI, 003CH ;中断矢量地址

   MOV [SI], AX ;填IRQ7的偏移矢量

   MOV AX, CS ;段地址

   MOV SI, 003EH

   MOV [SI], AX ;填IRQ7的段地址矢量

   MOV AX, OFFSET SIR1

   MOV SI, 00C4H

   MOV [SI], AX

   MOV AX, CS

   MOV SI, 00C6H

   MOV [SI], AX

   CLI

   POP DS ;初始化主片8259

   MOV AL, 11H

   OUT 20H, AL ;ICW1

   MOV AL, 08H

   OUT 21H, AL ;ICW2

   MOV AL, 04H

   OUT 21H, AL ;ICW3

   MOV AL, 01H

   OUT 21H, AL ;ICW4 ;初始化从片8259

   MOV AL, 11H

   OUT 0A0H, AL ;ICW1

   MOV AL, 30H

   OUT 0A1H, AL ;ICW2

   MOV AL, 02H

   OUT 0A1H, AL ;ICW3

   MOV AL, 01H

   OUT 0A1H, AL ;ICW4

   MOV AL, 0FDH

   OUT 0A1H,AL ;OCW1 = 1111 1101

   MOV AL, 6BH

   OUT 21H, AL ;主8259 OCW1

   STI

   MOV DX, 0646H

   MOV AL, 80H

   OUT DX, AL

   MOV BX, 8001H

AA1: NOP

   JMP AA1

MIR7:PUSH AX

  PUSH CX

  PUSH DX

  PUSH BX

MOV CX ,8

LOP:MOV DX, 0640H

MOV AL, BH

OUT DX, AL

ROR BH, 1

MOV DX, 0642H

MOV AL, BL

OUT DX, AL

ROL BL, 1

CALL DELAY

CALL DELAY

LOOP LOP

 MOV AL, 20H

   OUT 20H, AL ;中断结束命令

   POP BX

   POP DX

   POP CX

   POP AX

   IRET

SIR1: MOV CX ,8

LAP: MOV DX, 0642H

MOV AL, BH

OUT DX, AL

ROR BH, 1

MOV DX, 0640H                                                                       

MOV AL, BL

OUT DX, AL

ROL BL, 1

CALL DELAY

CALL DELAY

LOOP LAP 

   MOV AL, 20H

   OUT 0A0H, AL

   OUT 20H, AL

   IRET

DELAY: PUSH CX

   MOV CX, 0F000H

AA0: PUSH AX

   POP AX

   LOOP AA0

   POP CX

   RET

CODE ENDS

   END START

实验结果:

按下开关KK1,流水灯由中间向两边一次亮起,按下开关KK2,流水灯由两边向中间依次亮起。

实验总结:

    通过这几次实验,是我对8255A,中断,及流水灯实验有了更深的了解,掌握了他们的工作原理。实验中养了自己的硬件操作能力和阅读编写程序的基本能力,并且在反复的调试中,主动积极的查错排错,总结细微差错,不断完善自己编程素质。 回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写。

更多相关推荐:
微机原理 实验报告

微机原理与接口技术实验指导书班级学号099074姓名安徽工业大学计算机学院实验一存贮器读写实验一实验内容对指定地址区间的RAM4000H4FFH先进行写数据55AAH然后将其内容读出再写到5000H5FFH中二...

微机原理完整实验报告+程序

实验题目8253定时计数器实验一实验目的与要求1学会8253芯片和微机接口原理和方法2掌握8253定时器计数器的工作方式和编程原理二实验内容1实验原理本实验原理图如图1所示8253A的A0A1接系统地址总线A0...

微机原理实验报告

微机原理实验报告实验一两个多位十进制数相加的实验一实验目的学习数据传送和算术运算指令的用法熟悉在PC机上建立汇编链接调试和运行汇编语言程序的过程二实验内容将两个多位十进制数相加要求被加数和加数均以ASCII码形...

答案版_微机原理实验报告

微机原理及接口技术实验报告20xx20xx学年第一学期班级姓名学号指导教师实验一Emu8086软件的使用一实验目的1熟悉汇编语言开发环境2掌握Emu8086软件使用方法3理解寻址方式的意义二实验环境1硬件环境微...

微机原理实验报告

大连理工大学本科实验报告课程名称计算机原理课程设计学院系电气工程学院专业电气工程及其自动化班级学号学生姓名20xx年12月30日大连理工大学实验报告实验时间年月日星期四时间13001505实验室房间号实验台号码...

微机原理实验报告1

微机原理实验报告班级电气93姓名党尧学号09041059实验一顺序程序的设计一实验目的1学习80868088指令系统中一些基本指令的用法和程序设计的基本方法2熟悉在PC机上建立汇编链接调试和运行80868088...

微机原理实验报告一

西安郵電學院微机原理实验报告一题目寻址方式与基本指令实验院系名称计算机学院专业名称软件工程专业班级软件0902学生姓名许艳莉学号8位040950581实验目的1熟悉80x86寻址方式及基本指令的功能进一步理解和...

微机原理实验报告

微机原理实验课程实验研究性学习手册姓名学号班级微机教师微机实验老师时间20xx年12月上课时间实验一IO地址译码与交通灯控制实验一实验目的1掌握并行接口8255的基本原理2掌握8255的编程方法3掌握利用X86...

微机原理实验报告

微机接口与原理实验报告学院信息科学与工程学院专业班级姓名学号1目录第一部分硬件实验311实验一312实验二413实验三414实验四515实验五616实验六617实验七718实验八819实验九8110实验十9第二...

微机原理实验报告

大连理工大学本科实验报告课程名称计算机原理课程设计学院系电气工程学院专业电气工程及其自动化班级学号学生姓名20xx年12月30日大连理工大学实验报告实验时间年月日星期四时间13001505实验室房间号综420实...

微机原理实验报告冒泡法对数据排序

实验内容用冒泡法对一组数300250280240260按从小到大的顺序排列实验要求1编制程序对这组数进行排序并输出原数据及排序后数据2利用DEBUG调试工具用D0命令查看排序前后内存数据的变化3去掉最大和最小的...

微机原理实验报告

实验报告课程名称实验名称班级学号姓名指导教师李北明实验一两个多位十进制数相加实验一实验目的1学习数据传送和算术运算指令的用法2熟悉在pc机上建立汇编链接调试和运行汇编语言程序的过程二实验内容1将两个五位十进制相...

微机原理实验报告(31篇)