- 1、本文档共118页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.确定中断服务程序的类型 中断类型由定时中断源接入8259A的中断引脚IRx有关。 ① 如果中断源是外扩定时器,由从8259A的IR1引脚引入,则服务程序应定义为0AH或71H型。 ②如果中断源是系统8254的0#计数器,并且定时周期是55ms的整数倍,则定义用户服务程序为1CH型,取代系统的1CH型服务程序。 ③如果中断源是系统8254的0#计数器,但定时周期≠55ms的整数倍,则应重新对8254 0#计数器进行初始化……。 定时周期不等于55ms整数倍的处理框图 3.置换中断向量 服务程序的类型确定之后,应置换相应的中断 向量(使用INT21H的25H和35H子功能)。 4.开放8259A中断 从系统硬件中断的结构图可知: ①用户中断要经过从8259A、主8259A两级中断控制器的管理,为了使用户中断请求送到CPU,应将从8259A的IMR的D1位置0,主8259A的IMR的D2位置0,从而打通用户中断请求的通道。? ②一般说,各种型号的主机板对日时钟中断都是开放 的,用户不必再采取措施。 5 .避免“DOS重入” “DOS 重入”示意图 : : : INT21H 现行程序 21H型服务程序 : : IRET 有中断请求 : : INT 21H DOS不允许重入 6.中断服务程序的执行时间 必须远远小于定时中断的时间间隔 7. 中断结束向8259A发中断结束命令 定时中断周期T1 服务程序执行时间 IRX T2 T1 T2 二.定时中断程序结构 之一 主程序 关中断 *中断源初始化 置换中断向量 其他准备工作 开中断 等待中断 * 恢复系统资源 恢复中断向量 返回DOS 服务程序 保护现场 定时时间到? 执行定时操作 向8259A送结束命令 恢复现场 IRET Y N 避免DOS 重入 特点:服务程序 直接进行定时操作 * 表示视具体情况而定 程序结束前 之二 主程序 关中断 * 中断源初始化 置换中断向量 其他准备工作 开中断 * 恢复系统资源 恢复中断向量 返回DOS 保护现场 定时时间到? 设置“时间到”标志 向8259A送结束命令 恢复现场 IRET Y N “时间到”标志可利用数据段某单元或某个空闲寄存器 特点:服务程序不直接进行定时操作,而是建立“时间到”标志。由主程序判断时间到标志再进行定时操作。 * 表示视具体情况而定 其它操作 有无“时间到”标志? 执行定时操作 Y 程序是否需要结束? N Y 服务程序 N 三.定时中断程序举例 【例9.8.1】1CH型中断的应用 假设微机系统外扩了共阴级数码管电路(见下页),要求使用系统定时源并采用中断方式每隔一秒完成一次8字左移,循环往复,直到主机键盘按下任意键时停止。 a b c d e f g h 共阴级数码管结构 h a b c d e f g h 8位锁存器(位选) (200H选中) D0 D1 D2 D3 D4 D5 D6 D7 D0-D7 8位锁存器(段选) (201H选中) D0 D7 D6 D5 D4 D3 D2 D1 a b c d e f g h CS CS (反相输出) COM COM COM COM COM COM 数码管显示原理 使用段选码和位选码进行控制。 段选码:显示什么字符。6个数码管的同名段共享连接,即D0-a;D1-b…;D6-g;D7-h 。显示字符“8”的段选码是7FH。 位选码:选择被点亮的LED(仅D5-D0有效)。 点亮右边第1个LED,位选码 点亮右边第2个LED,位选码 : : 点亮左边第1个LED,位选码 [设计思路] 主要解决四个问题: (1)字符“8”的显示控制问题,包括段选码和位选码; (2)定时时间间隔1秒钟如何实现; (3)每隔一秒钟“8”如何左移一位显示; (4)显示过程如何结束 MOV DX,201H MOV AL,7FH ;“8”段码 OUT DX, AL MOV DX,200H MOV AL,Origin ;位码 OUT DX, AL SHR Origin,1 : SCAN:MOV AL,1 INT 16H JZ
文档评论(0)