微机原理及应用实验指导书.doc_第1页
微机原理及应用实验指导书.doc_第2页
微机原理及应用实验指导书.doc_第3页
微机原理及应用实验指导书.doc_第4页
微机原理及应用实验指导书.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

微机原理及应用实验指导书专业 班级 学号 姓名 前 言实验目的掌握微型计算机的结构组成和工作原理、微机存储系统的结构组成和工作原理,熟练掌握微型计算机的中断技术、典型接口芯片的硬件设计和初始化及工作程序的设计。了解微型计算机的最新技术和发展。为后续课程打下坚实的基础。实验综述微机原理及接口技术是一门实践性很强的专业技能课,通过实验环节使学生掌握微型计算机与外设连接的有关技术,以及一些典型通用接口的工作原理、工作过程及应用方法,培养学生对接口电路分析和设计的能力,使学生能将微型计算机与通用或专用外设连接起来,构成完整的微机系统或计算机控制系统。每次实验前,学生必须按照指导书要求进行不少于实验课时数的预习与准备。实验结果必须经实验教师认可。实验环境 硬件条件:高档PC机微机及接口实验系统装置 软件条件: DOS 操作系统。任意一种编辑程序,如EDITEXE。宏汇编程序MASMEXE。连接程序LINKEXE。调试程序DEBUGEXE。目 录实验一系统认识实验2实验二程序调试(在DOS环境中执行)2实验三数据排序(在伟福环境中执行)3实验四 8259外部中断实验4实验五8255输入、输出实验7实验六 8253计数器实验8实验一系统认识实验一 、实验目的熟悉DOS及伟福环境下程序调试过程及方法。二 、实验设备计算机一台,赛思SICElab-G2010+实验箱一台。三 、实验要求1了解DOS及伟福调试环境2在两个环境下调试及执行程序四、 、实验源程序; 指定存储器中的某块的起始地址和长度,要求能将其内容清零data segmentBlock db 256 dup(55h)data endscode segment assume cs:code, ds:datastart proc far mov ax, data mov ds, ax mov bx, offset Block ; 起始地址 mov cx, 16 ; 清 16 字节Again: mov byte ptr bx, 0 inc bx loop Again ; 记数减一 mov ah,4ch int 21hstart endpcode ends end start 五 、实验步骤1在DOS环境中分别进行汇编、连接、执行、调试程序,并能用命令看到程序执行的结果。在DEBUG环境下:(1)用E命令或F命令给数据段的前16个单元分别送0到0FH;(2)用命令看数据缓冲区的内容;(3)用G命令执行程序;(4)再命令看到程序执行的结果。在伟福环境中执行程序,并观察程序执行结果。在伟福环境中,给数据段的前16个单元分别送0到0F,再执行程序观察结果。实验二程序调试(在DOS环境中执行)一 、实验目的 1了解数据排序的简单算法。2了解数列的有序和无序概念二 、实验要求给出一组随机数,将此组数据排序,使之成为有序数列。三 、实验说明有序的数列更有利于查找。本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。四 、程序框图五 、补全 、运行程序并记录现象data segmentLen equ 10Array db 5,2,1,0,2,3,8,6,5,9Change db 0data endscode segment cs:code, ds:datastart proc far mov ax, mov ds, axSort: mov bx, mov cx, mov Change, 0Goon: mov al, bx inc bx cmp al, bx j Next ; 前小后大, 不交换 mov Change, 1 ; 前大后小, 置交换标志 mov ah, bx mov bx ,al ; 交换 mov bx-1, ahNext: loop Goon cmp Change, 0 jne Sort mov ah,4ch int 21h start endpcode ends end start实验三数据排序(在伟福环境中执行)实验目的及要求同上。实验四 8259外部中断实验一 、实验目的1、 学习8088/86与8259的连接方法。2、 学习8088/86对8259的控制方法。二 、实验要求用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。要求程序中对每次中断进行计数,并将计数结果用数码管显示。单脉冲三 、实验电路及连线实验电路图如上图所示,将图中虚线部分连接,实线部分实验箱内部已经连接好(以后实验相同)。四 、补全 、运行程序并记录现象OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段控制口(接164时钟位)DAT164 equ 0e102h ; 段控制口(接164数据位)ICW1 equ ; 单片8259, 上升沿中断, 要写ICW4ICW2 equ ; 中断号为20HICW4 equ ; 工作在8086/88 方式OCW1 equ ; 只响应INT0 中断CS8259A equ 0A000h ; 8259地址CS8259B equ 0A001hdata segmentLEDBuf db 6 dup(?) ; 显示缓冲Num db 1 dup(?) ; 显示的数据DelayT db 1 dup(?)LEDMAP db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h;八段管显示码 db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hCNT db 0data endscode segment assume cs:code, ds: dataDelay proc near ; 延时子程序 push ax push cx mov al, 0 mov cx,ax loop $ pop cx pop ax retDelay endpDisplayLED proc near mov bx, offset LEDBuf mov cl, 6 ; 共6个八段管 mov ah, 00100000b ; 从左边开始显示DLoop: mov dx, OUTBIT mov al, 0 out dx,al ; 关所有八段管 mov al, bx mov ch, 8 ; 送164DLP: push ax mov ah, 0 test al, 80h jz GN1 mov ah, 1GN1: mov dx, DAT164 ; 输出数据位 mov al, ah and al,0fdh out dx, al mov dx, CLK164 ; 送出时钟脉冲 ;mov al, 1 or al,02h out dx, al ;mov al, 0 and al,0fdh out dx, al pop ax shl al, 1 dec ch jnz DLP mov dx, OUTBIT mov al, ah out dx, al ; 显示一位八段管 push ax mov ah, 1 call Delay pop ax shr ah, 1 inc bx dec cl jnz DLoop mov dx, OUTBIT mov al, 0 out dx,al ; 关所有八段管 retDisplayLED endpIEnter proc near push ax push dx inc CNT mov dx, CS8259A mov al, 20h ; 中断服务程序结束指令 out dx, al pop dx pop ax iretIEnter endpIInit proc mov dx, CS8259A mov al, out dx, al mov dx, CS8259B mov al, out dx, al mov al, out dx, al mov al, out dx, al retIInit endpStart proc near cli mov ax, data mov ds, ax mov dx,0e100h mov al,03h out dx,al mov LEDBuf, 07Fh ; 显示 8.2.5.9.0.0 mov LEDBuf+1, 05Bh mov LEDBuf+2, 06Dh mov LEDBuf+3, 06Fh mov LEDBuf+4, 0 mov LEDBuf+5, 0 mov ax, 0 mov ds, ax mov bx, 4*ICW2 ; 中断号 mov ax, code mov cl,4 shl ax, cl ; x 16 add ax, offset IEnter ; 中断入口地址(段地址为0) mov bx, ax mov ax, 0 inc bx inc bx mov bx, ax ; 代码段地址为0 call IInit mov ax, data mov ds, ax mov CNT, 0 ; 计数值初始为0 stiMLoop: mov al,CNT mov Num, al mov ah,0 mov si, offset LEDMap and al,0fh ; 低四位 add ax,si mov si,ax mov al,si ; 数据转换成显示码 mov LEDBuf+5, al mov si, offset LEDMap mov al, Num ; 高四位 mov cl,4 shr al, cl mov ah, 0 add ax, si mov si, ax mov al, si mov LEDBuf+4, al mov DelayT,2DispAgain: call DisplayLED ; 显示 dec DelayT jnz DispAgain jmp MLoopStart endpcode ends end start实验五8255输入、输出实验一 、实验目的1、了解8255芯片结构及编程方法。2、了解8255输入/输出实验方法。二 、实验要求利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PC口作输出,PB口作输入。三 、实验电路及连线8255的/CS接地址译码/YC2,则命令字地址为0A003H,PA口地址为0A000H,PB口地址为0A001H,PC口地址为0A002H。PC0-PC7(PC口)接L0-L7(LED),PB0-PB7(PB口)接S0-S7(开关量)。四 、实验说明 可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。本实验采用的是方式0:PA,PC口输出,PB口输入。五 、补全 、运行程序并记录现象mode equ ; 方式0,PA,PC输出,PB输入 PortA equ 0A000h ; Port A PortB equ 0A001h ; Port B PortC equ 0A002h ; Port C CAddr equ 0A003h ; 控制字地址code segment assume cs:codestart proc nearStart: mov al, mov dx, CAddr dx, al ; 输出控制字PortB 输入 PortC 输出 mov dx, PortB in al, dx ; 读入PortB mov dx, PortC out dx, al mov dx, PortA out dx, al ; 输出到PortA mov ah, 200 call delay jmp Start endpdelay proc near push ax mov al,0 push cx mov cx,ax loop $ pop cx pop ax retdelay endpcode ends end start实验六 8253计数器实验一 、实验目的1、学习8088/86与8253的连接方法。2、学习8088/86对8253的控制方法。二 、实验要求利用8088/86外接8253可编程定时器/计数器,可以实现对外部事件进行计数。设置断点读回计数器的值。三 、实验电路及连线四 、实验说明本实验中计数器按方式0工作。即十六位二进制计数器。当计数设置好后,计数器就开始计数。如果要读入计数器的值,要先锁存计数值,才能读到计数值。本实验所设计数值为5,也就是外部5个脉冲,计数器值加1。同时OUT脚输出一个高电平。实验时,可以将OUT0接到L0上,观察计数器是否工作。五 、 实验框图读回计数值锁存计数值设置工作方式开始六 、补全 、运行程序并记录现象CONTROL equ 0a003hCOUNT0 equ 0a000hCOUNT1 equ 0a001hCOUNT2 equ 0a002hcode segment assume cs:codestart proc near mov al, ; 通道0,方

温馨提示

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

评论

0/150

提交评论