东华大学微机硬件实验_第1页
东华大学微机硬件实验_第2页
东华大学微机硬件实验_第3页
东华大学微机硬件实验_第4页
东华大学微机硬件实验_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

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

文档简介

1、实验实验 1 1 存储器读写实验存储器读写实验 一、实验目的一、实验目的 1.掌握 PC 机外存扩展的方法。 2.熟悉 6264 芯片的接口方法。 3.掌握 8086 十六位数据存储的方法 。 二、实验设备二、实验设备 微机实验箱、8086CPU 模块。 三、实验内容三、实验内容 向 02000020FFH 单元的偶地址送入 AAH,奇地址送入 55H。 四、实验原理介绍四、实验原理介绍 本实验用到存储器电路 五、实验步骤和要求五、实验步骤和要求 1、实验接线:本实验无需接线。 2、编写调试程序 3、运行实验程序,可采取单步、设置断点方式,打开内存窗口可看到内存区的变 化。 本实验的主要目的是

2、学会用使用工具软件,掌握用单步执行和断点方式运行程序, 观察寄存器和内存中的数据变化等程序调试的手段。 六、实验提示六、实验提示 1、RAM 区的地址为 02000H,编程时可将段地址设为 0100H,则偏移地址为 1000H。 2、如果按字节进行存储,则 AL 为 55H 或 AAH;如果按字进行存储,则 AX 应为 55AAH。 3、6264、62256 等是计算机系统扩展中经常用到的随机存储器芯片(RAM) ,主要 用 作数据存储器扩展。 七、思考题七、思考题 1、 单步执行到“intram”标号的语句时,ds 寄存器的数据是什么? 答答:DS 寄存器的数据为 0100。 2、 采用断点

3、方式运行时执行到第一个断点处,2000H202FH 内存单元的数据是什么? 答答:2000H202FH 内存单元的数据全为 0。 3、 执行到第二个断点处,2000H200FH 内存单元的数据是什么? 答答:2000H200FH 内存单元的数据为 AA 和 55 交替出现。 4、 并根据观察结果和对源程序的判读简述源程序的运行效果。 答答:程序首先将数据段的地址设为 0100H,则基址为 1000H,然后将 SI 设为 1000H, 则物理地址即为 2000H,因为要连续给 100H 个字节写数据,用循环比较方便,给将 CX 设 为 100H,用 LOOP 循环。首先都写 0,然后再写所要的值

4、,仍然用循环。 程序运行到第一个断点,将 02000H-020FFH 的空间都写为 0。运行到第二个断点,将 偶地址写入 AA,奇地址写 55。 5、 修改程序,实现从 2000H 到 200FH 单元依次赋值 00H0FH 的功能。 程序流程图:程序流程图: 开开始始 初初始始化化D DS S,S SI I,A AL L 置置循循环环次次数数,C CX X= =0 0F FH H 目目标标单单元元置置数数 S SI I+ + +,A AL L+ + + CX=0 ? N 结结束束 Y 代码:代码: CODESEGMENT ASSUME CS:CODE ORG 100H START:MOVAX

5、, 0100H;设置数据段、附加端地址 MOV DS, AX MOV ES, AX MOV SI, 1000H;偏移地址 1000H MOV CX, 0010H;循环次数 16 次 MOV AL, 00H;初始值 0 LP1:MOV SI, AL INC SI;偏移地址加 1 INC AL;置数加 1 LOOPLP1;CX!=0,继续循环 CODEENDS END START 运行结果:运行结果: 八、遇到问题与调试八、遇到问题与调试 在调试中我们开始将程序循环置数中的目的操作数写为 AX,导致得到结果和我们所 预期的不同,经过我们的研究,发现目的操作数应为单字节数,即改为 AL,经过修改后,

6、 得到的结果和要求一致。 实验实验 2 2 简单简单 I/OI/O 口扩展实验口扩展实验 一、实验目的一、实验目的 1、 熟悉 74LS273,74LS244 的应用接口方法。 2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。 二、实验设备二、实验设备 微机实验箱、8086CPU 模块。 三、实验内容三、实验内容 逻辑电平开关的状态输入 74LS244,然后通过 74LS273 锁存输出,利用 LED 显示电 路作为输出的状态显示。 四、实验原理介绍四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路,简单 I/O 口扩展电路。 五、实验步骤五、实验步骤 1、实验接线:(表示相互

7、连接) CS0 CS244; CS1CS273; 平推开关的输出 K1K8 IN0IN7(对应连接) ; O0O7LED1LED8。 2、编辑程序,单步运行,调试程序 3、调试通过后,全速运行程序,观看实验结果。 4、编写实验报告。 六、实验提示六、实验提示 74LS244 或 74LS273 的片选信号可以改变,例如连接 CS2,此时应同时修改程序中 相应的地址。 七、实验结果七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在 LED 上显示出来。 、 外围接线原理图:外围接线原理图: 九、思考题:九、思考题: 将 74LS244 的片选信号 CS244 改接 CS2,将 74LS2

