首页 可编程接口芯片8254及应用ppt课件

可编程接口芯片8254及应用ppt课件

举报
开通vip

可编程接口芯片8254及应用ppt课件第7章可编程定时器/计数器芯片8254概述可编程计数器/定时器芯片82548254在PC机中的应用http://www.tyut.edu.cn/kecheng1/2008/site04/courseware/chapter7/7.3.1.htm.7.1定时器和计数器概述定时控制在微机系统中极为重要[定时器]由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔。定时器强调的是精确的时间。.定时举例:①一天24小时的计时,称为日时钟。②在监测系统中,对被测点的定时取样。③在读键盘时,为去抖,...

可编程接口芯片8254及应用ppt课件
第7章可编程定时器/计数器芯片8254概述可编程计数器/定时器芯片82548254在PC机中的应用http://www.tyut.edu.cn/kecheng1/2008/site04/courseware/chapter7/7.3.1.htm.7.1定时器和计数器概述定时控制在微机系统中极为重要[定时器]由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔。定时器强调的是精确的时间。.定时举例:①一天24小时的计时,称为日时钟。②在监测系统中,对被测点的定时取样。③在读键盘时,为去抖,一般延迟一段时间,再读。④在微机控制系统中,控制某工序定时启动。.[计数电路]如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器。计数举例:①对零件和产品的计数;②对大桥和高速公路上车流量的统计。.定时功能的实现方法软件延时——是利用CPU每执行一条指令都需要几个固定的指令周期的原理,运用软件编程的方式进行定时。利用微处理器执行一个延时程序段实现。不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路.7.28253/8254定时计数器3个独立的16位计数器通道每个计数器有6种工作方式,按二进制或十进制(BCD码)计数每个计数器在开始工作前必须预制时间常数每个计数器在工作过程中的当前计数值可被CPU读出。(注:时间常数也可在计数过程中更改)8254是8253的改进型.8253/8254的内部结构和引脚.计数器结构示意图计数初值存于预置寄存器;在计数过程中,减1计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值.1计数器的3个引脚CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号.2与处理器接口D0~D7数据线A0~A1地址线RD读信号WR写信号CS片选信号..8254的工作方式8254有6种工作方式,由方式控制字确定熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式不同工作方式的区分点:输出波形计数过程中门控信号的影响启动触发方式.每种工作方式的过程类似:⑴设定工作方式⑵设定计数初值〔⑶硬件启动〕⑷计数初值进入减1计数器⑸每输入一个时钟计数器减1的计数过程⑹计数过程结束.方式0计数结束中断(一次有效)写入控制字之后,相应的输出信号OUT就开始变成低电平。计数器写完计数值时,开始计数。当计数器减到零时,OUT立即输出高电平。.①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束.方式0门控信号GATE位高电平时,计数器工作;为低电平时,计数器停止工作,计数值保持不变。在计数器工作期间,如果重新写入新的计数值,计数器将按新写入的计数值重新工作。.8254的方式0时序波形.方式1可编程单稳脉冲写入计数初值后,计数器并不立即开始工作;等待到GATE上升沿,才开始工作,使输出OUT变成低电平;直到计数器值减到零后,输出才变高电平。计数到0,初值自动重置,但要等到下一个GATE上升沿触发才重新计数。[单稳态触发器]只有一个稳态(高电平),一个触发脉冲使触发器进入暂稳态(低电平),经过一段可调的时间间隔后,又回到稳态。所以工作于方式1时相当于一个可重复触发的单稳态触发器。.①设定工作方式②设定计数初值③硬件启动④计数值送入计数器⑤计数过程⑥计数结束.方式1在计数器工作期间,当GATE又出现一个上升沿时,计数器重新装入原计数初值并重新开始计数。如果工作期间对计数器写入新的计数初值,则要等到当前的计数值计满回零且门控信号再次出现上升沿后,才按新写入的计数初值开始工作。.8254的1方式时序波形.方式2频率发生器(分频器)写入控制字之后,输出端OUT变为高电平。计数器写完计数值时,开始计数。当计数器减到1时,OUT变为低电平。完成一次计数过程,输出端OUT又变为高电平,开始一个新的计数过程,周而复始。对于计数初值N,输出端OUT输出的信号的周期是计数值N×时钟CLK的周期T,N-1个时钟周期为高,1个时钟周期为低,为负脉冲。输出负脉冲的周期为时钟周期的N倍,频率是1/N,称为分频器,可以用来给自动控制中的实时检测,实时控制提供时钟信号。..方式3方波发生器与2方式基本相同,也具有自动装入时间常数(计数初值)的功能,不同之处在于:工作在3方式,引脚OUT输出的不是一个时钟周期的负脉冲,而是占空比为1:1或近似1:1的方波;当计数初值为偶数时,输出在前一半的计数过程中为高电平,在后一半的计数过程中为低电平。由于3方式输出的波形是方波,并且具有自动重装计数初值的功能,因此,8254一旦计数开始,就会在输出端OUT输出连续不断的方波。..方式3当计数值为奇数时,在前(N+1)/2计数期间,OUT输出高电平,而后(N-1)/2个计数期间,OUT输出为低电平。.方式4软件触发选通信号控制字写入8254后,计数器输出OUT为高电平在写入计数初值后,而且GATE为高电平时,开始计数,计数到0后输出一个时钟周期的低电平脉冲。门控信号GATE=1时允许计数,GATE=0禁止计数。软件触发选通体现在当GATE为高电平时,写入计数初值后开始计数。CPU送数据同时输出一数据选通信号,锁存数据。方式4可编程控制选通信号发出时间。..方式4和方式2的区别:(1)方式2的负脉冲是在计数到1时产生一个T的负脉冲,而方式4是在计数到0时产生一个T的负脉冲。(2)在计数过程中,写入新的初值时,方式2是从下一次开始从新的初值计数,而方式4是从下一个脉冲就开始以新的值计数,因为方式4不能重复计数。.方式5硬件触发选通信号工作特点是由GATE上升沿触发计数器开始工作。当写入计数初值后,计数器并不立即开始计数,而要由门控信号的上升沿启动计数。在计数过程中(或者计数结束后),如果门控再次出现上升沿,计数器将从原装入的计数初值重新计数。硬件触发选通:GATE信号一般由硬件产生。..计数开始的时刻需要注意当控制字写入8254时,所有的控制逻辑电路自动复位,这时输出端OUT进入初始状态。处理器写入8254的计数初值只是写入了预置寄存器,要到时钟下降沿,减法计数器才开始工作。方式0、方式4——GATE信号为电平触发方式1、方式5——GATE信号为上升沿触发方式2、方式3——两种皆可.7.38254的编程8254加电后的工作方式不确定8254必须初始化编程,才能正常工作写入方式控制字写入计数初值读取计数值8254新增读回命令.1方式控制字(A1A0=11)00计数器001计数器110计数器211非法00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1X10方式2X11方式3100方式4101方式50二进制1BCD码示例计数器读写格式工作方式BCDD7D6D5D4D3D2D1D0.8254的控制字编程;某个8254的计数器0、1、2端口和控制端口地址依次是40H~43H;设置其中计数器0为方式0,采用二进制计数,先低后高写入计数值moval,30h;方式控制字:30H=00110000Bout43h,al;写入控制端口:43H.2写入计数值计数值写入计数器各自的I/O地址示例选择二进制时计数值范围:0000H~FFFFH0000H是最大值,代表65536选择十进制(BCD码)计数值范围:0000~99990000代表最大值10000.8254的计数初值编程;某个8254的计数器0、1、2端口和控制端口地址依次是40H~43H;设置计数器0采用二进制计数,写入计数初值:1024(400H)movax,1024;计数初值:1024(=400H);写入计数器0地址:40Hout40h,al;写入低字节计数初值moval,ahout40h,al;写入高字节计数初值.3读取计数值8位数据线,读取16位计数值需分两次计数在不断进行,应该将当前计数值先行锁存,然后读取:向控制字I/O地址:给8254写入锁存命令从计数器I/O地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制.;某个8254的计数器0、1、2端口和控制端口地址依次是40H~43H,要读取通道1的计数值。;则先对通道1发出锁存命令,然后读取数据。MOVAL,40H;方式控制字:30H=01000000BOUT43H,AL;写入控制端口:43HINAL,41H.7.48254在PC机上的应用.定时中断和定时刷新将计数器1作为定时刷新看如何编写初始化程序段从阅读初始化程序段看计数器0作为定时中断的作用.8254初始化(定时中断)moval,00110110B;计数器0为方式3,采用二进制计数,;先低后高写入计数值out43h,al;写入方式控制字moval,0;计数值为0out40h,al;写入低字节计数值out40h,al;写入高字节计数值.计数器0:定时中断计数器0:方式3,计数值:65536,输出频率为1.19318MHz÷65536=18.206Hz的方波门控为常启状态,这个方波信号不断产生OUT0端接8259的IRQ0,用作中断请求信号每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能.计数器1:定时刷新门控总为高,选择方式2或32ms内刷新128次,即15.6s刷新一次计数初值为18需要重复不断提出刷新请求.8254初始化(定时刷新)moval,01010100B;计数器1为方式2,;采用二进制计数,只写低8位计数值out43h,al;写入方式控制字moval,18;计数初值为18out41h,al;写入计数值.扬声器控制计数器2的输出控制扬声器的发声音调计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声扬声器还受控于并行接口(8255芯片)必须使PB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音.扬声器控制(频率设置)speakerprocpushaxmoval,10110110B;0b6hout43h,al;写入控制字popaxout42h,al;写入低8位计数值moval,ahout42h,al;写入高8位计数值retspeakerendp.扬声器控制(扬声器开)speakonprocpushaxinal,61horal,03h;D1D0=PB1PB0=11B,其他位不变out61h,alpopaxretspeakonendp.扬声器控制(扬声器关)speakoffprocpushaxinal,61handal,0fch;D1D0=PB1PB0=00B,其他位不变out61h,alpopaxretspeakoffendp.扬声器控制(主程序);数据段freqdw1193180/600;代码段movax,freqcallspeaker;设置扬声器音调callspeakon;打开扬声器声音movah,1;等待按键int21hcallspeakoff;关闭扬声器声音.在一个实际的数据采集系统中,要求5s采一个数,现场的主时钟的振荡频率为2.5MHz。分析:选择工作方式3(方波发生器),连续工作对2.5M的脉冲分频。时钟周期Tck=l/2.5×106计数初值n=T/Tck=5÷(l/2.5×106)=1.25×107一个计数器最多的分频次数是65536,是不够用的。例.采用两级计数器,用计数器0的输出OUT0作为计数器1的输入CLK1。计数器0的计数值为50000(C350H);计数器1的250(FAH)。则有:总的计数值=50000×250=1.25×107计数器0:方式3(方波发生器)控制宇36H(00110110B)计数器1:方式2(分频器)控制字54H)(01010100B)设:控制口地址:CRPT;0号计数器:PRT0;1号计数器:PRT1.实现上述过程的程序如下:MOVAL,36HMOVDX,CRPTOUTDX,AL;0号计数器方式3MOVAL,50HMOVDX,PRT0OUTDX,AL;计数值低8位MOVAL,C3HOUTDX,AL;计数值高8位MOVAL,54HMOVDX,CRPTOUTDX,AL;1号计数器方式2MOVAL,FAHMOVDX,PRT1OUTDX,AL;计数值低8位.例:某火灾报警系统的部分接口电路如图所示。该系统具有温度和烟雾浓度超限报警和自动灭火功能。当温度或烟雾浓度超限时,进行光报警;两者同时超限时,进行光、声报警,并开启电磁阀,进行喷淋灭火。按键A为手动报警按钮,按键B为解除报警按钮。半导体温度传感器的温度测量范围为0℃~127℃,对应输出电压为0V~5V。ADC0809输入电压范围为0V~5V。开关式集成烟雾传感器报警时输出高电平,正常工作时输出低电平。8253的通道0、通道1、通道2均工作于方式3(方波发生器),按BCD码计数。扬声器的报警声音频率为2kHz。8253、8255的方式控制字及8255的置位/复位控制字格式如图所示。.GATE0A0CLK0A1OUT0RDCLK1WR8253GATE1CSGATE2OUT1D7~D0CLK2OUT2IOWIORA1A0PA7~PA0D7~D0PB0PB1CSPB2WRPC0RDA1PC4A08255PC1PC5PC6PC7D7~D0IN0ADDAADDBADDCEOCIN7OESTARTALEADC0809+5V烟雾传感器驱动电磁阀喷淋头温度传感器D7~D08259CSA0驱动扬声器驱动1MHzD7~D0D7~D0发光二极管40H~43H80H~83HD7~D020H~21HA0+5V+5V按键B解除警报按键A手动报警IR7IR1IR0.8255的方式控制字格式如下:.8255端口C按位置0/置1控制字作用:指定PC口的某一位(某一个引脚)输出高平或低电平。注意:C口控制字虽然是对端口C操作,但应写入到控制口地址,而不是写入到C数据口0D6D5D4D3D2D1D0特征位不用(写0)位选择000=C口0位001=C口1位…111=C口7位1=置位(高电平)0=复位(低电平).8253的方式控制字(A1A0=11)00计数器001计数器110计数器211非法00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1X10方式2X11方式3100方式4101方式50二进制1BCD码示例计数器读写格式工作方式BCDD7D6D5D4D3D2D1D0.部分初始化、主程序及中断服务子程序如下:CODESEGMENTASSUMEDS:DATA,CS:CODESTART:┊;8259初始化MOVAL,13H;初始化8259ICW1OUT20H,ALMOVAL,;送中断类型码基值OUT21H,ALMOVAL,0DHOUT21H,AL;8255初始化MOVAL,;置8255工作方式OUT83H,ALMOVAL,00H;C口初始化OUT82H,AL91H08H.;8253初始化MOVAL,37H;置8253通道0方式控制字OUT43H,ALMOVAL,00H;置8253通道0计数初值OUT40H,ALMOVAL,10HOUT40H,ALMOVAL,;置8253通道1方式控制字OUT43H,ALMOVAL,00H;置8253通道1计数初值OUT41H,ALMOVAL,10HOUT41H,ALMOVAL,0B7H;置8253通道2方式控制字OUT43H,AL77H或7FH.MOVAL,;置8253通道2计数初值OUT42H,ALMOVAL,;OUT42H,AL;中断设置MOVAH,25H;设置中断向量MOVAL,08H;中断类型号为入口参数MOVBX,;DS:DX指向4字节地址MOVDS,BXMOVDX,;INT21HMOVAH,25HMOVAL,;MOVBX,SEGKEYAINTMOVDS,BX00H05HSEGKEYBINTOFFSETKEYBINT09H.MOVDX,OFFSETKEYAINTINT21HSTI;数据采集MOVAL,00H;选ADC0809模拟量输入通道号OUT81H,ALLOP:MOVAL,;置PC4=1,锁存模拟量通道选择号OUT83H,ALNOPMOVAL,08H;置PC4=0,启动A/D转换OUT83H,ALLOP1:INAL,82H;读8255C口,查询EOCTESTAL,01HJZLOP1INAL,80H;读A/D转换结果CMPAL,0A0H;判断是否高于上限09H.JAABOVEINAL,82H;判断烟雾传感器是否报警TESTAL,02HJNZBJMOVAL,0EHOUT83H,ALJMPLOPABOVE:INAL,82HTESTAL,02HJZBJMOVAL,0F0H;启动报警及灭火功能OUT82H,ALJMPLOPBJ:MOVAL,0FH;光报警OUT83H,ALJMPLOP.;中断服务KEYAINTPROCFAR;按键A中断服务子程序PUSHAXMOVAL,0F0HOUT82H,ALMOVAL,20H;给8259发中断结束命令OUT20H,ALPOPAXIRETKEYAINTENDP.;中断服务KEYBINTPROCFAR;按键B中断服务子程序PUSHAXMOVAL,;OUT82H,ALMOVAL,20HOUT20H,ALPOPAXIRETKEYBINTENDPCODEENDSENDSTART0XH或1XH.请回答下列问题:1、程序空白处填空。2、超限报警温度是℃。3、报警时,发光二极管显示器的闪烁频率是Hz4、仅温度超限时,报警灯闪烁报警,若此时报警条件解除,报警灯将(继续、停止)报警。5、火灾发生后,光、声报警,灭火系统启动,若此时报警条件解除,扬声器将(继续、停止)报警。6、火灾发生后,光、声报警,灭火系统启动,若报警条件未解除,按解除报警键B,灭火系统将(继续、停止)工作。7、报警条件不成立,此时按手动报警键A,灭火系统将(一直、工作一下马上停止)工作。801停止继续继续一直.8254有3个独立的16位计数器通道,每个计数器有6种工作方式,按二进制或十进制(BCD码)计数。每个计数器在开始工作前必须预制时间常数每个计数器在工作过程中的当前计数值可被CPU读出。(注:时间常数也可在计数过程中更改)8254是一种可编程的芯片,可通过软件来设置芯片的工作方式。小结8254的初始化编程注意的是先写控制字(控制字写到方式控制字中),后写时间常数(时间常数写到相应的通道地址中),通道的顺序无所谓的。反正当三个独立的器件使用。.1、8254有几个通道?各通道有几个工作方式?各种工作方式的主要特点是什么?2、8254的初始化编程包括哪几项内容?他们在顺序上有无要求?3、若8254的4个通道地址分别为90H、92H、94H、96H,且已知通道0的时钟频率为2.5MHz。(1)请问通道0的最大定时时间是多长?(2)请使用74LS138译码器完成8254端口地址的译码(可附加与或非门)(3)若要使用通道0周期性地产生5ms的定时中断(方式2),试编写初始化程序段。(4)若要产生1s的定时中断,说明实现方法。作业.
本文档为【可编程接口芯片8254及应用ppt课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:ppt
大小:734KB
软件:PowerPoint
页数:0
分类:教育学
上传时间:2021-02-24
浏览量:33