〈新〉计算机硬件技术基础课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、中断的基本概念 在CPU正常运行程序时,由于内部或外部某个非预料事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后再返回被中断了的程序,继续执行。这个过程就是中断。 ⑶ 8086CPU如何获取中断类型号 由前面介绍知,当中断源产生中断请求后, 不论是内中断、非屏蔽中断,还是可屏蔽中断, 只要满足响应条件,在执行完当前指令后, CPU内部硬件会自动完成响应中断的过程,共七个步骤,而第一步就是获取中断类型号。 通过往寄地址端口写入IMR内容实现 对应位为0,允许该级中断申请进入 对应位为1,禁止该级中断申请进入 初始化程序如下: MOV DX,20FH MOV AL OUT DX,AL MOV DX,20CH MOV AL,50D OUT DX,AL MOV DX,20FH MOV AL OUT DX,AL MOV DX,20DH MOV AX,40000D OUT DX,AL MOV AL,AH OUT DX,AL ;计数器0初始 ;计数器0送TC ;计数器1初始 ;计数器1送TC ;先写低字节 ;后写高字节 例如:在时钟频率为2MHZ前提下,要求利用8254某通道完成1秒 钟的定时 16位计数器,TC的最大值为: 0 (65536次) 最大定时时间为T T=65536×0.5us≈33ms<1s 定时1s所需的时间初值为 TC = 1s/0.5us = 1×106/0.5 = 2000000D 五、计数器量程的扩展 ① 软件法 设置中断次数计数器 ② 硬件法 —— 级联 GATE0 CLK0 OUT0 D7 D0 ~ A1 WR RD CS 8254 A0 GATE1 CLK1 OUT1 时钟信号 +5V 系统总线 此时,通道0定时20ms 通道1计数50次 可完成1s定时! 通道0定时20ms中断一次 中断次数计数器计50次即1s 六、8254在PC中的应用 PC使用一片8254,其3个计数通道分别用于日时钟计时、DRAM刷新定时和控制扬声器发声声调, 定时中断和定时刷新 MOV AL,36H ;计数器0为方式3,采用二进制计数,先低后高写入计数值 OUT 43H,AL ;写入方式控制字 MOV AL,0 ;计数值为0 OUT 40H, AL ;写入低字节计数值 OUT 40H, AL ;写入高字节计数值 MOV AL,54H ;计数器工作为方式2,采用二进制计数,只写低8位计数值 OUT 43H,AL ;写入方式控制字 MOV AL,18 ;计数初值为18 OUT 41H,AL ;写入计数值 扬声器控制 ;发音频率设置子程序, 入口参数:AX=1.19318×106÷发音频率 SPEAKER PROC PUSH AX MOV AL,0B6H ;定时器2为方式3,先低后高写16位计数值 OUT 43H,AL POP AX OUT 42H,AL ;写入低8位计数值 MOV AL,AH OUT 42H,AL ;写入高8位汁数值 RET SPEAKER ENDP SPEAKON PROC ;扬声器开子程序 PUSH AX IN AL,61H ;读取61H端口的原控制信息 OR AL,03H ;D1D0=PB1PB0=11B,其他位不变 OUT 61H,AL ;直接控制发声 POP AX RET SPEAKON ENDP SPEAKOFF PROC ;扬声器关子程序 PUSH AX IN AL,61H AND AL,0FCH ;D1D0=PB1PB0=00B,其他位不变 OUT 61H,AL ;直接控制闭音 POP AX RET SPEAKOFF ENDP 方 波 键 盘 保 留 串 口2 硬 盘 软 盘 打印机

文档评论(0)

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

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

1亿VIP精品文档

相关文档