微机原理与接口技术实验指导书.docx

上传人:b****6 文档编号:4409734 上传时间:2022-12-01 格式:DOCX 页数:39 大小:647.90KB
下载 相关 举报
微机原理与接口技术实验指导书.docx_第1页
第1页 / 共39页
微机原理与接口技术实验指导书.docx_第2页
第2页 / 共39页
微机原理与接口技术实验指导书.docx_第3页
第3页 / 共39页
微机原理与接口技术实验指导书.docx_第4页
第4页 / 共39页
微机原理与接口技术实验指导书.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术实验指导书.docx

《微机原理与接口技术实验指导书.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验指导书.docx(39页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术实验指导书.docx

微机原理与接口技术实验指导书

 

微机原理与接口技术

实验指导书

 

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

 

实验0将ASCII表示的十进制数转换为二进制数………………………1

实验一8086汇编语言程序设计初步………………………………………3

实验二8086汇编语言程序设计……………………………………………6

实验三DOS系统功能调用………………………………………………10

实验四8255A并行接口实验………………………………………………12

实验五8253定时器/计数器接口实验……………………………………16

实验六8259A中断控制器实验……………………………………………19

实验七步进电机控制实验…………………………………………………23

实验八电子琴的设计………………………………………………………26

实验九七段数码管实验……………………………………………………30

实验十3~8译码实验……………………………………………………31

实验十一A/D转换实验…………………………………………………32

实验十二D/A转换实验…………………………………………………34

附录:

实验报告模版…………………………………………………………35

 

微机原理与接口技术实验指导书

实验0将ASCII表示的十进制数转换为二进制数

一.实验目的:

观察ASCII表示的十进制与二进制的区别;

二.实验步骤:

(一)、输入源程序

1.建一个文本文档d.text。

输入程序把后缀名改成.asm的形式。

把该文件放在D盘masm文件下。

2.打开命令提示符。

3.输入D:

回车

4.cdmasm回车。

5.masmd.asm回车。

6.linkd.obj回车。

7.d.exe回车,生成exe可执行文件。

(二)、在3500-3504单元输入十进制数12的ASCII码,即E35003030303132

1.把生成的d.exe文件复制到D盘下。

2.debug回车

3.nd.exe回车

L回车

U0000回车

4.E3500回车

3030303132回车

(三)、用G运行程序

(四)、用D3510查看结果,应为:

35100C00

(五)、反复试几组数,考察程序的正确性

 

实验一8086汇编语言程序设计初步

一、实验目的

1、熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。

2、熟悉8086指令系统中一些常用指令的功能和使用。

3、学习数据传送和算术运算指令的使用方法。

二、实验内容

详细阅读汇编语言程序的上机过程。

试编写将两个多位十进制数相加程序,要求两个加数均以ASCII码形式各自顺序存在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型微机原理实验开发系统一台 

四、程序参考流程图

实验一参考程序清单

CRLF     MACRO

             MOV     DL,0DH

             MOV     AH,02H

             INT       21H

             MOV     DL,0AH

             MOV  AH,02H

             INT       21H

             ENDM

DATA     SEGMENT

DATA1   DB 33H,39H,31H,37H,34H

DATA2   DB 36H,35H,30H,38H,32H

DATA  ENDS

STACK  SEGMENT PARA STACK 'STACK'

STA       DB 100 DUP(?

STACK  ENDS

CODE    SEGMENT

             ASSUMECS:

CODE,DS:

DATA,SS:

STACK,ES:

DATA

START:

  MOV     AX,DATA

             MOV     DS,AX

             MOV     SI,OFFSETDATA2

             MOV     BX,05

             CALL     DISPL

             CRLF

             MOV     SI,OFFSETDATA1

             MOV     BX,05

         CALL     DISPL

             CRLF

             MOV     DI,OFFSETDATA2

             CALL     ADDA

             MOV     SI,OFFSETDATA1

             MOV     BX,05

             CALL     DISPL

             CRLF

             MOV     AX,4C00H

             INT       21H

DISPL   PROC    NEAR

DS1:

      MOV     AH,02H

             MOV     DL,[SI+BX-1]

             INT       21H

             DEC      BX

             JNZ       DS1

             RET

DISPL   ENDP

ADDA    PROC    NEAR

             MOV     DX,SI

             MOV     BX,05

AD1:

      SUB       BYTEPTR[SI+BX-1],30H

             SUB       BYTEPTR[DI+BX-1],30H

             DEC      BX

             JNZ       AD1

             MOV     CX,05

             CLC

AD2:

      MOV     AL,[SI]

             MOV     BL,[DI]

             ADC      AL,BL

             AAA

             MOV     [SI],AL

             INC       SI

             INC       DI

             LOOP    AD2

             MOV     SI,DX

             MOV     BX,05

AD3:

      ADD      BYTEPTR[SI+BX-1],30H

             DEC      BX

             JNZ       AD3

             RET

ADDA    ENDP

CODE    ENDS

             END      START

实验二8086汇编语言程序设计

一、实验目的

1、熟悉8086指令系统,学习基本的8086汇编语言程序设计方法。

2、掌握提示信息的使用方法及8086串操作指令的使用方法。

3、初步掌握调试修改程序的方法。

二、实验内容

用串操作指令设计一个搜索关键字程序,实现在存储区(长度为100H)中寻找关键字空格字符(20H),退出时给出是否找到的信息。

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型微机原理实验开发系统一台

四、编程提示

1、8086中用于字符串检索的指令为SCASB/SCASW,用AL中的字节或者AX中的字与位于ES段由DI寄存器所指的内存单元的字节或字相比较。

通过前缀的控制,可以实现在DI所指的字符串中,寻找第一个与AL(或AX)的内容相同的字节或字。

2、对于所有的串操作指令,都要注意方向标志的设置。

指令CLD使方向标志DF清0,SI和DI自动增量修改,指令STD使DF置1,SI和DI自动减量修改。

五、程序参考流程图

1、主程序参考流程图 

2、子程序GETNUM参考流程图

实验二参考程序清单

CRLF                 MACRO

                           MOV        DL,0DH

                           MOV        AH,02H

                           INT           21H

                           MOV        DL,0AH

                           MOV        AH,02H

                           INT           21H

                           ENDM

DATA                SEGMENT

MESS1               DB   ‘INPUTTHESEGMENTADDR:

$’

MESS2               DB   ‘INPUTTHEOFFSETADDR:

$’

MESS3               DB   ‘OK!

HASFOUND!

’,0DH,0AH,’$’

MESS4               DB   ‘NOSPACECHARACTER!

’,0DH,0AH,’$’

ERROR              DB   ‘INPUTERROR!

’,0DH,0AH,’INPUTTHEADDR:

$’

DATA                ENDS

STACK              SEGMENT PARA STACK ‘STACK’

STA                    DW  32DUP(?

)      

STACK              ENDS

CODE                SEGMENT

                           ASSUME CS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

              MOV        AX,DATA

                           MOV        DS,AX

                           MOV        ES,AX

 

                           MOV        AH,09H

                           MOV        DX,OFFSETMESS1

                           INT           21H

                           CALL       GETNUM

                           MOV        ES,DX

                           MOV        AH,09H

                           MOV        DX,OFFSETMESS2

                           INT           21H

                           CALL       GETNUM

                           MOV        DI,DX

                           CLD

                           MOV        CX,0100H

                  MOV        AL,20H

                  REPNZ     SCASB

                  JNZ          WWW

                  MOV        AH,09H

                  MOV        DX,OFFSETMESS3

                  INT           21H

                  JMP          BBB

WWW:

   MOV        AH,09H

                           MOV        DX,OFFSETMESS4

                           INT           21H

BBB:

                  MOV        AX,4C00H

                           INT           21H

GETNUMPROC NEAR

                           XORDX,DX

GGG:

                 MOV        AH,01H

                           INT           21H

                           CMP         AL,0DH

                           JZ             PPP

                           CMP         AL,20H

                           JZ             PPP

                           CMP         AL,30H

                           JB             KKK

                     CMP AL,39H

                           JBE           G1

                           CMP         AL,41H

                           JB             KKK

                           CMP         AL,46H

                           JBE           G2

                           CMP         AL,61H

                           JB             KKK

                           CMP         AL,66H

                           JA             KKK

                           SUB          AL,57H

GETS:

                MOV        CL,04H

                           SHL          DX,CL

                           XORAH,AH

                           ADD         DX,AX

                           JMP          GGG

G1:

        SUB   AL,30H

           JMP    GETS

G2:

        SUB   AL,37H

           JMP    GETS

KKK:

                 CRLF

                           MOV        AH,09H

                           MOV        DX,OFFSETERROR

                           INT           21H

                           JMP        GGG

PPP:

                   PUSH       DX

                           CRLF

                           POP          DX

                           RET

GETNUMENDP

CODE                ENDS

                           END START

实验三DOS系统功能调用

 

一、实验目的

1、熟悉DOS系统功能调用(INT21H)的使用方法。

2、掌握从键盘上读取字符及字符串的方法和字符及字符串的显示方法。

3、了解小写字母和大写字母在计算机内的表示方法,并学会如何进行转换。

 

二、实验内容

1、设计将键盘输入的小写字母转换成大写字母程序。

接收键盘输入字符以∧─C(03H)为结束,并将其中的小写字母转变为大写字母,然后进行显示。

2、利用DOS系统功能调用实现人机对话。

根据计算机显示器上显示的提示信息,从键盘输入字符串并存入内存缓冲区。

 

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型微机原理实验开发系统一台

四、程序参考流程图

参考程序清单

DATA            SEGMENT

STR1      DB0DH,0AH,’INPUT:

$’

STR2      DB0DH,0AH,’OUTPUT:

$’

BUF              DB  100 DUP (?

DATA            ENDS

CODE           SEGMENT

                    ASSUMECS:

CODE,DS:

DATA

START:

         MOV     AX,DATA

                    MOV     DS,AX

                    MOV     BX,OFFSET BUF

T1:

        MOV  DX,OFFSET STR1

MOV  AH,09H

INT    21H

      MOV     SI,0000H

T2:

         MOV     AH,01H

                    INT       21H

                    CMP      AL,03H

                    JZ          T5

                    CMP      AL,0DH

                    JZ          T4

                    CMP      AL,61H

                    JB          T3

                    CMP      AL,7AH

                    JA         T3

                    SUB       AL,20H

T3:

        MOV     [BX+SI],AL

                    INC       SI

                    JMP       T2

T4:

        MOV     DX,OFFSET STR2

                    MOV     AH,09H

                    INT   21H

                    MOV     AL,’$’

                    MOV     [BX+SI],AL

                    MOV     AH,09H

                    MOV     DX,BX

                    INT       21H

                    JMP       T1

T5:

        MOV     AX,4C00H

                    INT       21H

CODE       ENDS

                    END      START

实验四8255A并行接口实验

 

一、实验目的

1、 了解8255A芯片的结构、功能及工作原理。

2、 掌握8086CPU与8255接口扩展方法,及通过8255A并行口传输数据的方法。

3、 握8255A初始化编程、及应用程序设计方法。

二、实验内容

利用8255A、74LS04、LED发光二极管设计交通信号灯自动控制系统,设计要求见编程提示。

编写控制程序,通过8255A控制发光二极管,(用8255A的A端口和B端口控制6个LED发光二极管的亮和灭,输出为1则亮,输出为0则灭)模拟交通信号灯的控制系统。

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型微机原理实验开发系统一台

四、编程提示

1、要完成本实验,首先必须了解交通信号灯的燃灭规律。

设有一个十字路口,将L1、L3、L5作为东西方向的指示灯,L2、L4、L6作为南北方向的指示灯,初始态为两个方向的红灯全亮。

之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1