8、73 的片选信号 CS273 改接 CS3,修 改程序实现与范例程序相同的功能。 程序流程框图:程序流程框图: 开开始始 初初始始化化 读读输输入入至至A AL L 输输出出A AL L 结结束束 代码:代码: CODESEGMENT ASSUME CS:CODE ORG 100H START:MOV DX, 04C0H;CS2,对应的是 C,74244 INAL, DX;读入数据 MOV DX, 04D0H;CS3,对应的是 D,74273 OUT DX, AL;状态输出 JMP START CODEENDS END START 本实验比较简单,只需改变入口和出口地址,以及改变外部连线即可,

9、没有遇到太大 问题。 实验实验 3 3 82558255 并行口实验并行口实验 一、实验目的一、实验目的 掌握 8255A 的编程原理。 二、实验设备二、实验设备 微机实验箱、8086CPU 模块。 三、实验内容三、实验内容 8255A 的 A 口作为输入口,与逻辑电平开关相连。8255A 的 B 口作为输出口,与发光 二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。 四、实验原理介绍四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路和 8255 可编程并口电路。 五、实验步骤五、实验步骤 1、实验接线 CS0CS8255; PA0PA7 平推开关的输出 K1K8;

10、 PB0PB7发光二极管 的输入 LED1LED8。 2、编程并全速或单步运行。 3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于 L 时,对应的发 光二极管点亮,置于 H 时熄灭。 六、实验提示六、实验提示 8255A 是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A 有三个 8 位的输入输出端口,通常将 A 端口作为输入用,B 端口作为输出用,C 端口作为辅 助控制用,本实验也是如此。实验中,8255A 工作于基本输入输出方式(方式 0) 。 七、实验结果七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在 LED 上显示出来。例如: K2 置于 L

11、 位置,则对应的 LED2 应该点亮。 八、思考题:八、思考题: 修改接线 CS2CS8255,并要求开关置“H”(下)位置时对应 LED 亮,修改程 序实现相应功能。 程序流程图:程序流程图: 开开始始 设设置置8 82 25 55 5工工作作方方式式 读读A A口口 输输出出至至B B口口 结结束束 代码:代码: CODESEGMENT ASSUME CS:CODE ORG 100H START:MOV DX, 04C6H;CS2,对应的是 C,8255 写控制 字 A1A0 = 11, 最 MVO AX, 90H; 低位没有用到,所以是 6,综合起来:04C6H OUT DX, AX;1

12、001 0000,A 口输入,方式 0,B 口输出,方式 0, BEGIN:MOV DX, 04C0H; C 口输出 INAX, DX;A1A0 = 0,A 口地址 NOT AX;状态取反,达到设计要求 MOV DX, 04C2H;B 口 A1A0 = 1 OUT DX, AX;状态输出 JMP BEGIN;跳转到 BEGIN,继续读 A 口状态,输出到 B 口 CODEENDS END START 九、遇到问题与调试九、遇到问题与调试 现象现象:开关怎么推,LED 灯的状态都不改变。 分析分析:经过仔细认真的检查,发现把 CS8255A 接到了 CS2,但是程序中没有做修改。 解决方法解决方

13、法:将程序中 8255 的地址改为 04C0H 后,一切恢复正常。在实现电平开关为 高电平时 LED 亮,对保存电平开关的 AX 取反,就能达到目的。 实验实验 4 4 82538253 定时器定时器/ /计数器接口实验计数器接口实验 一、实验目的一、实验目的 掌握 8253 定时器的编程原理,用示波器观察不同模式下的输出波形。 二、实验设备二、实验设备 微机实验箱、8086CPU 模块、示波器。 三、实验内容三、实验内容 了解 8253 计数器的不同工作方式,掌握其初始化控制字对定时/记数效果的影响。 四、实验原理介绍四、实验原理介绍 本实验用到两部分电路:脉冲产生电路、8253 定时器/计

