芯片8259的初始化程序怎么写

芯片8259的初始化程序怎么写,第1张

中断控制器8259A的初始化尤为复杂,他的控制字、方式字相对于8253 8255要多。就给你一道例题吧。

某微机系统使用主、从两片8259A管理中断,从片中断请求INT与主片的IR2连接。设主片工作于特殊完全嵌套、非缓冲和非自动结束方式,中断类型号为40H,端口地址为20H和21H。从片工作于完全嵌套、非缓冲和非自动结束方式,中断类型号为70H,端口地址为80H和81H。试编写主片和从片的初始化程序。

根据题意,写出ICW1, ICW2, ICW3和ICW4的格式,按图6.21的顺序写入。编写初始化程序如下:

主片8259A的初始化程序如下:

  MOV   AL, 00010001B  级联, 边沿触发, 需要写ICW4

  OUT   20H, AL     写ICW1

  MOV   AL, 01000000B  中断类型号40H

  OUT   21H, AL     写ICW2

  MOV   AL, 00000100B  主片的IR2引脚接从片

  OUT   21H, AL     写ICW3

  MOV   AL, 00010001B  特殊完全嵌套、非缓冲、自动结束

  OUT   21H, AL     写ICW4

  

从片8259A初始化程序如下:

  MOV   AL, 00010001B  级联, 边沿触发, 需要写ICW4

  OUT   80H, AL     写ICW1

  MOV   AL, 01110000B  中断类型号70H

  OUT   81H, AL     写ICW2

  MOV   AL, 00000010B  接主片的IR2引脚

  OUT   81H, AL     写ICW3

  MOV   AL, 00000001B   完全嵌套、非缓冲、非自动结束

  OUT   81H, AL      写ICW4

建议楼主多看看课本,理解里面控制字方式字的格式,多看看例题。

可编程定时/计数器 8253 实验

一、实验要求

利用 8086 外接 8253 可编程定时/计数器,可以实现方波的产生。

二、实验目的

1、学习 8086 与 8253 的连接方法。

2、学习 8253 的控制方法。

3、掌握 8253 定时器/计数器的工作方式和编程原理

三、实验说明

8253 芯片介绍

8253 是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V 单电源供电。

8253 的功能用途:

⑴延时中断;⑵可编程频率发生器;⑶事件计数器;⑷二进制倍频器⑸实时时钟;⑹数字单稳⑺复杂的电机控制器。

8253 的六种工作方式:

⑴方式0:计数结束中断;⑵方式l:可编程频率发生;⑶方式2:频率发生器;⑷方式3:方波频率发生器;⑸方式4:软件触发的选通信号;⑹方式5:硬件触发的选通信号。

四、实验步骤

1、Proteus 仿真

a.在 Proteus 中打开设计文档“8253_STM.DSN”;

b.建立实验程序并编译,仿真;

c.如不能正常工作,打开调试窗口进行调试。

参考程序:

CODE  SEGMENT

ASSUME CS: CODE

START:

JMP TCONT

TCONTRO EQU 0A06H

TCON0 EQU 0A00H

TCON1 EQU 0A02H

TCON2       EQU 0A04H

TCONT:

MOV DX, TCONTRO

MOV AL,16H 计数器 0,只写计算值低 8 位,方式 3,二进制计数

OUT DX, AL

MOV DX, TCON0

MOV AX, 20     时钟为 1MHZ,计数时间=1us*20=20us,输出频率 50KHZ OUT DX,AL

JMP $

CODE ENDS

END START

五、实验电路及连线

1、Proteus 实验电路


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8004881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存