7-28253控制字及初始化讲义.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7-28253控制字及初始化讲义

主要内容 一、控制字 CPU通过OUT指令把控制字写入控制寄存器,用于确定各计数器的工作方式。 还要将计数器的初值送入计数器 要使用8253,必须首先进行初始化编程,初始化编程包括设置通 道控制字和送通道计数初值两个方面: 初始化程序流程 例1:假设一个8253在某系统中的端口地址40H~43H,如果要将计数器0设置为工作方式3,计数初值为3060H,采用二进制计数法. 例2:设8253的口地址为40H ~ 43H, 要求2#计数器工作在方式1, 按bcd码计数,计数初值为十进制数4000,.初始化程序段 MOV AL,0A3H OUT 43H,AL MOV AL,40H OUT 42H,AL 例题3. 若要用通道0,工作在方式1,按二十进制,即数值为 5080,编写初始化程序。(设端口地址为F8H--FBH) * * * * *   微型计算机原理与应用 ------可编程定时器/计数器8253 主讲人:马永红 1、 8253的控制字 2、:8253初始化编程 两项工作都需要程序员编程来实现,这个工作叫做初始化 想使用8253,首先要做两件事: PPT+语言表述 数制 工作方式 读写格式 计数器 D0 D1 D2 D3 D4 D5 D6 D7 数制 工作方式 读写格式 计数器 D0 D1 D2 D3 D4 D5 D6 D7 00 计数器0 01 计数器1 10 计数器2 11 非法 00 计数器锁存命令 01 只读写低字节 10 只读写高字节 11 先读写低字节 后读写高字节 000 方式0 001 方式1 010 方式2 011 方式3 100 方式4 101 方式5 0 二进制 1 十进制(BCD码) 数制 工作方式 读写格式 计数器 D0 D1 D2 D3 D4 D5 D6 D7 使用8253之前,首先要向它输入一个控制字,以确定哪个通道工作工作在哪种方式;那么控制字有什么规则、怎么去应用? 控制字是针对哪个通道 读与写的具体方式 D7 D6两位:决定你写的控制字是针对哪一个计数器(通道) D5 D4两位:决定CPU对计数初值寄存器的读写方式。 00:计数器暂停计数,通过硬指令,将当前计数值传送给CPU,指令执行完了,计数器又开始被打断的计数;剩下的都是些计数初值的写入方式: 01:只写低8位,比如计数值是0080H由于高8位是00,所以高字节就不写了,执行时控制字寄存器的高8位自动清零,只把计数值的低8位写入到寄存器的低8位中。 10:针对计数值是1000H的情况,我就只写高8位就行了,寄存器的低8位写的时候自动清零 如果计数值是2233H这种形式,那么必须选用 11这种形式:读计数值时必须读两次,先读出的是低8位,后读出的是高8位。 D0:如果取0,你送进去的计数值按二进制码来看待;如果取1,那么送进去的计数值按BCD码来看待。例如:输入的计数值是0000 0000 0000 0000 如果看成是二进制数,减1后就变成1111 1111 1111 1111 实际计数值就是65536个脉冲;若看成是BCD码,减1后变成1001 1001 1001 1001,实际计数值就是9999个脉冲。 二、初始化编程 CPU通过OUT指令把控制字写入控制寄存器,用于确定各计数器的工作方式。 还要将计数器的初值送入相应通道的计数寄存器中 写控制字 写计数值低8位 写计数值高8位 * 非必须 初始化程序如下: MOV AL,控制字 OUT 控制字寄存器口地址,AL ;写入控制字 MOV AL,计数值(低8位) OUT 计数器口地址,AL;写入计数值 MOV AL,计数值(高8位) OUT 计数器口地址,AL ;若采用高低8位均写,应先写低8位,再写高8位。 (1) 写入通道控制字,规定通道的工作方式 (2) 写入计数值,若规定只写低8位,则高8位自动置0,若规定只写高8位, 则低8位自动置0。若为16位计数值则分两次写入,先写低8位,后写高8位。 MOV AL, 36H ;计数器0,方式3,计数值16位, ; 二进制计数 OUT 43H, AL ;写入控制寄存器 MOV AX, 3060H ;设置计数值 OUT 40H, AL ;写低8位至计数器0 MOV AL, AH OUT 40H, AL ;写高8位至计数器0 数制 工作方式 读写格式 计数器 D0 D1 D2 D3 D4 D5 D6 D7 教材例子 程序写完交给单片机去运行,运行完了,对应的8253初始化工作就完成了。当外来信号到来的时候 8253通道0就会按照初始化设置的计数

文档评论(0)

441113422 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档