14、数器电路 五、实验步骤五、实验步骤 1、实验连线: CS0CS8253 OUT08253CLK2 OUT2LED1 OUT1LED2 CLK38253CLK0,CLK38253CLK1 2、编程调试程序 3、全速运行,观察实验结果 六、实验提示六、实验提示 8253 是计算机系统中经常使用的可编程定时器/计数器,其内部有三个相互独立 的计数器,分别称为 T0,T1,T2。8253 有多种工作方式,其中方式 3 为方波方式。当计数 器设好初值后,计数器递减计数,在计数值的前一半输出高电平,后一半输出低电平。实 验中,T0、T1 的时钟由 CLK3 提供,其频率为 750KHz。程序中,T0 的初

15、值设为 927CH(37500 十进制) ,则 OUT0 输出的方波周期为(37500*4/3*10-6=0.05s) 。T2 采用 OUT0 的输出为时钟,则在 T2 中设置初值为 n 时,则 OUT2 输出方波周期为 n*0.05s。n 的 最大值为 FFFFH,所以 OUT2 输出方波最大周期为 3276.75s(=54.6 分钟)。可见,采用计数 器叠加使用后,输出周期范围可以大幅度提高,这在实际控制中是非常有用的。 七、实验结果七、实验结果 程序全速运行后,LED1 按一定周期闪烁(周期理论值为 0.2s),LED2 在高频脉冲信 号(约 15KHz)影响下,有微弱的光亮,但无明显的

16、周期变化现象。 八、思考题:八、思考题: 1、为什么说范例程序运行时 LED1 闪烁周期的理论值是 0.2 秒? 答答: T0、T1 的时钟由 CLK3 提供,其频率为 750KHz。程序中,T0 的初值设为 927CH(即为十进制的 37500) ,则 OUT0 输出的方波周期为(37500*4/3*10-6=0.05s). T2 采用 OUT0 的输出为时钟,则本程序初值 n 被设为 04,本程序 OUT2 控制 LED1,则 OUT2 输出方波周期为 n*0.05s=0.2s,所以范例程序运行时 LED1 闪烁周期的理论值是 0.2 秒。 2、在范例程序设置 LED2 的最大闪烁周期是多

17、少?请分析说明。 答答: T1 初值为 32H(十进制的 50)频率为 750K/50 = 15KHz,方波周期为 0.067ms。 如果将计数初值设为最大即 0000H,即十进制 65536,65536/750=87.38ms,所以最大 闪 烁周期可以为 87.38ms。 3、修改片选信号接线使 CS1 和 CS8253 连接,并要求 LED1 的闪烁周期变为 4 秒 (2 秒,灭 2 秒) ,修改程序实现功能。 程序流程图:程序流程图: 开开始始 写写T T0 0方方式式控控制制字字 写写T T0 0计计数数初初值值 写写T T1 1方方式式控控制制字字 结结束束 写写T T1 1计计数数

18、初初值值 写写T T2 2方方式式控控制制字字 写写T T2 2计计数数初初值值 代码:代码: CODESEGMENT PUBLIC ASSUME CS:CODE ORG 100H START:MOV DX, 04B6H;CS1 对应的是 B,A1A0 = 11B,写控制字 MOV AX, 36H;0011 0110 计数器 0,方式 3 MOV DX, 04B0H;写计数初值,计数 0,A1A0 = 00B MOV AX, 7CH;计数初值 92C7,37500,时钟频率 750K,则输出为 20Hz OUT DX, AX MOV AX, 92H OUT DX, AX;计数器 0 初值写入完

19、毕 MOV DX, 04B6H MOV AX, 76H;计数器 1,方式 3 OUT DX, AX MOV DX, 04B2H;A1A0 = 01B MOV AX, 32H;计数初值 50 OUT DX, AX MOV AX, 0 OUT DX, AX;计数器 1 初值写入完毕 MOV DX, 04B6H MOV AX, 0B6H;计数器 2,方式 3 OUT DX, AX MOV DX, 04B4H;A1A0 = 10B MOV AX, 50H;计数初值 80,80*0.05 = 4s OUT DX, AX MOV AX, 0 OUT DX, AX;计数器 2 初值写入完毕 NOP CODE

20、ENDS END START 九、遇到问题与调试九、遇到问题与调试 现象现象:改变计数初值,LED 灯的闪烁周期不改变。 分析分析:计数初值没有写到 8253 里面。 解决方法解决方法:认真分析程序,找到疏漏的地方,发现有行代码被注释掉了,所以无论 怎么改变计数初值,LED 的闪烁周期都不改变,调整程序后,成功运行。 实验实验 5 582598259 中断控制器实验中断控制器实验 一、实验目的一、实验目的 1、掌握 8259A 的工作原理。 2、掌握编写中断服务程序方法。 3、掌握初始化中断向量的方法。 二、实验设备二、实验设备 微机实验箱、8086CPU 模块。 三、实验内容三、实验内容 了

