《微机原理第9章》.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《微机原理第9章》.ppt

一、定时中断程序的设计方法 1.定时中断源的选择 ① 系统8254 0#计数器 2.确定中断服务程序的类型 中断类型由定时中断源接入8259A的中断引脚IRx有关。 ① 如果中断源是外扩定时器,由从8259A的IR1引脚引入,则服务程序应定义为0AH或71H型。 ②如果中断源是系统8254的0#计数器,并且定时周期是55ms的整数倍,则定义用户服务程序为1CH型,取代系统的1CH型服务程序。 ③如果中断源是系统8254的0#计数器,但定时周期≠55ms的整数倍,则应重新对8254 0#计数器进行初始化……。 3.置换中断向量 服务程序的类型确定之后,应置换相应的中断 向量(使用INT21H的25H和35H子功能)。 4.开放8259A中断 三.定时中断程序举例 【例9.8.1】1CH型中断的应用 假设微机系统外扩了共阴级数码管电路(见下页),要求使用系统定时源并采用中断方式每隔一秒完成一次8字左移,循环往复,直到主机键盘按下任意键时停止。 数码管显示原理 使用段选码和位选码进行控制。 段选码:显示什么字符。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)显示过程如何结束 定时程序由主程序和1CH型中断程序组成 【程序清单】 ;FILENAME:891.ASM .486 DATA SEGMENT USE16 ;数据段定义 OLD1C DD ? ICOUNT DB 18 ;中断计数初值 ORIGIN DB 20H ;数码管位选初值 DATA ENDS CODE SEGMENT USE16 ;代码段 ASSUME CS:CODE,DS:DATA START: MOV AX, DATA ;DS段赋值 MOV DS, AX CLI ;关中断 CALL READ1C CALL WRITE1C MOV DX,201H MOV AL,7FH OUT DX, AL ;输出“8”的字型码 MOV DX,200H MOV AL,ORIGIN OUT DX, AL ;定位显示 STI ;开中断 SCAN: MOV AH,1 INT 16H ;有键入? JZ SCAN ;否,转移 CALL RESET MOV AH,4CH ;返回DOS INT 21H ;--------------------以下为中断服务程序 ------ SERVICE PROC PUSHA ;保护现场 PUSH DS MOV AX,DATA ;注意:重新给DS赋值。 MOV DS, AX DEC ICOUNT ;中断计数 JNZ EXIT ;不满18次转移 MOV ICOUNT,18 ;满18次,重新赋计数初值 SHR ORIGIN,1 JNC NEXT ;没有显示到最左端,转移 MOV ORIGIN, 20

文档评论(0)

iyjt + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档