版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、定时与计数定时与计数15.1 概述概述1. 定时与计数问题的提出定时与计数问题的提出计数计数计数器:对电脉冲计数计数器:对电脉冲计数对零件产品计数、统计车辆流量等对零件产品计数、统计车辆流量等定时的本质定时的本质- -计数计数:对时间基准的计数,任何:对时间基准的计数,任何一个周期运动的周期皆可作为时间标准,将一个周期运动的周期皆可作为时间标准,将若干小片时间累积起来,就获得一定时间。若干小片时间累积起来,就获得一定时间。以秒为单位计时,即以秒为单位计时,即60秒就是秒就是1分钟,计满分钟,计满60分钟就是分钟就是1小时。小时。2定时与计数技术在微机系统及微机中的作用定时与计数技术在微机系统及
2、微机中的作用首先,微机本身的运行与时间有关,因首先,微机本身的运行与时间有关,因为微处理器为微处理器CPU内部各种操作的执行都是按内部各种操作的执行都是按时间间隔定时完成的。其次,微机的许多应时间间隔定时完成的。其次,微机的许多应用都与时间有关,尤其是在实时监测与控制用都与时间有关,尤其是在实时监测与控制系统中,系统中,3微机中的定时类型微机中的定时类型内部定时内部定时 外部定时外部定时 外部定时是外部设备实现某种功能时外部定时是外部设备实现某种功能时, ,所需要的一所需要的一种时序关系种时序关系, ,外部定时的计数单位一般为外部定时的计数单位一般为ms级和级和s级。级。 内部定时是产生运算器
3、、控制器等内部定时是产生运算器、控制器等CPU内部的内部的控制时序,比如取值周期、读控制时序,比如取值周期、读/ /写周期、中断周期写周期、中断周期等。主要用于等。主要用于CPU内部指令的执行过程。计算机内部指令的执行过程。计算机的每个操作都要按严格的事件节拍(周期)执行。的每个操作都要按严格的事件节拍(周期)执行。内部定时的计时单位比外部定时的计时单位要小内部定时的计时单位比外部定时的计时单位要小得多,一般是得多,一般是ns级。级。4外部定时的方法:外部定时的方法:1) 软件定时软件定时 延时子程序,利用循环,通过循环次数及循环延时子程序,利用循环,通过循环次数及循环体内的指令周期数来计算定
4、时时间体内的指令周期数来计算定时时间。 MOV BX, 0FFH; FFH:延时时间常数延时时间常数DELAY: DEC BX JNZ DELAY优点优点:节省硬件,实施方便:节省硬件,实施方便缺点缺点:占用:占用CPU时间,降低时间,降低CPU效率,与效率,与CPU的的工作频率有关,通用性差工作频率有关,通用性差52) 硬件定时硬件定时采用外部定时器进行定时,由于定时器是独立采用外部定时器进行定时,由于定时器是独立于于CPU而自成系统的定时设备,因此,不占用而自成系统的定时设备,因此,不占用CPU的时间,定时时间可长可短,使用灵活。尤的时间,定时时间可长可短,使用灵活。尤其是定时时间固定,不
5、受其是定时时间固定,不受CPU的工作频率影响,的工作频率影响,定时程序具有通用性。定时程序具有通用性。外部硬件定时器外部硬件定时器不可编程定时器不可编程定时器可编程定时器可编程定时器6定时采用的两种定时方式:定时采用的两种定时方式: 1) 1) 加法定时加法定时2) 2) 减法定时减法定时也称正计时也称正计时, ,将当前的时间加将当前的时间加1, ,直到与设定的时间直到与设定的时间相等时相等时, ,提示设定的时间已到提示设定的时间已到, ,如闹钟。如闹钟。也称倒计时,将设定的时间减也称倒计时,将设定的时间减1 1,直到为,直到为0,提,提示设定的时间已到,如篮球比赛等。示设定的时间已到,如篮球
6、比赛等。7定时器两种定时方式比较:定时器两种定时方式比较: 加法定时:加法定时:设定时器的计数器是一个设定时器的计数器是一个8位的寄存位的寄存器器, ,输入脉冲的周期是输入脉冲的周期是1s,则最大定时时间则最大定时时间256秒。即秒。即初值为初值为0000 0000,每输入一个脉冲计数值加每输入一个脉冲计数值加1,直直到计满溢出后输出脉冲信号,表示计数结束。到计满溢出后输出脉冲信号,表示计数结束。1111 11111111 11101111 11011111 11001111 10110000 00100000 00010000 00000000 0000当需要定时当需要定时100s时,时,计
7、数初值计数初值应是应是:256100156 即:即:1001 1100 9CH8 减法定时减法定时:设定时器的计数器是一个:设定时器的计数器是一个8位的寄存位的寄存器器, ,输入脉冲的周期是输入脉冲的周期是1s,则最大定时时间则最大定时时间256秒秒. .即即初值为初值为0000 0000,每输入一个脉冲计数值减每输入一个脉冲计数值减1,直到直到计数值再次为计数值再次为0,输出脉冲信号输出脉冲信号, ,表示计数结束表示计数结束。1111 11111111 11101111 11011111 11001111 10110000 00100000 00010000 0000例如,例如,要定时要定时
8、100s,则计数器的则计数器的计数初值计数初值应是应是:100 即即 0110 0100 64H定时定时/ /计数器的核心是一计数器的核心是一个自动加个自动加1或减或减1的计数器的计数器0000 000092. 端口的概念端口的概念 要构成实际的微型计算机系统,除了微处理要构成实际的微型计算机系统,除了微处理器以外,还必须有各种扩展部件和输入输出器以外,还必须有各种扩展部件和输入输出接口路。接口路。端口端口是接口电路或扩展部件中能被是接口电路或扩展部件中能被微处理器微处理器CPU直接访问(读直接访问(读/ /写)的写)的寄存器寄存器,每个端口都有一个端口地址。每个端口都有一个端口地址。10端口
9、结构示意图端口结构示意图115.2 可编程定时器可编程定时器/ /计数器芯片计数器芯片 8253的工作原理的工作原理1. 8253内部功能与结构内部功能与结构12 具有具有3个独立的个独立的16位的计数通道,使用单位的计数通道,使用单一一的的+5V电源,是一个电源,是一个24个引脚的双列直插式器件个引脚的双列直插式器件 有有3个独立的个独立的16位计数器通道;位计数器通道; 每个计数器都可以按照二进制或十进制计数;每个计数器都可以按照二进制或十进制计数; 每个计数器的计数速率可高达每个计数器的计数速率可高达2MHz; 每个通道有每个通道有6种工作方式,可由程序设置改变;种工作方式,可由程序设置
10、改变; 所有的输入输出都与所有的输入输出都与TTL兼容。兼容。1)8253主要功能主要功能:132)内部结构内部结构每个计数器内部有:每个计数器内部有:8位控制寄存器位控制寄存器:控制计数器的工作方式;:控制计数器的工作方式;16位计数初值寄存器位计数初值寄存器:装计数初值;:装计数初值;计数执行部件计数执行部件:执行减:执行减1 1操作;操作;输出锁存器输出锁存器:需要读取当前计数值时,将当前执行计数:需要读取当前计数值时,将当前执行计数器中的值锁存进该存储器后读取。器中的值锁存进该存储器后读取。对其写入控制字对其写入控制字对其写入初始计数初值对其写入初始计数初值了解当前状态,了解当前状态,
11、随时读出数据随时读出数据计数寄存器计数寄存器CR计数单元计数单元CE输出锁存器输出锁存器OL14 16位计数寄存器位计数寄存器CR:接受初始计数值,开始:接受初始计数值,开始计数之前,由计数之前,由CPU用输出指令预置入用输出指令预置入CR中。中。 16位计数单元位计数单元CE:对:对CLK的输入脉冲信号,的输入脉冲信号,从预置的初始值从预置的初始值按二进制或十进制按二进制或十进制减减1 1计数,当计数,当初始值减为初始值减为0时,由时,由OUT输出电平或脉冲,可以输出电平或脉冲,可以由软件或硬件由软件或硬件(GATE)来开启或停止计数。来开启或停止计数。 输出锁存器输出锁存器OL,锁存,锁存
12、CE的内容,的内容,在计数的在计数的过程中,过程中, CPU可随时读取可随时读取OL中中CE的当前值,的当前值,不影响计数器脉冲输入和计数器的继续计数。不影响计数器脉冲输入和计数器的继续计数。15每个计数器通过每个计数器通过3个引脚与外界联系个引脚与外界联系:CLK:时钟输入时钟输入; ;GATE:门控输入门控输入; ; OUT: :输出输出16数据总线缓冲器:数据总线缓冲器:与与CPU数据总线连接的数据总线连接的8位位双向三态缓冲器双向三态缓冲器。CPU向向8253发布的命令及输入输发布的命令及输入输出的数据都是通过这出的数据都是通过这8条数条数据总线传输的。据总线传输的。(1) CPU向向
13、8253写入的控制字;写入的控制字;(2) CPU向对应的计数器写入的初值向对应的计数器写入的初值;(3) CPU读取对应计数器的当前计数值读取对应计数器的当前计数值。17读写控制逻辑读写控制逻辑 高电平时禁止三态和读写逻辑高电平时禁止三态和读写逻辑 控制数据的传送方向控制数据的传送方向。 A0 A1 不同组合决定不同组合决定CPU访问的芯片内部不同端口。访问的芯片内部不同端口。 CS=0 A0 A1 不同组合决定不同组合决定CPU 读读 写写 不不同端口同端口控制字寄存器:控制字寄存器:在初始化编程时,可分别设置在初始化编程时,可分别设置3个计个计数器的工作方式等。数器的工作方式等。CSRD
14、RDWRWR18计数器计数器0计数器计数器2:3个独立的计数通道,可个独立的计数通道,可分别按不同的工作方式工作分别按不同的工作方式工作。193)8253的引脚的引脚82538D07D16D25D34D43D52D61D7222319202112249CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT21110151413181617VCC地地RDWRA0A1CS数数据据线线控控制制线线计计数数器器0号号计计数数器器1号号计计数数器器2号号分析:一般的可编程器件都有数据线、分析:一般的可编程器件都有数据线、片选线片选线( (口地址口地址) ),读写信号线,电源及与特定
15、功能相关的信号线读写信号线,电源及与特定功能相关的信号线( (时钟、门时钟、门控、输出控、输出) )。A1,A0信号线做什么用?信号线做什么用?20 与与CPU的连接线的连接线 D0-D7双向三态接至数据总线双向三态接至数据总线。 A1,A0 :地址线,片内寻址地址线,片内寻址 片选片选8253。 读出写入读出写入8253 与外部设备的连线与外部设备的连线 三个通道三个通道CLK,GATE,OUT 功能相同功能相同 CLK 引脚引脚: : 可可 输输 入入 周周 期期 或或 随随 机机 的的 脉脉 冲冲 信信 号号 GATE引脚引脚 启动或禁止计数启动或禁止计数 OUT引脚引脚 减减1 1计数
16、到零信号输出端计数到零信号输出端,输出信输出信号可以是方波,脉冲,电平等号可以是方波,脉冲,电平等. .CSRDWR2182538D07D16D25D34D43D52D61D7222319202112249CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT21110151413181617VCC地地RDWRA0A1CS数数据据线线控控制制线线计计数数器器0号号计计数数器器1号号计计数数器器2号号3个计数器相互独个计数器相互独立,立,3个计数初值寄存个计数初值寄存器器,输入的初值都不输入的初值都不一样。用一个片选信一样。用一个片选信号不能区分号不能区分3个空间,个空间,
17、所以要用所以要用A1,A0配合配合片选信号对片选信号对3个独立的个独立的空间进行区分。空间进行区分。A1A0相当于内部寻址相当于内部寻址00计数器计数器001计数器计数器110计数器计数器211控制寄存器控制寄存器( (存储存储3个计数器的工作方式个计数器的工作方式) )22A1A0寄存器选择和操作寄存器选择和操作8253端口的选择端口的选择RDWRCS01000写入计数器写入计数器001001写入计数器写入计数器101010写入计数器写入计数器201011写入控制寄存器写入控制寄存器00100读计数器读计数器000101读计数器读计数器100110读计数器读计数器200111无操作无操作1芯
18、片禁止芯片禁止011无操作无操作232. 8253的初始化编程的初始化编程24 8253控制字控制字8位位控控制制寄寄存存器器高高8位位低低8位位计计数数初初值值高高8位位低低8位位计计数数执执行行高高8位位低低8位位输输出出锁锁存存计数器计数器 n每个独立的计数器都有一个控每个独立的计数器都有一个控制寄存器,存放该计数器的工制寄存器,存放该计数器的工作方式,读写格式等信息。但作方式,读写格式等信息。但这这3个控制寄存器共用一个地个控制寄存器共用一个地址,即址,即A1A0=11,芯片怎样区芯片怎样区分计算机是给哪个计数器控制分计算机是给哪个计数器控制器下达的命令呢?器下达的命令呢?D7D6D5
19、D4D3D2D1D0计数器计数器00读写读写格式格式工作方式工作方式数数制制计数器计数器001计数器计数器110计数器计数器211无效无效控制字寄存控制字寄存器同一地址器同一地址A1A0=1125D7D6D5D4D3D2D1D0计数器计数器0 0读写读写格式格式工作方工作方式式数数制制计数器计数器0 00 1计数器计数器1 11 0计数器计数器2 21 1无效无效当地址选中当地址选中CS为为0且且A1A0=11时,数据线上的时,数据线上的数据即是向控制字寄存器中写入的指令,具体是向数据即是向控制字寄存器中写入的指令,具体是向哪个计数器中的控制寄存器中发的指令,要看哪个计数器中的控制寄存器中发的
20、指令,要看该指该指令的前两位令的前两位是什么数值。是什么数值。控制字寄存器控制字寄存器:8位位控控制制寄寄存存器器高高8位位低低8位位计计数数初初值值高高8位位低低8位位计计数数执执行行高高8位位低低8位位输输出出锁锁存存每个计数器内部结构:每个计数器内部结构:26A1A0D7D0译译码码器器Y0Y1Y2Y3CS计计0控控制制器器计计0初初值值16位位当当前前计计数数值值16位位计计1控控制制器器计计1初初值值16位位当当前前计计数数值值16位位计计2控控制制器器计计2初初值值16位位当当前前计计数数值值16位位000110118253地地址址计数器计数器0地址地址40H, 计数器计数器1地址
21、地址41H,计数器计数器2地址地址42H,控制器地址控制器地址43H。40HA7A6A5A4A3A2A1A001000000要使用某个计数器,首先要先设置要使用某个计数器,首先要先设置其对应的控制器其对应的控制器,确定,确定工作方式,然后再输入这个计数器的计数初值。工作方式,然后再输入这个计数器的计数初值。27A1A0D7D0译译码码器器Y0Y1Y2Y3CS计计0初初值值16位位当当前前计计数数值值16位位计计1初初值值16位位当当前前计计数数值值16位位计计2初初值值16位位当当前前计计数数值值16位位000110118253地地址址计计0控控制制器器计计1控控制制器器计计2控控制制器器00
22、00000000当向当向43H地址中写数据时地址中写数据时01010101010110MOV AL, 00BOUT 43H, AL; ;设置计数器设置计数器0控制器控制器MOV AL, 01B OUT 43H, AL ; ;设置计数器设置计数器1控制器控制器MOV AL, 10BOUT 43H, AL ; ;设置计数器设置计数器2控制器控制器28D7D6D5D4D3D2D1D0计数器计数器n n读读/ /写写格式格式工作方式工作方式数数制制D5D4说明说明00计数器锁存命令计数器锁存命令, , 将当前计数值送入锁将当前计数值送入锁存器存器01只读只读/ /写低写低8位位, , 高高8位位自动写
23、自动写010只读只读/ /写高写高8位位, , 低低8位位自动写自动写011先读先读/ /写低写低8位位, , 后读后读/ /写高写高8位位29D7D6D5D4D3D2D1D0计数器计数器n读读/ /写格式写格式工作方式工作方式数制数制D3D2D1说明说明000方式方式0001方式方式110方式方式211方式方式3100方式方式4101方式方式5一般将一般将设置为设置为0D0说明说明0二进制方式减二进制方式减1计数计数1十进制方式减十进制方式减1计数计数0000 00001111 11111111 11100001 00000000 11110000 00001001 10011001 100
24、00001 00000000 1001二进制二进制十进制十进制(BCD码码)30 计数器计数初值的计算:计数器计数初值的计算: 若若8253作计数器用,则要求计数的次数就作作计数器用,则要求计数的次数就作为计数初值,直接装入计数初值寄存器和减法为计数初值,直接装入计数初值寄存器和减法计数器,不需经过计算;计数器,不需经过计算;若作定时器用,则计数初值,也即定时常数需若作定时器用,则计数初值,也即定时常数需要经过换算才能得到。要经过换算才能得到。31 要求产生定时时间间隔的定时常数要求产生定时时间间隔的定时常数TcCLKtCLKtTC/1时钟脉冲周期要求定时求定时其中其中,t为要求的定时时间为要
25、求的定时时间, ,CLK为时钟脉冲频率为时钟脉冲频率。例例:CLK=1.19318MHz, t=5msTc=510-31193180=5965 要求产生频率为要求产生频率为f的信号波形的定时常数的信号波形的定时常数TcfCLK要求的波形频率时钟脉冲的频率CT例例:CLK=1.19318MHz, f=800Hz 14918001019318. 16Tc定时的计数初值定时的计数初值( (时间常数时间常数) )OUTfCLKfCLKTOUTTN32计数初值的范围:计数初值的范围: 由于计数初值计数器和减法计数器是由于计数初值计数器和减法计数器是16位的,故计数初值的范围位的,故计数初值的范围对二进制
26、为对二进制为0000HFFFFH,对对十进制为十进制为00009999。其。其中中0000为最大值,对二进制为:为最大值,对二进制为:216(65536),对十进制为对十进制为104(10000)。 在实际应用中在实际应用中, ,若所要求的计数初值或时间常若所要求的计数初值或时间常数大于计数初值的最大值数大于计数初值的最大值, ,则采用则采用多个计数器多个计数器串联计数串联计数的方法。的方法。338253有有6种工作方式,是外围芯片中工作方式最种工作方式,是外围芯片中工作方式最多的一种。这主要是为了通过不同的工作方式来多的一种。这主要是为了通过不同的工作方式来扩展扩展8253的功能,适应不同用
27、户的使用要求。的功能,适应不同用户的使用要求。虽然,虽然,8253是作定时是作定时/ /计数器使用的,但是,由计数器使用的,但是,由于工作方式的不同,其于工作方式的不同,其计数过程、基本功能、启计数过程、基本功能、启动方式、输出波形、初值重装、中止方式以及典动方式、输出波形、初值重装、中止方式以及典型应用都有差别。型应用都有差别。正是这些差别,才丰富了正是这些差别,才丰富了8253的功能,使得用户能的功能,使得用户能“各取所需各取所需”。34A1A0D7D0译译码码器器Y0Y1Y2Y3CS计计0控控制制器器计计0初初值值16位位当当前前计计数数值值16位位计计1控控制制器器计计1初初值值16位
28、位当当前前计计数数值值16位位计计2控控制制器器计计2初初值值16位位当当前前计计数数值值16位位000110118253地地址址8253的地址为的地址为04H07H,计数器计数器1工作在方式工作在方式1,计数初值计数初值为为800,计数器计数器2工作在方式工作在方式3,初值为初值为23H,编写程序编写程序。A7A6A5A4A3A2A1A000000100D7D6D5D4D3D2D1D0计数器计数器n n读读/ /写格式写格式工作方式工作方式数制数制计计1:01100011计计2:1001011035计计1:01100011计计2:100101108253的地址为的地址为04H07H, ,计数
29、器计数器1工作在方式工作在方式1, ,计数计数初值为初值为800,计数器计数器2工作在方式工作在方式3,初值为初值为23H,编写编写程序。程序。MOV AL, 63HOUT 07H, ALMOV AL, 96HOUT 07H, ALMOV AL, 08HOUT 05H, ALMOV AL, 23HOUT 06H, AL; ;写入计写入计1控制字控制字; ;写入计写入计2控制字控制字; ; 向计向计1写入计数初值写入计数初值; ; 向计向计2写入计数初值写入计数初值36例例:现有一频率为:现有一频率为2MHz的时钟信号,利用的时钟信号,利用T1定时定时2ms,试对试对8253初始化(方式初始化(
30、方式3)400010*2*10*2*36OUTCLKTfCLKTOUTTN方式字方式字: :初值:初值:MOVDX,307H MOVAL,76H OUT DX,AL MOVDX,305H MOVAX,4000 OUTDX,AL MOVAL,AH OUTDX,AL77H(BCD码计数码计数)76H(二进制计数)二进制计数)373. 8253的工作方式的工作方式38基本规则:基本规则: 控制字写入计数器时控制字写入计数器时,所有的控制逻辑电路立,所有的控制逻辑电路立即复位,输出端即复位,输出端OUT进入初始状态进入初始状态( (高电平或低高电平或低电平电平) ); 初始值写入后,初始值写入后,要经
31、过一个时钟上升沿和下降要经过一个时钟上升沿和下降沿沿,计数执行部件才开始计数;,计数执行部件才开始计数; 通常,在时钟通常,在时钟CLK的上升沿,门控的上升沿,门控GATE被采被采样,门控的触发方式为边沿或电平,边沿触发样,门控的触发方式为边沿或电平,边沿触发脉宽可以很窄,且高低电平均可脉宽可以很窄,且高低电平均可( (计数器内部有计数器内部有个边沿触发器个边沿触发器, ,随时检测随时检测), ),电平触发则必须在下一电平触发则必须在下一个时钟上升沿前保持高电平个时钟上升沿前保持高电平; 在时钟脉冲的在时钟脉冲的下降沿下降沿计数器作减计数器作减1 1计数,计数,0是计是计数器所能容纳的最大初始
32、值数器所能容纳的最大初始值,二进制时是,二进制时是216,十进制时是十进制时是104。39(1) 方式方式0:计数结束产生中断:计数结束产生中断特点:特点: 计数过程由软件启动计数过程由软件启动, ,每设置一次初值每设置一次初值, ,只启动一次计只启动一次计数过程数过程; 写入控制字后写入控制字后, ,OUT初态为低初态为低, ,在计数过程中一直保持在计数过程中一直保持为低电平为低电平, ,当计数器减到当计数器减到0时时, ,OUT立即变成高电平。立即变成高电平。 门控门控GATE为为1,正常计数正常计数, ,门控为门控为0,计数暂停计数暂停, ,其计数其计数值保持不变值保持不变, ,再为再为
33、1,接着前次继续计数;接着前次继续计数; 计数过程中计数过程中, ,改变初值立即有效改变初值立即有效, ,即重新写入初值时停即重新写入初值时停止计数止计数, ,当写完初值后当写完初值后, ,在在CLK的下降沿处的下降沿处, ,开始以新的计开始以新的计数初值计数数初值计数。40WRGATE 1CLKOUT43210FF FECW=10 LSB=4GATE门控为门控为1时,方式时,方式0的波形的波形。写入控制字后写入控制字后,OUT初态为低初态为低,在计数过程中一直保持,在计数过程中一直保持为低电平,当计数器减到为低电平,当计数器减到0时,时,OUT立即变成高电平。立即变成高电平。41WRGATE
34、 1CLKOUT43210FF FECW=10 LSB=4OUTGATE 43210FF33门控门控GATE对对OUT的影响。的影响。计数暂停,保持不变计数暂停,保持不变42WRGATE 1CLKOUT43210FF FEWRCW=10LSB=4LSB=3OUT4320FF321改变初值对方式改变初值对方式0的影响的影响立即有效立即有效43方式方式0的基本功能的基本功能( (典型应用典型应用) ):方式方式0是是8253典型的事件的计数器的用法。其特点典型的事件的计数器的用法。其特点是计数结束,输出是计数结束,输出(OUT)端产生端产生01的正跳变,的正跳变,利用利用OUTOUT信号由低变高,
35、可信号由低变高,可申请中断申请中断。若要求若要求8253周期性每隔周期性每隔20ms产生一次中断的程序。产生一次中断的程序。端口地址为端口地址为230H233H,CLK为为2MHz。工作方式:方式工作方式:方式0 计数初值计数初值:2MHz20ms=40000CLKtCLKtTC/1时钟脉冲周期要求定时的时间44工作方式:方式工作方式:方式0 计数初值计数初值:2MHz20ms=40000D7D6D5D4D3D2D1D0计数器计数器0 0读写读写格式格式工作工作方式方式数数制制计数器计数器00 1计数器计数器11 0计数器计数器21 1无效无效选用计数器选用计数器0控制字控制字:端口地址端口地
36、址230H233HMOV DX, 233HMOV AL, 30HOUT DX, ALMOV AX, 40000MOV DX, 230HOUT DX, AL; ;低位低位MOV AL, AHOUT DX, AL;高位高位STI ; ;开中断开中断MOV AX, 40000MOV DX, 230HOUT DX, ALMOV AL, AHOUT DX, AL中断程序中断程序:0011000045(2) 方式方式1:硬件可重触发单稳态方式:硬件可重触发单稳态方式特点:特点: 计数器只能由计数器只能由门控脉冲门控脉冲GATE的上升沿启动的上升沿启动,即计,即计数器只能由数器只能由硬件启动硬件启动,不能用
37、软件启动;,不能用软件启动; 写入控制字后,写入控制字后,OUT初态为高电平初态为高电平,GATE启动后,启动后,获得获得N个个CLK宽度的低电平宽度的低电平,计数到零后,可,计数到零后,可再次由再次由外部触发启动外部触发启动,不用再次送入一个计数初值;,不用再次送入一个计数初值; 在在OUT输出为低期间输出为低期间, ,若若GATE出现上升沿出现上升沿, ,计数器从计数器从CLK的下降沿开始重新计数的下降沿开始重新计数, ,OUT低电平的宽度变长;低电平的宽度变长; , ,计数输出期间计数输出期间, ,改变计数初值不影响本次计数改变计数初值不影响本次计数, ,只有在只有在GATE信号后才重新
38、开始以新的计数初值计数信号后才重新开始以新的计数初值计数, ,即计数即计数值是下次有效的值是下次有效的。46WRGATE CLKOUT3210FF FECW=12 LSB=3门控触发门控触发初态为高初态为高开始计数后输出开始计数后输出N个个CLK宽度的低电平宽度的低电平47WRGATE CLKOUT3210FFCW=12 LSB=3FF3210重新启动门控重新启动门控GATE对输出的影响:不用重装初值,对输出的影响:不用重装初值,上升沿启动又开始新的计数。上升沿启动又开始新的计数。48在在OUT输出为低期间,若输出为低期间,若GATE出现上升沿出现上升沿, , 计计数器从数器从CLK的下降沿的
39、下降沿开始重新计数开始重新计数, , OUT低电平的低电平的宽度变长。宽度变长。49WRGATE CLKOUT3210FFCW=12 LSB=3FF3210LSB=44重装初值对输出的影响:不影响本次计数,在下次重装初值对输出的影响:不影响本次计数,在下次GATE上升沿时有效。上升沿时有效。计数值是下次有效的。计数值是下次有效的。50方式方式1的功能:的功能:方式方式1是可编程单稳态触发器,其特点是负脉冲的是可编程单稳态触发器,其特点是负脉冲的宽度可以由程序控制,即改变宽度可以由程序控制,即改变计数初值就可以改变计数初值就可以改变输出脉冲的宽度输出脉冲的宽度。例例:计数通道:计数通道1,工作在
40、方式工作在方式1,GATE1由外部控由外部控制制, , CLK1=1.19318MHz, 写入计数初值为十进制数写入计数初值为十进制数10。试问计数通道。试问计数通道1的输出脉冲宽度是多少?的输出脉冲宽度是多少?101/1.1931810-6=8.38us51(3) 方式方式2:周期性负脉冲输出周期性负脉冲输出特点:特点: 计数器既可用计数器既可用软件启动软件启动, ,又可用又可用硬件启动硬件启动; 写入控制字后写入控制字后,OUT初态为高电平初态为高电平, ,装入初值后开始计装入初值后开始计数数( (软件启动软件启动), ),计数到计数到1 1后后, ,输出一个输出一个CLK的低电平的低电平
41、, ,接着又接着又从从N开始重复计数开始重复计数, ,输出输出N-1个高电平个高电平, ,1个低电平的周期信个低电平的周期信号号; 在在OUT为高期间为高期间, ,若若GATE为为0,停止计数停止计数, ,直到直到GATE出出现上升沿现上升沿, ,计数器重新开始计数输出计数器重新开始计数输出( (硬件启动硬件启动) ); 在在OUT为高期间为高期间, ,改变计数初值,对正在进行的计数改变计数初值,对正在进行的计数过程没有影响,当输出一个过程没有影响,当输出一个 周期的周期的CLK脉冲后则按新的脉冲后则按新的计数值开始计数。计数值开始计数。改变计数是下次有效的改变计数是下次有效的。52WRGAT
42、E CLKOUT321CW=14LSB=3321132132方式方式2:不用重装初值,输出周期信号,不用重装初值,输出周期信号,N-1高电平,高电平,1个低电平。个低电平。53WRGATE CLKOUT3CW=14LSB=31321321GATE对输出的影响:为低停止计数,为高对输出的影响:为低停止计数,为高后又重新开始输出周期信号。后又重新开始输出周期信号。硬件启动硬件启动54WRGATE CLKOUTCW=14LSB=31321321LSB=554354重装初值对输出的影响:不影响本次计数,重装初值对输出的影响:不影响本次计数,在输出本次在输出本次CLK脉冲后按新的计数值开始计脉冲后按新的
43、计数值开始计数。数。计数值是下次有效的。计数值是下次有效的。55方式方式2的功能:的功能:方式方式2是分频器,分频系数就是计数初值,其特点是分频器,分频系数就是计数初值,其特点是是重复连续的负脉冲,重复连续的负脉冲,且负脉冲宽度固定,其宽度且负脉冲宽度固定,其宽度等于时钟脉冲的宽度。等于时钟脉冲的宽度。例:例:计数通道计数通道1,工作在方式,工作在方式2,GATE1=1, CLK1=1.19318MHz, 写入计数初值为十进制数写入计数初值为十进制数18。试问输出负脉冲的宽度多少,输出连续波形的周期试问输出负脉冲的宽度多少,输出连续波形的周期是多少?是多少?负脉冲宽度负脉冲宽度:11/1.19
44、31810-6=0.838us波形周期:波形周期:181/1.1931810-6=15.1us56例例 采用计数通道采用计数通道0,设计一个循环扫描器,要求扫,设计一个循环扫描器,要求扫描器每隔描器每隔10ms输出一个宽度为输出一个宽度为1个时钟的负脉冲。个时钟的负脉冲。定时器定时器CLK0=100KHz,GATE0=1,端口地址为端口地址为304H307H。试编写出初始化程序段和计数初值试编写出初始化程序段和计数初值装入程序段。装入程序段。控制字控制字:00110101计数初值:计数初值:1001031010-3+1=1001MOV DX, 307H;控制口控制口MOV AL, 35H;控制
45、字控制字OUT DX, ALMOV DX, 304H;通道通道0MOV AX, 1001HOUT DX, AL;低位低位MOV AL, AHOUT DX, AL;高位高位STI57(4) 方式方式3:周期性方波输出周期性方波输出 特点特点: 与方式与方式2类似类似, ,输出信号为方波输出信号为方波, ,周期为周期为N个个CLK. .若初值若初值N为偶数为偶数, ,输出输出N/2个个CLK周期高电平周期高电平, ,N/2个个CLK周期低电平周期低电平; ; 若若N N为奇数为奇数, , (N+1)/2个高电平,个高电平,(N-1)/2个低电平个低电平。 GATE为为0停止计数停止计数, ,GAT
46、E上升沿重新启动计数周上升沿重新启动计数周期期; 重新写入初值,本次重新写入初值,本次OUT不受影响,下一周期按不受影响,下一周期按新值输出新值输出。计数值下次有效计数值下次有效。58N=4,方波方波方式方式3:不用重装初值,输出周期信号,不用重装初值,输出周期信号,N为为偶数,偶数,N/2高电平,高电平,N/2个低电平。个低电平。59N为奇数为奇数, ,(N+1)/2个高电平个高电平, ,(N-1)/2个低电平个低电平。60GATE对输出的影响:为低输出变高,停止对输出的影响:为低输出变高,停止计数,为高后又重新开始输出周期信号。计数,为高后又重新开始输出周期信号。硬件启动硬件启动61重装初
47、值对输出的影响:不影响本次计数,重装初值对输出的影响:不影响本次计数,在输出本次半个周期后按新的计数值开始计在输出本次半个周期后按新的计数值开始计数。数。计数值是下次有效的。计数值是下次有效的。62方式方式3的功能的功能:方式方式3是方波发生器,其特点是占空比是方波发生器,其特点是占空比1:1,或接近,或接近1:1的重复连续波形。的重复连续波形。试计算试计算8253计数器计数器0工作于方式工作于方式3,时钟时钟CLK0的频的频率为率为1MHz,输出输出40KHz的重复方波的频率的重复方波的频率,8253的端口为的端口为:10H13H。控制字控制字:00010111计数初值计数初值: 1106/
48、(40103)=1000/40=25MOV AL, 17H;控制字控制字OUT 13H, ALMOV AL, 25H;计数初值计数初值OUT 10H, AL63(5) 方式方式4:单次负脉冲输出单次负脉冲输出( (软件触发软件触发) )特点:与方式特点:与方式0类似,类似,特点特点,不一样不一样 计数过程由软件启动,计数过程由软件启动,每设置一次初值,只启动一每设置一次初值,只启动一次计数过程次计数过程; 写入控制字后,写入控制字后,OUT初态为高初态为高,在计数过程中一直,在计数过程中一直保持为高电平,当计数器减到保持为高电平,当计数器减到0 0时,时,输出为一个周期的输出为一个周期的CLK
49、低电平低电平,输出接着变成高电平并一直维持。,输出接着变成高电平并一直维持。 门控门控GATE为为1,正常计数,正常计数,门控为门控为0,计数停止,计数停止,再为再为1,重新从计数初值开始计数重新从计数初值开始计数; 计数过程中,计数过程中,改变初值立即有效改变初值立即有效,即重新写入初值,即重新写入初值时停止计数,当写完初值后,时停止计数,当写完初值后,在在CLK的下降沿处,开的下降沿处,开始以新的计数初值计数始以新的计数初值计数。64WRGATE 1CLKOUT3210FF FECW=18 LSB=3FD方式方式4:写入控制字后,写入控制字后,OUT初态为高初态为高,在计数过,在计数过程中
50、一直保持为高电平,当计数器减到程中一直保持为高电平,当计数器减到0时,时,输出输出为一个周期的为一个周期的CLK低电平低电平,输出接着变成高电平,输出接着变成高电平并一直维持。并一直维持。65GATE对输出的影响:对输出的影响:GATE为低,计数停止,为为低,计数停止,为高后,重新开始计数。高后,重新开始计数。WRGATE 1CLKOUT3210FF停停止止计计数数CW=18 LSB=332重重新新开开始始66CLKWRCW=18LSB=4LSB=3OUT4320FF321重装初值对输出的影响:改变初值立即有效。重装初值对输出的影响:改变初值立即有效。67(6) 方式方式5:单次负脉冲输出:单
51、次负脉冲输出( (硬件触发硬件触发) )特点:与方式特点:与方式1类似,只是输出电平不同类似,只是输出电平不同 计数器只能由计数器只能由门控脉冲门控脉冲GATE的上升沿启动的上升沿启动,即计,即计数器只能由数器只能由硬件启动硬件启动,不能用软件启动;,不能用软件启动; 写入控制字后,写入控制字后,OUT初态为高电平初态为高电平,GATE启动后,启动后,开始减开始减1计数,计数,计数到零后,计数到零后,OUT出现一个出现一个CLK周期的周期的负脉冲,又变为高电平,可以负脉冲,又变为高电平,可以再次由外部触发启动再次由外部触发启动,不用再次送入一个计数初值;不用再次送入一个计数初值; 在计数中,若
52、在计数中,若GATE出现上升沿出现上升沿, ,则计数器重新触发,则计数器重新触发,即在下一个时钟周期开始计数;即在下一个时钟周期开始计数; 计数输出期间,改变计数初值不影响本次计数,只计数输出期间,改变计数初值不影响本次计数,只有在有在GATE信号后才重新开始以新的计数初值计数,信号后才重新开始以新的计数初值计数,即即计数值是下次有效的计数值是下次有效的。68WRGATE CLKOUT3210FFCW=1A LSB=3门控触发门控触发开始计数后输出开始计数后输出1个个CLK宽度的低电平宽度的低电平69WRGATE CLKOUT3210FFCW=18 LSB=3FE3210FF重新启动门控重新启
53、动门控GATE对输出的影响:不用重装初值,对输出的影响:不用重装初值,上升沿启动又开始新的计数。上升沿启动又开始新的计数。70WRGATE CLKOUT3210FFCW=1A LSB=3FE3210FFLSB=44重装初值对输出的影响:不影响本次计数,在输出重装初值对输出的影响:不影响本次计数,在输出本次本次CLK脉冲后按新的计数值开始计数。脉冲后按新的计数值开始计数。计数值计数值是下次有效的。是下次有效的。重装重装下次有效重装重装下次有效71方式方式4,5的功能的功能:方式方式4和方式和方式5都是都是单个负脉冲发生器单个负脉冲发生器,其特点是单,其特点是单个脉冲宽度固定,且等于时钟脉冲的宽度
54、。两者的个脉冲宽度固定,且等于时钟脉冲的宽度。两者的区别是,区别是,启动方式不同启动方式不同,方式,方式4由由“软件软件”启动,启动,方式方式5由由“硬件硬件”启动。启动。72总结:总结:在在6种方式中,只有方式种方式中,只有方式0,在写入控制字后,在写入控制字后OUT为低,其余都是为低,其余都是OUT为高做初态;为高做初态;方式方式1与方式与方式5,在写入计数值后,需,在写入计数值后,需GATE的上的上升沿才开始计数;升沿才开始计数;其他方式都是在写入计数初值其他方式都是在写入计数初值后立即启动。后立即启动。即写入计数初值作为软件启动的启即写入计数初值作为软件启动的启动信号。动信号。方式方式
55、2与方式与方式3是定时方式是定时方式( (周期信号周期信号) ),其他为计,其他为计数方式数方式( (一次计数结束一次计数结束) );计数器减到计数器减到0后并不是停止不动,在计数方式中,后并不是停止不动,在计数方式中,计数器都从最大计数值计数器都从最大计数值(FFFFH,9999H)继续减继续减1计数计数,定时方式,定时方式( (方式方式2与方式与方式3)为重装计数初值。为重装计数初值。73特点特点0方式方式1方式方式2方式方式3方式方式4方式方式5方式方式基本基本功能功能计数结计数结束输出束输出正跳变正跳变信号信号单稳延单稳延时器时器分频器分频器方波发方波发生器生器单脉冲单脉冲发生器发生器
56、单脉冲单脉冲发生器发生器基本输基本输出波形出波形写入初写入初值后,值后,经过经过N个个CLK输出为输出为高高宽度为宽度为N个个CLK宽宽度的单度的单个个负脉冲负脉冲宽度为宽度为一个一个CLK宽宽度的连度的连续续负脉冲负脉冲占空比占空比为为1:1或近似或近似1 1;1 1的连续的连续方波方波宽度为宽度为一个一个CLK宽宽度的单度的单个个负脉冲负脉冲宽度为宽度为一个一个CLK宽宽度的单度的单个个负脉冲负脉冲74755种方式的基本波形种方式的基本波形768.3 8253的的应用应用 8253初始化编程的步骤初始化编程的步骤 根据要求或硬件电路确定各通道和控制字根据要求或硬件电路确定各通道和控制字寄存
57、器的地址;寄存器的地址; 根据对各通道计数或定时的要求确定根据对各通道计数或定时的要求确定8253的控制字;的控制字; 根据要求计算各通道的计数值;根据要求计算各通道的计数值;77例例:若要用通道:若要用通道0,工作在方式工作在方式1,按二十进制计,按二十进制计数,计数值为数,计数值为5080。8253端口地址为端口地址为F8HFBH。D7D6D5D4D3D2D1D0计数器计数器00读写读写格式格式工作方式工作方式数数制制计数器计数器001计数器计数器110计数器计数器211无效无效分析:只初始化计数器分析:只初始化计数器0。D7D6D5D4D3D2D1D000110 01133H控制寄存器地
58、址:控制寄存器地址: FBH计数器计数器0地址地址: F8H78分析:只初始化计数器分析:只初始化计数器0。D7D6D5D4D3D2D1D000110 01133H控制寄存器地址:控制寄存器地址: FBH计数器计数器0地址地址: F8HMOV AL, 33H; ;控制字控制字OUT 0FBH, AL ;控制字寄存器控制字寄存器MOV AL, 80H ;计数初值低位计数初值低位OUT 0F8H, AL ;通道通道0地址地址MOV AL, 50H ;计数初值高位计数初值高位OUT 0F8H, AL79例例: :若要读取若要读取通道通道1的的16位计数值,程序如何位计数值,程序如何? ?8位位控控制
59、制寄寄存存器器高高8位位低低8位位计计数数初初值值高高8位位低低8位位计计数数执执行行高高8位位低低8位位输输出出锁锁存存8253的每一个通道都有一个的每一个通道都有一个输出锁存器,通过控制字向输出锁存器,通过控制字向对应的输出锁存器发命令,对应的输出锁存器发命令,锁存当前的计数值,锁存当前的计数值,而计数而计数器的计数不受影响器的计数不受影响,然后,然后CPU分两次将锁存器的内分两次将锁存器的内容读出。当容读出。当CPU读取了锁读取了锁存值或对计数器重新编程后存值或对计数器重新编程后则自动解除锁存状态。则自动解除锁存状态。80锁存命令控制字锁存命令控制字:D7D6D5D4D3D2D1D0计数
60、器计数器n读读/ /写格式写格式工作方式工作方式数制数制D5D4说明说明00计数器锁存命令计数器锁存命令, , 将当前计数值送入锁存器将当前计数值送入锁存器01只读只读/ /写低写低8位位, , 高高8位位自动写自动写010只读只读/ /写高写高8位位, , 低低8位自动写位自动写011先读先读/ /写低写低8位位, , 后读后读/ /写高写高8位位0100 xxxx40H81锁存命令控制字:锁存命令控制字:40H端口地址端口地址: : F8HFBHMOV AL, 40H ; ;控制字控制字OUT 0FBH, AL ;控制口控制口IN AL, 0F9H ; ;读通道读通道1低低8位位MOV C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人贷款合同签署注意事项
- 幼儿园元旦活动开场
- 出租房门面出租协议书范文范本
- 国企改制解除终止劳动关系协议书范文
- 开发商三年回购协议书范文
- 水电站地震应急演练实施方案
- 建管股上半年工作总结与反思
- 快递行业防台风应急预案
- 教务处工作总结:课程改革的成效分析
- 铁路设备备件运输及保障方案
- 小学道德与法治课程标准与教材研究 课件 第3、4章 入学教育、道德教育
- 专利费收款收条
- 《人体发育学》课程标准
- 镇域经济分析报告
- 《受膏者扫罗与大卫》课件
- 《口腔生物化学》课件
- 科学研究方法与论文写作教学设计
- 啤酒终端销售培训课件
- 电磁感应实验:研究电磁感应现象与法拉第电磁感应定律
- 纳米技术课件
- 手足口病(PPT课件)
评论
0/150
提交评论