《微机原理第9章-计数器和定时器.ppt》由会员分享,可在线阅读,更多相关《微机原理第9章-计数器和定时器.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、定时与计数技术及应用定时与计数技术及应用定时定时/计数器计数器8253本章内容本章内容本章内容本章内容 了解定时了解定时/计数技术的应用情况计数技术的应用情况掌握掌握8253的连接与编程的连接与编程学习目的学习目的学习目的学习目的熟习熟习8253的工作方式的工作方式9.1概述概述 定定定定时计时计数技数技数技数技术术在在在在计计算机中具有极算机中具有极算机中具有极算机中具有极为为重要的重要的重要的重要的作用。微机控制系统中,常要按一定的采样周作用。微机控制系统中,常要按一定的采样周作用。微机控制系统中,常要按一定的采样周作用。微机控制系统中,常要按一定的采样周期对处理对象进行采样或定时检测某些
2、参数等,期对处理对象进行采样或定时检测某些参数等,期对处理对象进行采样或定时检测某些参数等,期对处理对象进行采样或定时检测某些参数等,用计数器对外部事件计数,即记录外设提供的用计数器对外部事件计数,即记录外设提供的用计数器对外部事件计数,即记录外设提供的用计数器对外部事件计数,即记录外设提供的脉冲个数。在实时操作系统和多任务操作系统脉冲个数。在实时操作系统和多任务操作系统脉冲个数。在实时操作系统和多任务操作系统脉冲个数。在实时操作系统和多任务操作系统中,可以利用定时器产生的定时中断进行进程中,可以利用定时器产生的定时中断进行进程中,可以利用定时器产生的定时中断进行进程中,可以利用定时器产生的定
3、时中断进行进程调度。调度。调度。调度。定时器和计数器都由数字电路中的计数电路构成。定时器和计数器都由数字电路中的计数电路构成。定时器和计数器都由数字电路中的计数电路构成。定时器和计数器都由数字电路中的计数电路构成。前者记录高精度晶振脉冲信号,因此可以输出准确的时前者记录高精度晶振脉冲信号,因此可以输出准确的时前者记录高精度晶振脉冲信号,因此可以输出准确的时前者记录高精度晶振脉冲信号,因此可以输出准确的时间间隔,称为间间隔,称为间间隔,称为间间隔,称为定时器定时器定时器定时器,而当记录外设提供的具有一定随,而当记录外设提供的具有一定随,而当记录外设提供的具有一定随,而当记录外设提供的具有一定随机
4、性的脉冲信号时,它主要反映脉冲的个数,称为机性的脉冲信号时,它主要反映脉冲的个数,称为机性的脉冲信号时,它主要反映脉冲的个数,称为机性的脉冲信号时,它主要反映脉冲的个数,称为计数计数计数计数器器器器。定时的方法有定时的方法有定时的方法有定时的方法有3 3种:软件定时、不可编程的硬件定种:软件定时、不可编程的硬件定种:软件定时、不可编程的硬件定种:软件定时、不可编程的硬件定时和可编程的定时。时和可编程的定时。时和可编程的定时。时和可编程的定时。一、定时和计数一、定时和计数一、定时和计数一、定时和计数 1.1.软件定时软件定时软件定时软件定时 根据根据根据根据CPUCPU执行每条指令需要一定的时间
5、,执行每条指令需要一定的时间,执行每条指令需要一定的时间,执行每条指令需要一定的时间,重复执行一些指令就会占用一段固定的时间,重复执行一些指令就会占用一段固定的时间,重复执行一些指令就会占用一段固定的时间,重复执行一些指令就会占用一段固定的时间,通过适当地选取指令和循环次数便很容易实现通过适当地选取指令和循环次数便很容易实现通过适当地选取指令和循环次数便很容易实现通过适当地选取指令和循环次数便很容易实现定时功能,这种方法不需要增加硬件,可通过定时功能,这种方法不需要增加硬件,可通过定时功能,这种方法不需要增加硬件,可通过定时功能,这种方法不需要增加硬件,可通过编程来控制和改变定时时间,灵活方便
6、,节省编程来控制和改变定时时间,灵活方便,节省编程来控制和改变定时时间,灵活方便,节省编程来控制和改变定时时间,灵活方便,节省费用。缺点是费用。缺点是费用。缺点是费用。缺点是CPUCPU重复执行的这段程序的本身重复执行的这段程序的本身重复执行的这段程序的本身重复执行的这段程序的本身并没有什么具体目的,仅为延时,从而降低了并没有什么具体目的,仅为延时,从而降低了并没有什么具体目的,仅为延时,从而降低了并没有什么具体目的,仅为延时,从而降低了CPUCPU利用率。利用率。利用率。利用率。2.2.2.2.不可编程的硬件定时不可编程的硬件定时不可编程的硬件定时不可编程的硬件定时 这种方法采用数字电路中的
7、分频器将这种方法采用数字电路中的分频器将系统时钟进行适当的分频产生需要的定时系统时钟进行适当的分频产生需要的定时信号;也可以采用单稳电路或简易定时电信号;也可以采用单稳电路或简易定时电路(如常用的路(如常用的555555定时器)由外接定时器)由外接RCRC电路电路控制定时时间。但是,这种定时电路在硬控制定时时间。但是,这种定时电路在硬件接好后,定时范围不易由程序来改变和件接好后,定时范围不易由程序来改变和控制,使用不甚方便,而且定时精度也不控制,使用不甚方便,而且定时精度也不高。高。3.3.3.3.可编程的定时可编程的定时可编程的定时可编程的定时在微机系统中,常采用软件、硬件相在微机系统中,常
8、采用软件、硬件相在微机系统中,常采用软件、硬件相在微机系统中,常采用软件、硬件相结合的方法,用可编程定时计数器芯片构结合的方法,用可编程定时计数器芯片构结合的方法,用可编程定时计数器芯片构结合的方法,用可编程定时计数器芯片构成一个方便灵活的定时计数电路。这种电成一个方便灵活的定时计数电路。这种电成一个方便灵活的定时计数电路。这种电成一个方便灵活的定时计数电路。这种电路不仅定时值和定时范围可用程序确定和路不仅定时值和定时范围可用程序确定和路不仅定时值和定时范围可用程序确定和路不仅定时值和定时范围可用程序确定和改变,而且具有多种工作方式,可以输出改变,而且具有多种工作方式,可以输出改变,而且具有多
9、种工作方式,可以输出改变,而且具有多种工作方式,可以输出多种控制信号,它由微处理器的时钟信号多种控制信号,它由微处理器的时钟信号多种控制信号,它由微处理器的时钟信号多种控制信号,它由微处理器的时钟信号提供时间基准,故计时也精确稳定。如提供时间基准,故计时也精确稳定。如提供时间基准,故计时也精确稳定。如提供时间基准,故计时也精确稳定。如Intel8253Intel8253。二、二、二、二、82538253的基本功能和内部结构的基本功能和内部结构的基本功能和内部结构的基本功能和内部结构(1 1)3 3个独立的个独立的个独立的个独立的1616位计数器,最大计数范围为位计数器,最大计数范围为位计数器,
10、最大计数范围为位计数器,最大计数范围为065535065535;(2 2)每个计数器均可以按二进制或二)每个计数器均可以按二进制或二)每个计数器均可以按二进制或二)每个计数器均可以按二进制或二十进制计数;十进制计数;十进制计数;十进制计数;(3 3)计数器速率可达)计数器速率可达)计数器速率可达)计数器速率可达2 2MHzMHz;(4 4)可编程可编程可编程可编程6 6种不同的工作方式;种不同的工作方式;种不同的工作方式;种不同的工作方式;(5 5)所有输入和输出都与)所有输入和输出都与)所有输入和输出都与)所有输入和输出都与TTLTTL兼容。兼容。兼容。兼容。82538253具有较好的通用性
11、和使用灵活性,几乎适合于任具有较好的通用性和使用灵活性,几乎适合于任具有较好的通用性和使用灵活性,几乎适合于任具有较好的通用性和使用灵活性,几乎适合于任何一种微处理器组成的系统。何一种微处理器组成的系统。何一种微处理器组成的系统。何一种微处理器组成的系统。1.8253 1.8253 1.8253 1.8253 PITPITPITPIT的基本功能的基本功能的基本功能的基本功能2.82532.82532.82532.8253的内部结构的内部结构的内部结构的内部结构 82538253的内部结构如图的内部结构如图的内部结构如图的内部结构如图9.19.1所示,由数据总线缓冲器、所示,由数据总线缓冲器、所
12、示,由数据总线缓冲器、所示,由数据总线缓冲器、控制寄存器、读控制寄存器、读控制寄存器、读控制寄存器、读/写控制逻辑和计数器等部分组成。写控制逻辑和计数器等部分组成。写控制逻辑和计数器等部分组成。写控制逻辑和计数器等部分组成。图9.1 8253的内部结构示意图(1 1)数据总线缓冲器)数据总线缓冲器)数据总线缓冲器)数据总线缓冲器 该缓冲器为该缓冲器为该缓冲器为该缓冲器为8 8位双向三态的缓冲器,可直接挂位双向三态的缓冲器,可直接挂位双向三态的缓冲器,可直接挂位双向三态的缓冲器,可直接挂在数据总线上。在数据总线上。在数据总线上。在数据总线上。CPUCPU通过通过通过通过8 8位数据总线位数据总线
13、位数据总线位数据总线D D0DD7传送传送传送传送如下信息:如下信息:如下信息:如下信息:向控制寄存器写入控制字。向控制寄存器写入控制字。向控制寄存器写入控制字。向控制寄存器写入控制字。向某计数器写入计数初值。向某计数器写入计数初值。向某计数器写入计数初值。向某计数器写入计数初值。CPUCPU通过缓冲器读取计数器的当前计数值通过缓冲器读取计数器的当前计数值通过缓冲器读取计数器的当前计数值通过缓冲器读取计数器的当前计数值(2 2)读)读)读)读/写控制逻辑写控制逻辑写控制逻辑写控制逻辑 决定三个计数器和控制字寄存器中哪一个能进行工作,决定三个计数器和控制字寄存器中哪一个能进行工作,并控制内部总线
14、上数据传送的方向。并控制内部总线上数据传送的方向。CSCS片选信号片选信号片选信号片选信号,低电平有效低电平有效低电平有效低电平有效(此时此时此时此时CPUCPU才能对才能对才能对才能对82538253进行读写操作进行读写操作进行读写操作进行读写操作),由地址总线经,由地址总线经,由地址总线经,由地址总线经I/OI/O端口译码电路产生。端口译码电路产生。端口译码电路产生。端口译码电路产生。RDRD读信号,低电平有效,此时表示读信号,低电平有效,此时表示读信号,低电平有效,此时表示读信号,低电平有效,此时表示CPUCPU正在读取所选定的计正在读取所选定的计正在读取所选定的计正在读取所选定的计数器
15、通道中的内容。数器通道中的内容。数器通道中的内容。数器通道中的内容。WRWR写信号,低电平有效,此时表示写信号,低电平有效,此时表示写信号,低电平有效,此时表示写信号,低电平有效,此时表示CPUCPU正在将计数初值写入正在将计数初值写入正在将计数初值写入正在将计数初值写入所选中的计数通道中或将控制字写入控制寄存器中。所选中的计数通道中或将控制字写入控制寄存器中。所选中的计数通道中或将控制字写入控制寄存器中。所选中的计数通道中或将控制字写入控制寄存器中。A A1 1A A0 0端口选择信号,端口选择信号,端口选择信号,端口选择信号,82538253内部有内部有内部有内部有3 3个计数器通道和一个
16、控制寄个计数器通道和一个控制寄个计数器通道和一个控制寄个计数器通道和一个控制寄存器端口。当存器端口。当存器端口。当存器端口。当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位的位的编码决定该控制字写入哪
17、个计数器的控制寄存器,控制编码决定该控制字写入哪个计数器的控制寄存器,控制寄存器只能写入,不能读出。寄存器只能写入,不能读出。(4 4)计数器)计数器)计数器)计数器当当8253用作计数器时,加在用作计数器时,加在CLK引脚上脉冲的间隔引脚上脉冲的间隔可以是不相等的;当它用作定时器时,则在可以是不相等的;当它用作定时器时,则在CLK引脚应引脚应输入精确的时钟脉冲,输入精确的时钟脉冲,8253所能实现的定时时间,取决所能实现的定时时间,取决于计数脉冲的频率和计数器的初值,即:定时时间于计数脉冲的频率和计数器的初值,即:定时时间=时时钟脉钟脉冲冲周期周期Tc预置的计数初值预置的计数初值n。对对82
18、53来讲,外部输入到来讲,外部输入到CLK引脚上的时钟脉冲频引脚上的时钟脉冲频率不能大于率不能大于2MHZ,否则需分频后才能送到否则需分频后才能送到CLK端。端。图9.2 计数器内部逻辑图控制单元初值寄存器减1计数器输出锁存器内 部 总 线CLKGATEOUT控制单元初值寄存器减1计数器输出锁存器内 部 总 线CLK三、三、三、三、82538253的引脚信号的引脚信号的引脚信号的引脚信号图9.3 8253PIT管脚图计计计计数数数数器器器器0 0计计计计数数数数器器器器1 1计计计计数数数数器器器器2 2数数数数据据据据线线线线控控控控制制制制线线线线电电电电源源源源线线线线82538253是
19、是是是一片具有一片具有一片具有一片具有3 3个独立通个独立通个独立通个独立通道的道的道的道的1616位位位位计数器计数器计数器计数器/定定定定时器芯片,时器芯片,时器芯片,时器芯片,使用单一使用单一使用单一使用单一+5+5V V电源,电源,电源,电源,2424引脚双引脚双引脚双引脚双列直插式列直插式列直插式列直插式封装,如封装,如封装,如封装,如图图图图9.39.3所示所示所示所示1.1.1.1.与与与与CPUCPU的接口信号的接口信号的接口信号的接口信号(1 1)D D0 0DD7 7三态双向数据线。与三态双向数据线。与三态双向数据线。与三态双向数据线。与CPUCPU数据总线相连,数据总线相
20、连,数据总线相连,数据总线相连,用于传递用于传递用于传递用于传递CPUCPU与与与与82538253之间的数据信息、控之间的数据信息、控之间的数据信息、控之间的数据信息、控 制信息和状态信息制信息和状态信息制信息和状态信息制信息和状态信息;(2 2)CSCS片选信号(片选信号(片选信号(片选信号(ChipSelectChipSelect),),),),输入,低电平有效输入,低电平有效输入,低电平有效输入,低电平有效;(3 3)WRWR写写写写信信信信号号号号,输输输输入入入入,低低低低电电电电平平平平有有有有效效效效,用用用用于于于于控控控控制制制制CPUCPU对对对对 82538253的的的
21、的写写写写操操操操作作作作,可可可可与与与与A A1 1,A A0 0信信信信号号号号配配配配合合合合以以以以决决决决定定定定 是写入控制字还是计数初值是写入控制字还是计数初值是写入控制字还是计数初值是写入控制字还是计数初值;(4 4)RDRD读信号,输入,低电平有效。用于控制读信号,输入,低电平有效。用于控制读信号,输入,低电平有效。用于控制读信号,输入,低电平有效。用于控制CPUCPU对对对对82538253的读操作,可与的读操作,可与的读操作,可与的读操作,可与A A1 1,A A0 0信号配合读取信号配合读取信号配合读取信号配合读取 某个计数器的当前计数值某个计数器的当前计数值某个计数
22、器的当前计数值某个计数器的当前计数值;(5 5)A A0 0,A A1 1地址输入线。用于地址输入线。用于地址输入线。用于地址输入线。用于82538253内部寻址的内部寻址的内部寻址的内部寻址的4 4个个个个 端口,即端口,即端口,即端口,即3 3个计数器和一个控制字寄存个计数器和一个控制字寄存个计数器和一个控制字寄存个计数器和一个控制字寄存 器。一般与器。一般与器。一般与器。一般与CPUCPU低位的地址线相连低位的地址线相连低位的地址线相连低位的地址线相连。A A1 1A A0 0寄存器选择和操作寄存器选择和操作寄存器选择和操作寄存器选择和操作0 00 00 00 00 00 00 00 0
23、1 10 0 0 01 11 11 11 10 00 00 00 0 1 10 00 00 00 01 11 11 11 1 1 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 无操作无操作无操作无操作 禁止使用
24、禁止使用禁止使用禁止使用无操作无操作无操作无操作CSCSRDRDWRWR表表表表9.182539.18253读读读读/写操作逻辑表写操作逻辑表写操作逻辑表写操作逻辑表 2.2.2.2.与与与与外部设备外部设备外部设备外部设备的接口信号的接口信号的接口信号的接口信号(1 1)CLKCLK0 0(CLKCLK1 1,CLKCLK2 2)时钟脉冲输入端,用于输时钟脉冲输入端,用于输时钟脉冲输入端,用于输时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。入定时脉冲或计数脉冲信号。入定时脉冲或计数脉冲信号。入定时脉冲或计数脉冲信号。CLKCLK可以是系统时钟脉冲,也可以是系统时钟脉冲,也可以是系统时钟脉冲
25、,也可以是系统时钟脉冲,也可以是由其他脉冲源提供。可以是由其他脉冲源提供。可以是由其他脉冲源提供。可以是由其他脉冲源提供。82538253规定加在规定加在规定加在规定加在CLKCLK引脚的输入时引脚的输入时引脚的输入时引脚的输入时钟周期不得小于钟周期不得小于钟周期不得小于钟周期不得小于380380nsns;(2 2)GATEGATE0 0(GATEGATE1 1,GATEGATE2 2)门控输入端,用于外门控输入端,用于外门控输入端,用于外门控输入端,用于外部控制计数器的启动或停止计数的操作。当部控制计数器的启动或停止计数的操作。当部控制计数器的启动或停止计数的操作。当部控制计数器的启动或停止
26、计数的操作。当GATEGATE为高电平为高电平为高电平为高电平时,允许计数器工作,当时,允许计数器工作,当时,允许计数器工作,当时,允许计数器工作,当GATEGATE为低电平时,禁止计数器工为低电平时,禁止计数器工为低电平时,禁止计数器工为低电平时,禁止计数器工作;作;作;作;(3 3)OUTOUT0 0(OUTOUT1 1,OUTOUT22)计计计计数数数数输输输输出出出出端端端端。在在在在不不不不同同同同工工工工作作作作方方方方式式式式中中中中,当当当当计计计计数数数数器器器器计计计计数数数数到到到到0 0时时时时,OUTOUT引引引引脚脚脚脚上上上上必必必必输输输输出出出出相相相相应应应
27、应的的的的信号。信号。信号。信号。9.282539.28253的工作方式的工作方式的工作方式的工作方式82538253是是是是一一一一种种种种面面面面向向向向微微微微机机机机系系系系统统统统的的的的专专专专用用用用接接接接口口口口芯芯芯芯片片片片,它它它它的的的的每每每每一一一一个个个个计计计计数数数数器器器器都都都都可可可可以以以以按按按按照照照照控控控控制制制制字字字字的的的的规规规规定定定定有有有有6 6种种种种不不不不同同同同的的的的工工工工作作作作方方方方式,式,式,式,每种工作方式中都有以下三种情况:每种工作方式中都有以下三种情况:每种工作方式中都有以下三种情况:每种工作方式中都有
28、以下三种情况:*正常计数的波形图;正常计数的波形图;正常计数的波形图;正常计数的波形图;*正在计数过程中改变门控信号正在计数过程中改变门控信号正在计数过程中改变门控信号正在计数过程中改变门控信号GATEGATE后对整个计后对整个计后对整个计后对整个计 数工作的影响;数工作的影响;数工作的影响;数工作的影响;*正正正正在在在在计计计计数数数数的的的的过过过过程程程程中中中中改改改改变变变变计计计计数数数数值值值值对对对对整整整整个个个个计计计计数数数数工工工工作作作作的的的的影响。影响。影响。影响。1.1.方式方式方式方式00计数结束中断方式计数结束中断方式计数结束中断方式计数结束中断方式(In
29、terruptonTerminalCount)InterruptonTerminalCount)方式方式0的工作时序如图的工作时序如图9.4(a)(b)(c)所示。所示。图图图图9.4(a)9.4(a)方式方式方式方式00正常计数正常计数正常计数正常计数CW=10LSB=3WRCLKGATEOUT322210FFCW=10LSB=3WRCLKGATEOUT322210FF图图图图9.4(b)9.4(b)方式方式方式方式0 0时时时时GATEGATE信号的作用信号的作用信号的作用信号的作用图图图图9.4(c)9.4(c)方式方式方式方式0 0时计数过程中改变计数值时计数过程中改变计数值时计数过程
30、中改变计数值时计数过程中改变计数值注意注意82538253写计数值是由写计数值是由写计数值是由写计数值是由CPUCPU的的的的WRWR信号控信号控信号控信号控制的,在制的,在制的,在制的,在WRWR信号的上升沿,计数值被送信号的上升沿,计数值被送信号的上升沿,计数值被送信号的上升沿,计数值被送入对应计数器的计数值寄存器,在入对应计数器的计数值寄存器,在入对应计数器的计数值寄存器,在入对应计数器的计数值寄存器,在WRWR信信信信号上升沿之后的下一个号上升沿之后的下一个号上升沿之后的下一个号上升沿之后的下一个CLKCLK脉冲才开始计脉冲才开始计脉冲才开始计脉冲才开始计数。如果设置计数初值数。如果设
31、置计数初值数。如果设置计数初值数。如果设置计数初值N N,输出输出输出输出OUTOUT是在是在是在是在写入命令执行后,第写入命令执行后,第写入命令执行后,第写入命令执行后,第N+1N+1个个个个CLKCLK脉冲之后,脉冲之后,脉冲之后,脉冲之后,才变为高电平的。后面的方式才变为高电平的。后面的方式才变为高电平的。后面的方式才变为高电平的。后面的方式1 1、2 2、4 4、5 5也有同样的特点。也有同样的特点。也有同样的特点。也有同样的特点。2.2.方式方式方式方式11可编程的单稳态触发器可编程的单稳态触发器可编程的单稳态触发器可编程的单稳态触发器(ProgrammableOneShort)Pr
32、ogrammableOneShort)方式方式1的工作波形如图的工作波形如图9.5(a)、(b)、(c)所示。所示。图图图图9.5(a)9.5(a)方式方式方式方式1 1正常计数正常计数正常计数正常计数LSB=3WRCLKGATEOUT3210FF32CW=12LSB=3WRCLKGATEOUT3210FF32CW=12图图图图9.5(b)9.5(b)方式方式方式方式1 1时时时时GATEGATE信号的作用信号的作用信号的作用信号的作用LSB=3WRCLK321321CW=12 0GATEOUT图图图图9.5(c)9.5(c)方式方式方式方式1 1时计数过程中改变计数值时计数过程中改变计数值时
33、计数过程中改变计数值时计数过程中改变计数值LSB=2WRCLKGATEOUT4210FF3FECW=12LSB=4LSB=2WRCLKGATEOUT4210FF3FECW=12LSB=43.3.方式方式方式方式22比率发生器、分频器比率发生器、分频器比率发生器、分频器比率发生器、分频器(RateGenerator)RateGenerator)方式2用门控信号达到同步计数的目的,波形图如图9.6(a)、(b)、(c)、(d)所示。图图图图9.6(a)9.6(a)方式方式方式方式22正常计数正常计数正常计数正常计数图图图图9.6(b)9.6(b)方式方式方式方式2 2时时时时GATEGATE信号的
34、作用信号的作用信号的作用信号的作用4CW=14LSB=5 WRCLKGATEOUT3214534CW=14LSB=4 LSB=5 WRCLKGATEOUT321453图图图图9.6(c)9.6(c)方式方式方式方式2 2时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值时计数过程中改变计数值4.4.方式方式方式方式33方波发生器方波发生器方波发生器方波发生器(SquareWaveGenerator)SquareWaveGenerator)方式3的工作过程同方式2,只是输出的脉宽不同,波形如图9.7(a)、(b)、(c)、(d)所示。图图图图9.7(a)9.7(a)方式方式方式方
35、式33计数值为偶数时的波形计数值为偶数时的波形计数值为偶数时的波形计数值为偶数时的波形图图图图9.7(b)9.7(b)方式方式方式方式33计数值为奇数时的波形计数值为奇数时的波形计数值为奇数时的波形计数值为奇数时的波形图图图图9.7(c)9.7(c)方式方式方式方式33GATEGATE信号的作用信号的作用信号的作用信号的作用图图图图9.7(d)9.7(d)方式方式方式方式33计数过程中改变计数值计数过程中改变计数值计数过程中改变计数值计数过程中改变计数值5.5.方式方式方式方式44软件触发选通方式软件触发选通方式软件触发选通方式软件触发选通方式(SoftwareTriggeredStrobe)
36、SoftwareTriggeredStrobe)用方式4工作时,GATE门控信号只是用来允许或不允许定时操作的,定时的执行过程由装入的初值决定,波形图如图9.8(a)、(b)、(c)所示。图图图图9.8(a)9.8(a)方式方式方式方式44正常计数正常计数正常计数正常计数图图图图9.8(b)9.8(b)方式方式方式方式44GATEGATE信号的作用信号的作用信号的作用信号的作用图图图图9.8(c)9.8(c)方式方式方式方式44计数过程中改变计数值计数过程中改变计数值计数过程中改变计数值计数过程中改变计数值6.6.方式方式方式方式55硬件触发选通方式硬件触发选通方式硬件触发选通方式硬件触发选通
37、方式(HardwareTriggeredStrobe)HardwareTriggeredStrobe)方式5为硬件触发选通方式,完全由GATE端引入的触发信号控制定时和计数,波形图如图9.9(a)、(b)、(c)所示。图图图图9.9(a)9.9(a)方式方式方式方式55正常计数正常计数正常计数正常计数OUTLSB=3WRCLKGATECW=1A 3 2 1 0 FF 3图图图图9.9(b)9.9(b)方式方式方式方式5 5时时时时GATEGATE信号的作用信号的作用信号的作用信号的作用图图图图9.9(c)9.9(c)方式方式方式方式5 5时计数过程中改变计数值时计数过程中改变计数值时计数过程中
38、改变计数值时计数过程中改变计数值9.382539.38253的控制字与初始化编程的控制字与初始化编程的控制字与初始化编程的控制字与初始化编程1.82531.82531.82531.8253的控制字的控制字的控制字的控制字82538253的控制字有的控制字有的控制字有的控制字有4 4个主要功能:个主要功能:个主要功能:个主要功能:*选择计数器;选择计数器;选择计数器;选择计数器;*确定计数器数据的读写格式;确定计数器数据的读写格式;确定计数器数据的读写格式;确定计数器数据的读写格式;*确定计数器的工作方式;确定计数器的工作方式;确定计数器的工作方式;确定计数器的工作方式;*确定计数器计数的数制。
39、确定计数器计数的数制。确定计数器计数的数制。确定计数器计数的数制。控制字的格式如图控制字的格式如图控制字的格式如图控制字的格式如图9.109.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非法选择图图9.108253控制字格式控制字格式注:图中注:图中注:图中注:图
40、中可以是可以是可以是可以是0 0 0 0,也可以是,也可以是,也可以是,也可以是1 1 1 1,一般取,一般取,一般取,一般取0 0 0 0 2.82532.82532.82532.8253的初始化编程的初始化编程的初始化编程的初始化编程 刚接通电源时,刚接通电源时,刚接通电源时,刚接通电源时,82538253芯片通道都处于未芯片通道都处于未芯片通道都处于未芯片通道都处于未定义状态,在使用之前,必须用程序把它们定义状态,在使用之前,必须用程序把它们定义状态,在使用之前,必须用程序把它们定义状态,在使用之前,必须用程序把它们初始化为所需的特定模式,这个过程称为初初始化为所需的特定模式,这个过程称
41、为初初始化为所需的特定模式,这个过程称为初初始化为所需的特定模式,这个过程称为初始化编程始化编程始化编程始化编程。(1)(1)写入控制字写入控制字写入控制字写入控制字 用输出指令向控制字寄存器写入一个用输出指令向控制字寄存器写入一个用输出指令向控制字寄存器写入一个用输出指令向控制字寄存器写入一个控制字,以选定计数器通道,规定该计数器控制字,以选定计数器通道,规定该计数器控制字,以选定计数器通道,规定该计数器控制字,以选定计数器通道,规定该计数器的工作方式和计数格式。的工作方式和计数格式。的工作方式和计数格式。的工作方式和计数格式。(2)(2)写入计数初值写入计数初值写入计数初值写入计数初值 用
42、输出指令向选中的计数器端口地址中用输出指令向选中的计数器端口地址中用输出指令向选中的计数器端口地址中用输出指令向选中的计数器端口地址中写入一个计数初值,初值设置时要符合控制写入一个计数初值,初值设置时要符合控制写入一个计数初值,初值设置时要符合控制写入一个计数初值,初值设置时要符合控制字中有关格式的规定。若是字中有关格式的规定。若是字中有关格式的规定。若是字中有关格式的规定。若是8 8位数,只要用位数,只要用位数,只要用位数,只要用一条输出指令就可完成初值的设置。如果是一条输出指令就可完成初值的设置。如果是一条输出指令就可完成初值的设置。如果是一条输出指令就可完成初值的设置。如果是1616位数
43、,则必须用两条输出指令来完成,而位数,则必须用两条输出指令来完成,而位数,则必须用两条输出指令来完成,而位数,则必须用两条输出指令来完成,而且规定先送低且规定先送低且规定先送低且规定先送低8 8位数据,后送高位数据,后送高位数据,后送高位数据,后送高8 8位数据。注位数据。注位数据。注位数据。注意,计数初值为意,计数初值为意,计数初值为意,计数初值为0 0时,也要分成两次写入,时,也要分成两次写入,时,也要分成两次写入,时,也要分成两次写入,因为在二进制计数时它表示因为在二进制计数时它表示因为在二进制计数时它表示因为在二进制计数时它表示6553665536,在,在,在,在BCDBCD计数时它表
44、示计数时它表示计数时它表示计数时它表示1000010000。8253825382538253工作过程中,工作过程中,工作过程中,工作过程中,CPUCPUCPUCPU可用输入指令读取任一可用输入指令读取任一可用输入指令读取任一可用输入指令读取任一通道的计数值。通道的计数值。通道的计数值。通道的计数值。CPUCPUCPUCPU读到的是执行输入指令瞬间计读到的是执行输入指令瞬间计读到的是执行输入指令瞬间计读到的是执行输入指令瞬间计数器的当前值。但数器的当前值。但数器的当前值。但数器的当前值。但8253825382538253的计数器是的计数器是的计数器是的计数器是16161616位,所以要位,所以要
45、位,所以要位,所以要分分分分2 2 2 2次读至次读至次读至次读至CPUCPUCPUCPU。因此,若不锁存的话,在前后两因此,若不锁存的话,在前后两因此,若不锁存的话,在前后两因此,若不锁存的话,在前后两次执行输入指令的过程中,计数值可能已经变化次执行输入指令的过程中,计数值可能已经变化次执行输入指令的过程中,计数值可能已经变化次执行输入指令的过程中,计数值可能已经变化了。锁存当前计数值有下面两种方法:了。锁存当前计数值有下面两种方法:了。锁存当前计数值有下面两种方法:了。锁存当前计数值有下面两种方法:利用利用利用利用GATEGATEGATEGATE信号使计数过程暂停。信号使计数过程暂停。信号
46、使计数过程暂停。信号使计数过程暂停。向向向向82538253写入一个方式控制字,写入一个方式控制字,写入一个方式控制字,写入一个方式控制字,令令令令82538253通道的锁存器锁存。通道的锁存器锁存。通道的锁存器锁存。通道的锁存器锁存。例如,在某微机系例如,在某微机系统中,中,8253的的3个计数器的端口地址分别个计数器的端口地址分别为为3F0H、3F2H和和3F4H,控制字寄存器的端口地址为控制字寄存器的端口地址为3F6H,要要求求8253的通道的通道0工作于方式工作于方式3,BCD计数,并已知对它写入的计计数,并已知对它写入的计数初值数初值n=1234(十进制数),则初始化程序为:十进制数
47、),则初始化程序为:MOVAL,00110111B;控制字:选择通道;控制字:选择通道0,先读,先读/写低字节,写低字节,;后高字节,方式后高字节,方式3,BCD计数计数MOVDX,3F6H;指向控制口;指向控制口OUTDX,AL;送控制字;送控制字MOVAL,34H;计数值低字节;计数值低字节,代表代表00110100BCDMOVDX,3F0H;指向计数器;指向计数器0端口端口OUTDX,AL;先写入低字节;先写入低字节MOVAL,12H;计数值高字节;计数值高字节,代表代表0001010BCDOUTDX,AL;后写入高字节;后写入高字节例例例例9.9.9.9.1 1 1 19.49.4应用
48、举例应用举例应用举例应用举例1.82531.82531.82531.8253定时功能的应用定时功能的应用定时功能的应用定时功能的应用 在在在在计计计计算算算算机机机机应应应应用用用用中中中中,经经经经常常常常会会会会遇遇遇遇到到到到隔隔隔隔一一一一定定定定时时时时间间间间重重重重复复复复某某某某一一一一个动作的应用。个动作的应用。个动作的应用。个动作的应用。设某应用系统中,系统提供一个频率为设某应用系统中,系统提供一个频率为设某应用系统中,系统提供一个频率为设某应用系统中,系统提供一个频率为10101010kHzkHzkHzkHz的时的时的时的时钟信号,要求每隔钟信号,要求每隔钟信号,要求每隔
49、钟信号,要求每隔100100100100msmsmsms采集一次数据。采集一次数据。采集一次数据。采集一次数据。在系在系在系在系统统中,采用中,采用中,采用中,采用82538253定时器的通道定时器的通道定时器的通道定时器的通道0 0来实现这一来实现这一来实现这一来实现这一要求。将要求。将要求。将要求。将82538253芯片的芯片的芯片的芯片的CLKCLK0 0接到系统的接到系统的接到系统的接到系统的1 10 0kHzkHz时钟上,时钟上,时钟上,时钟上,OUTOUT0 0输出接到输出接到输出接到输出接到CPUCPU的中断请求线上,的中断请求线上,的中断请求线上,的中断请求线上,8253825
50、3的端口地的端口地的端口地的端口地址为址为址为址为1010H13HH13H,如图如图如图如图9.119.11所示。所示。所示。所示。中断请求信号CPU总线OUT0图9.11 8253用于定时中断(1)(1)选择工作方式选择工作方式选择工作方式选择工作方式 由于系统每隔由于系统每隔100ms定时中断一次,则采样频率定时中断一次,则采样频率为为10Hz,可选用方式可选用方式2来实现。当来实现。当8253定时器工作在定时器工作在方式方式2时,在写入控制字与计数初值后,定时器就启动时,在写入控制字与计数初值后,定时器就启动工作,每到工作,每到100ms时间,即计数器减到时间,即计数器减到1时,输出端时