第8章微机原理剖析.

上传人:今*** 文档编号:107762555 上传时间:2019-10-20 格式:PPT 页数:56 大小:522KB
返回 下载 相关 举报
第8章微机原理剖析._第1页
第1页 / 共56页
第8章微机原理剖析._第2页
第2页 / 共56页
第8章微机原理剖析._第3页
第3页 / 共56页
第8章微机原理剖析._第4页
第4页 / 共56页
第8章微机原理剖析._第5页
第5页 / 共56页
点击查看更多>>
资源描述

《第8章微机原理剖析.》由会员分享,可在线阅读,更多相关《第8章微机原理剖析.(56页珍藏版)》请在金锄头文库上搜索。

1、第8章 定时/计数器8253,8.1 定时基本概念 8.2 可编程计数器/定时器8253 8.2.1 外部特性与内部编程结构 8.2.2 8253控制字格式 8.2.3 8253的工作模式 8.3 8253应用举例 8.3.1 计数器/定时器 8253的初始化 8.3.2 时钟程序 本章小结 本章习题,学 习 目 的,通过对本章的学习,您应该能够达到下列要求: 了解定时基本概念 熟悉可编程计数器/定时器8253的外部特性 熟悉可编程计数器/定时器8253工作模式 熟悉可编程计数器/定时器8253初始化,重 点,8253的外部特性 8253工作模式 8253初始化,8.1 定时基本概念,一. 定

2、时与计数 二. 微机中的定时方法 软件定时延迟子程序 硬件定时用计数器/定时器8253,8.1: 定时基本概念,例8.1:软件定时的例子: 编写一个软件定时程序,要求定时20ms. 假设:8086的时钟=8MHz, 一个时钟周期T=1/8MHz=0.125us 延时20ms,执行PUSHF,POPF指令: 需要循环次数: N=20000/(12+14+17)*0.125 =37209 参考程序: MOV CX,37209 PUSHF ;时钟数:14T POPF ;时钟数:12T LOOP ;时钟数:17/5T,8.1:软件定时的例子,误差修正:(15+12+19)*0.125=5.75ms,写

3、成子程序: DELAY: PUSH CX MOV CX, 37209 L: PUSHF POPF LOOP L POP CX RET,PUSH CX ;15T POP CX ;12T RET ;时钟数:19T,8.1:软件定时的例子,主要程序片段 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 DO: POP AX RET

4、DELAY ENDP,8.1:软件定时的例子,8.2 可编程计数器/定时器8253/8254 PIT(Programmable Interval Timer),8253:最高计数速率:2.6Mhz 8254:最高计数速率:8.0Mhz 8253与8254引脚相同,用法相同,8.2:可编程计数器/定时器8253,8.2.1 8253外部特性与内部编程结构,计数器/定时器8253特点 三个独立16位计数器 6种工作方式 二进制计数与BCD码计数 单一5V供电 最高计数速率2.6Mhz(8253),8Mhz(8254) 片内寻址 A1 A0= 00、01、10、11 对应:通道0、1、2和控制口地址

5、,一.外部特性 1、8253、8254引脚,8.2: 8253外部特性,与CPU相连的信号: 数据线D7D0,读RD,写WR, 片选CS,地址线A0,A1,8.2: 8253外部特性,1).数据总线缓冲器 往计数器设置计数初值; 从计数器读取计数值; 往控制寄存器设置控制字。 2).读/写逻辑电路 A1 A0:端口选择 0 0:通道0(0号计数器) 0 1:通道1(1号计数器) 1 0:通道2(2号计数器) 1 1:控制字寄存器,8.2: 8253外部特性,3).控制命令寄存器(8位) 4).定时器/计数器: 三个16位独立通道:计数器0, 计数器1, 计数器2 每个通道包含: 计数初值寄存器

6、(16位) 减一寄存器(16位) 当前计数初值锁存器(16位),8.2: 8253外部特性,二、编程结构:1、8253定时器原理,控制寄存器存放控制字,计数初值寄存器存放计数初值或定时常数,减一计数器,输出锁存器,8.2: 8253编程结构,读写控制,地址控制,片选控制,控制寄存器,三个独立通道,脉冲输入,门控信号,输出,2、8253编程结构,8.2: 8253编程结构,提问:,8253有几个定时通道? 8253每个计数通道与外设接口有哪些信号线,每个信号的用途是什么? 定时 /计数器芯片Intel 8253占用几个端口地址?各个端口分别对应什么?,8.2:提问,3.计数器/定时器的工作特点

7、1)门脉冲控制时钟输入; 2)用门脉冲来重新启动计数; 3)用门脉冲停止计数; 4)单一计数; 5)循环计数.,8.2:工作特点,4.计数初值 计数初值n =时钟频率fc/输出频率fout =定时时间Tout/时钟脉冲周期Tc 5.编程命令 方式命令字 对8253初始化 方式命令字的格式,8.2:8253编程命令,8.2.2 8253控制字格式,8.2: 8253控制字格式,SC1 SC0 RW1 RW0 M2 M1 M0 BCD,1-计数值为BCD码格式 0-计数值为二进制格式,M2 M1 M0 模式选择 0 0 0 模式0 0 0 1 模式1 / 1 0 模式2 / 1 1 模式3 1 0

