美文网首页
微机原理第二篇

微机原理第二篇

作者: 吃茶的武士 | 来源:发表于2019-02-19 22:29 被阅读0次

8259中断程序控制实验
【实验目的】

1.掌握8259中断控制的器的工作原理

2.学习8259的应用编程方法

3.掌握8258的级联的使用方法

【实验原理】

1.中断控制器8259A,在此次实验中把主控制器的IR6,IR7以及从控制器的IR1开放出来供实验使用,从片的int接到主片的IR2上构成级联

2.初始化命令字的生成规则,这个和书上的是一致的,比如ICW1中控制边沿触发还是电平触发,在这个实验里,用的是边沿触发,因此置为0;ICW2前五位代表中断向量地址;ICW3是关于从主片的选择的;ICW4是嵌套模式和是否禁止自动中断。

初始化命令字ICW1~ICW4来对8359进行初始化

操作命令字OCW1~OCW3用来定义8259的控制方式

【实验内容】

实验一:单中断实验,把单次脉冲输出和主片的IR7相连,那么每按动一次,都作为一次外部中断事件处理,在显示屏上输出一个字符‘7’。

设置中断代码部分:

CODE SEGMENT

ASSUME CS:CODE

START:

MOV AX,0000H

MOV ES,AX

MOV DI,3CH                                                   ;中断矢量地址,目的地址偏移量即0F*4

MOV AX,OFFSET IR7             ;取中断入口地址

CLD

STOSW

MOV AX,CS                   ;段地址

STOSW

CLI

MOV AL,11H                         ;ICW1

OUT 20H,AL

MOV AL,08H                          ;ICW2

OUT 21H,AL

MOV AL,04H                          ;ICW3

OUT 21H,AL

MOV AL,01H                          ;ICW4

OUT 21H,AL

MOV AL,6FH                         ;0CW1

OUT 21H,AL

STI

A1:NOP

JMP A1                   ;注意这里是一个死循环,是为了体现下面设置的IR7中断

IR7:STI

PUSH AX

PUSH BX

PUSH CX

PUSH DX                                                     ;入栈保护

MOV DL,37H                 ;ascll码中7是37H

MOV AH,02H

INT 21H

MOV AL,20H                   ;OCW2

OUT 20H,AL

POP DX

POP CX

POP BX

POP AX                                                        

IRET

MOV AH,4CH

INT 21H

CODE ENDS

END START

这个代码是按照书上来写的,然后参考了一下教程里面内容。一开始不清楚那个死循环的功能,后来才明白,入过没有这个循环,那么就顺序执行到下面的IR7了,体现不出这是一个“中断”

入栈保护的那一段,保险起见,就把四个寄存器全保护起来了。

实验截图:

实验结果

实验二:双中断优先级实验,KK1和KK2分别连接到主片的8259A的IR7和IR6上,按一次KK1时,显示屏出现显示7,按一次KK2时,显示字符6。由于体现的是中断优先级,所以把实验连线改为IR7,IR6都接KK1,这样按动KK1的时候,只要能够先后的显示出响应结果,就算是实验成功了。

中断代码:

   CODE SEGMENT

ASSUME CS:CODE

START:

MOV AX,0000H

MOV ES,AX

MOV DI,3CH

MOV AX,OFFSET IR7

CLD

STOSW

MOV AX,CS

STOSW

MOV DI,38H            ;中断IR6,0E*4,中断矢量口

MOV AX,OFFSET IR6

CLD

STOSW

MOV AX,CS

STOSW

CLI

MOV AL,11H                   ;ICW1

OUT 20H,AL

MOV AL,08H                   ;ICW2

OUT 21H,AL

MOV AL,04H                    ;ICW3

OUT 21H,AL

MOV AL,01H                    ;ICW4

OUT 21H,AL

MOV AL,2FH                    ;0CW1

OUT 21H,AL

STI

A1:NOP         ;这里依旧有一个循环

JMP A1

IR7:STI            ;中断IR7

PUSH AX

PUSH BX

PUSH CX

PUSH DX

MOV DL,37H

MOV AH,02H

INT 21H

MOV AL,20H                    ;OCW2

OUT 20H,AL

POP DX

POP CX

POP BX

POP AX                  ;保护以及恢复

IRET

IR6:                      ;中断IR6

STI

PUSH AX

PUSH BX

PUSH CX

PUSH DX

MOV DL,36H              ;ASCLL码6的表示

MOV AH,02H

INT 21H

