现代微机原理与接口技术接口第6章.ppt
《现代微机原理与接口技术接口第6章.ppt》由会员分享,可在线阅读,更多相关《现代微机原理与接口技术接口第6章.ppt(59页珍藏版)》请在三一办公上搜索。
1、1,第6章 定时与计数技术6.1 概 述,6.1.1 定时与计数,1.定时,定义:提供的时间基准。,分类:内部定时、外部定时。,2.计数,定时与计数本质上是一致的。,计数的信号随机,定时的信号具有周期性。,3.应用,2,6.1.2 定时方法,1.软件定时,通过软件指令周期方法定时,如执行循环程序。,增加CPU负担,通用性差,一般用于短延时。,2.不可编程硬件定时,采用中小规模IC构成。,不增加CPU负担,成本低,定时值不可改变。,3.可编程硬件定时,采用可编程计数器完成,软件可改变计数值。,可编程定时/计数器:实质上定时和计数本质上都是脉冲计数器,定时计的是内部基准时钟源产生的脉冲,计数是计外
2、部脉冲。,3,6.1.3 定时/计数器基本原理,1.内部逻辑,CPU接口:译码、操作,外设接口:时钟信号、控制、输出,内部逻辑:REG,2.工作过程,设初值、控制、输出,4,6.2 Intel 8254,8253825482801BA。,6.2.1 8254-2基本功能,3个独立的16位定时/计数器(T/C);,每个T/C功能:可按二、十进制(BCD)计数;有6种不同的工作方式;最高频率10MHz;(82801BA为14.31818MHz)有读回状态功能。(8253没有),5,6.2.2 8254-2结构与引脚,1.内部逻辑,总线缓冲器8位R/W:写工作方式、计数初值、当前计数值,6,2.计数
3、器内部逻辑,CR:16位 写入两次、清零,CE:16位 写入、计数、输出,OL:16位 先锁存再读出,状态REG:8位 先锁存再读出,注意:GATE信号的作用与应用,重写CR的效果。,计数初值:N=fCLKi/fOUTi,在不同工作方式及定时/计数时的应用不同。,7,3.外部引脚,8,4.CPU操作功能及命令,I/O端口地址:8254提供四个端口(使用A1A0);,命令:初始化设置工作方式、设置计数器初值;操 作重写计数器初值、取状态命令。,状态:当前计数值、工作方式及当前状态。,I/O端口操作冲突时解决方法:,写工作方式与写读取状态命令采用特征位方法;,读取当前计数值或读取状态采取时序方法。
4、,8254命令关系表:,9,A1 A0,10,6.2.3 8254-2命令及编程,1.工作方式控制字(A1A0=11),特征位:D7D6=0010、D5D4=0111;D7D6选择计数器:00T/C0;01T/C1;10T/C2 D5D4选择读/写方式:01只写低字节;10只写高字节;11先写低字节再写高字节(16位)D3D2D1选择工作方式:000101六种工作方式,X10方式2,X11方式3,例:MOV AL,01110100B;T/C1,先低后高字节 OUT 43H,AL;方式2,二进制方式,11,2.计数初值,(1)不同通道的计数初值写到不同地址中;A1A0=0010(2)每次写入一个
5、字节;(3)根据控制字定义,决定高、低字节写入方法。(4)初始值的范围是:,二进制为65536(0000H)1(0001H)。十进制为10000(0000H)1(00001H)。,12,3.T/C初始化,(1)工作方式控制字(2)设置计数初值,例:MOV AL,01110101B;T/C1,先低后高字节,方式2,BCDOUT 43H,ALMOV AX,2000H;计数初值为2000 OUT 41H,AL;MOV AL,AH OUT 41H,AL;MOV AL,00010110B;T/C0,只低字节,方式3,二进制 OUT 43H,AL OUT 40H,50H;计数初值为50H(80),注意:(
6、1)每个使用的T/C均要初始化;(2)计数初值的设置与T/C的CLK密切相关;(3)计数初值的设置方法由控制字决定。,13,4.T/C数据读取,(1)读取当前计数值方法1工作方式控制字(A1A0=11)D7D60001,D5D4=00,(a)锁存当前计数值或禁止计数(b)读取当前计数值,例:MOV AL,01000101B;T/C1,锁存;先低后高字节,方式2,BCD OUT 43H,AL IN AL,41H MOV AH,AL IN AL,41H XCHG AH,AL;AX为T/C1当前计数值,14,(2)读取当前计数值方法2使用读回命令,特征位:D7D6=11。(A1A0=11),功能选择
7、:锁存状态D5D4=10;锁存计数值D5D4=01;锁存状态与计数值 D5D4=00。(先读状态再读计数值),计数器选择:D1=1T/C0,D2=1T/C1,D3=1T/C2,特点:控制字同时只能锁存单个通道,读回命令可同时锁存多个通道。,15,例:MOV AL,11010100B;T/C1,锁存计数值 OUT 43H,AL IN AL,41H;MOV AH,AL IN AL,41H XCHG AH,AL;AX为当前计数值 MOV AL,11011010B;T/C0、T/C2锁存计数值 OUT 43H,AL IN AL,40H;MOV AH,AL IN AL,40H XCHG AH,AL;AX
8、为T/C0当前计数值 IN AL,42H;MOV AH,AL IN AL,42H XCHG AH,AL;AX为T/C2当前计数值,16,(3)读取计数器当前状态使用读回命令,例:MOV AL,11100100B;T/C1,锁存状态值 OUT 43H,AL IN AL,41H;若AL=00110101,表示T/C1;为方式2,BCD码,先低后高;读/写,当前OUT为低电平 MOV AL,11100010B;T/C0,锁存状态值 OUT 43H,AL IN AL,40H;若AL=00010110,表示T/C0;为方式3,二进制码,只有低;字节,当前OUT为低电平,读出的状态字格式:,17,6.2.
9、4 8254-2工作方式,1.方式0计数结束时中断,特点:一次计数;GATE高允许、下降暂停、低禁止、上升继续计数;WR#写重写后下一脉冲下降沿重新计数;OUT在控制字或计数初值写完时变低、计数值为0时变高(N+1个低)。,18,2.方式1硬件可重触发单稳,特点:一次计数;GATE上升重新、高与下降和低不影响计数;WR#写重写在下次GATE从0到1的跳变时有效;OUT在写入控制字后变高,开始计数时变低、计数值为0时变高(N个低)。,19,3.方式2频率发生器,特点:多次计数;GATE上升重新、高允许、下降停止、低禁止计数;WR#写重写在下次计数时有效;OUT在计数值为1时输出宽度为1个CLK的
10、负脉冲(周期为N,频率为1/N)。,20,4.方式3方波发生器,特点:多次计数;GATE上升重新、高允许、下降停止、低禁止计数;WR#写重写在下次计数时有效;OUT在写入控制字后变高,计数开始后,采用每脉冲计数减2:当计数初值为偶数时,计数到0时反向。脉冲宽度Tn/2 当计数初值为奇数时,OUT变高的第一CLK减1后装入 CE,其余每个脉冲计数减2。OUT正脉冲时,计数到0的下一个CLK时OUT反向OUT正脉冲宽度为T(n+1)/2;OUT负脉冲时在计数到0时反向。负脉冲宽度为T(n-1)/2,21,特点:一次计数;GATE上升重新、高允许、下降停止、低禁止计数;WR#写重写会立即重新计数(软
11、件触发);OUT在写入控制字及计数当中为高电平,计数值为0时输出1个CLK的负脉冲。,5.方式4软件触发选通,22,6.方式5硬件触发选通,特点:一次计数;GATE上升重新、高与下降和低不影响计数;WR#写重写在下次GATE从0到1的跳变时有效;OUT在计数值为0时输出1个CLK的负脉冲。,23,24,6.2.5 8254-2应用举例,1.分频器设计,用8254(地址40H43H)将5MHz的脉冲变为1Hz的脉冲。,初值=fCLK/fOUT=510665536,怎么办?,MOV AL,00110111B;T/C0 OUT 43H,ALMOV AX,5000HOUT 40H,ALMOV AL,A
12、HOUT 40H,ALMOV AL,01110101B;T/C1 MOV AX,1000HOUT 41H,ALMOV AL,AHOUT 41H,AL,需要2个T/C级联,T/C0采用方式3产生连续分频方波,做T/C1的CLK,T/C1 采用方式2产生1Hz脉冲。两个T/C的GATE统一控制。,25,2.占空比4:5的方波发生器,8254的CLK0的时钟频率是8KHz,问1)T/C0最大定时时间是多少?2)要求8254端口地址为90H、92H、94H和96H,请使用74LS138译码器加简单门电路完成地址连线。3)现在要求使用该8254产生周期为9秒,占空比为4:5的方波,请在上面的电路图中完成
13、电路,并编写初始化程序。,答:1)TCLK0=1/fCLK0=1/8000=0.125ms最大定时时间655360.25ms=8.192秒,26,2),CLK1,GATE1,3),27,MOV AL,00110111B;T/C0 OUT 96H,ALMOV AX,8000HOUT 90H,ALMOV AL,AHOUT 90H,ALMOV AL,01110111B;T/C1 MOV AX,9HOUT 92H,ALMOV AL,AHOUT 92H,AL,28,3.包装流水线控制,某产品的包装流水线中,一个包装箱能装24罐饮料。装箱时希望流水线上每通过24罐饮料,流水线要停4秒以等待包装箱封口,然后
14、继续通过下一箱的24罐。流水线就是这样周而复始的运作。试利用一片8254来完成流水线控制中的定时和计数功能。假设8254的端口地址为8CH8FH,采用的时钟频率是2KHz。,29,思路:用8254的计数通道1作为计数器,用于24个罐的计数;计数通道2作为定时器,定时为4S。当计数通道1的OUT脚出现0到1的跳变的时候,将启动计数通道2开始定时,而计数通道2定时阶段将控制计数通道1停止计数,只有其定时结束并停止定时阶段才可再次启动计数通道1开始计数。,计数通道1工作在方式2,计数初值24计数通道2工作在方式1,计数初值8000,30,;初始化程序;计数通道1初始化MOVAL,01010100BO
15、UT8FH,ALMOVAL,24OUT8DH,AL;初始化计数通道2MOVAL,10110010BOUT8F,ALMOVAX,8000OUT8EH,ALMOVAL,AHOUT8EH,AL,31,6.3 8254在微机中应用,PC系列机定时系统结构框图,来自主板上74LS138的Y2,地址范围是40H5FH,加上A1A0两根地址线,组成8254的端口地址是40H、41H、42H、43H。,返回1,返回2,32,6.3.1 计数器0系统定时器,工作方式:3方式,计数初值:65536。,1.系统定时器,连接到8259A的IRQ0(中断类型号为8)上。fOUT0=1.1931816MHz/65536=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 微机 原理 接口 技术
链接地址:https://www.31ppt.com/p-5789753.html