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

下载本文档

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

文档简介

微机原理汇编及接口实验讲义 电子信息工程系微机实验组 2015年3月 目 录实验一 寻址方式和汇编语言程序上机调试步骤 1实验二 循环程序设计 2实验三 子程序调用程序设计 3实验四 DOS系统功能调用 4实验五 接口实验预备知识 5实验六 简单的输出接口 9实验七 简单的输入接口 11实验八 数码管动态显示实验 13实验九 可编程并行接口8255实验 15实验十 可编程计数/定时器8253实验 16实验十一 可编程中断控制器8259实验 17实验十二 微机接口综合实验(上机测验)集成电路内部原理及管脚图 21实验一 寻址方式和汇编语言程序上机调试步骤一、 实验目的1、 掌握在HQFC环境下8086的寻址方式。2、 掌握在HQFC环境下汇编语言程序上机步骤及调试过程。3、 掌握连续执行、单步执行、跳过执行及设置断点的方法。4、 掌握连续执行、单步执行过程中如何查寄存器、存储器、堆栈中的数据。二、 实验内容1、在HQFC环境下单步执行下列指令,查看每条指令的执行过程,随时查看寄存器、存储器、堆栈及反汇编窗口并记录执行结果,查看、记录每条指令的操作码和操作数,查看、记录所有指令的反汇编结果。code segmentassume cs:codestart: mov ax,1234h mov bx,4321h add ax,bx mov cx,ax push cx pop dxloop: jmp loopcode ends end start 将3、4语句1234h、4321h改为1234、4321后再执行程序,观察结果寄存器窗口,说明变化原因。在语句PUSH CX设置断点,连续执行后查看结果,说明设置断点对程序调试有何作用?2、 在数据段X单元存放有数据42,Y单元存放有数据43,编程求这两数之和,并把结果存放到S单元,编写出完整程序,上机调试,查看、记录执行结果。3、 已知数据段X单元存放的数据为10H,编程将该数据左移四位后存放到Y单元,编写出完整程序,上机调试,查看、记录执行结果。三、 实验预习1、 8086的寻址方式,理解什么是操作码和操作数。2、 了解汇编语言程序上机(编辑编译链接执行)过程。3、 学习利用汇编语言编写简单的源程序。4、 什么是反汇编,反汇编的作用?四、 实验报告要求1、 写出在HQFC环境下汇编语言程序上机的步骤。2、 写出第1题源程序及对应指令的反汇编结果,写出3、4条指令的操作码和操作数,说出双字节数在存储器中的存放规律,写出单步执行完每条指令后,对应指令寄存器的值。3、 写出第2题、第3题的源程序和执行结果。实验二 循环程序设计一、实验目的1、 进一步掌握HQFC环境下汇编语言程序上机步骤及调试过程。2、 掌握简单的单循环程序设计和调试的方法。3、 掌握多重循环程的序结构及调试方法。4、 掌握代码段、数据段、附加段的数据查看。二、实验内容1、编程将数据段从00H单元起始的十个单元赋值,值为00H09H。2、现有两组数,X= 78, 127,128, 125,88,Y=32, 43, 76, 95, 1。编程求两个数组之和,并将结果传送到S数组内,S()= X()+ Y()。3、现有两个多位十进制数,X=5790123467,Y=1357902468。编程求X和Y之和,并将结果传送到S。4、编程将09这十个随机给出的数从小到大排序。5、观察不同数制机器数的表示方法,观察不同数制相加的结果及在存储器中的存放格式。6、记录正确的实验结果。三、实验预习1、复习循环结构的基本形式,掌握计数器CX与LOOP循环指令的关系。2、复习逻辑地址和存储器分段的概念。3、根据实验内容题目的要求编写出源程序。五、 实验报告要求1、 写出经过上机调试并通过的源程序和结果。2、 通过循环程序的上机调试,写出循环程序结构的特点及调试方法。实验三、子程序调用程序设计一、 实验目的1、 掌握子程序调用编程及调试方法。2、 掌握多重循环程序结构的要点及调试方法。3、 掌握带符号数和无符号数比较测试及转移条件。4、 掌握简单的数据复制方法。二、 实验内容1、 用子程序调用(段内近程调用)编程,将以下十个数从小到大排序。85,77,126,1,43, 37,128, 11,19,13。2、 用子程序调用的方法,将上题10个排好序的数复制到附加段。3、正确设置断点,观察数据比较、转移的现象,观察每次子程序调用及返回的过程。4、观察、记录数据段、附加段的排序结果。三、 实验预习1、 复习多重循环的初始控制条件及控制程序循环的过程。2、 复习间接标志条件转移指令带符号数和无符号数的区别和应用。3、 复习子程序调用的过程及编程方法,了解子程序调用距离属性的格式,掌握子程序段内近程调用的程序结构。4、 根据实验内容的要求写出源程序。四、 实验报告要求1、写出经过上机调试并通过的源程序及实验结果。2、通过上机调试,写出子程序调用程序的调试方法。实验四、DOS系统功能调用一、 实验目的1、 掌握DOS系统功能调用原理和步骤。2、 掌握DOS系统功能调用实现单个字符的输入、输出(功能号:01H、02H),字符串的输入、输出(功能号:09H、0AH)。3、 了解回车、换行的概念与区别,掌握回车、换行功能的使用。4、 掌握通过LOOP指令实现延时的原理及延时子程序的编写。二、 实验内容1、 从键盘连续输入5个单个字符(如:1、2、3、4、5),并将其压入堆栈。2、 将压入堆栈的5个单个字符显示在屏幕上。3、 从键盘输入一行字符串到内存缓冲区( 如:ARE YOU READY ?)。4、 将内存缓冲区存放的一行字符串显示在屏幕上。5、 编写一个5秒倒计时程序,将倒计时结果显示在屏幕上。(下周实验上机调试)三、 实验预习1、 什么是DOS系统功能调用?2、 实现DOS系统功能调用的步骤?3、 什么是DOS功能调用的入口参数和出口参数?4、 假设执行一次LOOP指令的时钟周期为10,CPU的时钟频率为3GHs,计算执行一次LOOP NEXT指令所需的时间?计算1秒钟需要反复执行LOOP指令多少次(用十六进制表示)?5、 延时子程序如下:(参考) DELAY PROC NEAR PUSH CX MOV BX, H FOR1: MOV CX, H FOR2: LOOP FOR2 DEC BXJNZ FOR1POP CXRET DELAY END四、 实验报告要求1、 将实验内容中的第1题、第2题合成一个实验内容编写程序,记录输入、输出结果。2、 将实验内容中的第3题、第4题合成一个实验内容编写程序,记录输入、输出结果。实验五接口实验预备知识一、实验目的1、掌握TPC-ZK-UPC微机原理实验箱的使用方法。3、掌握HQFC集成软件结合微机原理实验箱完成接口实验的方法。二、实验内容 1、熟悉实验箱、集成电路芯片、元器件的使用TPC-ZK-UPC实验箱主要部件位置如下图,在微机原理接口实验课程中,相应的接口实验都是基于该实验箱来完成。74LS75面板电源开关核心模板机箱电源开关USB通讯接口74LS75总线区两路单脉冲8位数码管825574LS048254预留14脚插座74LS24474LS3274LS0074LS7574LS273常用芯片区域LED显示区I/O端口地址逻辑电平开关逻辑笔扩展区蜂鸣器等复位信号说明:实验箱上所有集成电路芯片的电源和地均已连接好。硬件实验1、认识各功能区及信号插孔的位置数据: D0 D7。地址: A0A15。控制信号:IOR、IOW(RD、WR)、 IRQ10.等。端口地址:Y0(280H287H)、Y1(288H28FH) .Y6(2B0H2B7H)、Y7(2B8H2BFH)。单脉冲信号、复位信号、电平开关,电源端(5V)、 地端,机箱右侧总电源开关、面板电源开关(上开下关)及指示灯等。2、发光二极管(LED)实验a、 实验箱12个LED为共阴连接。b、 将逻辑电平开关的输出接一路LED。c、 变化逻辑电平观察显示状态。 3、数码管实验 a、设置好选通信号S0S7中的对应控制电平(高有效)。b、把逻辑电平开关输出端分别接数码管的输入端, a或b或其它端。S0S7c、变化逻辑电平开关的输出电平,观察数码管显示状态。 4、反向器74LS04实验a、 1脚逻辑电平开关的输出,2脚接LED。b、 变化1脚的电平,观察LED的变化。5、 或门74LS32实验a、 1、2脚接逻辑电平开关的输出,3脚接LED。b、 变化1、2脚的电平,观察LED的变化。c、 验证或门的逻辑关系。 6、锁存器74LS75实验a、13脚接单脉冲,2脚接逻辑电平开关的输出。b、变化13脚单脉冲的触发边沿(上升或下降沿),观察LED的变化和实验现象。c、D为数据输入端,Q为数据输出端,G为锁存控制端。d、实验用单脉冲锁存数据,验证是上升沿还是下降沿锁存数据。 7、八D触发器74LS273实验 a、1脚(清零端)接逻辑电平开关高电平,(低电平清零)。 b、2脚接LED,3脚接逻辑电平开关的输出。 c、11脚(触发端)接单脉冲。 d、实验用单脉冲触发锁存,验证是上升沿还是下降沿触发锁存数据。8、缓冲器74LS244实验a、 1、2脚接逻辑电平开关输出,18脚接LED。b、 变化1、2脚的电平,观察LED。c、 2脚为数据输入端,18脚为数据输出端,1脚为控制端。d、观察电平信号与脉冲信号的区别。验证是高电平还是低电平有效。 软件实验 1、调试5秒倒计时程序,掌握1秒延时子程序的调用方法,观察屏幕输出结果,调整好延时常数。三 、实验预习1、74LS75与74LS273有什么不同?它们通常用于什么性质的接口电路?2、复习74LS244的特性,该芯片通常用于什么性质的接口电路?3、编写出5秒倒计时源程序。四 、实验报告要求1、根据实验结果描述各个器件的特点。2、说明锁存器和缓冲器的区别。3、说明脉冲信号和电平信号的区别。4、写出上机调试通过的5秒倒计时源程序。23实验六 简单的输出接口一、 实验目的1、掌握简单输出接口电路的设计方法。2、学会使用锁存器锁存数据。3、学会数据总线、地址总线和控制总线与接口电路的连接。4、掌握在HQFC环境下对输出接口硬件和软件的调试。 二、实验内容1、利用74LS75芯片设计一个简单的输出接口电路。先使1个绿色LED亮3秒钟后熄灭,然后使1个黄色LED亮灭3次后熄灭,亮灭间隔1秒钟,最后使1个红色LED亮3秒钟熄灭。以上现象重复2次,然后所有LED熄灭。要求总线数据信号为高电平时,LED点亮。2、利用74LS273芯片设计一个简单的输出接口电路,使八个LED循环顺序点亮,要求每个LED亮0.5秒,循环3次,然后所有LED熄灭。要求总线数据信号为高电平时,LED点亮。三、实验预习1、复习I/O接口的定义、功能和作用,清楚接口和端口的关系。2、熟悉74LS75、74LS273芯片锁存数据的原理。3、掌握LOOP指令延时原理,编写出延时0.5秒、1秒的子程序。4、根据题意画出电路框图,(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,控制电路部分画出电路图。6、 根据题意编写出源程序。 简单输出接口电路框图在HQFC环境下对输出接口电路的调试:1、硬件接线完毕检查无误后,点击工具栏中的“工具软件”,选“接口调试工具”。 2、在数据发送框里,选“IO地址”,在“起始地址”栏里填写接口电路的输出端口地址,在右边输入框内填写要输出的数据。 如:亮1个LED,输入框内的数据为: 01亮2个LED,输入框内的数据为: 03亮4个LED,输入框内的数据为: 0F亮8个LED,输入框内的数据为: FF8个LED全灭,输入框内的数据为 003、点击“发送数据”,如果电路接线正确,则数据相对于的LED点亮。四、实验报告要求1、写出源程序(上机调试通过)并对程序中关键语句加以必要的注释。2、画出电路框图,(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,控制电路部分画出电路图。3、 写出实验现象,简单叙述对输出接口电路设计的体会。实验七 简单的输入接口一、 实验目的1、掌握简单输入接口电路的设计方法。2、掌握利用缓冲器将外部数据读入计算机的过程。3、学会数据总线、地址总线和控制总线与接口电路的连接。4、掌握在HQFC环境下对输入接口硬件和软件的调试。 二、实验内容1、利用单脉冲作为读入信号,每读入一个单脉冲(一个上升沿和一个下降沿为两次单脉冲),要求在屏幕上显示出读入脉冲的累加结果,在屏幕上显示“6”后,再换行输出“END”,程序结束。2、通过扳动电平开关输出的高低电平来作为读入信号,电平开关来回扳动一次(正确理解来回扳动一次的含义)作为一个读入过程,一个过程为一个累加数,在屏幕上显示累加结果,在屏幕上显示“6”后,再换行输出“END”,程序结束。三、实验预习1、复习I/O接口的定义、功能和作用,分清输入接口和输出接口的区别。2、熟悉74L244芯片的工作原理及使用。3、思考题:若8位数据线只有其中几位作为读入数据线用时,其他空闲数据线在读入数据时如何处理?采用什么方法?有几种方法?4、根据题意画出电路框图,(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,控制电路部分画出电路图。5、根据题意编写出源程序。 无条件输入接口电路框图在HQFC环境下对输入接口电路的调试:1、 硬件接线完毕检查无误后,设置好预读入的脉冲或开关电平。点击工具栏中的“工具软件”,选“接口调试工具”。 2、 在数据接收框里,选“IO地址”,在“起始地址”栏里填写接口电路的输入端口地址,再点击“接收数据”,在右边框内即为读入的数据。 3、 检查读入的数据和AL位的对应关系是否正确。例:若D0为高电平,框内的数据为奇数,D0为低电平,框内的数据为偶数。四、实验报告要求1、写出上机调试通过的源程序,对关键的语句加以必要注释。2、画出电路框图,(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,控制电路 路部分画出电路图。3、写出实验现象,简单叙述对输入接口电路设计的体会。实验八 数码管动态显示实验一、实验目的1、 掌握数码管的显示原理。2、 掌握利用数码管显示计算数机输出信息。3、 掌握数码管动态显示的原理及使用。二、实验内容1、 使两个数码管分别显示“HP”,显示保持5秒钟后两个数码管熄灭。2、 使两个数码管分别显示01,23,45,67,89,每组字符显示保持2秒钟,程序结束后数码管熄灭。三、实验预习1、 数码管相关引脚(1)实验箱上共有8个共阴极数码管,引脚分别是:A、B、C、D、E、F、G、DP,称为段码。8个数码管的段码是并联的,每个段码都通74LS244驱动器加以驱动。(2)每一个数码管都有一个控制端,称为位码。8个位码是独立的,分别是:S0、S1、S2、S3、S4、S5、S6、S7。每个位码控制端经过一个与非门驱动。(3)通常D0接A,D1接B,D6接G,D7不用。 数码管相关引脚2、 数码管点亮的条件(1)要使数码管显示数字,相应的段码应为高电平,对应位码为高电平。(注:位码段浮空为高电平。)(2)字型与数码管显示的对应关系见下表字 型发光段 g f e d c b a十六进制数0 0 1 1 1 1 1 1 3FH1 0 0 0 0 1 1 0 06H2 1 0 1 1 0 1 1 5BF3 1 0 0 1 1 1 1 4FH4 1 1 0 0 1 1 0 66H5 1 1 0 1 1 0 1 6DH6 1 1 1 1 1 0 1 7DH7 0 0 0 0 1 1 1 07H8 1 1 1 1 1 1 1 7FH9 1 1 0 1 1 1 1 6FH(3)动态显示原理实验箱8个数码管的段码是并联在一起的,一次只能显示一种字符,要使多个数码管显示不同字符,先使第一个数码管显示第一种字符,位码控制端S0保持几个毫秒之后,使第二个数码管显示第二种字符,第二个位码控制端S1保持几个毫秒后,然后再指向下一个数码管这样循环显示。由于人眼的视觉存在惯性作用,感觉好像多个数码管“同时”显示不同的字符。由于数码管点亮后再熄灭存有余晖,会造成显示上的模糊,所以在显示每个字符之前,都必须将数码管上的所有余晖清除掉。我们可以通过关闭显示来实现。即:使对应的位码为低电平。若位码控制地址为280H,则关闭数码管的语句为: MOV DX,280H ;置位控地址 MOV AL,00H ;使位码均为低电平 OUT DX,AL ;输出位码信号(4)掌握利用数码管显示其他字符,如:C、O、E、F、L 等。四、实验报告要求1、写出调试通过的源程序,对关键的语句加以必要注释。2、画出电路框图(标出数据线、信号线引入芯片管脚的序号),设计出控制电路,控制电路部分画出电路图。3、说明数码管动态显示延时时间长短对视觉有何影响。实验九 可编程并行接口8255实验一、实验目的1、 了解8255芯片的结构和功能。2、 掌握8255初始化程序的设计方法。3、 掌握8255与CPU信号的基本连接方法。二、实验内容1、 8255方式0,检测D0位的状态,若D0为低电平时,使四个红色LED循环点亮3次后全部熄灭,若D0为高电平时,使四个绿色LED同时亮灭3次后全部熄灭。(A、B、C口的选择由上课老师根据不同班组决定)2、 8255方式1,将四位开关量由A(B)口选通输入,3秒钟后由B(A)口输出,驱动LED。3、 要求通过对C口的输入、输出状态字IBF和OBF的测试来控制程序运行,选通信号STB和回答信号ACK使用单脉冲。(A、B口的选择由上课老师根据不同班组决定)1、 实验预习1、 实验箱上的8255A芯片电源和数据线均已连接好,实验时连接好读写控制模块信号即可工作,读写控制模块信号:CS、RD、WR、RESET、A1、A0。2、 片选信号CS接Y0,复位信号RESET接低电平,高电平起复位作用。3、 预习课本相关内容:(1)8255A内部机构及A、B、C口的特性。(2)8255A方式0、方式1的基本功能和控制字。(3)8255A方式1的C口输入、输出状态字和时序图。(4)清楚8255A方式1选通信号STB、回答信号ACK和C口输入、输出状态字的关系,清楚选通信号STB和回答信号ACK是如何控制程序运行的。四、实验报告要求1、写出调试通过的源程序,对必要的语句加以注释。2、画出正确的接线图。3、通过对8255A的实验,对比实验六、实验七,谈谈你对8255A的认识和体会。4、能否用8255A来完成实验八的内容,若能实现简述你的实现方案。实验十 可编程计数器/定时器 8253实验一、实验目的 1、掌握8253的主要性能及其初始化编程。 2、掌握8253控制字的写法。3、掌握8253芯片的应用与调试。二、实验内容1、8253方式0测试:用单脉冲作为CLK信号,OUT接LED。先给某号计数器写入计数值,然后产生若干个CLK信号,5秒后将该计数器的余值显示在屏幕上,分析计数常数N与CLK的关系。要求:用LED来监视CLK的个数,初态LED灭。(计数器号的选择由上课老师根据不同班组决定)2、8253方式1测试:使某号计数器工作在方式1,CLK和GATE信号由单脉冲产生,OUT接LED,验证CLK1、GATE1和OUT1三者关系。 要求:分别用LED监视CLK、GATE的状态,初态两个LED均灭。三、实验预习1、弄清8253内部结构、功能及工作方式,并弄清方式0的CLK与OUT的关系。2、根据题意会写出8253的控制字。3、弄清楚方式1的波形图及方式1CLK 、GATE、 OUT三者有什么关系?4、第二题在不改动计数器原值的条件下,如何利用GATE信号来加宽输出脉冲的宽度? 5、根据实验内容的要求,写出源程序,画出8253芯片与外部器件的接线图。四、实验报告要求1、 写出正确的源程序并加以必要的注释。2、 画出8253芯片与外部器件的接线图。3、 写出实验过程的现象、结果并分析原因。4、 你认为8253芯片一般会应用在什么地方?实验十一 可编程中断控制器8259实验一、实验目的1、熟悉8259A基本功能,了解初始化的命令方式。2、掌握中断矢量的填装、中断服务程序的编写、中断服务程序电路的设计与调试。3、掌握通过IRQ10实现中断的过程。二、实验内容1、 通过软件观察中断实现过程:主程序在屏幕上每秒中输出一行字符串(共输出20行),等待中断。例如: ARE YOU READY ? ARE YOU READY ? . .当中断脉冲信号通过IRQ10端子输入时,主程序停止字符串输出,执行中断服务程序。中断服务程序的功能:在屏幕上输出另一行字符串,每秒输出一行,共输出5行。例如: IRQ10 INTERRUPT NOW ! IRQ10 INTERRUPT NOW ! . .中断服务程序结束后,继续执行主程序,等待下一次中断,直到主程序运行结束。2、通过硬件观察中断实现过程:主程序在屏幕上每秒中输出一行字符串(共输出20行),等待中断。例如: ARE YOU READY ? ARE YOU READY ? . .当中断脉冲信号通过IRQ10端子输入时,主程序停止字符串输出,执行中断服务程序。中断服务程序的功能:使两个LED亮、灭3次,亮灭间隔1秒。中断服务程序结束后,继续执行主程序,等待下一次中断,直到主程序运行结束。三、 实验预习1、 系统的可屏蔽中断使用两片8258A,管理15级中断,当从片8259A的中断源IRQ10被选中后,经由从8259A的INT端向主片的IRQ2提成请求。整个系统的中断源的级别从高到低依次为:主片IRQ0、IRQ1,从片IRQ0IRQ7,主IRQ3IRQ7。2、 8259A有两个口地址,即奇地址和偶地址,系统分配给主片8359A的口地址为20H和21H,分配给从片8259A的口地址为A0H和A1H。用户在设计中断程序时,根据需要可以把一个8位的中断屏蔽字写入主片和从片的中断屏蔽寄存器奇地址端口。 3、 实验台的中断脉冲(由低到高的电平跳变)经IRQ10引入从片8259A的IR2,经过从片8259A中断屏蔽寄存器IMR D2位的屏蔽/开放管理和优先级判优,再经过INT端接到主片8259A的IRQ2,经过主片8259A中断屏蔽寄存器IMR D2位的屏蔽/开放管理和优先级判优,最终由主片8259A向CPU提出中断。4、 CPU响应实验台的IRQ10中断后,从片8259A送出的中断类型码是72H,则CPU转向72H型服务程序。 主8259中断源中断类型从8259中断源中断类型IRQ0日时钟08HIRQ8实时钟70HIRQ1键 盘09HIRQ9用户中断71H IRQ2来自从82590AHIRQ10实验台72HIRQ3 辅串口0BHIRQ11保 留73HIRQ4 主串口0CHIRQ12保 留74HIRQ5并行口20DHIRQ13协处理器75HI

温馨提示

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

评论

0/150

提交评论