- 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的编程 编程原则: ① 设置初值前必须先写控制字 ② 初值设置要符合控制字中的格式规定 编程命令有两类: ① 读出命令 ② 写入命令 设置控制字命令 设置初始值命令 锁存命令 1.写入方式控制字 2.写入计数初值 写入初值原则 若控制字规定只读写低8位,则自动写入低8位,高8位填0; 若规定只读写高8位,则自动写入高8位,低8位填0; 若规定写16位,则先写低8位,再写高8位。 由于每一个计数器都是先减1,再判断是否为0,所以写入初值0,实际上表示最大数。 初值的计算( 请结合后面的例子来理解 ) 方式2或者方式3,计数常数就是分频系数,分频系数=?i/?o(?i:输入CLK频率;?o:OUT端输出频率)。 作为定时器工作时,CLK通常来自系统内部的时钟,计数常数就是定时系数,定时系数=T/tCLK=T×?CLK(T为定时时间,?CLK为输入的CLK频率)。 作为外部计数使用时,计数脉冲通常来自系统外部,计数常数就是要记录的外部事件的脉冲个数。 初始化编程的步骤为: (1) 写入控制字,规定 计数器的工作方式。 (2) 写入计数值。 ① 若规定只写低8位,则写入的为计数值的低8位,高8位自动置0; ② 若规定只写高8位,则写入的为计数值的高8位,低8位自动置0; ③ 若是16位计数值,则分两次写入,先写入低8位,再写入高8位。 例如: 若要用计数器0,工作在方式1,按二—十进制计数,计数值为5080H。则初始化编程的步骤为: (1) 确定控制字: (2) 计数值的低8位为80H。 (3) 计数值的高8位为50H。 若端口地址位为F8H~FBH,则初始化程序为: MOV AL,33H OUT 0FBH,AL MOV AL,80H OUT 0F8H,AL MOV AL,50H OUT 0F8H,AL8253 任一计数器的计数值,CPU可用输入指令读取。CPU读到的是执行输入指令瞬间计数器的现行值。但8253的计数器是16位的,所以要分两次读至CPU,因此,若不设法锁存,则在输入过程中,计数值可能已经变化了。要锁存有两种办法: (1) 利用GATE信号使计数过程暂停。 (2) 向8253输送一个控制字,令8253计数器中的锁存器锁存。8253的每一个计数器都有一个输出锁存器(16位),平时,它的值随通道计数器的值变化,当向通道写入锁存的控制字时,它把计数器的现行值锁存(计数器中继续计数)。于是CPU读取的就是锁存器中的值。 当对计数器重新编程,或CPU读取了计数值后,自动解除锁存状态,它的值又随计数器变化。 若要读取通道1的16位计数值,其程序为: MOV AL,40H;计数器1的锁存命令 OUT 0FBH,AL;写入至控制字寄存器 IN AL,0F9H;读低8位 MOV CL,AL;存于CL中 IN AL,0F9H;读高8位 MOV CH,AL;存于CH中 计数值和状态的读回 8253的计数值的读回 在方式控制字格式中,先用D5D4=00,锁存该计数器的值,用来进行读取,如果是16位则分两次读取,先读取低8位,后读取高八位。 (例7.2) 注意:读回计数值时,和控制字的D3D2D1D0位 无关,所以这几位置0或1都可以. 例7.1 用8253的计数器0,工作在方式1下,按十进制计数,初值为3040;若该8253的端口地址为388~38BH,请写出初始化程序段。 例7.1 用8253的计数器0,工作在方式1下,按十进制计数,初值为3040;若该8253的端口地址为388~38BH,请写出初始化程序段。 MOV DX, 38BH MOV AL, 33H OUT DX, AL MOV AL, 40H ;低八位 MOV DX,388H OUT DX,AL MOV AL,30H ;高八位 OUT DX,AL 注意:8253知道一开始输入的为低8位,接下来输入的为高八 位 例7.2 在8253中,读取计数器1的16位计数值,存入CX中,设地址同例7.1,请写出程序段。 例7.2 在8253中,读取计数器1的16位计数值,存入CX中,设地址同例7.1,请写出程序段。 MOV DX, 38BH MOV AL, 40H OUT DX, AL MOV DX, 389H IN AL, DX MOV CL, AL IN AL, DX MOV CH, AL 练习1:若用8253的计数器1,工作在方式0,按8 位二进制计数,初值为128,试编写初始化程序
您可能关注的文档
- 第三章 产核算.ppt
- 风险爱好型资者的风险与收益率的无差异曲线.ppt
- 中石油人工本的核算监控管理.ppt
- 预算管理与本控制(上).ppt
- 第三章 动成本法修改1.ppt
- 产品成本计的品种法.ppt
- 管理会计第版ch5.ppt
- 《基础会计》教学课件(第一章总论).ppt
- 2014年月份考试安装工程定额与预算第三次作业.doc
- 10-U82产品培训-存货核算1.ppt
- 54全国一体化政务服务平台移动端建设指南.docx
- 24个人信息出境标准合同办法 conv.docx
- 2025年济南市职工大学中国近现代史纲要期末考试模拟题必考题.docx
- 2025年江苏护理职业学院中国近现代史纲要期末考试模拟题及答案1套.docx
- 2025年重庆科技学院马克思主义基本原理概论期末考试模拟题必考题.docx
- 2025年黑龙江工商学院思想道德修养与法律基础期末考试模拟题新版.docx
- 2025年长春早期教育职业学院思想道德修养与法律基础期末考试模拟题附答案.docx
- 2025年西安石油大学中国近现代史纲要期末考试模拟题及答案1套.docx
- 2025年电子科技大学成都学院思想道德修养与法律基础期末考试模拟题及答案1套.docx
- 2025年河北大学思想道德修养与法律基础期末考试模拟题必考题.docx
原创力文档


文档评论(0)