MOV AL,20H                ;OCw2

OUT 20H,AL               

POP DX

POP CX

POP BX

POP AX                         ;保护以恢复现场

IRET

MOV AH,4CH

INT 21H

CODE ENDS

END START

实验结果:

实验结果

由实验结果可得,IR6的优先级是比IR7的高的,这段代码就是比上一个多了IR6的中断服务程序。

实验三:实现KK1,KK2的加减功能,摁下KK1,实现加一;摁下KK2实现减一。

与实验二的不同点就是:1.中断操作不同,可以先给寄存器赋一个初始值,然后中断中一个进行加一操作INC,一个进行减一操作DEC。2.连线不同,KK1连IR7,KK2连IR6,由于摁下并不同步,所以这里不再有优先级的考量了。

CODE SEGMENT

ASSUME CS:CODE

START:

MOV AX,0000H

MOV ES,AX

MOV DI,3CH

MOV AX,OFFSET IR7

CLD

STOSW

MOV AX,CS

STOSW

MOV DI,38H

MOV AX,OFFSET IR6

CLD

STOSW

MOV AX,CS

STOSW

CLI

MOV AL,11H;ICW1

OUT 20H,AL

MOV AL,08H;ICW2

OUT 21H,AL

MOV AL,04H;ICW3

OUT 21H,AL

MOV AL,01H;ICW4

OUT 21H,AL

MOV AL,2FH;0CW1

OUT 21H,AL

MOV DL,37H

STI

A1:NOP

JMP A1

IR7:STI

PUSH AX

PUSH BX

PUSH CX

INC DL

MOV AH,02H

INT 21H

MOV AL,20H;OCW2

OUT 20H,AL

POP CX

POP BX

POP AX

IRET

IR6:

STI

PUSH AX

PUSH BX

PUSH CX

DEC DL

MOV AH,02H

INT 21H

MOV AL,20H

OUT 20H,AL

POP CX

POP BX

POP AX

IRET

MOV AH,4CH

INT 21H

CODE ENDS

END START

实验结果:

实验结果

【小结或讨论】

这次实验还是有难度的,周四进行的实验,周三在课堂上写的一个题目练习还是大有帮助的,把中断这一章的知识点都概括一番了。这次试验主要难点就是mov指令的书写,课件里面的和书本有些出入,倒不如按着书本来写,感觉可以利用这次的实验,当作两道例题,再加上课堂上的一道题目,好好消化一番,中断问题应该就差不多了。

相关文章

  • 微机原理第二篇

    8259中断程序控制实验【实验目的】 1.掌握8259中断控制的器的工作原理 2.学习8259的应用编程方法 3....

  • 2019-3-14晨间日记

    今天是听不懂微机原理的日子 起床:六点四十 就寝:未知 天气:晴 心情:不好 纪念日:听不懂微机原理,电气制图 任...

  • 微机原理复习

    1.字节是确定的8位,但字长可能根据CPU的不同会不同。 2.单片机是一块芯片,但芯片并不一定是单片机。 3.十进...

  • 微机原理期末

    第一课时 微型计算机系统:微型计算机、外围设备、操作系统 微型计算机:微处理器、存储器、输入输出接口、系统总线 冯...

  • 微机原理:8253芯片

    8253的工作方式 方式0:中断方式 计数结束时,OUT信号由低变高,可以用作中断请求。 【写入控制字】  OUT...

  • 微机原理总复习

    第五章 总线及其形成 最小方式 最大方式 IBM_PC/XT系统 第七章 I/O接口技术 查询法输入输出例题 第九...

  • 我的测试工程师笔记01

    首先,需要有宽泛的计算机基础知识,包括:数据结构(√)微机原理(×)数据库(×)操作系统原理(×)编译原理(×)逻...

  • 微机原理第一篇

    微机原理采用的是TD集成实验a系统,试验箱也是唐都公司提供的,具体指令和书本上略有差别,书本上为8086微机,试验...

  • 微机原理 -选择题

    在计算机中用8位二进制数表示有符号数时,下列选项中正确的是() A.用补码表示时,0有+0和-0两种形式 B.用反...

  • 2019.11.17-微机原理实验

    都说一周的悲惨生活从微机原理实验开始,今天我觉得我似乎更闹心一点。 实验装置配套的电线像变戏法儿一样不见了,嗨,又...

网友评论

      本文标题:微机原理第二篇

      本文链接:https://www.haomeiwen.com/subject/cheqyqtx.html