资源预览内容
第1页 / 共60页
第2页 / 共60页
第3页 / 共60页
第4页 / 共60页
第5页 / 共60页
第6页 / 共60页
第7页 / 共60页
第8页 / 共60页
第9页 / 共60页
第10页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
定时与计数技术及应用定时与计数技术及应用定时定时/计数器计数器8253本章内容本章内容本章内容本章内容 了解定时了解定时/ /计数技术的应用情况计数技术的应用情况掌握掌握8253的连接与编程的连接与编程学习目的学习目的学习目的学习目的熟悉熟悉8253的工作方式的工作方式10.1定时与计数定时与计数 定定定定时计时计时计时计数技数技数技数技术术术术在在在在计计计计算机中具有极算机中具有极算机中具有极算机中具有极为为为为重要的重要的重要的重要的作用。微机控制系统中,作用。微机控制系统中,作用。微机控制系统中,作用。微机控制系统中,1)1)1)1)常要按一定的常要按一定的常要按一定的常要按一定的采样周期采样周期采样周期采样周期对处理对象进行对处理对象进行对处理对象进行对处理对象进行采样采样采样采样或或或或定时定时定时定时检测检测检测检测某些参数某些参数某些参数某些参数; ; ; ;2)2)2)2)用计数器对外部用计数器对外部用计数器对外部用计数器对外部事件计数事件计数事件计数事件计数,即记录外设提供,即记录外设提供,即记录外设提供,即记录外设提供的脉冲个数。的脉冲个数。的脉冲个数。的脉冲个数。3)3)3)3)在实时操作系统和多任务操作系统中,可以在实时操作系统和多任务操作系统中,可以在实时操作系统和多任务操作系统中,可以在实时操作系统和多任务操作系统中,可以利用定时器产生的利用定时器产生的利用定时器产生的利用定时器产生的定时中断定时中断定时中断定时中断进行进程调度。进行进程调度。进行进程调度。进行进程调度。 定时器和计数器都由定时器和计数器都由定时器和计数器都由定时器和计数器都由数字电路数字电路数字电路数字电路中的计数电路构中的计数电路构中的计数电路构中的计数电路构成。前者记录成。前者记录成。前者记录成。前者记录高精度晶振高精度晶振高精度晶振高精度晶振脉冲信号,因此可以输脉冲信号,因此可以输脉冲信号,因此可以输脉冲信号,因此可以输出准确的时间间隔,称为出准确的时间间隔,称为出准确的时间间隔,称为出准确的时间间隔,称为定时器定时器定时器定时器,而当记录外设,而当记录外设,而当记录外设,而当记录外设提供的具有一定提供的具有一定提供的具有一定提供的具有一定随机性的脉冲信号随机性的脉冲信号随机性的脉冲信号随机性的脉冲信号时,它主要反时,它主要反时,它主要反时,它主要反映脉冲的个数,称为映脉冲的个数,称为映脉冲的个数,称为映脉冲的个数,称为计数器计数器计数器计数器。定时的方法有定时的方法有定时的方法有定时的方法有3 3种:种:种:种:(1 1)软件定时软件定时软件定时软件定时(2 2)不可编程的硬件定时)不可编程的硬件定时)不可编程的硬件定时)不可编程的硬件定时(3 3)可编程的定时。)可编程的定时。)可编程的定时。)可编程的定时。1. 1. 软件定时软件定时软件定时软件定时 根据根据根据根据CPUCPU执行每条指令需要一定的时间,执行每条指令需要一定的时间,执行每条指令需要一定的时间,执行每条指令需要一定的时间,重复执行一些指令就会占用一段固定的时间重复执行一些指令就会占用一段固定的时间重复执行一些指令就会占用一段固定的时间重复执行一些指令就会占用一段固定的时间,通过适当地选取指令和循环次数便很容易实现通过适当地选取指令和循环次数便很容易实现通过适当地选取指令和循环次数便很容易实现通过适当地选取指令和循环次数便很容易实现定时功能,这种方法定时功能,这种方法定时功能,这种方法定时功能,这种方法不需要增加硬件不需要增加硬件不需要增加硬件不需要增加硬件,可通过,可通过,可通过,可通过编程来控制和改变定时时间,编程来控制和改变定时时间,编程来控制和改变定时时间,编程来控制和改变定时时间,灵活方便,节省灵活方便,节省灵活方便,节省灵活方便,节省费用费用费用费用。缺点是。缺点是。缺点是。缺点是CPUCPU重复执行的这段程序的本身重复执行的这段程序的本身重复执行的这段程序的本身重复执行的这段程序的本身并没有什么具体目的,仅为延时,从而并没有什么具体目的,仅为延时,从而并没有什么具体目的,仅为延时,从而并没有什么具体目的,仅为延时,从而降低了降低了降低了降低了CPUCPU利用率。利用率。利用率。利用率。2.2.2.2.不可编程的硬件定时不可编程的硬件定时不可编程的硬件定时不可编程的硬件定时 这种方法采用这种方法采用数字电路数字电路中的中的分频器分频器将将系统时钟进行适当的分频产生需要的定时系统时钟进行适当的分频产生需要的定时信号;也可以采用信号;也可以采用单稳电路单稳电路或或简易定时电简易定时电路路(如常用的(如常用的555555定时器)定时器)由外接由外接RCRC电路电路控制定时时间。但是,这种定时电路在硬控制定时时间。但是,这种定时电路在硬件接好后,定时范围不易由程序来改变和件接好后,定时范围不易由程序来改变和控制,使用控制,使用不甚方便不甚方便,而且定时,而且定时精度也不精度也不高。高。 3.3.3.3.可编程的定时可编程的定时可编程的定时可编程的定时在微机系统中,常采用在微机系统中,常采用在微机系统中,常采用在微机系统中,常采用软件、硬件相软件、硬件相软件、硬件相软件、硬件相结合结合结合结合的方法,用的方法,用的方法,用的方法,用可编程定时计数器芯片可编程定时计数器芯片可编程定时计数器芯片可编程定时计数器芯片构构构构成一个方便灵活的定时计数电路。这种电成一个方便灵活的定时计数电路。这种电成一个方便灵活的定时计数电路。这种电成一个方便灵活的定时计数电路。这种电路不仅定时值和定时范围可用程序确定和路不仅定时值和定时范围可用程序确定和路不仅定时值和定时范围可用程序确定和路不仅定时值和定时范围可用程序确定和改变,而且具有改变,而且具有改变,而且具有改变,而且具有多种工作方式多种工作方式多种工作方式多种工作方式,可以输出,可以输出,可以输出,可以输出多种控制信号多种控制信号多种控制信号多种控制信号,它由微处理器的时钟信号,它由微处理器的时钟信号,它由微处理器的时钟信号,它由微处理器的时钟信号提供时间基准,故计时也提供时间基准,故计时也提供时间基准,故计时也提供时间基准,故计时也精确稳定精确稳定精确稳定精确稳定。如。如。如。如Intel8253Intel8253。 10.2Intel8253可编程定时器可编程定时器/计数器计数器一、一、一、一、82538253的基本功能和内部结构的基本功能和内部结构的基本功能和内部结构的基本功能和内部结构 (1 1)3 3个独立的个独立的个独立的个独立的1616位计数器位计数器位计数器位计数器,最大计数范围为,最大计数范围为,最大计数范围为,最大计数范围为065535065535; (2 2)每个计数器均可以按)每个计数器均可以按)每个计数器均可以按)每个计数器均可以按二进制二进制二进制二进制或或或或BCDBCD码码码码计数计数计数计数; (3 3)计数器速率可达)计数器速率可达)计数器速率可达)计数器速率可达2MHz2MHz; (4 4)可编程)可编程)可编程)可编程6 6种种种种不同的不同的不同的不同的工作方式工作方式工作方式工作方式; (5 5)所有输入和输出都与)所有输入和输出都与)所有输入和输出都与)所有输入和输出都与TTLTTL兼容。兼容。兼容。兼容。 82538253具有较好的具有较好的具有较好的具有较好的通用性通用性通用性通用性和使用灵活性,几乎适合于任和使用灵活性,几乎适合于任和使用灵活性,几乎适合于任和使用灵活性,几乎适合于任何一种微处理器组成的系统。何一种微处理器组成的系统。何一种微处理器组成的系统。何一种微处理器组成的系统。 1. 8253 1. 8253 1. 8253 1. 8253 的基本功能的基本功能的基本功能的基本功能2. 82532. 82532. 82532. 8253的内部结构的内部结构的内部结构的内部结构 82538253的内部结构如图的内部结构如图的内部结构如图的内部结构如图10.110.1所示,由数据总线缓冲器、所示,由数据总线缓冲器、所示,由数据总线缓冲器、所示,由数据总线缓冲器、控制寄存器、读控制寄存器、读控制寄存器、读控制寄存器、读/ /写控制逻辑和计数器等部分组成。写控制逻辑和计数器等部分组成。写控制逻辑和计数器等部分组成。写控制逻辑和计数器等部分组成。 图10.1 8253的内部结构示意图图10.2 计数器内部逻辑图控制单元 初值寄存器 减 1 计数器 输出锁存器 内 部 总 线 CLKGATEOUT控制单元 初值寄存器 减 1 计数器 输出锁存器 内 部 总 线 CLK(1 1)数据总线缓冲器)数据总线缓冲器)数据总线缓冲器)数据总线缓冲器 该缓冲器为该缓冲器为该缓冲器为该缓冲器为8 8位双向三态位双向三态位双向三态位双向三态的缓冲器,可直接挂的缓冲器,可直接挂的缓冲器,可直接挂的缓冲器,可直接挂在数据总线上。在数据总线上。在数据总线上。在数据总线上。CPUCPU通过通过通过通过8 8位数据总线位数据总线位数据总线位数据总线D D0 0DD7 7传送传送传送传送如下信息:如下信息:如下信息:如下信息: 向控制寄存器向控制寄存器向控制寄存器向控制寄存器写写写写入入入入控制字控制字控制字控制字。 向某计数器向某计数器向某计数器向某计数器写写写写入入入入计数初值计数初值计数初值计数初值。 CPUCPU通过缓冲器通过缓冲器通过缓冲器通过缓冲器读读读读取计数器的取计数器的取计数器的取计数器的当前计数值当前计数值当前计数值当前计数值(2 2)读)读)读)读/ / / /写控制逻辑写控制逻辑写控制逻辑写控制逻辑 决定三个计数器和控制字寄存器中哪一个能进行工作,决定三个计数器和控制字寄存器中哪一个能进行工作,并控制内部总线上数据传送的方向。并控制内部总线上数据传送的方向。 CSCS片选信号片选信号片选信号片选信号, ,低电平有效低电平有效低电平有效低电平有效( (此时此时此时此时CPUCPU才能对才能对才能对才能对 82538253进行读写操作进行读写操作进行读写操作进行读写操作) ),由地址总线经,由地址总线经,由地址总线经,由地址总线经I/OI/O端口译码电路产生。端口译码电路产生。端口译码电路产生。端口译码电路产生。 RDRD读信号,低电平有效,此时表示读信号,低电平有效,此时表示读信号,低电平有效,此时表示读信号,低电平有效,此时表示CPUCPU正在正在正在正在读取所选定的计读取所选定的计读取所选定的计读取所选定的计数器通道中的内容数器通道中的内容数器通道中的内容数器通道中的内容。 WRWR写信号,低电平有效,此时表示写信号,低电平有效,此时表示写信号,低电平有效,此时表示写信号,低电平有效,此时表示CPUCPU正在将计数初值正在将计数初值正在将计数初值正在将计数初值写入写入写入写入所选中的计数通道所选中的计数通道所选中的计数通道所选中的计数通道中或中或中或中或将控制字写入控制寄存器将控制字写入控制寄存器将控制字写入控制寄存器将控制字写入控制寄存器中。中。中。中。 A A1 1A A0 0端口选择信号,端口选择信号,端口选择信号,端口选择信号,82538253内部有内部有内部有内部有3 3个个个个计数器通道和一个计数器通道和一个计数器通道和一个计数器通道和一个控制寄控制寄控制寄控制寄存器端口存器端口存器端口存器端口。当。当。当。当A A1 1A A0 0=00,01,10=00,01,10时表示分别选中时表示分别选中时表示分别选中时表示分别选中计数器通道计数器通道计数器通道计数器通道0,1,20,1,2,当当当当A A1 1A A0 0=11=11时选中控制寄存器端口时选中控制寄存器端口时选中控制寄存器端口时选中控制寄存器端口。(3 3)控制寄存器)控制寄存器)控制寄存器)控制寄存器 接收从接收从CPU来的控制字,并由控制字的来的控制字,并由控制字的D7、D6位的位的编码决定该控制字写入哪个计数器的控制寄存器,控制编码决定该控制字写入哪个计数器的控制寄存器,控制寄存器只能写入,不能读出。寄存器只能写入,不能读出。 (4 4)计数器)计数器)计数器)计数器 当当8253用用作作计计数数器器时时,加加在在CLK引引脚脚上上脉脉冲冲的的间间隔隔可可以以是是不不相相等等的的;当当它它用用作作定定时时器器时时,则则在在CLK引引脚脚应应输输入入精精确确的的时时钟钟脉脉冲冲,8253所所能能实实现现的的定定时时时时间间,取取决决于于计计数数脉脉冲冲的的频频率率和和计计数数器器的的初初值值,即即:定定时时时时间间=时时钟脉钟脉冲周期冲周期Tc预置的计数初值预置的计数初值n。对对8253来讲,外部输入到来讲,外部输入到CLK引脚上的时钟脉冲频引脚上的时钟脉冲频率不能大于率不能大于2MHZ,否则需分频后才能送到,否则需分频后才能送到CLK端。端。 二、二、二、二、82538253的引脚信号的引脚信号的引脚信号的引脚信号 图10.3 8253PIT管脚图计计计计数数数数器器器器0 0计计计计数数数数器器器器1 1计计计计数数数数器器器器2 2数数数数据据据据线线线线控控控控制制制制线线线线电电电电源源源源线线线线82538253是一是一是一是一片具有片具有片具有片具有3 3个个个个独立通道独立通道独立通道独立通道的的的的1616位位位位计计计计数器数器数器数器/ /定时定时定时定时器芯片,器芯片,器芯片,器芯片,使用单一使用单一使用单一使用单一+5V+5V电源,电源,电源,电源,2424引脚双引脚双引脚双引脚双列直插式列直插式列直插式列直插式封装,如封装,如封装,如封装,如图图图图10.310.3所示所示所示所示 1. 1. 1. 1. 与与与与CPUCPU的接口信号的接口信号的接口信号的接口信号(1 1)D D0 0DD7 7三三三三态态态态双双双双向向向向数数数数据据据据线线线线。与与与与CPUCPU数数数数据据据据总总总总线线线线相相相相连连连连, 用用用用于于于于传传传传递递递递CPUCPU与与与与82538253之之之之间间间间的的的的数数数数据据据据信信信信息息息息、控控控控 制信息和状态信息制信息和状态信息制信息和状态信息制信息和状态信息; (2 2)CSCS片选信号(片选信号(片选信号(片选信号(ChipSelectChipSelect),输入,低电平有),输入,低电平有),输入,低电平有),输入,低电平有 效效效效; (3 3)WRWR写写写写信信信信号号号号,输输输输入入入入,低低低低电电电电平平平平有有有有效效效效,用用用用于于于于控控控控制制制制CPUCPU对对对对 82538253的的的的写写写写操操操操作作作作,可可可可与与与与A A1 1,A A0 0信信信信号号号号配配配配合合合合以以以以决决决决定定定定 是写入控制字还是计数初值是写入控制字还是计数初值是写入控制字还是计数初值是写入控制字还是计数初值; (4 4)RDRD读读读读信信信信号号号号,输输输输入入入入,低低低低电电电电平平平平有有有有效效效效。用用用用于于于于控控控控制制制制CPUCPU 对对对对82538253的的的的读读读读操操操操作作作作,可可可可与与与与A A1 1,A A0 0信信信信号号号号配配配配合合合合读读读读取取取取 某个计数器的当前计数值某个计数器的当前计数值某个计数器的当前计数值某个计数器的当前计数值; ( 5 5) A A0 0, A A1 1地址输入线。用于地址输入线。用于地址输入线。用于地址输入线。用于 82538253内部寻址的内部寻址的内部寻址的内部寻址的 4 4个个个个 端口,即端口,即端口,即端口,即3 3个计数器和一个控制字寄存个计数器和一个控制字寄存个计数器和一个控制字寄存个计数器和一个控制字寄存 器器器器。一般与一般与一般与一般与CPUCPU低位的地址线相连低位的地址线相连低位的地址线相连低位的地址线相连 。注意注意注意注意: :对对对对数数数数据据据据总总总总线线线线为为为为8 8位位位位的的的的CPU(CPU(如如如如8088),8088),其其其其低低低低位位位位地地地地址址址址A0,A1A0,A1直直直直接接接接连连连连82538253的的的的 A0,A1A0,A1; ;对对对对数数数数据据据据总总总总线线线线为为为为1616位位位位的的的的CPU(CPU(如如如如8086),8086),其其其其低低低低位位位位地地地地址址址址A1,A2A1,A2对对对对应应应应连接连接连接连接82538253的的的的A0,A1.A0,A1.A A1 1 A A0 0 寄存器选择和操作寄存器选择和操作寄存器选择和操作寄存器选择和操作 0 00 00 00 00 00 00 00 01 10 0 0 0 1 11 11 11 10 00 00 00 01 1 0 00 00 00 01 11 11 11 11 1001100110 01 10 01 10 01 10 01 1 写入计数器写入计数器写入计数器写入计数器0 0 0 0 写入计数器写入计数器写入计数器写入计数器1 1 1 1 写入计数器写入计数器写入计数器写入计数器2 2 2 2 写入控制字寄存器写入控制字寄存器写入控制字寄存器写入控制字寄存器 读计数器读计数器读计数器读计数器0 0 0 0 读计数器读计数器读计数器读计数器1 1 1 1 读计数器读计数器读计数器读计数器2 2 2 2 无操作无操作无操作无操作 禁止使用禁止使用禁止使用禁止使用 无操作无操作无操作无操作 CSCSRDRDWRWR表表表表10.1825310.18253读读读读/ /写操作逻辑表写操作逻辑表写操作逻辑表写操作逻辑表 2. 2. 2. 2. 与与与与外部设备外部设备外部设备外部设备的接口信号的接口信号的接口信号的接口信号(1 1)CLKCLK0 0(CLKCLK1 1,CLKCLK2 2)时时时时钟钟钟钟脉脉脉脉冲冲冲冲输输输输入入入入端端端端,用用用用于于于于输输输输入入入入定定定定时时时时脉脉脉脉冲冲冲冲或或或或计计计计数数数数脉脉脉脉冲冲冲冲信信信信号号号号。CLKCLK可可可可以以以以是是是是系系系系统统统统时时时时钟钟钟钟脉脉脉脉冲冲冲冲,也也也也可可可可以以以以是是是是由由由由其其其其他他他他脉脉脉脉冲冲冲冲源源源源提提提提供供供供。82538253规规规规定定定定加加加加在在在在CLKCLK引引引引脚脚脚脚的的的的输输输输入入入入时时时时钟周期不得小于钟周期不得小于钟周期不得小于钟周期不得小于380ns380ns; (2 2)GATEGATE0 0(GATEGATE1 1,GATEGATE2 2)门门门门控控控控输输输输入入入入端端端端,用用用用于于于于外外外外部部部部控控控控制制制制计计计计数数数数器器器器的的的的启启启启动动动动或或或或停停停停止止止止计计计计数数数数的的的的操操操操作作作作。当当当当GATEGATE为为为为高高高高电电电电平平平平时时时时,允允允允许许许许计计计计数数数数器器器器工工工工作作作作,当当当当GATEGATE为为为为低低低低电电电电平平平平时时时时,禁禁禁禁止止止止计计计计数数数数器器器器工工工工作;作;作;作; (3 3)OUTOUT0 0(OUTOUT1 1,OUTOUT22) 计计计计数数数数输输输输出出出出端端端端。在在在在不不不不同同同同工工工工作作作作方方方方式式式式中中中中,当当当当计计计计数数数数器器器器计计计计数数数数到到到到0 0时时时时,OUTOUT引引引引脚脚脚脚上上上上必必必必输输输输出出出出相相相相应应应应的的的的信信信信号。号。号。号。 三、三、三、三、82538253的工作方式的工作方式的工作方式的工作方式 82538253是是是是一一一一种种种种面面面面向向向向微微微微机机机机系系系系统统统统的的的的专专专专用用用用接接接接口口口口芯芯芯芯片片片片,它它它它的的的的每每每每一一一一个个个个计计计计数数数数器器器器都都都都可可可可以以以以按按按按照照照照控控控控制制制制字字字字的的的的规规规规定定定定有有有有6 6种种种种不不不不同同同同的的的的工工工工作作作作方方方方式式式式, 每种工作方式中都有以下每种工作方式中都有以下每种工作方式中都有以下每种工作方式中都有以下三种情况三种情况三种情况三种情况: * * 正常正常正常正常计数的波形图;计数的波形图;计数的波形图;计数的波形图; * * 正正正正在在在在计计计计数数数数过过过过程程程程中中中中改改改改变变变变门门门门控控控控信信信信号号号号GATEGATE后后后后对对对对整整整整个个个个计计计计 数工作的影响;数工作的影响;数工作的影响;数工作的影响; * * 正正正正计计计计数数数数的的的的过过过过程程程程中中中中改改改改变变变变计计计计数数数数初初初初值值值值对对对对整整整整个个个个计计计计数数数数工工工工作作作作的的的的影响。影响。影响。影响。1. 1.方式方式方式方式00计数结束中断方式计数结束中断方式计数结束中断方式计数结束中断方式 (InterruptonTerminalCount)(InterruptonTerminalCount)方式方式0的工作时序如图的工作时序如图10.4(a)(b)(c)所示。所示。图图图图10.4(a)10.4(a)方式方式方式方式00正常计数正常计数正常计数正常计数CW = 10 LSB = 3 WR CLK GATE OUT 3 2 2 2 1 0 FF CW = 10 LSB = 3 WR CLK GATE OUT 3 2 2 2 1 0 FF 图图图图10.4(b)10.4(b)方式方式方式方式0 0时时时时GATEGATE信号的作用信号的作用信号的作用信号的作用 GATE为低电平,为低电平,暂停计数暂停计数;当当GATE重新为高电平时又重新为高电平时又恢复计数恢复计数。 图图图图10.4(c)10.4(c)方式方式方式方式0 0时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值新的初值立即有效新的初值立即有效 注意注意82538253写计数值是由写计数值是由写计数值是由写计数值是由CPUCPU的的的的WRWR信号控信号控信号控信号控制的,在制的,在制的,在制的,在WRWR信号的上升沿,计数值被送信号的上升沿,计数值被送信号的上升沿,计数值被送信号的上升沿,计数值被送入对应计数器的计数值寄存器,在入对应计数器的计数值寄存器,在入对应计数器的计数值寄存器,在入对应计数器的计数值寄存器,在WRWR信信信信号上升沿之后的下一个号上升沿之后的下一个号上升沿之后的下一个号上升沿之后的下一个CLKCLK脉冲才开始计脉冲才开始计脉冲才开始计脉冲才开始计数。如果设置计数初值数。如果设置计数初值数。如果设置计数初值数。如果设置计数初值N N,输出输出输出输出OUTOUT是在是在是在是在写入命令执行后写入命令执行后写入命令执行后写入命令执行后第第第第N+1N+1个个个个CLKCLK脉冲之后脉冲之后脉冲之后脉冲之后,才变为高电平的。后面的方式才变为高电平的。后面的方式才变为高电平的。后面的方式才变为高电平的。后面的方式1 1、2 2、4 4、5 5也有同样的特点。也有同样的特点。也有同样的特点。也有同样的特点。2.2.方式方式方式方式11可编程的单稳态触发器可编程的单稳态触发器可编程的单稳态触发器可编程的单稳态触发器 (ProgrammableOneShort)(ProgrammableOneShort)方式方式1的工作波形如图的工作波形如图10.5(a)、(b)、(c)所示。所示。 图图图图10.5(a)10.5(a)方式方式方式方式1 1正常计数正常计数正常计数正常计数LSB = 3 WR CLK GATE OUT 3 2 1 0 FF 3 2 CW = 12 LSB = 3 WR CLK GATE OUT 3 2 1 0 FF 3 2 CW = 12 这种方式由这种方式由外部门控信号外部门控信号GATE上升沿触发上升沿触发,使输出端,使输出端变为低电平,产生一单拍负脉冲信号,脉冲宽度由计数变为低电平,产生一单拍负脉冲信号,脉冲宽度由计数值决定。值决定。 图图图图10.5(b)10.5(b)方式方式方式方式1 1时时时时GATEGATE信号的作用信号的作用信号的作用信号的作用 LSB = 3WRCLK321321CW = 12 0GATEOUT终止原来的计数过程,开始终止原来的计数过程,开始新一轮计数新一轮计数 图图图图10.5(c)10.5(c)方式方式方式方式1 1时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值LSB = 2 WR CLK GATE OUT 4 2 1 0 FF 3 FE CW = 12 LSB=4 LSB = 2 WR CLK GATE OUT 4 2 1 0 FF 3 FE CW = 12 LSB=4 新的初值新的初值下轮计数有效下轮计数有效 3.3.方式方式方式方式22比率发生器、分频器比率发生器、分频器比率发生器、分频器比率发生器、分频器 (RateGenerator)(RateGenerator)方方式式2用用门门控控信信号号达达到到同同步步计计数数的的目目的的,波形图如图波形图如图10.6(a)、(b)、(c)、(d)所示。所示。图图图图10.6(a)10.6(a)方式方式方式方式22正常计数正常计数正常计数正常计数减到1时,输出端OUT变为低电平,减到0时,输出OUT又变成高电平,从初值开始新的计数过程, 图图图图10.6(b)10.6(b)方式方式方式方式2 2时时时时GATEGATE信号的作用信号的作用信号的作用信号的作用GATE信号为低电平终止计数,而恢复为高电平后的第一个时钟下降沿重新从初值计数。由此可见,GATE一直维持高电平时,计数器方能作为一个N分频器。 4 CW = 14 LSB =5 WR CLK GATE OUT 3 2 1 4 5 3 4 CW = 14 LSB = 4 LSB =5 WR CLK GATE OUT 3 2 1 4 5 3 图图图图10.6(c)10.6(c)方式方式方式方式2 2时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值新的初值下次有效新的初值下次有效 4.4.方式方式方式方式33方波发生器方波发生器方波发生器方波发生器 (SquareWaveGenerator)(SquareWaveGenerator)方式3的工作过程同方式2,只是输出的脉宽不同,波形如图10.7(a)、(b)、(c)、(d)所示。图图图图10.7(a)10.7(a)方式方式方式方式33计数值为计数值为计数值为计数值为偶数偶数偶数偶数时的波形时的波形时的波形时的波形计数器减到N/2时,输出端OUT变为低电平;减到0时,OUT又变成高电平,并重新从初值开始新的计数过程。此时,OUT输出完全对称的方波 图图图图10.7(b)10.7(b)方式方式方式方式33计数值为计数值为计数值为计数值为奇数奇数奇数奇数时的波形时的波形时的波形时的波形 计数减到(N+1)/2以后,输出端OUT变为低电平 近似方波 图图图图10.7(c)10.7(c)方式方式方式方式3GATE3GATE信号的作用信号的作用信号的作用信号的作用 计数器重新装入初值并重新开始计数计数器重新装入初值并重新开始计数 图图图图10.7(d)10.7(d)方式方式方式方式33计数过程中改变计数值计数过程中改变计数值计数过程中改变计数值计数过程中改变计数值若若GATE一直维持高电平一直维持高电平,在计数结束后的下一计数周期开在计数结束后的下一计数周期开始新的计数始新的计数 ;若写入新的初值后,遇到门控信号的上升沿,则终止现行计若写入新的初值后,遇到门控信号的上升沿,则终止现行计数过程,从下一个时钟下降沿开始按新的初值进行计数。数过程,从下一个时钟下降沿开始按新的初值进行计数。 5.5.方式方式方式方式44软件触发选通方式软件触发选通方式软件触发选通方式软件触发选通方式 (SoftwareTriggeredStrobe)(SoftwareTriggeredStrobe)用方式4工作时,GATE门控信号只是用来允许或不允许定时操作的,定时的执行由程序装入的初值决定,波形图如图10.8(a)、(b)、(c)所示。图图图图10.8(a)10.8(a)方式方式方式方式44正常计数正常计数正常计数正常计数图图图图10.8(b)10.8(b)方式方式方式方式4GATE4GATE信号的作用信号的作用信号的作用信号的作用 GATE=1,允许计数;GATE信号变低,禁止计数,输出维持当时的电平,直到GATE变成高电平后继续计数,从OUT端输出一个负脉冲。图图图图10.8(c)10.8(c)方式方式方式方式44计数过程中改变计数值计数过程中改变计数值计数过程中改变计数值计数过程中改变计数值新值是立即有效的新值是立即有效的6.6.方式方式方式方式55硬件触发选通方式硬件触发选通方式硬件触发选通方式硬件触发选通方式 (HardwareTriggeredStrobe)(HardwareTriggeredStrobe)方式5为硬件触发选通方式,完全由GATE端引入的触发信号控制定时和计数,波形图如图10.9(a)、(b)、(c)所示。图图图图10.9(a)10.9(a)方式方式方式方式55正常计数正常计数正常计数正常计数OUTLSB = 3WRCLKGATECW = 1A 3 2 1 0 FF 3图图图图10.9(b)10.9(b)方式方式方式方式5 5时时时时GATEGATE信号的作用信号的作用信号的作用信号的作用 门控信号上升沿任何时候到来都会立即触发一个计数过程门控信号上升沿任何时候到来都会立即触发一个计数过程 图图图图10.9(c)10.9(c)方式方式方式方式5 5时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值新的计数初值在下一个门控信号上升沿触发后有效。新的计数初值在下一个门控信号上升沿触发后有效。 四、四、四、四、82538253的控制字与初始化编程的控制字与初始化编程的控制字与初始化编程的控制字与初始化编程 1. 82531. 82531. 82531. 8253的控制字的控制字的控制字的控制字82538253的控制字有的控制字有的控制字有的控制字有4 4个主要功能:个主要功能:个主要功能:个主要功能: * * * * 选择选择选择选择计数器计数器计数器计数器; * * * * 确定计数器数据的确定计数器数据的确定计数器数据的确定计数器数据的读写格式;读写格式;读写格式;读写格式; * * * * 确定计数器的确定计数器的确定计数器的确定计数器的工作方式;工作方式;工作方式;工作方式; * * * * 确定计数器确定计数器确定计数器确定计数器计数的数制计数的数制计数的数制计数的数制。 控制字的格式如图控制字的格式如图控制字的格式如图控制字的格式如图10.1010.10所示所示所示所示D7 D6 D5 D4 D3 D2 D1 D0计数器 读/写格式 工作方式 数制0 二进制 1 二 十进制(BCD)000 方式0 001 方式1 10方式2 11方式3 100 方式4 101 方式500 计数器锁存命令 10 只读/写高8位 01 只读/写低8位 11 首先写低8位 然后写高8位00 选择计数器0 01选择计数器1 10选择计数器2 11非法选择图图10.108253控制字格式控制字格式注:图中注:图中注:图中注:图中可以是可以是可以是可以是0 0 0 0,也可以是,也可以是,也可以是,也可以是1 1 1 1,一般取,一般取,一般取,一般取0 0 0 0 2. 82532. 82532. 82532. 8253的初始化编程的初始化编程的初始化编程的初始化编程 刚接通电源时,刚接通电源时,刚接通电源时,刚接通电源时,82538253芯片通道都处于未芯片通道都处于未芯片通道都处于未芯片通道都处于未定义状态,在使用之前,必须用程序把它们定义状态,在使用之前,必须用程序把它们定义状态,在使用之前,必须用程序把它们定义状态,在使用之前,必须用程序把它们初始化为所需的特定模式,这个过程称为初初始化为所需的特定模式,这个过程称为初初始化为所需的特定模式,这个过程称为初初始化为所需的特定模式,这个过程称为初始化编程始化编程始化编程始化编程。 (1)(1)写入控制写入控制写入控制写入控制字字字字 用输出指令向控制字寄存器写入一个用输出指令向控制字寄存器写入一个用输出指令向控制字寄存器写入一个用输出指令向控制字寄存器写入一个控制字,以选定计数器通道,规定该计数器控制字,以选定计数器通道,规定该计数器控制字,以选定计数器通道,规定该计数器控制字,以选定计数器通道,规定该计数器的工作方式和计数格式。的工作方式和计数格式。的工作方式和计数格式。的工作方式和计数格式。 (2)(2)写入计数初值写入计数初值写入计数初值写入计数初值 用输出指令向选中的计数器端口地址中用输出指令向选中的计数器端口地址中用输出指令向选中的计数器端口地址中用输出指令向选中的计数器端口地址中写入一个计数初值,初值设置时要符合控制写入一个计数初值,初值设置时要符合控制写入一个计数初值,初值设置时要符合控制写入一个计数初值,初值设置时要符合控制字中有关格式的规定。若是字中有关格式的规定。若是字中有关格式的规定。若是字中有关格式的规定。若是8 8位数位数位数位数,只要用,只要用,只要用,只要用一条输出指令一条输出指令一条输出指令一条输出指令就可完成初值的设置。如果是就可完成初值的设置。如果是就可完成初值的设置。如果是就可完成初值的设置。如果是1616位数位数位数位数,则必须用两条输出指令来完成,而,则必须用两条输出指令来完成,而,则必须用两条输出指令来完成,而,则必须用两条输出指令来完成,而且规定且规定且规定且规定先送低先送低先送低先送低8 8位位位位数据,数据,数据,数据,后送高后送高后送高后送高8 8位位位位数据。数据。数据。数据。注意注意注意注意: :计数初值为计数初值为计数初值为计数初值为0 0时,也要分成两次写入,时,也要分成两次写入,时,也要分成两次写入,时,也要分成两次写入,因为在二进制计数时它表示因为在二进制计数时它表示因为在二进制计数时它表示因为在二进制计数时它表示6553665536,在,在,在,在BCDBCD计数时它表示计数时它表示计数时它表示计数时它表示1000010000。 8253825382538253工作过程中,工作过程中,工作过程中,工作过程中,CPUCPUCPUCPU可用输入指令可用输入指令可用输入指令可用输入指令读取读取读取读取任一任一任一任一通道的计数值。通道的计数值。通道的计数值。通道的计数值。CPUCPUCPUCPU读到的是执行输入指令瞬间计读到的是执行输入指令瞬间计读到的是执行输入指令瞬间计读到的是执行输入指令瞬间计数器的当前值。但数器的当前值。但数器的当前值。但数器的当前值。但8253825382538253的计数器是的计数器是的计数器是的计数器是16161616位,所以要位,所以要位,所以要位,所以要分分分分2 2 2 2次读至次读至次读至次读至CPUCPUCPUCPU。因此,若不锁存的话,在前后两。因此,若不锁存的话,在前后两。因此,若不锁存的话,在前后两。因此,若不锁存的话,在前后两次执行输入指令的过程中,计数值可能已经变化次执行输入指令的过程中,计数值可能已经变化次执行输入指令的过程中,计数值可能已经变化次执行输入指令的过程中,计数值可能已经变化了。了。了。了。锁存锁存锁存锁存当前计数值有下面两种方法:当前计数值有下面两种方法:当前计数值有下面两种方法:当前计数值有下面两种方法: 利用利用利用利用GATEGATEGATEGATE信号使计数过程暂停。信号使计数过程暂停。信号使计数过程暂停。信号使计数过程暂停。 向向向向82538253写入一个方式控制字,写入一个方式控制字,写入一个方式控制字,写入一个方式控制字, 令令令令82538253通道的锁存器锁存。通道的锁存器锁存。通道的锁存器锁存。通道的锁存器锁存。 例如,在某微机系例如,在某微机系统统中,中,8253的的3个计数器的端口地址分别为个计数器的端口地址分别为3F0H、3F2H和和3F4H,控制字寄存器的端口地址为,控制字寄存器的端口地址为3F6H,要求,要求8253的通道的通道0工作于方式工作于方式3,BCD计数,并已知对它写入的计数计数,并已知对它写入的计数初值初值n=1234(十进制数),则初始化程序为:(十进制数),则初始化程序为:MOVAL,00110111B; 控控 制制 字字 : 选选 择择 通通 道道 0, 先先 读读 /写写 低低 字字 节节 ,;后高字节,方式后高字节,方式3,BCD计数计数MOVDX,3F6H;指向控制口;指向控制口OUTDX,AL;送控制字;送控制字MOVAL,34H;计数值低字节;计数值低字节,代表代表00110100BCDMOVDX,3F0H;指向计数器;指向计数器0端口端口OUTDX,AL;先写入低字节;先写入低字节MOVAL,12H;计数值高字节;计数值高字节,代表代表0001010BCDOUTDX,AL;后写入高字节;后写入高字节例例例例10.10.10.10.1 1 1 1五、应用举例五、应用举例五、应用举例五、应用举例 1. 82531. 82531. 82531. 8253定时功能的应用定时功能的应用定时功能的应用定时功能的应用 在在在在计计计计算算算算机机机机应应应应用用用用中中中中,经经经经常常常常会会会会遇遇遇遇到到到到隔隔隔隔一一一一定定定定时时时时间间间间重重重重复复复复某某某某一一一一个动作的应用。个动作的应用。个动作的应用。个动作的应用。 设设设设某某某某应应应应用用用用系系系系统统统统中中中中,系系系系统统统统提提提提供供供供一一一一个个个个频频频频率率率率为为为为10101010kHzkHzkHzkHz的的的的时时时时钟信号,要求钟信号,要求钟信号,要求钟信号,要求每隔每隔每隔每隔100ms100ms100ms100ms采集一次采集一次采集一次采集一次数据。数据。数据。数据。 在系在系在系在系统统统统中,采用中,采用中,采用中,采用82538253定时器的通道定时器的通道定时器的通道定时器的通道0 0来实现这一来实现这一来实现这一来实现这一要求。将要求。将要求。将要求。将82538253芯片的芯片的芯片的芯片的CLKCLK0 0接到系统的接到系统的接到系统的接到系统的1 10 0kHzkHz时钟上,时钟上,时钟上,时钟上,OUTOUT0 0输出接到输出接到输出接到输出接到CPUCPU的中断请求线上,的中断请求线上,的中断请求线上,的中断请求线上,82538253的端口地的端口地的端口地的端口地址为址为址为址为10H13H10H13H,如图,如图,如图,如图10.1110.11所示。所示。所示。所示。 中断请求信号CPU总线OUT0 图10.11 8253用于定时中断(1)(1)选择工作方式选择工作方式选择工作方式选择工作方式( (分频分频分频分频) ) 由于系统每隔由于系统每隔100ms定时中断一次,则采样频率定时中断一次,则采样频率为为10Hz,可选用,可选用方式方式2来实现。当来实现。当8253定时器工作在定时器工作在方式方式2时,在写入控制字与计数初值后,定时器就启时,在写入控制字与计数初值后,定时器就启动工作,每到动工作,每到100ms时间,即计数器减到时间,即计数器减到1时,输出时,输出端端OUT0输出一个输出一个CLK周期的低电平,向周期的低电平,向CPU申请中申请中断,断,CPU在中断服务程序中完成数据采集,同时按在中断服务程序中完成数据采集,同时按原设定值重新开始计数,实现了计数值的自动重装。原设定值重新开始计数,实现了计数值的自动重装。(2)(2)确定计数初值确定计数初值确定计数初值确定计数初值 已已已已知知知知 f fCLK0CLK0=10kHz=10kHz,则则则则T TCLK0CLK0=0.1ms=0.1ms,所所所所以以以以,计数初值计数初值计数初值计数初值 N N= =T TOUT0OUT0/ /T TCLK0CLK0=100ms/0.1ms=100ms/0.1ms=10001000=03E8H=03E8H (3)(3)初始化编程初始化编程初始化编程初始化编程 根据以上要求,可确定根据以上要求,可确定根据以上要求,可确定根据以上要求,可确定82538253通道通道通道通道0 0的方式的方式的方式的方式控制字为控制字为控制字为控制字为000011110100100 0B B,即,即,即,即34H34H。 初始化程序段如下:初始化程序段如下:初始化程序段如下:初始化程序段如下: MOVALMOVAL,34H34H ;通道;通道;通道;通道0 0,1616位计数,方式位计数,方式位计数,方式位计数,方式2 2,二进制计数,二进制计数,二进制计数,二进制计数 OUT13HOUT13H,ALAL ;写入方式控制字到控制字寄存器;写入方式控制字到控制字寄存器;写入方式控制字到控制字寄存器;写入方式控制字到控制字寄存器 MOVAL,0E8HMOVAL,0E8H ; ;计计数初数初数初数初值值低低低低8 8位位位位 OUT10HOUT10H,ALAL ;写入计数初值低;写入计数初值低;写入计数初值低;写入计数初值低8 8位到通道位到通道位到通道位到通道0 0 MOVAL,03HMOVAL,03H ; ;计计数初数初数初数初值值高高高高8 8位位位位 OUT10HOUT10H,ALAL ;写入计数初值高;写入计数初值高;写入计数初值高;写入计数初值高8 8位到通道位到通道位到通道位到通道0 0 例例例例10.10.10.10.2 2 2 22. 82532. 82532. 82532. 8253计数功能的应用计数功能的应用计数功能的应用计数功能的应用 通通通通过过过过PCPC机机机机系系系系统统统统总总总总线线线线在在在在外外外外部部部部扩扩扩扩展展展展一一一一个个个个82538253,利利利利用用用用其其其其通通通通道道道道0 0记记记记录录录录外外外外部部部部事事事事件件件件的的的的发发发发生生生生次次次次数数数数,每每每每输输输输入入入入一一一一个个个个高高高高脉脉脉脉冲冲冲冲表表表表示示示示事事事事件件件件发发发发生生生生1 1次次次次。当当当当事事事事件件件件发发发发生生生生100100次次次次后后后后就就就就向向向向CPUCPU提提提提出出出出中中中中断断断断请请请请求求求求(边边边边沿沿沿沿触触触触发发发发),假假假假设设设设82538253片片片片选选选选信信信信号号号号的的的的I/OI/O地地地地址范围为址范围为址范围为址范围为200H203H200H203H,如图,如图,如图,如图10.1210.12。 外部事件产生外部事件产生A0A1A3A9译码译码电路电路图10.12 8253用于外部事件的计数 根据要求,可以选择根据要求,可以选择根据要求,可以选择根据要求,可以选择方式方式方式方式0 0来实现,计数初值来实现,计数初值来实现,计数初值来实现,计数初值N=100N=100。82538253初始化程序段如下:初始化程序段如下:初始化程序段如下:初始化程序段如下: MOVDXMOVDX,203H203H ;设置方式控制字地址;设置方式控制字地址;设置方式控制字地址;设置方式控制字地址 MOVALMOVAL,10H10H ;设设设设定定定定通通通通道道道道0 0为为为为工工工工作作作作方方方方式式式式0 0,二二二二进进进进制制制制计计计计数数数数,只只只只写写写写入入入入;低字节计数值;低字节计数值;低字节计数值;低字节计数值 OUTDXOUTDX,ALAL MOVDXMOVDX,200H200H ;设置计数器通道;设置计数器通道;设置计数器通道;设置计数器通道0 0的地址的地址的地址的地址 MOVALMOVAL,64H64H ;计数初值为;计数初值为;计数初值为;计数初值为100100 OUTDXOUTDX,ALAL 例例例例10.10.10.10.3 3 3 33. 82533. 82533. 82533. 8253计数通道的级联应用计数通道的级联应用计数通道的级联应用计数通道的级联应用 已已已已知知知知某某某某82538253占占占占用用用用I/OI/O空空空空间间间间地地地地址址址址为为为为320H323H320H323H,如如如如图图图图10.1310.13所所所所示示示示,输输输输入入入入其其其其CKLCKL1 1端端端端的的的的脉脉脉脉冲冲冲冲频频频频率率率率为为为为1MHz1MHz,要求用,要求用,要求用,要求用82538253连续产生连续产生连续产生连续产生1010秒的定时信号。秒的定时信号。秒的定时信号。秒的定时信号。 分析:分析:分析:分析:82538253的一个通道的最大计数范围为的一个通道的最大计数范围为的一个通道的最大计数范围为的一个通道的最大计数范围为6553665536,本例,本例,本例,本例中要求输出中要求输出中要求输出中要求输出1010秒定时信号,则计数初值秒定时信号,则计数初值秒定时信号,则计数初值秒定时信号,则计数初值N=10/10N=10/1066= =10107 7,超过了超过了超过了超过了82538253一个通道的最大计数值,此时可以使用一个通道的最大计数值,此时可以使用一个通道的最大计数值,此时可以使用一个通道的最大计数值,此时可以使用2 2个个个个82538253通道通道通道通道级连方式级连方式级连方式级连方式来实现。来实现。来实现。来实现。若级连前若级连前若级连前若级连前2 2个通道的初值为个通道的初值为个通道的初值为个通道的初值为N N1 1和和和和N N2 2,则级连后作为一个整体的计数值为,则级连后作为一个整体的计数值为,则级连后作为一个整体的计数值为,则级连后作为一个整体的计数值为N=NN=N1 1N N2 2。 通道通道1通道通道210秒定时输出秒定时输出图10.13 8253通道的级联设计数器初值设计数器初值设计数器初值设计数器初值N1=N1=500500=1F4H=1F4H,N2=N2=2000020000=4E20H=4E20H,使用方,使用方,使用方,使用方式式式式2 2,二进制计数,则通道,二进制计数,则通道,二进制计数,则通道,二进制计数,则通道1 1、2 2的初始化程序如下:的初始化程序如下:的初始化程序如下:的初始化程序如下:MOVDXMOVDX,323H323H MOVALMOVAL,74H74H ;01110100B01110100B,通通通通道道道道1 1,写写写写入入入入1616位位位位初初初初值值值值,方方方方式式式式2 2,;二进制计数;二进制计数;二进制计数;二进制计数 OUTDXOUTDX,ALAL ;写入通道;写入通道;写入通道;写入通道1 1方式字方式字方式字方式字 MOVDXMOVDX,321H321H MOVAL,0F4HMOVAL,0F4H OUTDXOUTDX,ALAL ;写入初值;写入初值;写入初值;写入初值500500的低的低的低的低8 8位入通道位入通道位入通道位入通道1 1 MOVALMOVAL,01H01H OUTDXOUTDX,ALAL ;写入初值;写入初值;写入初值;写入初值500500的高的高的高的高8 8位入通道位入通道位入通道位入通道1 1 MOVDXMOVDX,323H323H MOVALMOVAL,0B4H0B4H ;10110100B10110100B,通通通通道道道道2 2,写写写写入入入入1616位位位位初初初初值值值值,方方方方式式式式2 2,;二进制计数;二进制计数;二进制计数;二进制计数 OUTDXOUTDX,ALAL ;写入通道;写入通道;写入通道;写入通道2 2方式字方式字方式字方式字 MOVDXMOVDX,322H322H MOVALMOVAL, 20H20H OUTDXOUTDX,ALAL ;写入通道;写入通道;写入通道;写入通道2 2初值初值初值初值2000020000的低的低的低的低8 8位位位位 MOVALMOVAL,4EH4EH OUTDXOUTDX,ALAL ;写入通道;写入通道;写入通道;写入通道2 2初值初值初值初值2000020000的高的高的高的高8 8位位位位
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号