微机接口(定时器)_第1页
微机接口(定时器)_第2页
微机接口(定时器)_第3页
微机接口(定时器)_第4页
微机接口(定时器)_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、12第8章 定时计数控制器n教学重点教学重点n 8253 的引脚和的引脚和 6 种工作方式种工作方式n 8253 的编程的编程n 8253 在在IBM PC系列机上的应用系列机上的应用3定时器和计数器n定时控制定时控制在微机系统中极为重要在微机系统中极为重要n定时器定时器由数字电路中的由数字电路中的计数电路计数电路构成,通过记构成,通过记录高精度晶振脉冲信号的个数,控制产生准确录高精度晶振脉冲信号的个数,控制产生准确的的时间间隔时间间隔n一般,该一般,该计数电路计数电路也可记录引脚输入的脉冲信也可记录引脚输入的脉冲信号(号(可随机产生可随机产生),反映输入,反映输入脉冲的个数脉冲的个数,所,所

2、以,以,定时器定时器又常被称为又常被称为“定时定时/计数器计数器”4定时功能的实现方法n用软件实现延时用软件实现延时利用微处理器执行一个延利用微处理器执行一个延时程序段来实现时程序段来实现n用硬件实现定时用硬件实现定时n采用不可编程器件(采用不可编程器件(不灵活不灵活)如如分频器分频器、单稳电路单稳电路、简易定时电路简易定时电路;n采用可编程器件(采用可编程器件(灵活灵活)采用可编程的采用可编程的定定时时/计数器计数器芯片芯片来来构成定时电路,构成定时电路, 通过通过软件软件设设计,计,可在不同的条件或时段采用不同的定时策可在不同的条件或时段采用不同的定时策略。略。58.1 8253/8254

3、定时计数器n8253/8254有有3个个独立的计数器通道,每个计数独立的计数器通道,每个计数通道通道16位位,可进行:,可进行:n定时定时对引脚上输入的周期性时钟信号进行计数对引脚上输入的周期性时钟信号进行计数n计数计数对引脚上输入的非周期性脉冲信号进行计数对引脚上输入的非周期性脉冲信号进行计数n每个计数器有每个计数器有 6 种工作方式种工作方式n可按二进制或十进制(可按二进制或十进制(BCD码)进行计数码)进行计数68.1.1 8253/8254的内部结构和引脚78253/8254的地址分配n8253/8254 有有4个个I/O端口:端口:nA1A0=00数据口(数据口(CH0送计数初值,读

4、计数)送计数初值,读计数)nA1A0=01数据口(数据口(CH1送计数初值,读计数)送计数初值,读计数)nA1A0=10数据口(数据口(CH2送计数初值,读计数)送计数初值,读计数)nA1A0=11 控制口(送控制命令)控制口(送控制命令)8计数通道的内部结构示意预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器9计数器工作描述 预置寄存器预置寄存器用于存放用于存放计数初值计数初值和和重装初值重装初值,注意:注意: 计数初值为计数初值为0时,计数值最大(时,计数值最大(65536/10000) 计数初值为计数初值为1时,计数值最小(时,计数值最小(1/1) 预置寄存

5、器中的预置值在计数过程中不会改变。预置寄存器中的预置值在计数过程中不会改变。 减法计数器减法计数器CLK引脚每收到一个脉冲,减引脚每收到一个脉冲,减法计数器将减法计数器将减1。注意:。注意: 可采用可采用二进制二进制或或十进制十进制(BCD码)进行计数码)进行计数 输出锁存器输出锁存器用于在接到命令时锁存当前计用于在接到命令时锁存当前计数,这样,数,这样,CPU在读取时,该值将不再变化在读取时,该值将不再变化10每个计数通道的3个引脚nCLK(时钟时钟)输入引脚,在计数过程中,此引脚输入引脚,在计数过程中,此引脚上每输入上每输入1个时钟信号(个时钟信号(下降沿下降沿),计数器的计数值),计数器

6、的计数值将减将减1nGATE(门控门控)输入引脚,控制计数器工作:输入引脚,控制计数器工作:n开通开通/关闭计数关闭计数高高/低低电平时电平时开通开通/关闭关闭计数通道计数通道n触发触发/重触发重触发上升沿上升沿产生触发或重触发产生触发或重触发nOUT(输出输出)输出引脚,根据设置工作方式的不输出引脚,根据设置工作方式的不同,同, OUT引脚可输出单个波形或连续的波形。引脚可输出单个波形或连续的波形。n一般是在计数过程结束(计数一般是在计数过程结束(计数归归0)时,引脚输出)时,引脚输出发生跳变发生跳变118.1.2 8253/8254的工作方式n方式方式0计数结束中断(阶跃)计数结束中断(阶

7、跃)n方式方式1可编程单稳(负脉冲,宽度可调)可编程单稳(负脉冲,宽度可调)n方式方式2连续负脉冲发生器(脉宽为连续负脉冲发生器(脉宽为1)n方式方式3连续方波发生器连续方波发生器n方式方式4软件触发选通(单脉冲,脉宽为软件触发选通(单脉冲,脉宽为1)n方式方式5硬件触发选通(单脉冲,脉宽为硬件触发选通(单脉冲,脉宽为1)12方式0 计数结束中断GATEOUTCLK 03124写入写入4写入方式写入方式0-WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATE:开关作用开关作用计数期间计数器装入新值,重新计数。计数期间计数器

8、装入新值,重新计数。写入写入313方式1 可编程单稳脉冲设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 03124写入写入4写入方式写入方式1-WR GATE:触发作用触发作用 计数过程写入新值,不影响当前计数;计数过程写入新值,不影响当前计数; GATE再次触发启动新值计数;再次触发启动新值计数; 计数过程计数过程GATE再次触发从头计数。再次触发从头计数。14方式2 频率发生器(分频器)03124GATEOUTCLK031240312403124-WR GATE:开关作用开关作用 计数过程

9、装入新值,不影响现行计数;从下个周期按新值计数;计数过程装入新值,不影响现行计数;从下个周期按新值计数; GATE低,禁止计数,输出高;低,禁止计数,输出高;GATE变高,重新装入计数值开始计数变高,重新装入计数值开始计数写入写入4写入方式写入方式215方式3 方波发生器03124GATEOUTCLK写入写入4写入方式写入方式3031240312403124-WRGATE:开关作用开关作用初值初值N为为偶数偶数:N/2脉冲数输出高脉冲数输出高, N/2脉冲数输出低脉冲数输出低初值初值N为为奇数奇数:(N+1)/2脉冲数输出高,脉冲数输出高, (N-1)/2脉冲数输出低脉冲数输出低16方式4 软

10、件触发选通信号GATEOUTCLK03124写入写入4写入方式写入方式423写入写入33 2-WRGATE:开关作用开关作用1 017方式5 硬件触发选通信号GATEOUTCLK03124写入方式写入方式52233写入写入311 0-WRGATE:触发触发/重触发作用重触发作用重重触发:触发:装计数值装计数值触发触发写入写入4触发触发18各种工作方式的输出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1连续波形连续波形硬触发硬触发198.1.3 8253/8254的编程n加电后加电后8253的

11、工作方式不确定,必须经初始化的工作方式不确定,必须经初始化编程后才能正常工作。初始化编程过程:编程后才能正常工作。初始化编程过程:n先写入控制字先写入控制字n再写入计数初值再写入计数初值n方法方法1:各通道依次进行,:各通道依次进行,n方法方法2:先写所有通道的控制字,再写所有通道的计:先写所有通道的控制字,再写所有通道的计数初值数初值n工作中可随时读取动态的计数值:工作中可随时读取动态的计数值:n一般,先用命令将当前计数一般,先用命令将当前计数锁存在锁存在通道的锁存器中通道的锁存器中n然后,可分两次读取然后,可分两次读取16位的计数值位的计数值n8254 新增的读回命令新增的读回命令201

12、写入方式控制字计数器计数器读写格式读写格式工作方式工作方式数制数制D7D6D5D4D3D2D1D0 00 计数器计数器0 01 计数器计数器1 10 计数器计数器2 11 非法非法00 计数器锁存命令计数器锁存命令 01 只读只读/写低字节(写时高字节写写低字节(写时高字节写0)10 只读只读/写高字节(写时低字节写写高字节(写时低字节写0)11 先读先读/写低字节写低字节, 后读后读/写高字节写高字节 000 方式方式0 001 方式方式1 010 方式方式2 011 方式方式3 100 方式方式4 101 方式方式5 0 二进制二进制 1 十进制(十进制(BCD)控制字写入控制字控制字写入

13、控制字I/O地址(地址(A1A011)212 写入计数初值n选择二进制时选择二进制时n计数范围:计数范围:1H10000Hn初值写入初值写入0时计数最大(时计数最大(65536/10000H)n选择十进制(选择十进制(BCD码)时码)时n计数范围:计数范围:110000n初值写入初值写入0时计数最大(时计数最大(10000) 计数初值要写入各计数通道(计数初值要写入各计数通道(I/O地址地址) 控制字要写入同一控制口控制字要写入同一控制口223 读取计数值n对对8位数据线,读取位数据线,读取16位计数值,需分两次进行位计数值,需分两次进行n由于计数随时进行,故应将当前计数先行锁存,由于计数随时

14、进行,故应将当前计数先行锁存,然后再从容读取:然后再从容读取:n向控制字向控制字I/O地址写入锁存命令地址写入锁存命令n从计数器从计数器I/O地址读取被锁存的计数值地址读取被锁存的计数值n3 种读取方式:种读取方式:n只读低只读低8位位n只读高只读高8位位n先低后高先低后高读取计数值时要注意格式和数制读取计数值时要注意格式和数制238.2 8253在IBM PC系列机上的应用D Q CLKA0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2+5V 接至扬声器驱动器接至扬声器驱动器(约(约900Hz)PB0PB1 接至接至8255的的

15、IRQ0 (# 8)(55ms) DRQ0接至接至DMA控制器控制器(15us) 8253+5V1.19318MHzDACK0 BRD-IOR-IOWRDWRCS-T/C CS方波方波连续负脉冲连续负脉冲方波方波248.2.1 定时中断和定时刷新n阅读初始化程序段,看阅读初始化程序段,看计数器计数器0触发触发55ms定时中断定时中断的作用的作用n将将计数器计数器1用作对用作对DRAM定时定时刷刷新(新(15us)的触发信号,的触发信号,考虑如考虑如何编写初始化程序段何编写初始化程序段PC机中机中8253的用法的用法25计数器0:定时中断n工作于工作于方式方式3,计数初值:,计数初值:0,门控端

16、,门控端GATE常有效常有效n输出方波频率输出方波频率18.206Hz=1.19318MHz/65536,周期约为周期约为55ms。nOUT0接接8259A的的IRQ0端,用作中断请求信号。每秒端,用作中断请求信号。每秒钟产生钟产生18.2次中断请求,即每隔次中断请求,即每隔55ms(54.925493ms)申请申请1次中断次中断nDOS系统利用系统利用计数器计数器0和和08号中断号中断实现实现日时钟日时钟的计时的计时功能功能nDOS系统将系统将1CH软中断留给用户使用,即在软中断留给用户使用,即在08号号中断中断服务中安排了服务中安排了1条条 int 1ch 指令指令26CH0 55mS 定

17、时中断 mov al,36h ;计数器计数器0为方式为方式3(连续方波)(连续方波) ;采用采用二进制二进制计数,先低后高写入计数值计数,先低后高写入计数值 out 43h,al ;写入方式控制字写入方式控制字 mov al, 0 ;计数值为计数值为0 out 40h,al ;写入低字节计数值写入低字节计数值 out 40h,al ;写入高字节计数值写入高字节计数值8253初始化PC机上机上8253地址:地址:40h-43h27计数器1:定时刷新DRAMn需要重复不断(需要重复不断(15uS)提出刷新请求)提出刷新请求n2ms内必须刷新内必须刷新128次,即每次,即每15.6 s刷新刷新1次次

18、门控端常有效,可选方式门控端常有效,可选方式2或方式或方式3计数初值为计数初值为18 (频率为(频率为1.19318MHz/18周期为周期为15.09us )28CH1 15uS 定时刷新DRAMmov al,54h ;计数器计数器1为方式为方式2(连续负脉冲)(连续负脉冲);采用二进制计数,只写低采用二进制计数,只写低8位计数值位计数值out 43h,al;写入方式控制字写入方式控制字mov al,18;计数初值为计数初值为18out 41h,al;写入计数值写入计数值 8253初始化PC机上机上8253地址:地址:40h-43h298.2.2 扬声器的发声及控制n计数器计数器2 的输出频率

19、控制的输出频率控制PC机中扬声器的音调高低,机中扬声器的音调高低,通过初始化设置可加以改变。通过初始化设置可加以改变。n计数器计数器2 工作于方式工作于方式3(连续(连续方波)方波),经滤波后可得经滤波后可得到近似的正弦波,以此驱动扬声器发声(单音)到近似的正弦波,以此驱动扬声器发声(单音)n扬声器同时还受控于并行接口(扬声器同时还受控于并行接口(8255芯片),必须使芯片),必须使 8255的输出端的输出端 PB0 和和 PB1 同时输出高电平,与门才开同时输出高电平,与门才开通,扬声器才能发声,通,扬声器才能发声,8255 B口的地址为口的地址为 61H。nin al,61h ;读读825

20、5 B口口nout 61h,al ;写写8255 B口口30CH2 900Hz 频率设置子程序speakerprocpush ax;入口参数(发声频率)入口参数(发声频率)mov al,0b6h ;方式方式3(连续方波)(连续方波)out 43h,al;写入控制字写入控制字pop axout 42h,al;写入低写入低8位计数值位计数值mov al,ahout 42h,al;写入高写入高8位计数值位计数值retspeakerendp扬声器控制PC机上机上8253地址:地址:40h-43h31开扬声器子程序speakonproc ;无入口参数无入口参数push axin al,61hor al,

21、03h ; PB1PB011B,其他位不变,其他位不变out 61h,alpop axretspeakonendp扬声器控制PC机上机上8255地址:地址:60h-63h32关扬声器子程序speakonproc;无入口参数无入口参数push axin al,61hand al,0fch; PB1PB000B,其他位不变,其他位不变out 61h,alpop axretspeakonendp扬声器控制PC机上机上8255地址:地址:60h-63h33主程序;数据段数据段freqdw 1193180/600;600为发声频率(音调)为发声频率(音调);代码段代码段mov ax,freqcall s

22、peaker;设置扬声器音调设置扬声器音调call speakon;打开扬声器开关打开扬声器开关mov ah,1;等待按键等待按键int 21hcall speakoff;关闭扬声器开关关闭扬声器开关扬声器控制348.2.3 可编程硬件延时nPC/XT/AT提供的定时中断资源提供的定时中断资源n采用采用8253/8254定时芯片定时芯片n08H号硬中断号硬中断8253/8254通道通道0产生,引向产生,引向8259的的IR0, 8253/8254 的的CLK频率为频率为1.19318MHz,每,每55ms发生发生1次次nINT 1AHBIOS中断功能调用(设置中断功能调用(设置/读取时钟),以

23、读取时钟),以55ms为单位为单位nINT 1CH报时中断(用户),被嵌在报时中断(用户),被嵌在08H号中断服务中号中断服务中nPC/AT以后的以后的PC机机新增加的定时中断资源新增加的定时中断资源n采用采用146818定时芯片并配有后备电池,提供周期中断定时芯片并配有后备电池,提供周期中断(976us)和报警中断两个输出)和报警中断两个输出.n70H号硬中断号硬中断146818周期中断输出引向周期中断输出引向8259(2)的)的IR9,该中断被称为实时时钟中断,每,该中断被称为实时时钟中断,每976us=1/1024s(约(约1mS)发生)发生1次次nINT 1AH扩充了操作实时时钟的功能

24、扩充了操作实时时钟的功能 (子功能号(子功能号27)nINT 15HBIOS中断功能调用,以中断功能调用,以976us为单位为单位358.2.3 可编程硬件延时n日时钟中断日时钟中断(INT 1AH)每隔每隔55ms中断中断一次。一次。n可以利用它编写一段不随可以利用它编写一段不随系统时钟系统时钟频率变化的固定频率变化的固定延时程序。延时程序。n由于日时钟中断的时间单位是由于日时钟中断的时间单位是55ms,所以无法实,所以无法实现更短时间的延时现更短时间的延时n实时时钟中断实时时钟中断(INT 15H)它的定时单位它的定时单位约为约为1ms(976 s=1/1024s)36日时钟;延时延时5秒

25、秒开始开始mov ah,0;子功能号,读时钟子功能号,读时钟int 1ah;BIOS中断中断add dx, 90;再加再加5秒秒(51890)mov bx,dx;期望值期望值送送bxrepeat:int 1ah;再读日时钟再读日时钟cmp bx,dx;与期望值比较与期望值比较jne repeat;不等,则循环不等,则循环;相等,延时结束相等,延时结束可编程硬件延时每秒发生每秒发生 08h 号中断号中断18.2次次37实时时钟;延时延时2ms开始开始mov cx,0;入口参数入口参数cx.dx单位单位us;实际以实际以976us为单位,否则将失败为单位,否则将失败mov dx,1952;延时延时

26、1952us976 s2 ;应为应为976的整数倍的整数倍mov ah,86h;86h为为子功能号子功能号int 15h ;返回时,定时时间到返回时,定时时间到可编程硬件延时388.3 扩充定时计数器的应用n例题例题8.2利用扩充定时计数器对外部事件进行计数利用扩充定时计数器对外部事件进行计数n例题例题8.3为为A/D转换电路提供可编程的采样启动信号转换电路提供可编程的采样启动信号39例8.2 利用扩展的定时器外部事件脉冲外部事件脉冲8253OUT0GATE0CLK0I/O地址地址200H203HIRQD0D7D0D7译码译码电路电路AENA3A9+5V-CSA0A1 A0 A1-IOR-IO

27、W-RD-WR对外部事件进行计数40初始化程序段mov dx,203h;设置方式控制字设置方式控制字mov al,10h ;00 01 000 0Bout dx,al mov dx,200h;设置计数初值设置计数初值mov al,64h ;计数初值为计数初值为100out dx,al例8.241例8.3 A/D采样/转换时序采样时间启动转换OUT1OUT0OUT01、用手动控制启动A/D转换2、每启动一次产生一个单稳,用单稳有效时间来完成采样3、在采样时间的末端,启动A/D转换OUT1作定时器0的门控控制采样持续时间42例8.3 提供A/D采样控制和启动信号OUT0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK2启动转换启动转换时钟源时钟源频率频率 F+5V求计数求计数值值cnt0cnt1cnt2A0A1A1A2I/O地址地址200H207

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论