【精品】可编程接口芯片及应用(可编辑.ppt
《【精品】可编程接口芯片及应用(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】可编程接口芯片及应用(可编辑.ppt(103页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、可编程接口芯片及应用2023/2/2【可编辑】第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用 CPU要与外设交换信息,必须通过接口电路,在接口电路中一般具有如下电路单元:输入输出数据缓冲器和锁存器,以实现数据的I/O。控制命令和状态寄存器,用以存放对外设的控制命令,以及外设的状态信息。地址译码器,用来选择接口电路中的不同端口(寄存器)。读写控制逻辑。中断控制逻辑。9.1 可编程接口芯片概述第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用9.2 可编程计数器定时器8253计数/定时的工作原理计数计数:对外部事件发生次数进行计数对外部事件发生次数进行计数 定时和计数本质上是相同的
2、,它们都是定时和计数本质上是相同的,它们都是对一个输入脉冲进行计数,如果输入脉冲的频对一个输入脉冲进行计数,如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是率一定,那么记录脉冲的个数与所需的时间是一一对应的关系。一一对应的关系。例如例如:输入脉冲频率为输入脉冲频率为2MHz,那么计数,那么计数2 106 定时定时1秒秒因此,使用同一个芯片,既能计数,又能定时因此,使用同一个芯片,既能计数,又能定时定时器定时器/计数器计数器第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用。9.2.1 8253功能及结构 Intel 8253具有3个独立的16位计数器,使用单一5V电源,采用NMO
3、S工艺,24脚双排直插式封装的大规模集成电路1 182538253主要功能主要功能 每片有3个独立的16位计数通道。每个计数器可按二进制或十进制来计数,时钟脉冲下降沿使计数器进行减1操作。每个计数器最高计数速率可达2.6MHZ。每个计数器可编程设定6种工作方式之一。所有输入、输出均与TTL电平兼容,便于与外围接口电路相连。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用2.82532.8253的内部结构和引脚特性的内部结构和引脚特性第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用第第9 9章章 可编程接口芯片及应用可编程接
4、口芯片及应用9.2.3 8253工作方式与工作时序 1方式0(单脉冲发生器)计数器只计一遍。控制字写入后,OUT端为低;当计数初值写入后,在下一个CLK脉冲的下降沿将计数初值寄存器内容装入减1计数寄存器,然后计数器开始减1计数,在计数期间,当减1计数器回0之前,输出端OUT维持低电平。当计数值回0时,OUT输出端变为高电平,并保持到重新写入新的控制字或新的计数值为止。可作为中断请求信号。在计数过程中,若GATE信号变为低电平,则在低电平期间暂停计数,减1计数寄存器值保持不变。在计数过程中,若重新写入新的计数初值,则在下一个CLK脉冲的下降沿,减1计数寄存器以新的计数初值重新开始计数过程。第第9
5、 9章章 可编程接口芯片及应用可编程接口芯片及应用8253方式0三种情况时序波形:第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用2方式1(可重触发单稳态方式)输出单个负脉冲信号,脉冲的宽度可通过编程来设定。当写入控制字后,输出端OUT变为高电平,并保持高电平状态。然后写入计数初值,只有在GATE信号的上升沿之后的下一个CLK脉冲的下降沿,才将计数初值寄存器内容装入减1计数寄存器,同时OUT端变为低电平。然后计数器开始减1计数,当计数值减到0时,OUT端变为高电平。在OUT端输出低电平期间,又来一个门控信号上升沿触发,则在下一个CLK脉冲的下降沿,重新将计数初值寄存器内容装入减1计数寄
6、存器,并开始计数,OUT端保持低电平,直至计数值减到0时,OUT端变为高电平。在计数期间CPU又送来新的计数初值,不影响当前计数过程。一直等到下一次GATE信号的触发,才会将新的计数初值装入,并以新的计数初值开始计数过程。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用8253方式1三种情况时序波形:第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用3方式2(周期脉冲发生器)可产生周期性的负脉冲信号,负脉冲宽度为一个时钟周期。写入控制字后,OUT端变为高电平,若GATE为高电平,当写入计数初值后,在下一个CLK的下降沿将计数初值寄存器内容装入减1计数寄存器,并开始减1计数。当减1
7、计数寄存器的值为1时,OUT端输出低电平;减1计数寄存器回0时OUT端输出高电平,并开始一个新的计数过程。在减1计数寄存器未减到1时,GATE信号由高变低,则停止计数。但当GATE由低变高时,则重新将计数初值寄存器内容装入减1计数寄存器,并重新开始计数。GATE信号保持高电平,但在计数过程中重新写入计数初值,则当正在计数的一轮结束并输出一个CLK周期的负脉冲后,将以新的初值进行计数。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用8253方式2三种情况时序波形:第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用4方式3(方波发生器)当控制字写入后,OUT输出高电平。写入计数初值后
8、,下一个CLK的下降沿将计数初值装入减1计数器,并开始减1计数,当计数到一半时,OUT端变为低电平。减1计数寄存器继续作减1计数,计数到0时,OUT端变为高电平。之后,周而复始地自动进行计数过程。当计数初值为偶数时,OUT输出对称方波;当计数初值为奇数时,OUT输出不对称方波。在计数过程中,若GATE变为低电平,则停止计数;当GATE由低变高时,则重新启动计数过程。如果在输出为低电平时,门控信号GATE变为低电平,减1计数器停止,而OUT输出立即变为高电平。在GATE又变成高电平后,下一个时钟脉冲的下降沿,减1计数器重新得到计数初值,又开始新的减1计数。在计数过程中,如果写入新的计数值,那么,
9、将不影响当前输出周期。但是,如果在写入新的计数值后,又受到门控上升沿的触发,那么,就会结束当前输出周期,而在下一个时钟脉冲的下降沿,减计数器重新得到计数初值,又开始新的减1计数。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用8253方式3三种情况时序波形:第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用5方式4(软件触发的选通信号发生器)采用方式4,可产生单个负脉冲信号,负脉冲宽度为一个时钟周期。写入控制字后,OUT端变为高电平,若GATE为高电平,当写入计数初值后,在下一个CLK的下降沿将计数初值寄存器内容装入减1计数寄存器,并开始减1计数,当减1计数寄存器的值为0时,OU
10、T端输出低电平,经过一个CLK时钟周期,OUT端输出高电平。如果在计数时,又写入新的计数值,则在下一个CLK的下降沿此计数初值被写入减1计数寄存器,并以新的计数值作减1计数。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用8253方式4三种情况时序波形:第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用6方式5(硬件触发的选通信号发生器)方式5的计数过程由GATE的上升沿触发。当控制字写入后,OUT端输出高电平,并保持高电平状态。然后写入计数初值,只有在GATE信号的上升沿之后的下一个CLK脉冲的下降沿,才将计数初值寄存器内容装入减1计数寄存器,并开始减1计数,当计数值减到0时,
11、OUT端变为低电平,并持续一个CLK周期,然后自动变为高电平。在计数过程中,若GATE端又来一个上升沿触发,则在下一个CLK脉冲的下降沿,减1计数寄存器将重新获得计数初值,并按新的初值作减1计数,直至减为0为止。在计数过程中,若写入新的计数值,但没有触发脉冲,则当前输出周期不受影响。当前周期结束后,在再触发的情况下,将按新的计数初值开始计数。若在计数过程中,写入新的计数值,并在当前周期结束前又受到触发,则在下一个CLK脉冲的下降沿,减1计数寄存器将获得新的计数初值,并按此值作减1计数操作。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用8253方式5三种情况时序波形:第第9 9章章 可
12、编程接口芯片及应用可编程接口芯片及应用9.2.4 8253的初始化编程1 1写入控制字写入控制字 以便选择计数器和规定计数器的工作方式,任一计数通道的控制字都要从8253的控制端口写入。2 2写入计数初值写入计数初值 计数初值(TC)的计算公式为:t=TC/f,其中t为定时时间,TC为计数初值,f为输入时钟频率。注意:如果在方式控制字中的BCD位为1,则写入的计数初值应为十六进制数。例如:计数初值为50,采用BCD码计数,则指令中的50必须写为50H。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用3 3读计数值读计数值 在计数过程中,若要读取当前的计数值,则需采用以下方法:先写入一个
13、方式控制字,该方式控制字的SC1SC0指明要读取的计数通道,RW1RW0设为00即锁定计数值;然后再按照初始化该计数器时的读写方法读取计数值。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用9.2.5 8253应用 【例1】8253在IBM PC机中的应用。IBM PC机系统板上8253的接口电路如图9.9所示,3个计数器的时钟输入频率为1.1932MHZ。系统分配给8253的端口地址为40H43H。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用IBM-PC机系统板上机系统板上8253接口电路接口电路F=1.1932MHZ第第9 9章章 可编程接口芯片及应用可编程接口芯片及应
14、用计数器0为方式3,先写低字节,后写高字节,二进制计数,计数初值为0。输出端OUT0接至中断控制器8259A的IR0,OUT0输出的脉冲周期约为55ms(655361193200),即计数器0每隔55ms产生一次中断请求。计数器1为方式2,只写低字节,二进制计数,计数初值为18。输出端OUT1接至DMA控制器8237A通 道 0的 DMA请 求 DREQ0,作 为 定 时(15.08s)刷新动态存储器的启动信号。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用IBM-PC机机BIOSBIOS对对CNT0CNT0的初始化程序:的初始化程序:MOV ALMOV AL,00110110B00
15、110110BOUT 43HOUT 43H,ALALMOV ALMOV AL,0 0OUT 40HOUT 40H,ALALOUT 40HOUT 40H,ALALIBM-PC机机BIOSBIOS对对CNT1CNT1的初始化程序:的初始化程序:MOV ALMOV AL,01010100B01010100BOUT 43HOUT 43H,ALALMOV ALMOV AL,12H12HOUT 41HOUT 41H,ALAL第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用 BIOS中BEEP子程序,功能为使CNT2输出方波到扬声器。计数器2为方式3,先写低字节,后写高字节,二进制计数,计数初值为0
16、533H。GATE2由8255A的PB0控制,当GATE2为高电平时,OUT2输出频率为896HZ的方波,经功率放大器和滤波后驱动扬声器发声。MOV ALMOV AL,10110110B10110110BOUT 43HOUT 43H,ALALMOV AXMOV AX,0533H0533HOUT 42HOUT 42H,ALALMOV ALMOV AL,AHAHOUT 42HOUT 42H,ALALIN 61HIN 61H,ALALMOV AHMOV AH,ALALOR ALOR AL,03H03H OUT 61H OUT 61H,ALAL MOV BX MOV BX,100 100 ;延时;延时
17、 MOV CXMOV CX,0 0 G7G7:LOOP G7LOOP G7 DEC BX DEC BX JNZ G7 JNZ G7 MOV AL MOV AL,AHAH OUT 61H OUT 61H,ALAL RET RET第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用【例2】利用8253的通道0和通道1,设计并产生周期为1HZ的方波。设通道0的输入时钟频率为 2MHz,8253所占端口地址为80H83H。方案:8253通道0工作于方式2(周期脉冲发生器),输出脉冲周期为10ms,则通道0的计数值为20000。周期为10ms的脉冲作为通道1的输入,要求输出端OUT1的波形为方波且周
18、期为1s,则通道1工作于方式3,计数值为100。第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用电路图:第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用8253初始化程序如下:MOV AL,34H ;通道0控制字OUT 83H,ALMOV AX,20000 ;通道0时间常数OUT 80H,ALMOV AL,AHOUT 80H,ALMOV AL,56H ;通道1控制字OUT 83H,ALMOV AL,100 ;通道1时间常数OUT 81H,AL第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用【例3】8253应用(键盘演奏音乐程序)第第9 9章章 可编程接口芯片及应用可编程
19、接口芯片及应用初值之间的关系:(fin=1.1932MHz=1193200 Hz)(fin=1193200=1234F0H)给定fout 在DI寄存器中,DX和AX存放1.1932MHz的十六进制值1234F0H,则产生 fout输出的计数初值的程序段:(初值存于AX中)MOV DX,12HMOV AX,34F0H ;DX和AX存放 finDIV DI ;DI存放fout 结果在AX中1234567262294330349392440494频率表频率表(输出频率fout)第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用10ms秒软件延时程序:MOV CX,2801DELAY:LOOP
20、DELAY如产生1秒的程序:MOV BX,100 WAIT:MOV CX,2801 DELAY:LOOP DELAY DEC BX JNZ WAIT第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用datasegmentfreqdw262,294,330,349,392,440,494dataendscodesegmentassumeds:data,cs:codemainprocfarstart:pushdsmovax,0pushaxmovax,datamovds,axmoval,0b6hout43h,alinal,61horal,03hout61h,alagain:movah,1int
21、21hcmpal,1bh;jzexitleasi,freqandax,0fhshlax,1subax,2addsi,axmovdi,simovdx,12hmovax,34f0hdivdi;out42h,almoval,ahout42h,aljmpagainexit:inal,61handal,0fchout61h,alretmainendpcodeendsendstart第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用【例4】现现有一个高精密晶体振有一个高精密晶体振荡电荡电路,路,输输出信号是脉冲波,出信号是脉冲波,频频率率为为1MHz1MHz。要求将。要求将1MHz1MHz信号做信号
22、做输输入信号,利用入信号,利用82538253做一个秒信做一个秒信号号发发生器,其生器,其输输出接一出接一发发光二极管,以光二极管,以0.50.5秒点亮,秒点亮,0.50.5秒熄秒熄灭灭的方式的方式闪烁闪烁指示。指示。设设82538253的通道地址的通道地址为为80H80H86H86H(偶地址)(偶地址)解:解:1 1、时间时间常数常数计计算算 这这个例子要求用个例子要求用82538253作一个分作一个分频电频电路,而且其路,而且其输输出出应该应该是方波,否是方波,否则发则发光二极管不可能等光二极管不可能等间间隔隔闪烁闪烁指示。指示。频频率率为为1MHz1MHz信号的周期信号的周期为为1 1微
23、妙,而微妙,而1Hz1Hz信号的周期信号的周期为为1 1秒,所以分秒,所以分频频系数系数N N可按下式可按下式进进行行计计算:算:第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用 由于由于82538253一个通道最大的计数值是一个通道最大的计数值是6553665536,所以对于,所以对于N N10000001000000这样的大数,一个通道是不可能完成上述分这样的大数,一个通道是不可能完成上述分频要求的。由于频要求的。由于 即取两个计数器,采用级联方式可达到目的。即取两个计数器,采用级联方式可达到目的。2 2、电路、电路第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用1MHz1
24、KHz1Hz驱动驱动LED第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用 3、工作方式选择、工作方式选择 由于通道由于通道1 1要输出方波信号推动发光二要输出方波信号推动发光二极管,所以极管,所以通道通道1 1应选工作应选工作方式方式3 3。对于。对于通道通道0 0,只要能起分频作用就行,对输出,只要能起分频作用就行,对输出波形不做要求,波形不做要求,方式方式2 2或方式或方式3 3选用。选用。对于通道对于通道0 0,取,取工作方式工作方式2 2,BCDBCD计数;计数;对对于通道于通道1 1,取,取工作方式工作方式3 3,二进制计数,二进制计数(当然也可选(当然也可选BCDBCD计
25、数)计数)第第9 9章章 可编程接口芯片及应用可编程接口芯片及应用 4、程序、程序mov al,00110101b;通道通道0控制字控制字out 86h,almov al,00 ;通道通道0初始计数值初始计数值out 80h,almov al,10h ;初值初值1000,以以16进格式进格式out 80h,almov al,01110110b;通道通道1控制字控制字out 86h,al mov al,0e8h;通通 道道 1初初 始始 计计 数数 值值,;03E8H=1000BCDout 82h,almov al,03hout 82h,al第第9 9章章 可编程接口芯片及应用可编程接口芯片及应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 可编程 接口 芯片 应用 编辑
限制150内