8253和8259来实现的简单的时钟,硬件中断时钟设计
利用82538259实现简单时钟
一、内容
利用PC系列微机现有的硬件和软件资源编写程序,以便在显示器屏幕上显示XX(时):XX(分):XX(秒),并且每秒钟更新一次显示。
二、设计目的
    掌握8253、8259A芯片
三、设计思路
IBM PC/XT系统板上使用了一片8253-5,其地址为40H ~ 43H,其中0通道在方式3祝福语朋友下工作,初值设置23小时5950秒,每隔55ms向中断控制器8259AIRQ0端发一次中断请求。此定时中断的用途之一是系统报时。现在借用原有电路,重新设置定时器、编写中断服务程序来做硬件时钟实验,为此程序开始应首先保护原系统的08H中断的中断矢量(中断服务程序入口地址),以便程序退出时恢复原系统的设置。保护原系统的08H中断的中断矢量可用DOS 35H功能调用读出,并加以适当保存,也可以用以下指令将中断矢量压入堆栈保存。
具体过程:等待按键按下,调用DOS的显示字符串功能,并对中断进行压栈操作后,建立数据段的可寻址性,通过装载现行的中断服务程序,使用8253初始化的0通道,土豆炖茄子3方式,二进制计数进行方式310ms方波,即每10ms中断一次,通过保护原有的8259A的中断屏蔽寄存器IMR的内存,进行下一步的IMR的重写,只开放始终和键盘的中断处理。进而开中断,运行TIMER模块的时间调用及DOS显示系统时间的功能,待TIMER模块运行结束之后,关闭中断返回DOS,程序结束。
CLI                        ;关中断
CLD                      DF=0
MOV AX 0000H
佟丽娅的老公MOV DS AX              DSSI指向08H中断矢量表中的位置
MOV SI 0020H
LODSW
MOV BX AX              BX:原中断服务程序入口偏移地址服装搭配
LODSW                    改名申请书AX:原中断服务程序入口的段地址
PUSH AX                  ;压栈保护
世界豪华车品牌PUSH BX
四、硬件原理图及相关说明
    18253
        这是8253的相关图形,一般8253要实现定时、计数控制大致可采用三种方法:
    设计数字逻辑电路来实现定时或计数的要求。即由硬件电路实现的定时器/
计数器。
    用软件来实现定时和计数的要求。即采用循环方式执行若干条指令,使程
序段执行时占用一定的延时时间。
    采用可编程定时器/计数器。其定时与计数功能可由程序灵活设定,设定后
CPU并行工作,不占用CPU的时间,可以很好地解决以上两种定时存在的不足,这种方式广泛应用于各种定时或计数场合。
8253的工作方式三是方波发生器,方式三的输出为方波,具有“初始化自动重装”功能。向8253写入控制字后,OUT输出变为高电平,在写完计数初值后计数器自动开始对输入时钟CLK计数,OUT输出保持高电平。当计数到一半时,输出变为低电平,直至计数到0,在重装计数初值,OUT端变高开始新一轮计数。
28259A
    8259A常用于中断优先级管理电路,它的功能有三种:
    它可以接受多个外部中断源的中断请求,并进行优先级别判断,选中当前
优先级别最高的中断请求,再将此请求送到微处理器的中断输入端。
具有提供中断向量、屏蔽中断输入等功能。
    8259A使用单+5V电源供电,有多种中断管理方式,自动提供中断服务程序
入口地址,使用灵活方便。
五、软件流程图及其说明
 
1.0 硬件中断时钟设计流程图
硬件中断时钟设计算法具体描述,等待建按下调用DOS7号功能键,并将中断的中断矢量进行压栈保护,建立数据段的可寻址性,通过装载现行的中断服务程序,使用8253初始化产生10ms方波,10ms中断一次,保护原有的8259A的中断屏蔽寄存器IMR的内存,进行下一步的IMR的重写。进而开中断,然后调用DOS6好功能键,通过判断是否有键按下和是否按下的是空格键实现显示时间和关闭中断返回DOS,程序结束。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。