- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 8253应用举例_2012
8253编程方法 8253初始化程序 通道1:方式3,BCD码计数 计数初值:1250 初始化程序: MOV AL, OUT 43H, AL MOV AX, 1250H OUT 41H, AL MOV AL, AH OUT 41H, AL 如果是二进制计数,计数初值如何设置? 读取计数值程序 要先锁存,才能读到稳定的计数值。 MOV AL, OUT 43H, AL ; 发锁存读的命令 IN AL, 41H ;先读低8位 MOV AH, AL IN AL, 41H ;后读高8位 XCHG AH, AL 8253应用举例 1、硬件电路设计 地址译码电路设计 例1 地址译码电路设计 例2 2、“定时波形产生电路” 设计举例(做补充作业 ) 硬件电路图 地址译码电路 8253通道0初始化程序 通道0:方式3,2进制计数 输入时钟2MHz,输出方波2KHz 计数初值:2MHz / 2KHz = 1000 初始化程序: MOV AL, OUT 43H, AL MOV AX, 1000 OUT 40H, AL MOV AL, AH OUT 40H, AL 8253通道1初始化程序 通道1:方式2,2进制计数 输入时钟2MHz,输出负脉冲40KHz 计数初值:2MHz / 40KHz = 50 初始化程序: MOV AL, OUT 43H, AL MOV AL, 50 OUT 41H, AL 8253通道2初始化程序 通道2:方式1,BCD码计数 输入时钟2MHz (0.5us), 输出500us宽度的单脉冲。 计数初值:500us / 0.5us = 1000 初始化程序: MOV AL, OUT 43H, AL MOV AX, 1000H OUT 42H, AL MOV AL, AH OUT 42H, AL 3、“计数电路” 设计举例(做补充作业 ) 某8086系统中,8253的口地址为40h~43h,8259的口地址为20h~21h,中断类型码为70h~77h。8253计数器1的输入时钟为1.193MHz,定时输出中断请求信号至8259的IR2。在中断服务程序中对中断次数计数,存在IR2_COUNT单元中。要求: 1)设计硬件电路 (分1ms和1s定时中断两种情况); 2)编写8253初始化程序(分1ms和1s定时中断两种情况); 3)编程设置中断向量,设置中断屏蔽字; 4)编写中断服务程序。 硬件电路(1ms定时中断) 注:图中地址译码电路设计有误,重新修改。 编程: (1)8253初始化(1ms定时中断) : 通道1:方式3 (或方式2 ),2进制计数 输入时钟1.193MHz,输出方波1kHz 计数初值:1.193MHz / 1kHz = 1193 初始化程序: MOV AL, OUT 43H, AL MOV AX, 1193 OUT 41H, AL MOV AL, AH OUT 41H, AL (2)设置中断向量: CLI MOV AX, SEG IR2_SUB MOV DS, AX MOV DX, OFFSET IR2_SUB MOV AL, 72H MOV AH, 25H INT 21H STI (3)设置中断屏蔽字: IN AL, 21H AND AL, OUT 21H, AL (4)中断服务程序: IR2_SUB: STI PUSH AX INC IR2_COUNT MOV AL, 20H OUT 20H,AL POP AX IRET 思考: 定时1s中断,计数值= 1.193MHz / 1Hz = 1193000>65536 1个计数器不够计数,怎么办? → 2个计数器级联 补充作业:做“1s定时
文档评论(0)