- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西南科技大学微机原理9-53课件
第九章 定时/计数器8253;学 习 目 的;重 点;9.1 定时基本概念;硬件定时
采用定时/计数器或单稳延时电路产生定时或延时。
不占CPU时间,定时准确且时间长,不受主机频率的影响,使用灵活,通用性好。;例9.1:软件定时的例子
编写一个软件定时程序,要求定时20ms。
假设:8086的时钟=8MHz, 一个时钟周期T=1/8MHz=0.125us
延时20ms,执行PUSHF,POPF指令:
需要循环次数: N=20000/[(14+12+17)*0.125]
=37209
参考程序:
MOV CX,37209
L1: PUSHF ;时钟数:14T
POPF ;时钟数:12T
LOOP L1 ;时钟数:17T;误差:(15+12+19)*0.125=5.75us;主要程序片段
LP: CALL DELAY
MOV DL,30H
MOV AH,02H ;DOS调用,显示一个字符
INT 21H
INC DL
LOOP LP
MOV AH,4CH
INT 21H
DELAY PROC NEAR ;软件延时子程序
PUSH AX
MOV CX,0FFFFH
L: PUSHF
POPF
LOOP L
POP AX
RET
DELAY ENDP;9.2 可编程计数器/定时器8253PIT(Programmable Interval Timer);8253内部结构框图;1).数据总线缓冲器(8位)
往计数器设置计数初值;
从计数器读取计数值;
往控制寄存器设置控制字。
2).读/写逻辑电路
A1 A0:端口选择
0 0:通道0(0号计数器)
0 1:通道1(1号计数器)
1 0:通道2(2号计数器)
1 1:控制字寄存器;3).控制寄存器(8位)
接收CPU送来的控制字,用来选择计数器和工作
方式,只能写不能读。
4).计数器:
三个独立通道:计数器0, 计数器1, 计数器2
每个计数器包含:
计数初值寄存器(16位,65536个数,64KB)
减一寄存器(16位)
当前计数初值锁存器(16位);提问:; ;3.计数初值
计数初值n
=时钟频率fc/输出频率fout
=定时时间Tout/时钟脉冲周期Tc
4.编程命令
方式命令字
对8253初始化; 9.2.2 8253控制字格式;8253初始化方法:设置控制字;确定计数初值。
例9.2:使2号定时器,工作在方式3,计数初值=533H,
二进制计数.试写出8253初始化程序段。已知8253
的端口地址:40H,41H,42H,43H;读当前计数值:
例9.3: 要求读出并检查1号计数器的当前值是否全
为”1”。已知8253的端口地址:40H,41H,42H,43H; 9.2.3 8253的工作模式;1.方式0——计数结束产生中断
(一次定时或计数,若重写初值,启动新一轮的计数);例9.4:使1号定时器工作在方式0,计数初值 0FF5H,
二进制计数.试写出8253初始化程序段。已知8253
端口地址:40H,41H,42H,43H;高;3.方式2----分频器(具有计数初值自动重装能力);4.方式3--方波发生器(具有计数初值自动重装能力) ;例9.5: 使2号定时器,工作在方式3,计数初值
N=1000H, 二进制计数.试写出8253初始化
程序段. 8253端口地址:40H,41H,42H,43H;4.方式4----软件触发的选通信号发生器;5.方式5----硬件触发的选通信号发生器;提问:;置控制字和计数初值。
已知:CLK的频率fclk与定时的时间Tout
计数初值: N =定时时间Tout/时钟脉冲周期Tclk
=时钟频率fclk/输出频率fout
文档评论(0)