版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第七章第七章 Intel 8253定时器定时器/计数器计数器 一、概述一、概述 1、定时与计数器的概念、定时与计数器的概念 定时器:定时器:在时钟信号作用下,进行定时的减“1”计数,定时时间到(减“1”计数回零),从输出端输出周期均匀、 频率恒定的脉冲信号。 由上述可知,定时器强调的是精确的时间。由上述可知,定时器强调的是精确的时间。 定时举例:定时举例: 一天24小时的计时,称为日时钟。 在监测系统中,对被测点的定时取样。 在读键盘时,为去抖,一般延迟一段时间,再读。 在微机控制系统中,控制某工序定时启动。 计数器:计数器: 在时钟信号作用下,进行减“1”计数,计数次数到计数次数到(减(减
2、“1”计数回零),从输出端输出一个脉冲信号。计数回零),从输出端输出一个脉冲信号。 计数举例:对零件和产品的计数;对大桥和高速公路上车流量的统计,等等。Intel8253在微机系统中可用作定时器和计数器。定时时间与计数次数是由用户事 先设定。 2、 8253 定时与计数器与CPU的关系 8253 定时与计数操作过程与CPU相互独立,并行操作。 3、8253定时与计数结束时产生的脉冲信号可用于对某一事件进行控制,也可作用为一外部终端请求信号。二、二、Intel 8253 定时器定时器/计数器的计数器的基本性能参数 1、一片8253内部有3个16位的计数器(相互独立) 2、每个计数器的内部结构相同
3、,可通过编程手段设置为6种不同的工作方式来进行定时/计数 3、每个计数器再开始工作前必须预制时间常数(时间初始)每个计数器再开始工作前必须预制时间常数(时间初始) 4、每个计数器在工作过程中的当前计数值可被CPU读出. (注:时间常数也可在计数过程中更改)(注:时间常数也可在计数过程中更改)三、三、8253 定时器定时器/计数器的内部结构、计数器的内部结构、 1、内部结构(下页) .内部逻辑结构 8253/8254内部有6个模块,其结构框图如图3.2所示。 8253 定时器定时器/计数器的内部结构框图计数器的内部结构框图CLK1GATE1OUT1CLK2GATE2OUT2CLK0GATE0OU
4、T0数据总线缓冲器读/写逻辑A0A1RDWRCS8CPU控制字寄存器内部总线计数器 0计数器 1计数器 2数据总线缓冲器。它是一个三态、双向8位寄存器,用于将8253与系统数据总线D0D7 相连。读/写逻辑。控制命令寄存器。它接受CPU送来的控制字。计数器。8253有3个独立的计数器(计数通道),其内部结构完全相同,定时器定时器/计数器的内部结构:计数器的内部结构:8253CLKGATEOUT16位当前计数值锁存器16位减一计数器16位计数初值寄存器&CLKGATEOUTMSBLSBLSBMSB(减1至0时)装入/读出初值锁存厚读出当前值8253 的内部的各计数器的结构的内部的各计数器
5、的结构 四四. 8253的端口寻址及基本操作的端口寻址及基本操作 CSRDA1WRA0传 送 方 式00000001111000000011100110010101010写入计数器0的初始值写入计数器1的初始值写入计数器2的初始值写入控制寄存器控制字读自计数器0的OL读自计数器1的OL读自计数器2的OL五、8253 的控制字格式: 数制选择SC1SC0M2RW1RW0 BCDM0M1D7 D6 D5 D4 D3 D2 D1 D0工作方式000 方式0101 方式500 计数器锁存命令10 只读/写高八位01 只读/写低八位11 先读/写低八位再读/写高八位00 选择计数器001选择计数器110
6、 选择计数器2读/写指示计数器选择 关于的控制字关于的控制字说明说明: 1、8253只有一个工作方式控制字,但是对每个计数器而言,它们的工作方式控制字内容一定各不相同(前两位不同),所用各计数器的控制字需要分别设置所用各计数器的控制字需要分别设置,先后不计。 2、8253的工作方式控制字的特殊形式可用于对计数器的当前计数值进行锁存。 3、在工作方式控制字被设置之后,随后必须紧接着给计数器预设置计数初值,计数器方可开始工作。控制字控制字SC1SC0M2RW1RW0 BCDM0M1D7 D6 D5 D4 D3 D2 D1 D000 计数器锁存命令00 选择计数器001选择计数器110 选择计数器2
7、计数器选择 未用 锁存计数器当前计数值控制字锁存计数器当前计数值控制字4.计数初值计数初值 计数初值与输入时钟(CLK)频率及输出波形(OUT)频率之间的关系为:Ci=CLK/OUT 或 Tc=CLK/OUT 5. 8253初始化的工作有两个内容初始化的工作有两个内容:(1)一是向命令寄存器写入方式命令,以选择器(3个计数器之一),确定工作方式(6种方式之一),指定计数器计数初值的长度和装入顺序以及计数值的码制(BCD或二进制码)。(2)二是向已选定的计数器按方式命令的要求写入计数初值。v例1:选择2号计数器,工作在3方式,计数初值为533H(2个字节),采用二进制计数。其初始化程序段为v M
8、OV DX,307H ;命令口v MOV AL,10110110B ;2号计数器的初始化v 命 令字v OUT DX,AL ;写入命令寄存器v MOV DX,306H ;2号计数器数据口v MOV AX,533H ;计数初值v OUT DX,AL ;选送低字节到2号计v 数器v MOV AL,AH ;取高字节送ALv OUT DX,AL ;后送高字节到2号v 计数器v例2:要求读出并检查1号计数器的当前计数值是否是全“1”(假定计数值只有低8位),其程序段为v MOV DX,307H ;命令口vL :MOV AL,01000000B ;1号计数器的锁存命令v OUT DX,AL ;写入命令寄存
9、器v MOV DX,305H ;1号计数器数据口v IN AL,DX ;读1号计数器的当前计数值v CMP AL,0FFH ;比较v JNE L ;非全“1”,再读v HLT ; 是全“1”,暂停 1、方式0 “一次有效一次有效” 1)、计数器写完计数值时,开始计数,相应的输出信号OUT就开始变成低电平。当计数器减到零时,OUT立即输出高电平。 六、六、8253 的工作方式的工作方式 8253/8254芯片的每个计数器通道都有芯片的每个计数器通道都有6种种工作方式可供选用。工作方式可供选用。18组11 3)、在计数器工作期间,如果重新写入新的计数值,计数器将按新写入的计数值重新工作。 2)、门
10、控信号GATE位高电平时,计数器工作;为低电平时,计数器停止工作,计数只保持不变。18组118组2n=5n=5CLKCLKOUTOUTWRWR 5 54 43 32 21 10 0图图3.4 82533.4 8253的的0 0方式时序波形方式时序波形WRWROUTOUT n=9n=99 98 8n=4n=44 43 32 21 10 0n=5n=5WRWRGATEGATEOUTOUT 5 54 43 32 21 10 04 44 4 MOV DX,307H ;命令口 MOV AL,01110000B ;方式字 OUT DX,AL MOV DX,305H ;T1数据口 MOV AL,BYTEL
11、;计数值低字节 OUT DX,AL MOV AL,BYTEH ;计数值高字节 OUT DX,AL 例例1:使计数器:使计数器T1工作在工作在0方式,进行方式,进行16位二进制计数,计位二进制计数,计数初值的高低字节分别为数初值的高低字节分别为BYTEH和和BYTEL。其初始化程。其初始化程序段如下:序段如下: 2. 1方式方式-低电平输出低电平输出(GATE信号上升沿重新计数信号上升沿重新计数) 1方式为可编程的单稳态工作方式。 情况一:情况一:(1)写入计数初值后,计数器并不立即开始工作;(2)门控信号GATE有效,才开始工作,使输出OUT变成低电平;(3)直到计数器值减到零后,输出才变高电
12、平。见图3.5中。 情况二:情况二: 在计数器工作期间,当GATE又出现一个上升沿时,计数器 重新装入原计数初值并重新开始计数,见图见图3.5中。 21组17 如果工作期间对计数器写入新的计数初值,则要等到当前的 计数值计满回零且门控信号再次出现上升沿后,才按新写入的 计数初值开始工作,见图3.5所示。21组121组16图图3.5 82533.5 8253的的1 1方式时序波形方式时序波形n=3n=3WRWRn=2n=2OUTOUT 3 32 21 10 02 21 10 0GATEGATEn=4n=4CLKCLKGATEGATEWRWROUTOUT 4 43 32 21 10 0OUTOUT
13、 4 43 32 21 1GATEGATE4 40 0例2:使计数器T2 工作在1方式,进行8位二进制计数, 并设计 数 初值的低8位为BYTEL。 其初始化程序段为 MOV DX,307H ;命令口 MOV AL,10010010B ;方式字 OUT DX,AL MOV DX,306H ;T2数据口 MOV AL,BYTEL ;低8位计数值 OUT DX,AL 3. 方式方式2:频率发生器:频率发生器 2方式是一种具有自动装入时间常数(计数初 值N) 的 N分频器。时序波形如下时序波形如下特点:特点:一次设置计数初值,计数器可自动重复进行减“1”计数操作,减“1”计数回“0”,可从输出端输出
14、一负脉冲信号。OUTOUT3 32 21 15 51 143 32 2n=3n=3CLKCLKWE GATEOUTOUT3 32 21 13 3 2 1 32 2n=5n=5GATEOUTOUT3 32 22 2 1 32 21 2 2 例3:使计数器T0 工作在2方式,进行16位二进制计数。 其初始 化程序段为 MOV DX,307H ;命令口 MOV AL,00110100B ;方式字 OUT DX,AL MOV DX,304H ;T2数据口 MOV AL,BYTEL ;低8位计数值 OUT DX,AL MOV AL,BYTEL ;高8位计数值 OUT DX,AL4. 3方式方式-周期性方
15、波输出周期性方波输出 3方式工作方式与2方式基本相同,也具有自动装入时间常数(计数初值)的功能,不同之处在于:不同之处在于:(1)工作在3方式,引脚OUT输出的不是一个时钟周期的负脉 冲 , 而是占空比为1:1或近似1:1的方波;当计数初值为偶 数时,输出在前一半的计数过程中为高电平,在后一半的计数 过程中为低电平。(2)由于3方式输出的波形是方波,并且具有自动重装计数初 值的功能,因此,8253一旦计数开始,就会在输出端OUT输出 连续不断的方波。n=5n=5CLKCLKWRWROUTOUT 2 2n=4n=42 22 22 2图图3.7 82533.7 8253的的3 3方式时序波形方式时
16、序波形OUTOUT WRWR3 32 23 32 2 5. 4方式方式-单次负脉冲输出(软件触发)单次负脉冲输出(软件触发) 4方式工作方式是一种由软件启动的计数方式, 即由写入计数初值来触发计数器开始工作。门控信GATE 为高电PIN平时,允许计数器工作。 例4:使计数器T1工作方式4方式,进行8位二进制计数, 并 且只装入高8位计数值。其初始化程序段为: MOV DX,307H ;命令口 MOV AL,00110100B ;方式字 OUT DX,AL MOV DX,304H ;T2数据口 MOV AL,BYTEL ;低8位计数值 OUT DX,AL 6. 5方式方式-单次负脉冲输出(硬件触
17、发)单次负脉冲输出(硬件触发) 5方式工作特点是由GATE上升沿触发计数器开始工作。 在5方式工作方式下,当写入计数初值后,计数器并不立 即开始计数,而要由门控信号的上升沿启动计数。30组1 在计数过程中(或者计数结束后),如果门控再次出现上 升沿,计数器将从原装入的计数初值重新计数。30组2CLKWROUT n=5GATE543210图3.9 8253的5方式时序波形OUT GATE54543210七七. 8253-/8254-2的应用举例的应用举例 一、计数器-日时钟1.要求设计一个计一天时间的日计时器-日时钟。2.分析利用8253工作在3方式下,其输出为一系列方波,这种方波的周期是准确的
18、,可以作为定时单位。比如,选用8253的计数器0,让其工作在3方式,计数初值设置为最大值-65536。当输入时钟CLK0=1.1931816MHz,则输出方波的频率为 fouto=1.1931816MHz/65536=18.2Hz输出方波的周期为: Touto=1/18.21000ms=54.945ms 1天天2460601000ms/54.945ms=1573040(计时单位)。 若以十六进制表示,则为 01800B0H个计时单位个计时单位(占用占用4个存储单元)个存储单元)。 为存放每次中断以后加1所得到的计数值,使用4个存储字节,其对应双字变量分别为: TIMER-LO(40H:6CH)
19、 和 TIMER-HI (40H:6EH)。 同理可得:1小时包含小时包含65543个计时单位,个计时单位, 1分钟包含分钟包含1092个计时单位,个计时单位, 1秒钟包含秒钟包含18.2个计时单位个计时单位。 使用中断程序对计时时间单元进行加1累加,中断请求通过8259的IR0引入。 3.设计设计(1)硬件设计)硬件设计日时钟的硬件主要由定时日时钟的硬件主要由定时/计数器计数器8254和中断控制器和中断控制器8259A构成,共工作原理框图如图构成,共工作原理框图如图3.10所示。该图还所示。该图还画出了在日时钟运行时对内存画出了在日时钟运行时对内存RAM的使用情况。的使用情况。8254825
20、4OUT0GATE0CLK08259A8259AIRQ0T=54.9msIR0INTD07INTA总线控制器S2S1S0D QQ状态=000CPPCLK+5VCPUCPUINTRD07S2S1S0MFEA5HF000HTIMER-LOTIMER-HI存储器TIMER-INT(中断程序)00:0000:20H00:23H40:6CH40:6EH向量向量指针时间值+1并保存图3.10 日时钟运行原理示意图2.3863632MHZ中断号8加1 到24小时?TIMER-OFL置1并使日时钟复位0点0 TIMER-LO0 TIMER-HIYN开中断有关寄存器进栈TIMER-LO加1到0?TIMER-HI
21、加1NY图3.11 日时钟中断8的中断服务程序流程图(2)软件设计AA调用定时报时中断ICH输出结束中断的命令EOI到8259A有关寄存器出栈中断返回关闭软驱电机计算值减1 减至0?电机运行状态清零输出命令关闭电机NA 二、稳定延时 三、发声器 1.要求 利用定/计数器8253发600Hz的长/短音。按任意键,开始 发声;按ESC键,停止发声。8253的输入时钟CLK的频率 1.19318MHz。 2.分析 3.设计 (1)硬件设计 (2)软件设计 发声程序由主程序和子程序组成。主程序流程图如图3.13所 示。.发长音(BL=6)(CALL SSP)发短音(BL=1)(CALL SSP)按下E
22、sc键?关闭扬声器返回DOS结束YYN开始8253初始化计算并装入初值关闭扬声器按下任意键?N发长/短音的程序为:CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 100H START: JMP BEGIN LONG1 EQU 6 SHORT1 EQU 1 BEGIN: MOV AX,CODE MOV CS,AX MOV DS,AX ;初始化初始化8253 MOV AL,10110110B ; 方式命令 OUT 43H,AL ;命令口 ;装计数初值 MOV AX,1983 ;输出600Hz的计 数初值 OUT 42H,AL ;先装低字节 MOV AL,AH ; 后
23、装高字节 OUT 42H,ALv ; 关闭扬声器v IN AL,61H ; 读入8255的PB口原输出值v AND AL,0FCH ; 置PB0和PB1为零,关闭GATE2和与门v OUT 61H,ALv ; 查任意键,启动发声器 WAIT1: MOV AH, 0BH ; 功能调用v INT 21Hv CMP AL,0H ;无按按下,发出长音v JE WAIT ;有键按下,发出长音v v ;发长音v LOP: MOV BL,LONG1 ;长音入口参数v CALL SSP ;;调发声子程序v ;查Esc键,停止发声v MOV AH,0BH ;功能调用v INT 21H v CMP AL,0Hv
24、JE CONTINUE1v MOV AH,08H ;有键铵下,检测是Esc键?v INT 21Hv CMP AL,1BHv JE QUIT ;是,停止发声,并退出v ;发短音CONTINUE1: MOV BL,SHORT1 ;短音入口参数 CALL SSP ;调用发声子程序 JMP LOP ;循环 ;关闭扬声器,并退出 QUIT: IN AL, 61H ;停止发声 MOV AH,AL AND AL,0FCH OUT 61H,AL MOV AL,AH MOV AX,4C00H ;退出,返回 DOS INT 21H SUB CX,CX ;设CX的值为216 ;发声子程序SSP PROC NEAR
25、IN AL,61H ;读取PB口的原值 OR AL,03H ;置PB0和PB1为高,打 开GATE2与门 OUT 61H,AL ;开始发声 ;延时 L: LOOP Lv DEC BL ;BL为子程序的入口件v JNZ L v RET v SSP ENDPv CODE ENDSv END START四、波特率时钟发生器四、波特率时钟发生器 1.要求设计一个波特率时钟发生器,其输入时钟CLK=1.19318Mz,波特率因子factor=16,输出的波特率为8档,它们分别是110b/s、 150b/s、 300b/s、 600b/s、1200 b/s、2400b/s、4800b/s、9600b/s。
26、要求利用人-机对话方式选择波特率。按Esc键,退出。 2. 分析 发送时钟 TxC=BaudFactor Tc = C L K / B a ud F a c t o r = C L K / B F (3.2)3.设计(1)硬件设计 波特率时钟发生器的硬件包括定时/计数器8253、并行接口芯片8255A及I/O端口地址译码电路等。(2)软件编程 计算出题目中要求的8档波特率的定时常数,分别为678H、497H、249H、124H、62H、31H、16H、8H。其次,设计查表法的波特率时钟发生器程序流程图,如图3.15所示。 DATA SEGNENT TC-TABLE DW 678 ;0=110b
27、/s ,定时常数表v DW 497 ;1= 150b/s v DW 249 ;2= 300b/sv DW 124 ;3= 600b/sv DW 62 ;4= 1200b/sv DW 31 ;5= 2400b/sv DW 16 ;6= 4800b/sv DW 8 ;7= 9600b/sDATA ENDS TEMP DB(?) MES DB NOW BEGIN TO GENERATE BAUD-RATES CLK!,0DH,0AH DB HTP ESC TO QUIT !,0DH,OAH,$ INPUR-MES DB 0:110 1:150 2:300 3:600 4:1200,0DH,0AH ,
28、$ DB 5:2400 6:4800 7:9600 ,0DH,0AH, $ ERROR-MES DB INPUT ERROR! TRY AGAIN PLEASE!,0DH,0AH, $CODE SEGMENT ASSUME CS:CODE,DS:DATAOK:MOV AX,CODE MOV CS,AX MOV DX,307H ;8253命令口 MOV AL,0B6H ;8253方式命令 OUT DX,AL MOV AL,0CH ;使PC6=0,关8253 OUT DX,AL MOV AX,DATA MOV DS,AX LEA DX,INPUT-MES ;提示选择波特率 MOV AH,09H I
29、NT 21HINPUT:MOV AH,08H INT 21H CMP AL,0 ;选择波特率是否正确? JB ERROR ;不正确,则转出错处理 CMP AL,7 开始8253初始化8255初始化关闭8253 提示选择波特率选择波特率选择有错?YN波特率代号temp查表获取计数初值,并装入8253(CALL Load)有ESC键按下?关8253返回DOS结束图3.15 波特率时钟发生器程序流程图NYv JA ERRORv SUB AL,30H ;正确v MOV TEMP,AL ;则保存波特率代号v CALL LOAD ;装入计数初值v JMP BEGIN ;启动8253波特率时钟发生器ERRO
30、R:MOV AH,9H ;出错处理 LEA DX,ERROR-MES INT 21H JMP INPUT ;重新选择波特率BEGIN:LEA DX,MES ;显示提示信息 MOV AH,09H INT 21HSTART:MOV DX,303H ;8255命令口 MOV AL,0DH ;使PC6=1,启动8253, 产生波特率时钟 OUT DX,AL NOPLOP: MOV AH,0BH ;检测有键按下? INT 21Hv CMP AL,00v JE LOP ;无,等待v MOV AH,08H;有,检测是否是Esc键v INT 21Hv CMP AL,1BHv JE QUIT;是,则退出v JMP LOP ;不是,循环查Esc键vQUIT:MOV DX,303Hv MOV AL,0CH;关闭8253v OUT DX,ALv MOV AX,4C00H;退出,返回DOSv INT 21H LOAD PROC NEAR PUSH AX PUSH DX PUSH SI MOV DL,TEMP SHL DL,1;波形代号乘2,存 放在DX中 AND DX,0FH ;只取DX的低4位 MOV SI,OFFSET TC-TABLE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度数据中心设备维护与管理合同4篇
- 二零二五年度彩钢活动房销售与售后服务合同3篇
- 二零二五年度酒店客房预订系统转让合同示范3篇
- 2025年度冷冻食品冷藏运输承包合同范本3篇
- 二零二五年度分公司设立与人才引进及培养合同3篇
- 2025年度船舶交易评估及市场咨询合同4篇
- 2025年度地质灾害监测与打井工程承包合同4篇
- 二零二五年度苗木种植与森林碳汇交易合作协议3篇
- 二零二五年度祠堂修缮与重建合同(古建筑文化传承)4篇
- 2025年度养老产业园区承包合作协议范文4篇
- 2024高考复习必背英语词汇3500单词
- 消防控制室值班服务人员培训方案
- 《贵州旅游介绍》课件2
- 2024年中职单招(护理)专业综合知识考试题库(含答案)
- 无人机应用平台实施方案
- 挪用公款还款协议书范本
- 事业单位工作人员年度考核登记表(医生个人总结)
- 盾构隧道施工数字化与智能化系统集成
- 【企业盈利能力探析文献综述2400字】
- 2019年医养结合项目商业计划书
- 2023年店铺工程主管年终业务工作总结
评论
0/150
提交评论