已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,5.4可编程计数/定时器8253,5.4.18253的结构5.4.28253的引脚功能5.4.38253的控制字和初始化编程5.4.48253的工作方式,2,获得定时信号可以用三种方法:1.软件定时:执行延时子程序,节省硬件,CPU利用率低,设计较麻烦2.不可编程的硬件定时:用元器件搭成的延时电路使用不灵活3.可编程的硬件定时:专用芯片。计数或定时时,不占用CPU,大大提高CPU的利用率,3,可编程计数器/定时器的工作原理可编程计数器/定时器具有两种功能:1.计数器:设置好初值后,计数器被启动,每当计数脉冲到来,进行-1计数,当减到0时输出一信号。2.定时器:设置好定时常数后,定时器开始工作,在固定频率的时钟下,进行-1计数,按定时常数不断输出时钟周期整数倍的定时间隔。,4,两者的主要差别是:作为计数器,在减到“0”之后输出一个信号,此次计数过程便结束了;作为定时器,在减到“0”之后输出一个信号,接着自动重装计数初值开始下一个周期的定时,如此连续不断地产生信号。特点:基于计数器的减1操作。,5,典型的计数器/定时器的基本原理图,决定计数速率,门脉冲信号,对时钟的控制信号,当计数=0时,OUT输出信号,控制计数器/定时器的工作方式,6,计数器/定时器的工作方式是指时钟脉冲和门脉冲如何配合来产生输出。有以下几种工作方式:(1)门脉冲控制时钟输入。门脉冲有效,时钟有效;门脉冲结束,时钟无效。用门脉冲重新启动计数。用门脉冲停止计数。计数器在不停地计数,当门脉冲到来时,计数停止,并使OUT为高电平。,7,单一计数。与门脉冲无关,只要门脉冲为有效电平就可以。计数器按给定的初值进行减1计数,到0时,输出停止。循环计数。每当计数值=0时,给出一个输出信号,然后又从预置计数值寄存器获得计数初值,开始新的计数过程。,8,可编程定时/计数器8253的主要功能,每个芯片内部有3个独立的16位计数器通道。每个计数通道都可以单独使用,都可按照二进制或BCD码计数。0000HFFFFH2166553600009999104每个计数器的计数速率可高达2MHz,最高计数速率为2.6MHz。每个计数器有6种工作方式,可由程序设置。所有输入输出与TTL兼容。,9,5.4.18253的内部结构,三态、双向8位寄存器。功能:(1)CPU通过其向8253写入确定工作方式的命令字。(2)向某个计数器写入计数初值。(3)从某一计数器读取当前的计数初值。,初始化编程时,由CPU写入控制字,以决定计数器的工作方式。只能写,不能读。,用来对3个计数器和控制寄存器进行寻址,与CPU的系统地址线相连。A1A0=00选中计数器0A1A0=01选中计数器1A1A0=10选中计数器2A1A0=11选中控制字寄存器,计数时钟,输入。用于输入定时脉冲或计数脉冲信号。,门控信号,输入,由外部信号通过GATE端控制计数器的启动计数和停止计数的操作。,时间到或计数结束输出引脚。当计数器计数到0时,在OUT引脚有输出。,每个计数器包含(1)一个16位的初值寄存器(2)一个16位计数执行部件(3)一个16位输出锁存器,10,5.4.28253的外部引脚及功能,11,1.数据总线缓冲器8位、双向、三态的寄存器功能:(1)CPU通过数据总线缓冲器向8253写入确定工作方式的命令字。(2)向某个计数器写入计数初值。(3)从某一计数器读取当前的计数初值。,12,2.读写逻辑电路CS:片选信号,输入,低电平有效。A1、A0:输入信号,用来对3个计数器和控制寄存器进行寻址,与CPU的系统地址线相连。A1A0=00选中计数器0A1A0=01选中计数器1A1A0=02选中计数器2A1A0=03选中控制字寄存器WR:写引脚,输入,低电平有效。RD:读引脚,输入,低电平有效,,13,3.计数通道3个相互独立的计数器0、计数器1和计数器2。每个计数器包含(1)一个16位的初值寄存器(2)一个16位计数执行部件(3)一个16位输出锁存器,14,CLK:计数时钟,输入。用于输入定时脉冲或计数脉冲信号。GATE:门控信号,输入,由外部信号通过GATE端控制计数器的启动计数和停止计数的操作。OUT:时间到或计数结束输出引脚。当计数器计数到0时,在OUT引脚有输出。,15,计数器内部结构,16,计数器工作过程,17,计数器工作过程,18,计数器工作过程,19,计数器工作过程,20,计数器工作过程,21,计数器工作过程,22,1.8253初始化的顺序(1)先将控制字写入控制寄存器中。(2)写入定时或计数的初值。若规定只写入低8位,则写入的为计数值的低8位,高8位自动置0;若规定只写入高8位,则写入的为计数值的高8位,低8位自动置0;若是16位计数值,则分两次写入,先写入低8位,再写入高8位。,5.4.38253的控制字和初始化编程,23,编程命令分两类:(1)读出命令读取计数器的当前值(2)写入命令包括写入控制字,写入计数初值,写入锁存命令,24,读输出锁存器的顺序(1)输出锁存器锁存或停止计数以保存当前计数值。读出当前的计数值有两种方法:1)把当前计数值输出到锁存器锁存2)通过GATE门控信号发一低电平信号,使计数执行部件不作减1操作,计数过程停止。(2)从输出锁存器读数注意:读8位和读16位的问题若是读16位的数据,需分两次读出。先读低字节,再读高字节,即执行两次输入指令。,25,2.控制字的格式,26,8253有6种工作方式,但总体说有两个功能。1.计数器方式装入计数初值后,当GATE变为高电平或给一触发脉冲时,可由外部事件进行减1计数,当=0时,OUT输出信号。CLK可以是连续的、均匀的、周期精确的,也可以不是。2.定时器方式装入计数初值后,当GATE变为高电平时,由CLK脉冲触发定时器开始工作,定时器产生CLK时钟周期整数倍的定时时间间隔。CLK必须是连续的、周期精确的时钟脉冲。,5.4.48253的工作方式,27,(1)控制字写入计数器时,所有的控制逻辑电路立即复位,OUT进入初始状态。(2)初始值写入初值寄存器后,要经过一个时钟周期才能将值送入减1计数器,减1计数器从下一个时钟开始进行计数。,6种工作方式遵守的基本原则:,5.4.48253的工作方式,28,(3)在时钟脉冲的下降沿计数器进行计数。0是计数器所能容纳的最大初值二进制中0相当于216BCD码中0相当于104(4)在CLK的上升沿对GATE采样,各计数器的门控信号的触发方式与工作方式有关。方式0、方式4,电平触发;方式1、方式5,上升沿触发;方式2、方式3,可用电平触发,也可上升沿触发,5.4.48253的工作方式,29,1.方式0计数结束输出正跳变信号(产生中断)1)门控信号GATE决定计数的停止或继续,高电平触发启动。2)当写入控制字后,OUT变为低电平,一直保持低电平,到计数器=0,OUT变为高电平。3)只计数一遍,不自动重复计数,装入初值决定计数过程重新开始。,5.4.48253的工作方式,30,方式0计数结束产生中断,31,2.方式1可重触发的单稳态触发器该方式是在门控信号的作用下才开始计数。当CPU写入控制字后,输出端变为高电平,由门控信号GATE启动定时或计数(上升沿触发),然后使输出端变为低电平,开始-1计数,直到计数器归0,OUT又变为高电平。,5.4.48253的工作方式,32,方式1可重触发的单稳态触发器,计数过程中,GATE又来一正脉冲,计数初值将重新装入计数器,重新计数。,33,3.方式2分频器有“初值自动重装”功能,能输出固定频率的脉冲。写入控制字后,OUT输出高电平,若GATE为高电平,在装入计数值n后开始作减1计数,OUT保持高电平不变。当减到1时,OUT输出将变为低电平,持续一个时钟脉冲宽度后恢复为高电平,在计数值为0时,自动重新装入计数初值n,又开始重新计数过程。,5.4.48253的工作方式,34,GATE=1,允许计数;GATE=0,停止计数。fout=fin/nn=finTT输出周期方式2的输出是输入时钟按照N计数值分频后的一个连续的脉冲。即每N个时钟脉冲输出一个脉冲。,5.4.48253的工作方式,35,若在计数过程中GATE=0,则暂停计数,待GATE=1后,重新装入计数初值并开始计数。,若在计数过程中改变计数值,不影响当前的减1计数过程,而是在当前计数周期结束后才开始按新的计数值计数。,36,4.方式3方波发生器有“初值自动重装”功能,写入控制字后,OUT输出高电平,装入计数初值n后,OUT保持高电平。若GATE=1,则开始计数。若n为偶数,每来一个CLK脉冲,计数值减2,减到0时,OUT改变极性,计数初值又被自动重新装入,继续计数过程。由此得到对称的方波,方波的周期为CLK周期的n倍。,5.4.48253的工作方式,37,若n为奇数,在装入初值后的第一个CLK脉冲减1,其后每个脉冲减2,减到0时,OUT变为低电平,计数初值又被自动重新装入,第一个CLK脉冲减3,其后每个脉冲减2,减到0时,OUT变为高电平。继续计数。输出的高电平宽度为CLK周期的(n+1)/2倍,低电平宽度为CLK周期的(n-1)/2倍,5.4.48253的工作方式,38,39,新计数值不影响现行的计数过程。,5.4.48253的工作方式,40,5.4.48253的工作方式,例:要求计数器0工作于方式3,输出方波的频率为2KHz,计数脉冲的频率为2.5MHz,采用BCD计数,试写出初始化程序段。8253的端口地址为:80H,81H,82H,83H。,初始化程序:MOVAL,37HOUT83H,ALMOVAL,50HOUT80H,ALMOVAL,12HOUT80H,AL,n=2.5MHz/2KHz=1250,41,5.方式4软件触发选通方式GATE门控信号只是用来允许或不允许定时操作,定时的执行过程由装入的初值决定。方式设定后,OUT输出高电平,写入计数值n后,计数器开始减1计数,输出端一直保持为高电平,当计数到0后,OUT变低,经过一个时钟脉冲后,OUT又变高,计数停止。,5.4.48253的工作方式,42,GATE=1,允许计数;GATE=0,停止计数。,改变计数值,按新的计数值重新计数。,43,6.方式5硬件触发选通方式计数由外部上升沿触发。设定方式后,OUT输出高电平,在设置计数值后并不计数,而是等到GATE出现上升沿才开始计数,即靠硬件触发选通计数器。当计数到0时,OUT输出一个CLK周期的低电平,然后恢复成高电平。下次计数要靠门控脉冲再次触发才能进行。此方式计数器可重新触发,即在任何时刻,当GATE上升沿到来时,计数初值将重新装入,从头开始计数。,5.4.48253的工作方式,44,改变计数值,若没有GATE的触发,不影响计数过程。,45,8253小结:,输出端OUT的初始状态只有方式0是在写入控制字后输出为低,其它均为高;,计数值的设置任一种方式,只有在写入计数值后才能开始计数,方式0、2、3、4在写入计数值后,计数自动开始,方式1、5需外部触发,才开始计数。,46,门控信号的作用GATE输入总是在CLK输入时钟的上升沿被采样。在方式0,2,3,4中,GATE输入是电平起作用。在方式1,2,3,5中GATE输入是上升沿起作用的。,计数到0后计数器的状态计数器减到0后并不停止,在方式0,1,4,5,计数器减到0后从FFFF/9999继续计数。方式2,3是连续计数,计数器自动装入计数值后,继续计数。,初始化程序:MOVAL,30H;控制字送ALMOVDX,126HOUTDX,ALMOVAL,88HMOVDX,120HOUTDX,AL;向计数器0写入计数初值的低8位MOVAL,66HOUTDX,AL;向计数器0写入计数初值的高8位,例1:设在8086系统中有一片8253,其端口地址分别为:120H,122H,124H,126H。要求对计数器0进行初始化,使其工作在方式0,二进制计数,计数初值为6688H。,例2:假设8253的计数器0工作在方式5,按二进制计数,计数初值为46H;计数器1工作在方式1,按BCD码计数,计数初值为4000,计数器2工作在方式2,按二进制计数,计数初值为0304H。请将以上三种情况的初始化程序写出。8253芯片占用地址04C0H、04C2H、04C4H、04C6H。,程序:MOVAL,1AH;计数器0,二进制,方式5,写低字节00011010BMOVDX,04C6H;设置8253控制口地址OUTDX,AL;写入工作方式控制字,49,MOVAL,73H;计数器1,BCD数,方式1,计数初值为4000写16位数01110011BMOVDX,04C6H;设置8253控制器地址OUTDX,AL;写入工作方式控制字MOVAL,00H;计数值低字节MOVDX,04C2H;设置8253计数器1地址OUTDX,AL;写入计数值低字节,MOVAL,46H;计数值的低字节MOVDX,04C0H;设置8253计数器0地址OUTDX,AL;写入计数值的低字节,50,MOVAL,40H;计数器高字节OUTDX,AL;写入计数值高字节,MOVAL,0B4H;计数器2,二进制,方式2,计数初值为0304H写入16位数,10110100BMOVDX,04C6H;控制口地址OUTDX,ALMOVAL,04H;计数值低字节MOVDX,04C4H;设置计数器2地址OUTDX,AL;写入计数值低字节MOVAL,03H;计数值高字节OUTDX,AL;写入计数值高字节,51,例3:设8253的四个端口地址分别为0E0H,0E2H,0E4H,0E6H,现将计数器0的16位计数值读出并存入AX中。,程序如下:MOVAL,00H;计数器0的锁存命令写入8253OUT0E6H,AL;的控制口INAL,0E0H;读计数器0的低8位数据MOVAH,AL;INAL,0E0H;读计数器0的高8位数据XCHGAL,AH,例4:某8086系统中有一片8253芯片,利用计数通道1完成对外部事件计数,计数满250次向CPU发出中断申请;利用计数通道2输出频率为1KHz方波,试编写8253的初始化程序。(图P148)8253端口地址为18H1EH,分析:计数通道1:方式0控制字01110001=71H计数值250H(250次,BCD码),计数通道2:输出频率为1KHz方波,方式3控制字10110111=0B7Hn=finTout=fin/fout=2MHz/1KHz=2000计数值2000H(BCD码),53,初始化程序:MOVAL,71H;计数通道1OUT1EH,ALMOVAL,50HOUT1AH,ALMOVAL,02HOUT1AH,AL,MOVAL,0B7H;计数通道2OUT1EH,ALMOVAL,00HOUT1CH,ALMOVAL,20HOUT1CH,AL,54,例5:使用8253计数器0,采用工作方式3,产生1kHz的方波脉冲信号;通过计数器1,采用工作方式4,用OUT1作计数脉冲,计满100次向CPU发一次中断申请,CPU响应这一中断后继续写入计数值100,重新开始计数;通过计数器2,采用工作方式0,每隔1秒钟向CPU发一次中断请求,使8个指示灯闪动。试编写程序,并画出硬件连接图。(设8253芯片地址为04C0H、04C2H、04C4H、04C6H,8259芯片地址为04B0H,04B2H,IR0中断类型码为50H,74LS373芯片地址04A0H。),55,硬件连接图,56,分析:(1)由于CLK0=2.5MHz,T=0.4s,由计数器0产生的1kHz的方波信号,T=1ms,所以初值为2500,即09C4H。fout=fin/nn=finTT输出周期n=fin/fout=2.5MHz/1kHz=2500,(2)因为计数器1和计数器2分别工作在方式4和方式0,当GATE=1时,依靠计数初值启动定时或计数,因而初始化时要先对8259A初始化,再对计数器1和计数器2初始化,装入时间常数后立即执行。,57,(3)CLK2与OUT0连接在一起,输入时钟为1kHz,计数器2每隔1秒钟向CPU发一次中断请求。n=1kHz1s=1000定时工作时间常数等于1000。,58,程序:STARTCLIMOVDX,04C6H;设置8253控制口地址MOVAL,00110110BOUTDX,ALMOVDX,04C0HMOVAX,09C4H;计数器0的初值09C4HOUTDX,ALMOVAL,AHOUTDX,AL;写入初值高8位MOVBL,00H;灯亮或灭的标志BL=00亮BL=01灭,59,MOVDX,04B0H;8259A的偶地址MOVAL,00010011B;设置8259初始化控制字ICW1OUTDX,AL;写入ICW1MOVDX,04B2H;8259A的奇地址MOVAL,50H;设置8259A初始化控制字ICW2OUTDX,AL;写入ICW2MOVAL,00001101B;设置8259A初始化控制字ICW4OUTDX,AL;写入ICW4MOVAL,0FCH;设置IR0、IR1不可屏蔽,8259A操作控制字OCW1OUTDX,AL;写入OCW1,MOVAX,OFFSETINTR1;取中断服务程序INTR1偏移地址MOVWORDPTR140H,AX;中断向量表地址为50H4MOVAX,SEGINTR1;取中断服务程序INTR1的段地址MOVWORDPTR142H,AXMOVAX,OFFSETINTR2;取中断服务程序INTR2偏移地址MOVWORDPTR144H,AX;中断向量表地址为51H4MOVAX,SEGINTR2;设置INTR2所在段地址MOVWORDPTR146H,AX,MOVDX,04C6H;设置8253控制口地址MOVAL,01011000B;二进制数,方式4,写低字节,计数器1计数OUTDX,AL;将控制字写入计数器1的控制寄存器MOVDX,04C2H;设置8253计数器1地址MOVAL,64H;设置计数初值100OUTDX,AL;计数初值写入8253计数器1MOVDX,04C6H;设置8253控制口地址MOVAL,10110001B;BCD数,方式0,写16位数,计数器2定时OUTDX,AL;控制字写入计数器2的控制寄存器,62,MOVDX,04C4H;设置8253计数器2地址MOVAL,00H;写低字节OUTDX,AL;计数值低字节写入计数器2MOVAL,10H;写高字节OUTDX,AL;计数值高字节写入计数器2STI;开中断AA:HLT;等待中断JMPAA,63,INTR1PROCFARCLI;禁止中断MOVDX,04C2H;设置8253计数器1地址MOVAL,64H;置新初值,启动工作OUTDX,AL;计数值写入计数器1IRETINTR1ENDP,INTR2PROCFARCLI;禁止中断MOVDX,04A0H;74LS373的地址CMPBL,00H;灯闪烁判断BL=00灯亮JZAA2;MOVAL,00H;BL=01灯灭OUTDX,ALMOVBL,00H;重新设标志JMPAA3AA2MOVAL,0FFH;灯亮OUTDX,ALMOVBL,01H;重新设标志AA3STI;开中断IRETINTR2ENDP,65,例6:有一数据采集系统,时钟信号源为2MHZ,用8253定时,每隔2s由8259A的IR2产生中断,从8255A的A口采集一数据,采集的数据放在内存缓冲区BUF中。设8255A的端口地址为80H-86H,8253的端口地址为0E0H-0E6H,8259A的中断类型码为08H-0FH,端口地址为20H,21H。设计硬件连接图,对8255A和8253初始化并写出相关的主、子程序。(假设采集10个数据),66,将8255A端口A规划为工作方式0,输入方式,端口B规划为工作方式0,输出方式;控制字为98H。因为2MHZ/0.5H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 日用化学用品配方师安全防护测试考核试卷含答案
- 机械加工生产线质量控制及改进措施
- 宏观政策调控效应-洞察及研究
- 2024~2025学年湖南省长沙市望城区长沙市望城区育红中学八年级上学期期末道德与法治试卷
- 2026广东茂名市信宜市卫生健康系统事业单位赴南方医科大学招聘卫生专业技术人员74人考试笔试备考试题及答案解析
- 幼儿园高级园长考证模拟试题全真试卷
- 家具电商用户留存策略-洞察及研究
- 多西紫杉醇与内分泌治疗药物的联合应用研究-洞察及研究
- 2026年浙江省温岭市中医院招聘医学卫生类高学历人才18人考试笔试备考试题及答案解析
- 车辆保险维修合同范本
- 特种设备重大事故隐患判定标准
- GB/T 46120.1-2025制冷基本参数标准测量方法第1部分:温度测量
- DB23T 3045-2021 森林山地木栈道建设技术规程
- 2025年中考郴州语文试卷及答案
- 2025-2026学年冀教版(2024)小学信息技术三年级上册(全册)教学设计(附目录P168)
- 钢结构设计与加工工艺优化方案
- 酒厂建设项目投资可行性分析报告范本
- 2025年中国家用墙面覆盖层行业市场分析及投资价值评估前景预测报告
- DB37-T 5278-2024 桥梁顶升移位改造技术标准
- 研学活动主题
- 部队提干考试真题及答案
评论
0/150
提交评论