- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8253 的初始化编程
8253 的初始化编程内容:一是首先向控制寄存器写入控制字,以选定计数通道(三个
中之一),规定该计数的工作方式和计数方式以及计数初值的长度和装入顺序(初值
写入方式);二是向已选定的计数器按控制字的要求 写入计数初值。
8253 初始化的要求:
(1 )对每个计数器,控制字必须写在计数值之前。这是因为计数器的读/写格式由它
的控制字决定。
(2 )计数值必须按控制字所规定的格式写入。若控制字规定只写8 位,只需写入一次
(8 位)计数值即可(规定写低 8 位则高 8 位自动置 0 ,规定写高8 位则低 8 位自动置
0 );规定写16 位时必须写两次,先写低 8 位,后写高 8 位。当 初值为 0 时,也要分
两写入,因在二进制计数时,“0”表示 65336 ,在BCD 码计数时“0”表示
10000=104。
(3 )对所有方式计数器都可以在计数过程中或计数结束后改变计数值,重写计数值也
必须遵守控制字所规定的格式,并且不会改变当前计数器的工作方式。
(4 )计数值不能直接写到减1 计数器中,而只能写入计数值寄存器中,并由写操作之
后的下一个 CLK 脉冲将计数值寄存器的内容装入减 1 计数器开始计数。
(5 )初始化编程必须明确各个计数器的控制字和计数值不是写到同一个地址单元。各
个计数器的控制字各自独立确定,但它们都写入同一个端口地址(控制字寄存器)中,
各个计数器的计数值则根据需要独立确定并写入各自 计数器的相应寄存器中。
例 1 :设8086 系统中 8253 的三个计数器的端口地址为 060H ,062H 和 064H ,控制
口地址为066H ,要求计数器0 为方式 1 ,按BCD 计数;计数初值为 1800D ,计数器1
为方式 0 ,按二进制计数;计数初值为1234H ,计数器2 为方式 3 ,按二进制计数;当
计数初值为 065H 时,试分别写出计数器 0 ,1 ,2 的初始化程序。
计数器 0 的初始化:
计数 0 的控制字=23H
MOV AL ,23H ;计数器0 的控制字
OUT 0 66H ,AL ;控制字写入8253 的控制器
MOV AL ,18H ;取计数初值的高8 位,低 8 位 00 可不送
OUT 060H ,AL ;计数初值送计数器0 端口
计数器 1 和初始化:
计数器 1 的控制字=70H
MOV AL ,70H ;计数器的控制字:方式0 ,送高8 位和低 8 位,二进制计数
OUT 066H ,AL ;控制字写入8253 的控制器
MOV AL ,034H ;取计数初值的低8 位
OUT 062H ,AL ;计数初值的低8 位,写入计数器 1 端口
MOV AL ,12H ;取计数初值的高8 位
OUT 062H ,AL ;计数初值的高8 位写入计数器 1 端口
计数器 2 的初始化:
计数器 2 的控制字=96H
MOV AL ,96H ;计数器2 的控制字96H :方式3 ,只送低8 位,二进制计数
OUT 066H ,AL ;控制字写入8253 的控制口
MOV AL ,056H ;计数初值的低8 位
OUT 064H ,AL ;计数初值的低8 位写入计数器 2 的端口
例 2 :要求读出计数器2 的当前计数值,并检查是否为全“1”。
8253 在读取计数器的当前计数值时,必须分两步进行。首先发一锁存命令(即控制字
中 RL1RL0=00 ),将当前计数值锁存到输出锁存器中。第二步执行读操作,即用 IN
指令将锁存器中内容读入 CPU。
假设计数初值只有低 8 位,设其程序段如下(控制口地址为 066H ,计数器2 的口地址
为 064H ):
KEEP :MOV AL ,80H ;计数器2 的锁存命令
OUT 066H ,AL ;锁存命令写入控制寄存器
IN AL ,064H ;读输出锁存器中的当前计数值(从计数器2 端口读)
CMP AL ,0FFH ;比较当前计数值是否为全 “1”
JME KEEP ;非全“1”继续读
HLT ;为全“1”暂停
8253 的应用举例
例 1 :将8253 的计数器 1 作为 5ms 定时器,设输入时钟频率为 200kHz ,试编写8253
的初始化程序。
(1 )计数初值N 计算
已知输入时钟CLK 频率为 200kHz ,则时钟周期为T=1/f=1/200kHz=5μs ,于是计数初
值 N 为:N=5ms/T=5ms/5μs=1000。
您可能关注的文档
最近下载
- 《风景谈》精品课件.ppt VIP
- T11长轨列车卸轨作业指导书.pdf VIP
- 城市轨道交通交流供电系统的保护方式1城市轨道交通交流供电系.pptx VIP
- 《极简项目管理》读书笔记.pdf VIP
- 北京-绅宝D70-产品使用说明书-绅宝D70 2.3T-C7230C7G-绅宝产品使用说明书.pdf VIP
- 《地下工程防水技术规范》(GB50108-2008).pdf
- 2023 【小升初分班】小升初数学分班测试卷 (通用版,含答案).pdf VIP
- DLT 1253-2013 电力电缆线路运行规程.pdf VIP
- 商务谈判毕思勇课程教案.pdf VIP
- 信息处理技术员教程(第三版)第6章 演示文稿基础知识.pptx VIP
文档评论(0)