8、 0 模式4 1 0 1 模式5,0 0-对计数器进行锁存 0 1-只读/写低8位字节 1 0-只读/写高8位字节 1 1-先读/写低8位字节, 再读/写高8位字节.,0 0-选计数器0 0 1-选计数器1 1 0-选计数器2 1 1-无意义,8253初始化方法:设置控制字;确定计数初值。 例8.2:使2号定时器,工作在方式3,计数初值=533h,二进制计数.试写出8253初始化程序段. 8253端口地址:40H,41H,42H,43H MOV AL,10110110B ;2号定时器,方式3 OUT 43H,AL MOV AX,0533H OUT 42H,AL ;2号数据口 MOV AL,AH

9、 OUT 42H,AL,8.2: 8253控制字格式,9.2.3 8253的工作模式,方式0计数结束产生中断 一次定时或计数,重写初值,启动新一轮的计数 方式1可编程的单脉冲(单稳)触发器 GATE边沿触发,启动新一轮计数 方式2分频器(速度波发生器) 具有计数初值重装能力 方式3方波发生器 具有计数初值重装能力 方式4软件触发的选通信号发生器 一次定时,重写初值,启动新一轮的计数 方式5硬件触发的选通信号发生器 GATE边沿触发新一轮计数,8.2: 8253工作模式,方式0计数结束产生中断 (一次定时或计数,重写初值,启动新一轮的计数),8.2: 8253工作模式0,例8.3:使1号定时器,

10、工作在方式0,计数初值=0FF5h,二进制计数.试写出8253初始化程序段. 8253端口地址:340H,341H,342H,343H MOV DX,343H MOV AL,01110000B ;1号定时器,方式0 OUT DX,AL MOV DX,341H MOV AX,0FF5H OUT DX,AL ; 1号数据口 MOV AL,AH OUT DX,AL,8.2: 8253工作模式0,高,方式1_单脉冲触发器(GATE边沿触发,启动新一轮计数),8.2: 8253工作模式1,方式2-分频器(具有计数初值重装能力),8.2: 8253工作模式2,方式3-方波发生器(具有计数初值重装能力),8

11、.2: 8253工作模式3,例8.4:使0号定时器,工作在方式3,计数初值N=1000,二进制计数,试写出8253初始化程序段. 8253端口地址:40H,41H,42H,43H MOV AL,10110110B ;2号定时器,方式3 OUT 43H,AL MOV AX,1000 OUT 40H,AL ; 0号数据口 MOV AL,AH OUT 40H,AL,8.2: 8253工作模式3,方式4-软件触发的选通信号发生器,8.2: 8253工作模式4,方式5-硬件触发的选通信号发生器,8.2: 8253工作模式5,例8.5:读当前计数值:由于在计数过程中,减1计数器不断变化,当前计数值必须先锁

12、存到输出锁存器中,方可读出。要锁存,必须再次设置控制字。 MOV AL,10000110B ;2号定时器,锁存命令 OUT 43H,AL IN AL,42H ;先读低字节 MOV BL,AL ;存低字节到BL IN AL,42H ;后读高字节 MOV BH,AL ; 存高字节到BH,8.2:读当前计数值,提问:,8253有几种工作方式? 什么是软件触发?什么是硬件触发? 可重装初值的工作方式是哪些?,8.2: 8253工作模式,8.3 8253应用举例,【例8.8】 设某应用系统中,系统提供一个频率为10kHz的时钟信号,要求每隔100ms采集一次数据。在系统中,采用8253定时器0来实现这一

13、要求。将8253芯片的CLK0接到系统的10kHz时钟上,OUT0输出接到CPU的中断请求线上,8253的端口地址为210H213H,如图8.14所示。,(1)定时器工作在方式2 (2)确定计数初值 已知=10kHz,则=0.1ms,计数初值: n=/=100ms/0.1ms=1000=03E8H,MOV DX,213H MOV AL,34H;计数器0,16位计数,方式2,二进制计数 OUT DX,AL;写入方式控制字到控制字寄存器 MOV DX ,210H MOV AL,0E8H ;计数初值低8位 OUT DX,AL;写入计数初值低8位到计数器0 MOV AL,03H ;计数初值高8位 OU

14、T DX,AL;写入计数初值高8位到计数器0,【例8.10】 已知某8253占用I/O空间地址为40H43H,设定时器0、定时器1工作于方式3,外部提供一个时钟,频率f=2MHZ。要求定时器1连续产生5ms的定时信号,定时器0连续产生5秒的定时信号。 1). 一个定时器的最大定时时间: 65536/(2*106)=0.032768 s=32.768ms 因此一个定时器不能完成5s定时! 解决办法:将定时器0与定时器1串连使用,定时器1 方式3。,8.3: 8253应用举例,8.3: 8253应用举例,每5ms产生一个脉冲,2). 将定时器1的CLK1接2MHZ时钟,计数初值:,3).将定时器1

15、的OUT1端接到定时器0的CLK0端,定时器0的计数初值:,8253初始化程序: MOV AL,00110110B ;0号定时器,方式3 OUT 43H,AL MOV AX,1000 OUT 40H,AL MOV AL,AH OUT 40H,AL MOV AL,01110110B ;1号定时器,方式3 OUT 43H,AL MOV AX,10000 OUT 41H,AL MOV AL,AH OUT 41H,AL,8.3: 8253应用举例,8.3.2 8253在微机系统中的应用,【例8.11】 利用PC机的硬件定时8253编制稳定延时5秒的定时程序。 (1)分析 系统中的8253定时器0工作于方式3,外部提供一个时钟作为CLK信号,频率f=1.1

展开阅读全文
相关资源
相关搜索

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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号