收藏 分享(赏)

数字量输入输出-定时计数器.ppt

上传人:dreamzhangning 文档编号:3231034 上传时间:2018-10-08 格式:PPT 页数:27 大小:431KB
下载 相关 举报
数字量输入输出-定时计数器.ppt_第1页
第1页 / 共27页
数字量输入输出-定时计数器.ppt_第2页
第2页 / 共27页
数字量输入输出-定时计数器.ppt_第3页
第3页 / 共27页
数字量输入输出-定时计数器.ppt_第4页
第4页 / 共27页
数字量输入输出-定时计数器.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、可编程定时器/计数器,教学重点8253的工作方式和编程8253的应用,计数器和定时器电路(Timers & Counters),背景:向CPU或外部设备提供实时时钟:定时或延时控制(定时中断、定时检测、定时扫描)Timer/对外部事件计数Counter。 定时/延时控制:软件定时;不可编程硬件定时;可编程硬件定时器。 软件定时:处理器执行若干条指令(循环)时间之和 不可编程的硬件定时/计数:如555定时器,74LS90十进制计数器、CD4040(12级分频)等。硬件定时/计数电路简单,但无法软件控制和改变,可编程的定时器电路(Programmable Interval Timer),以均匀分布

2、的时间间隔中断分时操作系统,以便切换程序(输出脉冲事件); 向IO设备输出精确的定时信号,信号的周期可由程序控制; 用来作为可编程波特率发生器(可变速率); 检测外部事件发生的频率或周期; 统计外部实验过程中某一事件发生的次数,并可将计数结果输入计算机(计数); 在定时或计数达到编程规定的值以后,向外部输出 信号(向CPU申请中断)。,典型芯片 i8253/8254,定时:标准频率CLK 计数:累加或递减(计算频率:周期内计数),可编程定时器计数器i8253,功能框图: (P311图5.32) 引脚功能: 端口地址: (P311表5.5) 控制字及初始化编程: (P312图5.33) 工作方式

3、及应用:,可编程定时器计数器i8253 (P311),(PITProgrammable Interval Timer),i8253TopView,8253/8254接口电路,8253/8254,定时/计数器内部框图,i8253芯片初始化/编程(P312),控制字或命令字=对其初始化。计数初值(双字节,如为单字节则自动补零),D7 D6 D5 D4 D3 D2 D1 D0,00-选计数器0 01-选计数器1 10-选计数器2 11-无意义,00-锁存计数器的数据 01-只读/写低8位字节 (设置高8位为0) 10-只读/写高8位字节 (设置低8位为0) 11-先读/写低8位字节再读/写高8位字节

4、,SC1 SC0,RW1 RW0,M2 M1 M0,000-方式0 001-方式1 *10-方式2 *11-方式3 100-方式4 101-方式5,读/写格式,选择计数器,工作方式选择,BCD,数制格式,0-计数值为2进制 1-计数值为BCD码,8253编程:六种工作模式,Mode0 软件触发计数输出,到0不自动重复 Mode4 软件触发选通信号发生器(负脉冲输出) Mode1 硬(GATE)触发单稳,不自动重复启动 Mode5 硬件触发选通信号发生器(负脉冲输出) Mode2、3 软硬触发分频/方波发生器,自动重装,OUT输出,Gate控制,CLK输入,控制字CW 计数初值,Counter,

5、8253工作模式0,控制字CW,(1)计数回零时,OUT才变为高电平并保持,直至写入新的控制字或初值。但计数器在到零后仍继续计数;GATE=1计数/=0暂停)。 (2)计数过程中可改变计数值:8位计数:写入新的计数值后,计数器按新值开始计数;16位计数,在写入第一个字节后,计数器停止计数,写入第二个字节后,按新的初值计数。,计数器0 低8位方式,计数结束时输出信号(可申请中断),继续 计数,8253工作模式0举例,减计数未完写入新的初值,Gate控制,8253工作模式1,可编程单脉冲(可重复触发的单稳态触发器)-硬件门控上升边沿启动,不自动重复。,8253工作模式1举例,8253工作模式2,频

6、率发生器(n分频器)-可软件设置, 软硬触发,负脉冲输出,GETE=0停止计数,为0-1重新置入初值计数,负脉冲输出,8253工作模式2举例,8253工作模式3,方波发生器 (软硬触发)n/2:类似于方式2,唯一不同的是,当计数到初值的一半时,输出变为低,至计数到零,输出又变高,并重新开始计数。自动重装,每个脉冲计数-2,到0自动重装,8253工作模式3举例,初值=奇数,(n+1) /2高电平 (n-1)/2低电平,Gate=0暂停,8253工作模式4,软件触发的选通信号发生器 当写入控制字后,输出为高。写入计数值后立即开始计数(相当于软件启动),当计数到零后,输出变低,经过一个时钟脉冲后,又

7、变为高电平(负脉冲),计数器停止计数。(只计数一次)。GATE=1时,允许计数;计数过程中改变计数初值,则按新计数值重新开始计数,8253工作模式4举例,重置初值,Gate控制,8253工作模式5,硬件触发的选通信号发生器 写入控制字后,输出为高。写入计数初值后并不立即开始计数,而是由GATE信号的脉冲上升沿触发启动。当计数到零后时,输出一个CLK脉冲宽度的负脉冲,输出变高,停止计数。直至下次GATE脉冲的触发才能计数。,8253工作模式5举例,Gate控制,重置初值,8253应用举例 (P317),PC/XT : CNT0 40H,方式3,日时钟定时(18.158HZ, IRQ0, CLK=

8、1.19MHZ, N0=0000初值) CNT1 41H,方式2,DRAM刷新(15s, N0=0018)CNT2 42H, 方式3, 扬声器发声(OUT2 与8255 PB1相与 后输出, N0=1331 , 约1KHZ)43H,控制字寄存器,8253编程,初始化编程。对8253初始化编程包括二个步骤,即写入控制字和写入计数值。不需要外部触发的方式=工作。例:初始化编程 T=0.840336us(/1.19M)MOV AL,36H ; 00110110B-CH0 方式3方波,BIN, L/H OUT 43H,AL ; WRT MOV AL,0 OUT 40H,AL ;-L-CNT OUT 4

9、0H,AL ;-H-CNT MOV AL,54H ; 01010100BCH1,M2,BIN,Only Low8bit OUT 43H,AL MOV AL,18 ;XT:18-15.1us OUT 41H,AL,8253编程,MOV AL,0B6H ;10110110BCH2,M3,BIN,L/H OUT 43H,AL MOV AX,1331 ;大约1KHz, OUT 42H,AL MOV AL,AH OUT 42H,AL ,扩大计数/定时范围: (1)8253通道级联 (2)软件计数(定时中断,软件累加或递减),i8253芯片初始化/编程(P312),控制字或命令字=对其初始化。计数初值(双字节,如为单字节则自动补零),D7 D6 D5 D4 D3 D2 D1 D0,00-选计数器0 01-选计数器1 10-选计数器2 11-无意义,00-锁存计数器的数据 01-只读/写低8位字节 (设置高8位为0) 10-只读/写高8位字节 (设置低8位为0) 11-先读/写低8位字节再读/写高8位字节,SC1 SC0,RW1 RW0,M2 M1 M0,000-方式0 001-方式1 *10-方式2 *11-方式3 100-方式4 101-方式5,读/写格式,选择计数器,工作方式选择,BCD,数制格式,0-计数值为2进制 1-计数值为BCD码,作业:题5-12题5-14,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报