8253和8259来实现的简单的时钟,硬件中断时钟设计

8253和8259来实现的简单的时钟,硬件中断时钟设计

ID:41512131

大小:228.22 KB

页数:13页

时间:2019-08-26

8253和8259来实现的简单的时钟,硬件中断时钟设计_第1页
8253和8259来实现的简单的时钟,硬件中断时钟设计_第2页
8253和8259来实现的简单的时钟,硬件中断时钟设计_第3页
8253和8259来实现的简单的时钟,硬件中断时钟设计_第4页
8253和8259来实现的简单的时钟,硬件中断时钟设计_第5页
资源描述:

《8253和8259来实现的简单的时钟,硬件中断时钟设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、利用8253和8259实现简单时钟一、内容利用PC系列微机现有的硬件和软件资源编写程序,以便在显示器屏幕上显示XX(吋):XX(分):XX(秒),并且每秒钟更新一次显示。二、设计目的掌握8253、8259A芯片。三、设计思路TBMPC/XT系统板上使用了一片8253-5,其地址为40H~43H,其中0通道在方式3下工作,初值设置23小吋59分50秒,每隔55ms向中断控制器8259A的TRQ0端发一次中断请求。此定时中断的用途之一是系统报时。现在借用原有电路,重新设置定时器、编写中断服务程序来做硬件时钟实验,为此程序开

2、始应首先保护原系统的08H中断的中断矢量(中断服务程序入口地址),以便程序退岀时恢复原系统的设置。保护原系统的08H中断的中断矢量可用DOS35H功能调用读出,并加以适当保存,也可以用以下指令将中断矢量压入堆栈保存。具体过程:等待按键按下,调用DOS的显示字符串功能,并对中断进行压栈操作后,建立数据段的可寻址性,通过装载现行的中断服务程序,使用8253初始化的0通道,3方式,二进制计数进行方式3的10ms方波,即每10ms中断一次,通过保护原有的8259A的中断屏蔽寄存器TMR的内存,进行下一步的TMR的重写,只开放始

3、终和键盘的中断处理。进而开中断,运行TIMER模块的时间调用及DOS显示系统时间的功能,待TIMER模块运行结束之后,关闭中断返冋DOS,程序结束。CLTCLDMOVAX,0000HMOVDS,AXMOVSI,0020HLODSWMOVBX,AX;关中断;DF二0;DS:SI指向08H中断矢量表中的位置;BX:原中断服务程序入口偏移地址LODSWpushaxPUSHBX;AX:原屮断服务程序入口的段地址;压栈保护四.硬件原理图及相关说明1、825301JT2CLK2GATE2计数通道2控制字寄存器读/写逻辑数据总线缓冲

4、器内規数据总线RD-nCLK0GATEOOUTOCLK1GATE10UT1D7D6D5DdD3D2D1DOCLKOOUTOGATEOGND<—―►—r4<—―>——rr><>12422332242152068253197188179161015111412130UT2OUT1E10.18253内部结构框图E10.28253引脚图这是8253的相关图形,一般8253要实现定时、计数控制大致可采用三种方法:①设计数字逻辑电路来实现定时或计数的要求。

5、即由硬件电路实现的定时器/计数器。②用软件来实现定时和计数的要求。即采用循环方式执行若干条指令,使程序段执行时占用一定的延时时间。③采用可编程定时器/计数器。其定时与计数功能可由程序灵活设定,设定后于CPU并行工作,不占用CPU的时间,可以很好地解决以上两种定时存在的不足,这种方式广泛应用于各种定时或计数场合。8253的工作方式三是方波发生器,方式三的输出为方波,具有“初始化自动重装”功能。向8253写入控制字后,OUT输出变为高电平,在写完计数初值后计数器自动开始对输入时钟CLKi

6、澈,OUT输出保持高电平。当计数到

7、一半吋,输出变为低电平,直至计数到0,在重装计数初值,OUT端变高开始新一轮计数。2、8259A内部总线I)亠Do►€..」■控制迈狗RDWRAo级联级冲/比较2S故据总线缓冲器inTaINTCSCAS。——►CAS】►CAS:<•——►优先权河决益PR图6・98259A內部结构及引脚信号中断卅蔽;3存器IMR抽求皿R中说舲Ri务中服站7RRRRRRRR8259A常用于中断优先级管理电路,它的功能有三种:①它可以接受多个外部中断源的中断请求,并进行优先级别判断,选中当前优先级别最高的屮断请求,再将此请求送到微处理器的屮

8、断输入端。具有提供中断向量、屏蔽中断输入等功能。②8259A使用单+5V电源供电,有多种中断管理方式,自动提供中断服务程序入口地址,使用灵活方便。五、软件流程图及其说明结束图1.0硬件中断时钟设计流程图硬件中断时钟设计算法具体描述,等待建按下调用DOS的7号功能键,并将中断的中断矢量进行压栈保护,建立数据段的可寻址性,通过装载现行的中断服务程序,使用8253初始化产生10ms方波,每10ms屮断一次,保护原有的8259A的屮断屏蔽寄存器IMR的内存,进行下一步的IMR的重写。进而开中断,然后调用DOS的6好功能键,通过

9、判断是否有键按下和是否按下的是空格键实现显示时间和关闭中断返回DOS,程序结束。六、功能模快设计说明1、模块1结朿这部分模块是实现当按下空格键时程序关中断,恢复IMR,重新设置8253中断时间,恢复中断矢量以及开中断。2、模块23、模块3这个模块是实现的等待功能4.模块4根据秒值是否相同来执行循环,但秒值变化了就返冋继续执行程序。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。