微机原理,第九章(2)8253定时器—计数器应用设计
第九章可编程计数器定时器8253及其应用(精)
一、计数/定时的工作原理
CLK是计数输入信号,计数器对CLK端出现的脉冲个数 进行计数 •CLK端可以输入外部事件 •CLK端可以接入固定频率的时钟信号,从而实现 计时 OUT信号在计数结束时发生变化 •可将OUT作为外部设备的控制信号 •可将OUT作为向CPU申请中断的信号
CPU可以从计数输出寄存器读出当前计数值。 读前,应向控制寄存器发送锁存命令
边界
写入初值
三、8253的编程命令
•初始化
1)写入控制字 2)按控制字要求写入计数初值
计数器初值计算:N=fCLK/fOUT
例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制 寄存器端口地址73H。计数器0,工作模式2,CR/OL仅使用低8 位,初值为100,计数值使用二进制 MOV AL, 14H OUT 73H, AL MOV AL, 64H OUT 70H, AL
例如输入脉冲频率为2MHz,那么计数2106
计时1秒
因此,使用同一个芯片,既能计数,又能计时——计时器/计数器
一、计数/定时的工作原理
组成:
控制寄存器——决定工作模式 状态寄存器——反应工作状态 初值寄存器——计数的初值 计数输出寄存器——CPU从中 读当前计数值 计数器——执行计数操作, CPU不能访问
定时和计数器
对不同信号的计数 定时器
对时钟信号进行计数 周期性 对外部脉冲进行计数 周期性、非周期性
计数器
8253计数/定时器
可编程(工作方式/计数值) 三个独立的计数器通道 对初值进行减一计数 二进制/BCD计数初值 计数对象的最高频率为2MHz
微机第9章8253
0 0----选计数器0
0 1----选计数器1 1 0----选计数器2 1 1----无意义
写入控制口,地址A1A0=11
2、计数初值的写入
若规定只写低8位,则写入的为计数值的低8位, 高8位自动置0; 若规定只写高8位,则写入的为计数值的高8位, 低8位自动置0; 若是16位计数值,则分两次写入,先写低8位, 再写入高8位。
计数值写入计数器各自的 计数通道(端口地址)
注: ① 写入控制字后,所有控制逻辑电路复位, 输出端OUT进入初始状态。 ② CPU向8253写入的计数初值,要在CLK端输入一个 正脉冲后才能被真正装入指定通道(若在此CLK下降 沿之前读计数器,则其值是不定的)。 之后再次输入时钟脉冲(CLK)才开始计数,且每次 在脉冲的下降沿减1计数。 即:写入计数初值后,经过一个CLK,8253才开始计 数。
④ 当GATE变为低电平时计数 停止,再变为高电平时计数继 续进行。 ⑤若计数过程中重新送入初值, 则按新值重新计数。
(2)方式1——可重复触发单稳触发器
WR CLK GATE OUT 3 2 1 0 FFFE 3 2 方式1时序图 CW N=3
③计数过程中,再次给通道写入时间 ①写入CW后OUT变为高电平, GATE 常数,不影响现行操作过程,GATE再 上升沿触发后,OUT变为低并开始计数, 次触发后才按新的时间常数操作。 归零时OUT变为高电平。 ④计数过程中,GATE触发沿提前到来, ②GATE再来一次上升沿使OUT为低, 在下一个CLK的下降沿,计数器开始重 新计数,这将使输出单稳脉冲比原先 计数器以初值重新计数。 设定的计数值加宽。 可重复触发——当计数归零后,不用再次送计数值,只要给它触发脉冲,即 可产生一个同样宽度的单稳脉冲输出。
《微机原理与接口技术》第九章8253
二、8253的内部结构
数据总线 缓冲器 读/写控 制电路 计数通道
通道控制 寄存器
三、 8253的管脚分配
控制线
数据线 通道选择
通道管脚
四、 8253的编程
8253只有一个控制字,8253的一个方式 控制字只决定一个计数通道的工作模式。 8253 的控制字格式如图所示。共分为 4 部 分,通道选择、计数器读 / 写方式、工作 方式和计数码的选择。
第9章 可编程接口芯片
可编程接口概术 可编程定时/计数器接口芯片8253
可编程接口概术
一个简单的具有输入功能和输出功能的 可编程接口电路如下图,它包括一个输入接口, 其组成主要是八位的三态门;一个输出接口, 其组成主要是八位的锁存器;另外还有八位的 多路转换开关及控制这个开关的寄存器FF。
9. 1 可编程定时/计数器接口芯片8253 一、功能
定时和脉冲信号的处理与接口是完全有别于 并行信号的,其特点是信号形式简单但需要连 续检测,下面介绍的INTEL8253可编程定时/ 计数器就是可以实现所要求这方面功能。8253 内部有3个独立的16位定时/计数器通道。计 数器可按照二进制或十进制计数,计数和定时 范围可在1—65535之间改变,每个通道有6种 工作方式,计数频率可高达2MHz以上。
4、方式3——方波发生器 方式2虽然可以作分频电路,但其输出 是窄脉冲,如果是方波,就只有选方式3
5、方式4——软件触发方式 方式4在工作过程中有以下特点:
a、 门控信号GATE为高电平,计数器开始减 1计数,OUT维持高电平; b、 当计数器减到0,输出端OUT变低,再经 过一个 CLK 输入时钟周期, OUT 输出又变 高。
解:1、电路。 需要两个通道,一个作为计数,选用通道0。另一 个产生1KHz信号,选用通道1。工作原理如下,传感 器电路把物理事件转换为脉冲信号输入到通道0计数, 当记录10000个事件后,通道0计数器溢出,GATE端输 出高电平,这时通道1开始工作,产生1KHz信号推动喇 叭发音。
8253可编程定时计数器应用实验
8253可编程定时计数器应用实验一、实验要求:按照电路图连接好电路,利用8253定时计数器0产生500Hz,250Hz,125Hz 的方波信号,显示在示波器上;然后用8253定时计数器1制作一个频率计以检测4060和定时计数器0输出方波的频率。
二、实验目的:1、了解如何利用计数器(以4060为例)制作分频器2、熟悉8253在系统中的典型接法。
3、掌握8253的工作方式及应用编程。
三、实验电路及连线:输入时钟产生模块YQNQLQJQIQHQGQFQEQD图1,分频器4060就是一个纯粹的计数器,当作分频用,QD-DN就是对输入频率的4分频-8192分频,直接接到8253相应的定时器计数器时钟输入端口即可8253接口模块X图2,定时器计数器8位数据线和单片机的P0口相连;片选信号CS和P1.0相连;WR/RD分别和单片机相应的WR/RD相连;A0,A1分别和单片机的P3.4、P3.5相连;CLK0直接和4060的QD时钟输出相连;OUT0接示波器和CLK1。
四、实验说明:8253是一款拥有3个完全相同的16位定时器计数器的定时器计数器芯片,三个通道完全独立,其引脚功能为D0-D7:8位数据双向I/O口WR/RD:写/读信号,低电平有效CS:片选信号,低电平有效GATE0-2:三个定时器计数器的门信号CLK0-2:三个定时器计数器的时钟输入信号OUT0-2:三个定时器计数器的输出信号A0,A1:定时器计数器读写地址选择,00 定时器计数器0;01定时器计数器1;10 定时器计数器2;11 控制寄存器定时器计数器采用倒计数,即每输入一个时钟脉冲自减1,当计数寄存器减为0时OUT输出一个脉冲信号,但输出受工作方式和GATE引脚控制。
定时时间=时钟脉冲周期×预置的计数初值8253的定时器计数器有6种工作模式,具体工作模式由状态寄存器决定,如下SC1,SC0:计数器选择 00:选择计数器001:选择计数器110:选择计数器2RW1,RW0:读/写指示 00:计数器锁存命令01:只读/写低 8位10:只读/写高 8位11:先读/写低8位,再读/写高 8位M2,M1,M0:定时器计数器工作方式选择:000-101,方式0-5BCD:计数寄存器数制选择,1:BCD码;0:二进制码8253每个定时器计数器都有6种工作方式,具体如下所述方式0:计数结果中断方式8253工作于方式0时,在写入初始值n后,GATE为高电平时开始计数,OUT 为输出低电平,直到计数器为0,OUT变为高电平直到下次计数开始再变为低电平。
微机原理与接口技术——第9章(8253)
8253工作方式 工作方式2—频率发生器 工作方式 频率发生器
8253工作方式 工作方式2—频率发生器 工作方式 频率发生器
8253工作方式 方波发生器 工作方式3-工作方式
• 方式3在计数过程中的输出(OUT)有一半时间为高电 平,另一半时间为低电平。所以,方式3的输出OUT为 一个方波 。 • CPU设置方式3后,输出保持为高电平,若GATE=1, 写入计数值后,输出仍为高电平,并自动开始计数。当 计数到一半计数值时,输出变为低,直到计数为0,输 出又变高,并重新装入初始值,开始计数 。 • 当计数值为偶数时,前一半输出为高电平,后一半输出 为低电平。如果计数值为奇数,前一半输出为高电平的 持续时间多一个时钟脉冲,随后输出为低电平的持续时 间(比高电平少一个时钟脉冲的持续时间)。
8253工作方式 工作方式4--软件触发 工作方式
• 方式4:软件触发选通信号发生 (一次性) • 与方式0不同是输出OUT的相位相反。门控信 号GATE变低不影响输出,但停止计数过程。 • 置方式4后,输出OUT变高,写入计数值后, 输出仍保持高。从下一时钟装入计数值,开始 计数,到计数值为0时,OUT变低,并持续一 个时钟周期,再变高,并停止计数。 • 若GATE=0,写入计数值后,不开始计数工作, 直到GATE=1,开始计数。 • 若计数未完成,重新写入计数值,将从新值重 新开始。
实现定时功能的主要方法
1. 2. 3. 4. CPU软件延时; 简单的硬件电路定时; 可编程芯片的硬件定时; 专用时钟芯片。
软件定时器
• 设计循环程序,通过精心计算循环次数,和循 环中每条指令的执行时间。执行一次这个程序 段,就产生一个延时时间。 • 优点是不需硬件,缺点是占用CPU时间,并且 不容易实现精确定时。 • 在不同的系统时钟频率下,同一个软件延时程 序的定时时间也会相去甚远,因此这种方法常 用在对延时时间小,并且不需精确定时的场合, 如等待模数变换等。
微机原理与接口技术9章8253
定时器/计数器
• 主要内容
– 定时与计数 – 可编程定时器/计数器接口芯片8253
定时与计数
• 定时技术在微机系统中必不可少
– 微机的工作在标准时钟控制下完成 – 为外设提供实时时钟 – 向外设定时发出控制信号
• 定时中断、定时检测、定时扫描、定时显示……
– 对外部事件进行计数
定时与计数
• 定时与计数
可编程定时/计数芯片8253
• 8253的工作方式
– 方式4——软件触发的选通信号发生器
• 波形图
可编程定时/计数芯片8253
• 8253的工作方式
– 方式4——软件触发的选通信号发生器
• 工作特点
– 计数由软件启动,每次写入计数初值只启动一次 计数 – 当计数值为N时,则间隔N+1个CLK脉冲输出一 个负脉冲(计数一次有效) – 在计数过程中,可由GATE信号控制暂停。当 GATE=0时,暂停计数;当GATE=1时,继续计 数 – 在计数过程中写入新的计数初值,则按新的初值 重新开始计数
可编程定时/计数芯片8253
• 8253的工作方式
– 方式5——硬件触发的选通信号发生器
• 波形图
可编程定时/计数芯片8253
• 8253的工作方式
– 方式5——硬件触发的选通信号发生器
• 工作特点
– 计数由GATE上升沿启动,只要GATE端给触 发脉冲,则会装入计数值,并开始计数 – 在这种方式下,若设置的计数值是N,则在 GATE脉冲后,经过(N+1)个CLK,OUT端 才输出一个负脉冲 – 在计数过程中修改计数初值,不会影响本次计 数,只有GATE端再次触发时,才按新的计数 值计数
微机原理与接口技术
第九章 8253
微机原理第9章计数器和定时器电路精品PPT课件
9.1 概述 9.2 8253-PIT的控制字 9.3 8253-PIT的工作方式 9.4 8253-PIT的编程 9.5 Intel 8254-PIT
9.1 概 述
8253-PIT的主要功能有: (1)有3个独立的16位计数器。 (2)每个计数器都可以按照二进制或BCD码进行 计数。 ( 3 ) 每 个 计 数 器 的 计 数 速 率 可 高 达 2MHz (8254-2计数频率可达到10MHz)。 (4)每个计数器有6种工作方式,可由程序设置 和改变。 (5)所有的输入输出引脚电平都与TTL电平兼容。 8253的内部结构如图所示。
2 速率发生器 每N个CLK脉冲,输出一个宽度为 CLK周期的负脉冲
3 方波速率发生 写入N后,输出各约N/2个CLK的
器
高、低电平
4 软件触发选通 写入N后,过N+1个CLK,输出宽 度为1个CLK的负脉冲
5 硬件触发选通 门控触发后,过N+1个CLK,输出 宽度为1个CLK的负脉冲
3. 门控信号的作用
方式1波形
方式1时GATE信号的作用
方式1在计数过程中改变计数值
• 方式2—速率发生器
在这种方式下,当CPU输出控制字后,输出将为 高。在写入计数值后,计数器将立即自动对输入时钟 CLK计数。在计数过程中输出始终保持为高,直至计 数器减到1时,输出将变低,经过一个CLK周期,输出 恢复为高,且计数器开始重新计数。每输入n个CLK脉 冲,会输出一个脉冲(宽度为一个CLK)
方式5在计数过程中改变计数值
9.3.2 8253工作方式小节
1. 输出OUT信号的初始状态
方式 0 1~5
输出OUT信号的初始状态 写入控制字后输出为低电平 写入控制字后输出为高电平
微机原理第09章 8253-2(完)
方式3 方波发生器
方式3
WR CLK 4
GATE
4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 4 3 2波频率
方式4 软件触发选通信号
方式4 WR CLK GATE 4
4 3 2 1 0
OUT
方式5 硬件触发选通信号
方式5 WR 4
CLK GATE
3
2
1
0
④ 计 数 ⑥初 ⑤② ③ 值① 计送 计写 硬 数减 写 数入 入 件 结 1计 过 控 启 束计 程数 制 动 初 数 字 值 寄 存 器
方式2 频率发生器(分频器)
方式2 4
WR CLK
GATE 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0
OUT
计数初值=时钟脉冲频率/负脉冲发生频率
向控制字端口地址:写入锁存命令 从计数器端口地址:读取锁存的当前计数值
读取计数值,要注意读写格式和计数数制
例1:要求计数器0工作于方式3,输出方波的频率为 2KHz,计数脉冲的频率为2.5MHz,采用二进制计数,试 写出初始化程序段。
1. 8253的端口地址为:80H,81H,82H,83H。 2. 计数初值计算:TC = 2.5MHz/2KHz=1250 3. 8253的方式控制字为: 00 11 011 0 4. 初始化程序段: MOV OUT MOV OUT MOV OUT AL,00110110B 83H,AL AX, 1250 80H,AL AL, AH 80H,AL
D3 D2
D1
D0
计数器
00: 计数器0 01: 计数器1 10: 计数器2 11: 无意义
读写格式
00: 锁存计数值 01: 只读写低8位 10: 只读写高8位 11: 先读写低8位 后读写高8位
微机原理和接口技术可编程定时器计数器8253
实验2:可编程定时器/计数器(8253)一、实验目的:掌握8253的基本工作原理和编程方法二、实验内容:1.按图虚线连接电路,将计数器 0 设置为方式 0,计数器初值为 N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察 OUT0 电平变化(当输入 N+1 个脉冲后 OUT0 变高电平)。
2、按下图连接电路,将计数器0、计数器1设置为方式3,计数初值为1000,用逻辑笔观察OUT1输出电平的变化(1Hz)。
三.实验流程图如下:四.实验程序(1)DATA SEGMENTIOPORT EQU 0C400H-0280HIO8253a EQU IOPORT+283HIO8253b EQU IOPORT+280HDATA ENDSSTACK1 SEGMENT PARA STACKDW 100H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV AL,10H ;写计数器0控制字MOV DX,IO8253aOUT DX,ALMOV DX,IO8253bMOV AL,05H ;设计数器初值为5OUT DX,ALLOP: IN AL,DX ;读计数器值CALL DISP ;调用子程序PUSH DXMOV AH,06H ;判断是否有键按下MOV DL,0FFHINT 21HPOP DXJZ LOPMOV AH,4CH ;返回操作系统INT 21HDISP PORC NEARPUSH DXAND AL,0FH ;将十六进制数转化为十进制的ASCII码,小于9就 MOV DL,AL 加30H,大于9就加37HCMP DL,9JLE XCADD DL,7XC: ADD DL,30HMOV AH,02HINT 21HMOV DL,0DHINT 21HPOP DXRETDISP ENDPCODE ENDSEND START(2)DATA SEGMENTIOPORT EQU 0C400H-0280HIO8253 EQU IOPORT+283HIO8253a EQU IOPORT+280HIO8253b EQU IOPORT+281HDATA ENDSSTACK1 SEGMENT PARA STACKDW 100H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV AL,36H ;写计数器0的控制字MOV DX,IO8253OUT DX,ALMOV DX,IO8253a ;写计数初值MOV AX,1000HOUT DX,ALMOV AL,AHOUT DX,ALMOV AL,76H ;写计数器1的控制字MOV DX,IO8253OUT DX,ALMOV AX,1000H ;写计数初值MOV DX,IO8253bMOV DX,ALMOV AL,AHOUT DX,ALMOV AH,4CHINT 21HCODE ENDSEND START五.实验感想8253具有3个独立的16位计数器,6种不同的工作方式。
实验四定时器计数器8253应用实验报告
南昌理工学院实验报告二O一二年月日课程名称:微机原理与接口技术实验名称:定时、计数器8253A应用班级:姓名:同组人:指导教师评定:签名:【一、实验名称】定时、计数器8253A应用【二、实验目的】学习8253A可编程定时、计数器与8088CPU的接口方法;了解8253A的工作方式;掌握8253A在各种方式下的编程方法。
【三、实验内容和原理】1、实验原理8253A的A0、A1接系统地址总线A0、A1,故8253A有四个端口地址。
8253A的片选地址为40H~4FH。
因此,本实验仪中的8253A四个端口地址为40H、41H、42H、43H,分别对应通道0、通道1、通道2和控制字。
采用8253A通道0,工作在方式3,输入时钟CLK0为1MHZ的方波,并要求用接在GATE0引脚上的导线是接地或甩空来观察GATE对计数器的控制作用,用示波器观察输出波形。
2、实验线路连接(1)8253A的GATE0接+5V。
(2)8253A的CLK0插孔接分频器74LS393的T4插孔,分频器的频率源为4MHZ。
【四、实验条件】微型计算机一台,工具箱,示波器【五、实验过程】运行实验程序:单机时,实验程序起始地址为F000:9180。
在系统显示监控提示符“P."时:输入F000按F1键输入9180按EXEC键。
将CLK0接T6,OUTO插孔连接一个发光的二极管。
附:实验参考程序:ORG 08C0H ;?L8253: MOV DPTR,#0C003HMOV A,#36HMOVX @DPTR,AMOV DPTR,#0C000HMOV A,#00HMOVX @DPTR,AMOV A,#10HMOVX @DPTR,ASJMP $END【六、实验结果】当CLK0接T6时,发现发光的二极管的亮度是在改变的。
当CLK0接T7时,发现发光的二极管的亮度的变化没有CLK0接T6时快。
当CLK0接T4时,肉眼无法发现发光的二极管灯的亮度有改变。
微机原理与接口技术_09定时计数器8253应用设计
第9章 定时/计数器8253应用设计 1. 8253的引脚功能及特点 2. 8253的原理结构及工作原理 3. 8253的控制字及工作方式 4. 8253与系统总线的接口方法 5. 8253的应用设计
9.1 8253的引脚功能及特点
图9.1 8253引脚图
Intel公司生产的可编程定时/计数器 8253 采用 24脚的DIP封装,用作分频器、定时信号产生器等。
lll 定时/计数器8253一共有三个独立的计数通道 (也称计数器):计数器0、计数器1、计数器2。
每个计数通道的内部结构如下图所示,在 每个计数通道中主要包含四个部件:计数寄存 器 CR(Count Register,16 位 ) 、 计 数 工 作 单 元 CE(Counting Element,16 位 ) 、 输 出 锁 存 器 OL(Output Latch, 16 位 ) 、 控 制 字 寄 存 器 (Control Word Register,8位)。 每个计数通道有 三个输入输出信 号:时钟(计数 脉冲)CLKx(输 入)、控制信号 GATEx(输入)、 输出信号OUTx (输出)。
方式1具有下列一些特点: 在臵控制字或时常数后, OUT 端仍输出高电平 ; 在 GATE 端输入有效的触发信号(上升沿),并 经过一个CLK脉冲,OUT变为低电平,作为单脉冲 的开始,同时将CR读入CE,并开始“减1”计数; 当 CE计数到 0时, OUT端变为高电平,表示本次 单脉冲形成结束; 当计数通道的时常数为 N 时,硬件触发所产生 的单脉冲(低电平)的宽度为 N 个计数时钟周期 ;
方式控制字的M1M2M3位(M2M1M0)用于设定计数 通道的工作方式: M2M1M0 0 0 0 0 0 1 ×1 0 ×1 1 1 0 0 1 0 1 含 义 方式0 方式1 方式2 方式3 方式4 方式5
实验6:8253定时器∕计数器应用
8253定时器/计数器应用一、实验目的1.掌握8253定时/计数器的工作原理、工作方式及应用编程。
2.掌握8253的典型应用电路的接法。
二、实验设备PC 机一台,TD-PITE 实验教学系统一台。
三、实验原理实验系统中安装的为8254(8253的改进型)共有三个独立的定时/计数器,其中0号和1号定时/计数器开放供实验使用,2号定时/计数器为串行通信单元提供收发时钟信号。
定时/计数器0的GATE 信号连接好了上拉电阻,若不对GA TE 信号进行控制,可以在实验中不连接此信号。
四、实验内容计数应用实验:使用单次脉冲模拟计数,使每当按动“KK1+”5次后,产生一次计数中断,并在显示器上显示一个字符“M”。
初始化设置:8254的计数器0、计数器1、计数器2、控制口地址分别为06C0H 、06C2H 、06C4H 、06C6H ;选择计数器0,仅用低8位计数,方式0,二进制计数;8259的地址为20H 、21H ,边沿触发,IR7对应的中断类型码为0FH ,一般全嵌套方式,非缓冲方式,非自动结束。
五、实验步骤(实验报告中要详细写出你自己的实验步骤)计数应用实验步骤:(1)按图1连接实验线路。
(2)编写实验程序,对实验程序进行编译、链接无误后,加载到实验系统。
(3)执行程序。
并按动单次脉冲输入KK1+,观察程序执行结果。
(4)改变程序中的定时/计数值,验证8253的定时/计数功能。
思考题1.执行实验步骤(3)时,程序的执行结果和按动KK1+的速度有关吗?2.如果将图1中OUT0连接到系统总线的MIR6引脚,如何修改程序,使其仍能正常 4.7K图1 8253计数应用实验VCC · · XA1 XA2 系统 XD0· 总 ·XD7 线IOW# IOR# IOY3 MIR7 A0 A1 GATE0 D0 8254 · 单元 · D7 CLK0 WR RD CS OUT0 KK1+单次 脉冲单元计数?3.如果将图1中OUT0连接到系统总线的SIR1引脚,如何修改程序,使其仍能正常计数?提示:主片8259的地址为20H、21H,从片8259的地址为A0H、A1H,从片的INT 连接到主片的IR2引脚上,构成两片8259的级联。
微机原理与接口技术第九章8253
功 能 向CNT 0写入计数初值 读取CNT 0的当前计数值 向CNT 1写入计数初值
0
0 0 0 0
1
0 1 0 1
0
1 0 1 0
0 1
1 0 1 0 1 1 1 1
读取CNT 1的当前计数值
向CNT 2写入计数初值 读取CNT 2的当前计数值 写入控制字
0
1
1
×
1
×
× ×
× ×
数据引脚D7 ~ D0呈高阻
N为奇数,CR内容先减1,再装入CE中, 其他同前(近似方波)
35
(6)工作方式3—方波发生器
CW=16h WR LSB=4
CLK GATE
OUT CE
N
N
N
4
2
4
2
4
2
4
2
4
2
36
(6)工作方式3—方波发生器
CW=16 WR LSB=5
CLK
GATE OUT CE
N
N
N
5
4
2
4
2
5
4
2
4
2
37
65536×55ms = 3600s
计数器1
18÷1.19MHz = 15.08μs
计数器2
1.19MHz÷1331 = 896Hz,驱动后送给扬声器
47
8253端口地址为40H ~ 43H
MOV OUT MOV OUT OUT MOV OUT MOV OUT AL,00110110B ;计数器0初始化 43H,AL ;双字节读写,方式3,二进制 AL,0 40H,AL ;写入低字节 40H,AL ;写入高字节 AL,01010100B ;计数器1初始化 43H,AL ;只读写低字节,方式2,二进制 AL,18 41H,AL ;写入低字节
微机原理,第九章(2)8253定时器—计数器应用设计
~ D0
8086 CPU 最小 方式 系统 总线
CLK0 GATE0 OUT0
M/IO A15
பைடு நூலகம்
=0
A3 A0
译码 电路
CS
CLK2 GATE2 OUT2
图 8086最小方式系统总线与8253的连接框图 xtwang@
…
=0
…
§ 9.4 8253的总线接口方法
2.8086最大工作方式下的8253连接
CLK0=4MHz OUT0=1KHz
4000 分频
OUT0=1KHz
计数器0:工作方式3,时常数 4000 10 计数器0:工作方式3,时常数4000 CLK1=1KHz 10 计数器1:工作方式2,时常数10 分频 分频 计数器1:工作方式2,时常数10 OUT1=100Hz 计数器2,:工作方式3,时常数 100 计数器2,:工作方式3,时常数1000 1000 CLK2=100Hz 100 分频 分频 OUT2=1Hz xtwang@
xtwang@
EG5. 有一个未知频率的对称周期信号 s ( t )(频率范围在 100Hz~2kHz之间),现在8086最小系统中一片8253,外部可 以使用的标准信号源为 1MHz ,试测量输入 s(t) 信号的频率 用待测信号 S(t) 做GATE,利用其 信号的上升沿触发计数的开始, 利用其低电平使计数暂停,以便 被CPU访问读出
LOGO
xtwang@
第九章 定时/计数器8253 (二)
Contents
1
2 3 4 5
8253引脚功能及特点
8253原理结构及工作原理
8253的控制字及工作方式
8253与系统总线的接口方法
8253的应用和设计
第9章计数器定时器8253
编程原则: ① 设置初值前必须先写控制字; ② 初值设置要符合控制字中的格式规定; ③ 要读取计数器的当前值和状态字,必须用
控制字先锁定,才能读取。
9.4 8253/8254的编程命令
编程命令有两类:
① 读出命令; 读计数器计数值 读状态寄存器值(只对8254)
MOV BH, AL
;BX中为计数器0的当前计数值
思考题
• 1 设8253端口地址为200H~203H,使用计数器1, 工作于方式3(方波发生器),二进制计数,计数 初值为3000H,请编写初始化程序。
;方法1,16位计数,先写低8位,后写高8位。根据题目写出 控制字为01110110B(76H)。 MOV DX,203H ;8253控制寄存器 MOV AL,76H ;二进制计数、方式3、先写低8 位、后 写高8位、计数器1 OUT DX,AL ;控制字写入控制字寄存器 MOV DX,201H ;计数器1 MOV AL,00H ;计数初值低8位 OUT DX, AL ;计数初值低8位写入计数器1 MOV AL,30H ;计数初值高8位 OUT DX, AL ;计数初值高8位写入计数器1
9.5 8253/8254的工作模式
有6种工作模式,都遵守的基本规则:
① 控制字写入时,进入初始状态; ② 初值写入后,要经过上升沿和一个下降沿,计数执行部
件才开始计数; ③ 在CLK的上升沿,GATE被采样,对于一给定的工作模
式,GATE的触发方式有具体规定; ④ 在CLK下降沿,计数器作减1计数;
器将按新的初值重新计数。 • OUT端输出是一个约(N+1)TCLK宽度的负脉冲。
(2) 模式1—— 可编程的单稳态触发器
性质:
• 写入控制字,OUT端为高电平,计数初值装入该 计数器后,在GATE信号的上升沿后的下一个CLK 脉冲的下降沿开始计数,OUT变为低电平。在整 个计数过程中,OUT保持低电平,当计数器减为0 时,OUT变为高电平,输出一个单脉冲,若GATE 信号再由低变高,可再产生一个单脉冲,相当一 个单稳态。
第九章_计数(定时)器8253
左旭坤(zxk78@)
1.方式0 (计数结束产生中断)
(1)输出信号OUT的波形: 初始状态为高电平;写入控制字后变为低电平;计数初值减为0时变为高电平 (2)启动计数的条件: 写入计数初值后自动开始 (3)门控信号GATE的功能: GATE为低电平时暂停计数(OUT保持输出低电平);GATE变回高电平时继 续计数 (4)计数初值的设置(更改): 如果在计数过程中修改计数值,则写入新计数值的第一个字节时使原先的计 左旭坤(zxk78@) 数停止。写入第二个字节后,开始以新写入的计OV OUT
AL.3BH 43H.AL ;写计数器0控制字
MOV
OUT MOV OUT MOV
AL.50H
40H.AL AL.28H 40H.AL AL.56H
;写计数器0初值
;写计数器1控制字
OUT
MOV OUT
43H,AL
AL.64H 41H.AL
左旭坤(zxk78@)
;写计数器1初值
【例9-2】 按乐谱编写乐曲程序
功能:让计算机按乐谱演奏
左旭坤(zxk78@)
计算机发声原理
8255的PB口地址: 61H
8253的控制口地址: 43H
8253的定时器2地址: 42H
原理:
8255的PB口工作在方式0输出;8253的定时器2工作在方式3 由8255的PB0和PB1控制定时器2启动和扬声器启动 即:PB0=1:定时器2启动; PB1=1:扬声器启动
课后思考: 按照以上四点, 对各组的两种工作方式 进行比较。
左旭坤(zxk78@)
9.3 8253的控制字
8253在使用前要写入控制字,用来规定其工作方式。 3个通道中各有一个控制字寄存器,它们使用同一个口地 址,靠控制字中的D7,D6 2位的编码加以区别。 控制字格式如下 :
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
+5V
超过了最大计数范围 DX, 343H MOV DX, 340H 2MHz 65536 AL, 00110110B MOV AX, 2000 DX, AL OUT DX, AL 1KHz 分析: AL, 01110110B XCHG AL, AH DX, AL OUT AL 输入 2MHz DX, 2000000 分频 输出1Hz MOV DX, 341H 1HzMOV AX, 1000 级联分频 OUT DX, AL XCHG AH, AL OUT DX, AL 时常数可以做 合理的调整
~ D0
~ D0
CLK0 GATE0 OUT0
…
=0
…
CS
§9.4 8253的总线接口方法
3. 与IBM PC机的连接
CPU接口 D7 外设接口 D7 RD WR A1 A0
=0
~ D0
IOR IOW A2 A1 AEN A15
~ D0
CLK0 GATE0 OUT0
IBM PC机 系统 总线
Intel 8253
EG.8086 最大方式系统中,有8254的端口地址分别为 301H、303H、305H和307H,给定的外部时钟为512kHz
(2) 利用这一计数器能产生的最低信号频率 0 为 7.8125 Hz ,这时的时常数CR0= 。
频率最低 周期最长 整个计数范围内只 形成一个输出周期 65536个计数单元
CLK0=4MHz OUT0=1KHz
4000 分频
OUT0=1KHz
计数器0:工作方式3,时常数 4000 10 计数器0:工作方式3,时常数4000 CLK1=1KHz 10 计数器1:工作方式2,时常数10 分频 分频 计数器1:工作方式2,时常数10 OUT1=100Hz 计数器2,:工作方式3,时常数 100 计数器2,:工作方式3,时常数1000 1000 CLK2=100Hz 100 分频 分频 OUT2=1Hz
计数器0的时常数:2000方法
EG2.8086最小系统下,扩充设计1片8254,端口地址为 8000H~8007H中的连续偶地址。输入时钟信号为4MHz,要求通过三 个定时器级联,实现从OUT0输出频率为1000Hz的方波,从OUT1输出 频率为100Hz的单时钟脉冲波,从OUT2输出频率为1Hz的方波。 画级联图,并写出初始化程序和时常数赋值程序
CLK1 GATE1 OUT1
译码 电路
A3 A0
CS
CLK2 GATE2 OUT2
…
=0
…
8253应用举例
§9.4 8253的总线接口方法
EG1. 8088最大系统下,8253的地址范围为340H~343H。输 入时钟频率为2M赫兹,实现输出频率为1Hz的方波。画连接图,写 初始化程序和时常数赋值程序。
§9.4 8253的总线接口方法
1.8086最小工作方式下的8253连接
CPU接口 D7 D 0 ~ D8 D15 ~ RD WR A2 A1 D7 RD WR A1 A0 Intel 8253 CLK1 GATE1 OUT1 外设接口
在8086系 统中, 8253的地 址范围要么 全为奇数, 要么全为偶 数
~ D0
8086 CPU 最小 方式 系统 总线
CLK0 GATE0 OUT0
M/IO A15
=0
A3 A0
译码 电路
CS
CLK2 GATE2 OUT2
图 8086最小方式系统总线与8253的连接框图
…
=0
…
§9.4 8253的总线接口方法
2.8086最大工作方式下的8253连接
CPU接口 D7 8086 CPU 最大 方式 系统 总线 A15 A3 A0 译码 电路 CLK2 GATE2 OUT2 IOR IOW A2 A1 RD WR A1 A0 Intel 8253 CLK1 GATE1 OUT1 外设接口 D7
§9.5 8253的总线接口方法
EG3. 在以 8086 构成的最大方式系统中,有一片 8254 的端 口地址分别为 301H 、 303H 、 305H 和 307H ,给定的外部时钟 为512kHz。要求:
(1) 利用计数器0产生周期为1ms的周期信号,请编写初始化程序; ( 2 ) 利用这一计数器能产生的最低信号频率为 ,这时的时常数 CR0= 。 (3)利用计数器1和2产生如下图所示的周期信号,并编写初始化程序。 (4)画出8253的端口译码电路(地址线只使用 A0~A9)及其连接图。
1.5ms 3s
图 8253所要产生的周期信号
EG.8086 最大方式系统中,有8254的端口地址分别为 301H、303H、305H和307H,给定的外部时钟为512kHz
(1) 利用计数器0产生周期为1ms的周期信号,请编写初始化程序;
Step1:分析工作方式: 周期信号 Step2:工作方式控制字: Step3:分析时常数: 输出信号周期: Tout = 1 ms 输入信号周期: Tin = 1/512 ms
LOGO
xtwang@
第九章 定时/计数器8253 (二)
Contents
1
2 3 4 5
8253引脚功能及特点
8253原理结构及工作原理
8253的控制字及工作方式
8253与系统总线的接口方法
8253的应用和设计
§9.4 8253的总线接口方法
在采用 8253 进行定时 / 计数器设计时,首先应该 将它与 CPU 正确连接,在已经设计好 8086 系统总 线情况下,可以直接利用系统总线中的信号与 8253连接。 这里给出三种系统总线情况下8253的连接方法: 8086的最小方式 8086的最大方式 IBM PC系统机。
方式2
或
方式3
00110100B 或 00110110B
时常数= Tout / Tin=512
或 00110110B
Step4:写初始化程序: MOV DX, 307H
MOV AL, 00110100B; OUT DX, AL MOV MOV OUT XCHG OUT DX, AX, DX, AL, DX, 301H 512 AL AH AL