微原实验报告8253

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华北电力大学

实验报告

|

|

实验名称 8253应用

课程名称微机原理及应用

|

|

专业班级:自动化1202 学生姓名:屈言雪

学号: 201202020222 成绩:

指导教师:程海燕实验日期: 2014/12/16

一、实验目的及要求:

实验目的:(1) 学习可编程定时/计数器8253的工作原理及工作方式;

(2)掌握使用8253的应用编程方法,并设计出相应电路在实验箱上正确连接;

(3)熟练掌握WAVE6000实验系统的使用

实验要求:1、基本要求:利用8253输出周期为1秒的方波。

2、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率

1Hz)。每来一个上升沿,申请中断一次,CPU响应后通过输出接口74LS273使发

光二极管亮,第1次中断,LED0亮,第2次中断,LED1亮,…… 第8次中断,

LED7亮,中断8次后结束。

二、实验设备

1.计算机

b6000微机实验箱

3.导线若干

三、实验内容

1、基本要求:利用8253输出周期为1秒的方波。

2、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。每来

一个上升沿,申请中断一次,CPU响应后通过输出接口74LS273使发光二极管亮,第1次中断,LED0亮,第2次中断,LED1亮,…… 第8次中断,LED7亮,中断8次后结束。

四、实验步骤

1、Proteus中的设计:

(1)连接好8086与74LS373,如图:

(2)设置38译码器译码:根据74LS273地址为8000H,知A15-A0只有A15为1、其余全为0时,即Y0有效时选中273;8259的地址为9000H,Y1有效时选中8259;8253的地址为A000H,Y2有效时选中8253;将38译码器的A、B、C端口分别接地址A12、A13、A14,

使能端E1接A15,E2、E3都接地,如图:

(3)连线8259,注意8259的A0要连接8086的A1,因为8259的数据端连接8084的低八位数据线,即偶存储体,因此8086的A0一直为0,若用8259的A0连8086的A0,则不能选中8259的奇地址端口;但在实验室中,由于使用的是只有8位的8088,用8088的A0连接8259的A0即可;使能端连接Y1,8259的地址为9000H,即A15-A12分别为1001,38译码器Y1有效选中8259;8259IR2端接8253的OUT1,表示将方波信号送入IR2申请中断,

相当于开关的作用;如图:

273,MR接电源的原因:MR只有接电源时,273才具有锁存功能。如图:

(5)8253的设置:

使用8253将1MHZ的信号变为1HZ的信号,因此将OUT0的输出连OUT1的输入;38译码器Y2有效时选中8253,因此使能端连接Y2;OUT0的输入端连接方波发生器;A0、A1端连接8086的

A1、A2,若是8088,则连8088的A0、A1,原理同8259;如图:

总设计图如下:

一次一盏,时隔一秒,如图:

软件流程图:

程序:

T8259A EQU 9000H T8259B EQU 9002H OUT273 EQU 8000H CODE SEGMENT ASSUME CS:CODE START:

MOV DX,0A006H MOV AL,37H

OUT DX,AL

MOV DX,0A000H MOV AL,00H

OUT DX,AL

MOV AL,10H

OUT DX,AL

MOV DX,0A006H MOV AL,77H

OUT DX,AL

MOV DX,0A002H MOV AL,00H

OUT DX,AL

MOV AL,10H

OUT DX,AL

CLI

MOV AL,13H

MOV DX,T8259A OUT DX,AL

MOV AL,80H

MOV DX,T8259B OUT DX,AL

MOV AL,01H

OUT DX,AL

MOV AX,0000H

MOV DS,AX

MOV BX,82H*4

MOV AX,OFFSET INTP

MOV [BX],AX

INC BX

INC BX

MOV AX,SEG INTP

MOV [BX],AX ;非规范装入中断向量

MOV DX,T8259B

IN AL,DX

AND AL,0FBH

OUT DX,AL ;编程开放IRQ2

MOV BL,1H ;编程灯全灭

MOV CX,8 ;设置中断次数

STI

L1:MOV AL,82H

MOV DX,0B000H

OUT DX,AL

CMP CX,0

JZ QUIT

JMP L1 ;Proteus中8086模型有问题,它取得的中断号是最后发到总线上的数据,并不是由8259发出的中断号,所以造成了要在这里执行EOI的假相,QUIT:CLI

MOV DX,T8259B

IN AL,DX

OR AL,04H

OUT DX,AL ;编程关闭IRQ2

STI

JMP $

INTP PROC NEAR ;中断服务子程序

CLI

PUSH AX

MOV AL,BL

MOV DX,OUT273

OUT DX,AL

ROL BL,1

SUB CX,1

MOV AL,20H

MOV DX,T8259A

OUT DX,AL

POP AX

STI

IRET ;自己编写中断服务子程

INTP ENDP

CODE ENDS

END START

2、LAB6000实验箱上的设计:

一、实验结果与数据分析

二、结论

相关文档
最新文档