21、解中断处理的原理,掌握利用中断控制器进行中断申请和中断操作的方法。 四、实验原理介绍四、实验原理介绍 本实验用到三部分电路:电平开关电路、简单 I/O 口扩展电路和 8259 中断控制器 电路。 五、实验步骤五、实验步骤 1、实验接线 CS0 CS8259 CS3 CS273 O0O3LED1LED4 K1K4IR0IR3 INTINT( 8086CPU 板) INTAINTA(8086CPU 板) 2、编译调试程序 3、全速运行程序,拨动某一电平开关,观察 LED 的亮灭情况。 六、实验提示六、实验提示 1、8259 的使用说明请详细阅读教科书。 2、8086 的中断系统是向量中断方式。内存

22、中特定位置有一中断向量表,表内存有 不同中断类型的中断向量(中断入口地址) 。不同中断类型的中断向量在表内有对应的偏移 地址,其计算方法是:中断类型*4。 3、中断类型由 8259 通过数据总线送给 8086,8086 内部电路会将该类型值自动乘 4,而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址,之后就进入中 断服务程序。请仔细研读 8259 的工作时序。 4、中断类型的高 5 位由 8259 寄存器 ICW2 决定,低 3 位由中断源 IRx 的编码自动填 入。IR0IR7 的编码分别为 000,001,010,011,100,101,110,111。 七、实验结果七、实验

23、结果 全速运行程序,由上往下拨动开关时,相应位置的 LED 点亮,其余 LED 全灭。 八思考题:八思考题: 1、说明源代码 8259 初始化所设置的所有中断控制字的值和含义(按位说明) 。 答: MOV DX, 04A0H MOV AX, 13H OUT DX, AX MOV DX, 04A2H MOV AX, 80H OUT DX, AX MOV AX, 01H OUT DX, AX MOV AX, 00H OUT DX ,AX ICW1 控制字为 13H,即 00010011B,D7D5 位不用,D4 位常为 1,D3 位为 0,表示边 沿触发,D2 位为 0,表示地址间距为 8,D1

24、位为 1 表示单片 8259A,D0 位为 1,表示需要 ICW4 ICW2 控制字为 80H,即 IR0IR7 中断类型码为 80H87H。 ICW4 控制字为 01H,即 00000001B,D7D5 常为 0,D4 位为 0,表示普通全嵌套方 式,D3 位 D2 位为 0 表示非缓冲方式,D1 为 0,表示正常 EOI,D0 位为 1,表示在 8086/8088 工作模式。 OCW1 控制字为 00H,即 00000000B,每一位都表示一位中断屏蔽,D7D0 都为 0,表示所有中断都开放。 2、修改接线 IR3P+(实验箱右下角) ,并修改源程序,使按实验箱右下角 “Pules”键时

25、LED1LED4 全亮。 程序流程图:程序流程图: 开开始始 8 82 25 59 9A A初初始始化化 开开中中断断 AX=00? A AX X输输出出 N 延延时时 关关中中断断 A AX X置置数数 开开中中断断 中断返回 中断服务流程 代码:代码: ASSUMECS:CODE CODESEGMENT PUBLIC ORG 100H ;初始化 8259A BEGIN:CLI ;关中断,写 8259A 命令字,控制字 MOV DX, 04A0H;CS0: 04A0H,写 ICW1,A0 = 0 MOV AX, 13H;0001 0011,边沿触发,单片,需要 ICW4 OUT DX, AX

26、 MOV DX, 04A2H;写 ICW2,A0 = 1 MOV AX, 80H;中断类型码,也就是 IR0 的中断服务程序地址从 80H*4 = 200H 开 始 OUT DX, AX MOV AX, 0DH;ICW4,普通 EOI,缓冲方式 OUT DX, AX MOV AX, 00H;OCW1,开放所有中断 OUT DX, AX NOP ;以上为 8259 初始化 MOV AX, 0 ;初始化中断向量表 MOV DS, AX MOV DI, 200H ;中断类型码乘以 4 得 200H MOV AX, OFFSET INT0;INT0 代码段的偏移地址 MOV WORD PTR DS:DI, AX ADD DI, 2 MO

温馨提示

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

最新文档

评论

0/150

提交评论