常用的可编程接口芯片介绍优秀PPT.ppt
《常用的可编程接口芯片介绍优秀PPT.ppt》由会员分享,可在线阅读,更多相关《常用的可编程接口芯片介绍优秀PPT.ppt(172页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、常用的可编程接口芯片介绍你现在浏览的是第一页,共172页 定时信号可用三种方法:n软件延时n不可编程的硬件定时n可编程的硬件定时你现在浏览的是第二页,共172页第一节第一节 定时定时/计数器及其应用计数器及其应用 一、一、Intel 8254Intel 8254的内部结构的内部结构 数据总线 缓冲器 读/写 逻辑电路 控制 寄存器内内部部总总线线0#计数器1#计数器2#计数器CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 RD WR A0 A1 CSD0-D7CRCEOL你现在浏览的是第三页,共172页 二、二、8254与系统的连接:与系统的连接
2、:CLKGATEOUTD0D7WRRDA1A0CSDBWRRDA1A0译码器译码器高位高位地址地址外设外设Intel 8254你现在浏览的是第四页,共172页三、Intel 8254端口操作表 你现在浏览的是第五页,共172页四、四、Intel 8254Intel 8254控制字控制字/状态字状态字 1.1.方式控制字方式控制字 D7D6D5D4D3D2D1D0SC1SC2RW1RW0M2M1M0BCDSC1SC1,SC0SC00000;选择;选择0#0#计数器计数器.SC1SC1,SC0SC00101;选择;选择1#1#计数器计数器.SC1SC1,SC0SC01010;选择;选择2#2#计数
3、器计数器.SC1SC1,SC0SC01111;读出命令;读出命令(8253(8253为非法操作为非法操作).).RW1RW1,RW0RW00000;锁存命令;锁存命令.RW1RW1,RW0RW00101;只访问低;只访问低8 8位位.RW1RW1,RW0RW01010;只访问高;只访问高8 8位位.RW1RW1,RW0RW01111;先访问低;先访问低8 8位,后访问高位,后访问高8 8位位.你现在浏览的是第六页,共172页 方式控制字方式控制字(续续)M2M1M0M2M1M0000000方式方式0 0M2M1M0M2M1M0001001方式方式1 1M2M1M0M2M1M0 x10 x10方
4、式方式2 2M2M1M0M2M1M0 x11x11方式方式3 3M2M1M0M2M1M0100100方式方式4 4M2M1M0M2M1M0101101方式方式5 5D0D00,0,按二进制减按二进制减1 1计数计数,初值范围初值范围0000HFFFFH0000HFFFFHD0D01,1,按十进制减按十进制减1 1计数计数,初值范围初值范围0000H9999H0000H9999H你现在浏览的是第七页,共172页 2.读出控制字读出控制字D7D6D5D4D3D2D1D011锁存当前计数值锁存当前计数值 锁存计数器状态锁存计数器状态 计数器计数器2 计数器计数器1计数器计数器00nD7=1D7=1、
5、D6=1D6=1和和D0=0D0=0是标识位是标识位nD5=0D5=0表示锁存计数值,以便表示锁存计数值,以便CPUCPU读取;读取;nD4=0D4=0是将计数器的状态锁存到状态寄存器;是将计数器的状态锁存到状态寄存器;nD3D1D3D1是选择计数器,是选择计数器,D3D31 1选中选中2#2#计数器;计数器;D2D21 1选中选中1#1#计数器;计数器;D1D11 1选中选中0#0#计数器。计数器。你现在浏览的是第八页,共172页3.状态字状态字D7D6D5D4D3D2D1D0输出电平输出电平计数值是否有效计数值是否有效 RW1RW0M2M1M0BCDnD5D0D5D0位位与控制字对应位的意
6、义相同与控制字对应位的意义相同.nD7OUTD7OUT状态状态,1,1表示高电平表示高电平,0,0表示输出表示输出低电平低电平.nD6D6计数初值是否已装入计数器中计数初值是否已装入计数器中,1,1表表示无效计数示无效计数,0,0表示已将计数初值装入计数表示已将计数初值装入计数器中,可以读计数器的值。器中,可以读计数器的值。你现在浏览的是第九页,共172页五、五、Intel 8254Intel 8254的编程命令的编程命令1 1写入命令(先写控制字,再写计数初值)写入命令(先写控制字,再写计数初值)任何一个计数器都有任何一个计数器都有3个写入命令:个写入命令:n设置控制字命令设置控制字命令用来
7、选择计数器、写入计用来选择计数器、写入计数初值的规则、设定工作方式和计数格式数初值的规则、设定工作方式和计数格式.n设置计数初值命令设置计数初值命令写入计数初值寄存器写入计数初值寄存器.n输出锁存器的锁存命令输出锁存器的锁存命令锁存命令与读出命锁存命令与读出命令一起使用令一起使用,当前计数值在输出锁存器中锁定当前计数值在输出锁存器中锁定后才读出后才读出.你现在浏览的是第十页,共172页 2 2读出命令(先锁存,再读操作)读出命令(先锁存,再读操作)n在读操作之前先将计数锁存命令送入在读操作之前先将计数锁存命令送入要读的计数器的控制端口中要读的计数器的控制端口中.n读出命令的目的是读出命令的目的
8、是CPUCPU读计数器中的读计数器中的计数值计数值,读操作由方式控制字中的读操作由方式控制字中的RW1RW1,RW0RW0的状态组合来控制的状态组合来控制.你现在浏览的是第十一页,共172页例:读取例:读取0#0#计数器当前的计数值计数器当前的计数值,程序程序段如下:(设段如下:(设82548254的片选地址范围是的片选地址范围是0E0H0E3H0E0H0E3H)MOV ALMOV AL,00H 00H ;0#0#计数器的锁存命令计数器的锁存命令OUT 0E3HOUT 0E3H,AL AL ;锁存命令写到控制口;锁存命令写到控制口IN IN AL AL,0E0H 0E0H;读锁存器的低字节;读
9、锁存器的低字节MOV BLMOV BL,AL AL ;低字节送;低字节送BLBLININ AL AL,0E0H 0E0H;读锁存器的高字节;读锁存器的高字节MOV BHMOV BH,AL AL ;高字节送;高字节送BHBH则则BXBX的内容就是的内容就是0#0#计数器当前的计数值。计数器当前的计数值。你现在浏览的是第十二页,共172页六、六、Intel 8254的工作方式的工作方式n按功能分按功能分n1 1、计数器方式:当计数器被赋予初值时,在、计数器方式:当计数器被赋予初值时,在门控信号门控信号GATEGATE开启状态下,由输入的开启状态下,由输入的CLKCLK时钟对时钟对计数器进行减计数器
10、进行减1 1计数。在计数。在CLKCLK连续脉冲作用下,计连续脉冲作用下,计数器减到数器减到0 0时,由时,由OUTOUT端输出信号。端输出信号。n作为对外部事件计数的作为对外部事件计数的CLKCLK可以是均匀的、连续的,可以是均匀的、连续的,也可以是非均匀连续的,它只是脉冲数量问题,也可以是非均匀连续的,它只是脉冲数量问题,不是脉冲的时间问题。不是脉冲的时间问题。你现在浏览的是第十三页,共172页n2 2、定时器方式:当定时器被赋予初值时,在、定时器方式:当定时器被赋予初值时,在GATEGATE开启状态下,由开启状态下,由CLKCLK时钟脉冲触发定时器开始时钟脉冲触发定时器开始工作,定时器在
11、工作,定时器在OUTOUT端不间断地产生端不间断地产生CLKCLK时钟整数时钟整数倍的定时时间间隔。倍的定时时间间隔。nCLKCLK必须是连续的、均匀的、周期精确的时间脉必须是连续的、均匀的、周期精确的时间脉冲,并且最终结果还与冲,并且最终结果还与CLKCLK脉冲周期有关,即计脉冲周期有关,即计时时间等于计数值乘时时间等于计数值乘CLKCLK脉冲周期。脉冲周期。你现在浏览的是第十四页,共172页每个计数器都有6种工作方式n共同特点:共同特点:n1 1、控制字写入计数器的控制寄存器时,输出、控制字写入计数器的控制寄存器时,输出端端OUTOUT进入初始状态。设置成方式进入初始状态。设置成方式0 0
12、时,时,OUTOUT端的端的初始状态为低电平;设置成其他方式时,初始状态为低电平;设置成其他方式时,OUTOUT端端的初始状态为高电平。的初始状态为高电平。n2 2、初始值被写入、初始值被写入82548254相应计数器的初值寄存器相应计数器的初值寄存器CRCR以后,要用一个时钟脉冲的上升沿和下降沿将初值以后,要用一个时钟脉冲的上升沿和下降沿将初值送入计数执行部件(减计数器),减计数器从下一送入计数执行部件(减计数器),减计数器从下一个时钟开始进行计数。个时钟开始进行计数。你现在浏览的是第十五页,共172页n3 3、用时钟脉冲的上升沿对门控信号、用时钟脉冲的上升沿对门控信号GATEGATE进行采
13、样。进行采样。如果计数器工作在方式如果计数器工作在方式0 0或方式或方式4 4,则门控信号为,则门控信号为电平触发;工作在方式电平触发;工作在方式1 1或方式或方式5 5时,则门控信号为时,则门控信号为上升沿触发;工作在方式上升沿触发;工作在方式2 2或方式或方式3 3时,门控信号可时,门控信号可以用上升沿触发,也可用下降沿触发。以用上升沿触发,也可用下降沿触发。n4 4、在时钟脉冲的下降沿,计数器作减、在时钟脉冲的下降沿,计数器作减1 1计数。计数。n5 5、0000H0000H是计数器的最大初始值。二进制计数时是计数器的最大初始值。二进制计数时该初值相当于该初值相当于6553665536,
14、BCDBCD码计数时相当于码计数时相当于10000.10000.你现在浏览的是第十六页,共172页n计数器在不同的工作方式下,主要区别:计数器在不同的工作方式下,主要区别:n1 1、OUTOUT引脚的输出波形不同。引脚的输出波形不同。n2 2、启动计数器计数的触发方式不同。、启动计数器计数的触发方式不同。n3 3、门控信号、门控信号GATEGATE对计数器的影响不同。对计数器的影响不同。n4 4、有的工作方式具备、有的工作方式具备“初值自动重装初值自动重装”的功能。的功能。你现在浏览的是第十七页,共172页六、六、Intel 8254的工作方式的工作方式 1.方式方式0计数结束输出正跳变信号计
15、数结束输出正跳变信号 你现在浏览的是第十八页,共172页你现在浏览的是第十九页,共172页你现在浏览的是第二十页,共172页2.方式方式1硬件可重复触发的单稳硬件可重复触发的单稳你现在浏览的是第二十一页,共172页你现在浏览的是第二十二页,共172页你现在浏览的是第二十三页,共172页 3.方式方式2分频器分频器你现在浏览的是第二十四页,共172页你现在浏览的是第二十五页,共172页你现在浏览的是第二十六页,共172页4.方式方式3方波发生器方波发生器你现在浏览的是第二十七页,共172页你现在浏览的是第二十八页,共172页你现在浏览的是第二十九页,共172页5.方式方式4软件触发的选通信号软件
16、触发的选通信号发生器发生器你现在浏览的是第三十页,共172页你现在浏览的是第三十一页,共172页你现在浏览的是第三十二页,共172页6.方式方式5硬件触发的选通硬件触发的选通信号发生器信号发生器你现在浏览的是第三十三页,共172页你现在浏览的是第三十四页,共172页你现在浏览的是第三十五页,共172页七、七、Intel 8254的初始化的初始化程序流程程序流程写控制字写控制字写计数值低写计数值低8位位写计数值高写计数值高8位位 写入顺序:写入顺序:以计数器为单位以计数器为单位初始化,也可以初始化,也可以先写所有计数器先写所有计数器控制字,再写入控制字,再写入初值初值你现在浏览的是第三十六页,共
17、172页Intel 8254的初始化编程的初始化编程n1 1、计数初值已知、计数初值已知 初值初值FFHFFH 初值初值 FFHFFHn2 2、计数初值未知、计数初值未知 或或 n3 3、读当前计数值:先锁存再读、读当前计数值:先锁存再读n4 4、级联:计数时间超出一个、级联:计数时间超出一个1616位计数器位计数器 范围范围你现在浏览的是第三十七页,共172页例:例:82548254的的1#1#计数器工作在方式计数器工作在方式0,0,二二进制计数进制计数,计数初值为计数初值为4.4.设端口地址为设端口地址为E0HE0H,E2HE2H,E4HE4H和和E6H.E6H.初始化程序段初始化程序段:
18、MOV AL,50H ;MOV AL,50H ;设置设置1#1#计数器的控制字计数器的控制字OUTOUT 0E6H,AL;0E6H,AL;写控制字写控制字MOV AL,4 ;MOV AL,4 ;设置计数初值设置计数初值OUT 0E2,AL ;OUT 0E2,AL ;初值写入初值写入1#1#计数器计数器1、计数初值已知:初值FFH你现在浏览的是第三十八页,共172页例:设例:设82548254的的0#0#计数器工作于方式计数器工作于方式1,1,计数初值为计数初值为3,3,按二进制计数按二进制计数.初始化程序段为:初始化程序段为:MOV AL,12H;MOV AL,12H;设置设置0#0#计数器控
19、制字计数器控制字OUT 0E6HOUT 0E6H,ALALMOV AL,3 MOV AL,3;设置计数初值设置计数初值OUT 0E0HOUT 0E0H,ALAL你现在浏览的是第三十九页,共172页例:设例:设82548254的的2#2#计数器工作在方式计数器工作在方式2,2,按二进制计数按二进制计数,计数初值为计数初值为3.3.初始化程序段如下:初始化程序段如下:MOV ALMOV AL,94H ;94H ;设控制字设控制字OUT 0E6HOUT 0E6H,ALALMOV ALMOV AL,3 ;3 ;设置计数初值设置计数初值OUT 0E4HOUT 0E4H,ALAL你现在浏览的是第四十页,共
20、172页例:设例:设82548254的的2#2#计数器工作在方式计数器工作在方式3,3,按二进制计数按二进制计数,计数初值为计数初值为4 4。初始化程序段如下:初始化程序段如下:MOV ALMOV AL,96H ;96H ;设置控制字设置控制字OUT 0E6HOUT 0E6H,ALALMOV ALMOV AL,4 4;设置初值设置初值OUT 0E4HOUT 0E4H,ALAL 你现在浏览的是第四十一页,共172页例:设例:设82548254的的1#1#计数器工作于方式计数器工作于方式4,4,按二进制计数按二进制计数,计数初值为计数初值为40.40.初始化程序如下:初始化程序如下:MOV ALM
21、OV AL,58H58H;设置控制字设置控制字OUT 0E6HOUT 0E6H,ALALMOV ALMOV AL,4040 ;设置计数初值设置计数初值OUT 0E2HOUT 0E2H,ALAL你现在浏览的是第四十二页,共172页例:设例:设82548254的的0#0#计数器工作在方计数器工作在方式式5,5,按二进制计数按二进制计数,计数初值为计数初值为3.3.初始化程序如下初始化程序如下:MOV ALMOV AL,1AH1AH;设置控制字设置控制字OUT 0E6HOUT 0E6H,ALALMOV ALMOV AL,3 3;设置计数初值设置计数初值OUT 0E0HOUT 0E0H,ALAL你现在
22、浏览的是第四十三页,共172页例:设例:设82548254的的2#2#计数器工作在方计数器工作在方式式2,2,按二进制计数按二进制计数,计数初值为计数初值为0304H,0304H,初始化程序段如下:初始化程序段如下:M0V AL,0B4H ;M0V AL,0B4H ;设控制字设控制字,按按1616位读写格式位读写格式OUT 0E6HOUT 0E6H,AL;AL;写控制字写控制字MOV ALMOV AL,04H ;04H ;计数值的低字节计数值的低字节OUT 0E4HOUT 0E4H,AL;AL;写计数值的低字节写计数值的低字节MOV ALMOV AL,03H ;03H ;计数值的高字节计数值的
23、高字节OUT 0E4HOUT 0E4H,AL;AL;写计数值的高字节写计数值的高字节初值FFH你现在浏览的是第四十四页,共172页例:设例:设82548254的的1#1#计数器工作在方式计数器工作在方式1,1,按按BCDBCD码计数码计数,计数初值为计数初值为4000.4000.初始化程序如下:初始化程序如下:MOV ALMOV AL,63H ;63H ;控制字控制字:只读写高只读写高 8 8位位,BCD,BCD码计数码计数OUT 0E6HOUT 0E6H,ALALMOV ALMOV AL,40H ;40H ;设置计数初值设置计数初值40004000OUT 0E2HOUT 0E2H,ALAL你
24、现在浏览的是第四十五页,共172页本例中如果按二进制计数,控制字应该设置成01110010B。n初始化程序如下:初始化程序如下:nMOV ALMOV AL,72H72H;设置控制字:读写;设置控制字:读写1616位,二进位,二进 制计数制计数nOUT 0E6HOUT 0E6H,ALALnMOV AXMOV AX,40004000;设置计数初值;设置计数初值40004000nOUT 0E2HOUT 0E2H,ALAL;送初值的低;送初值的低8 8位位nMOV ALMOV AL,AHAHnOUT 0E2HOUT 0E2H,ALAL;送初值的高;送初值的高8 8位位你现在浏览的是第四十六页,共172
25、页例:设一个8254的计数器0能产生20ms的定时信号,设它的地址为2F02F3H,CLK为500KHZ。试对它进行初始化编程。n解:解:1616进制为进制为2710H2710H,作为,作为CPUCPU的中断申请,方式控制的中断申请,方式控制字为字为00110000B00110000B,或,或30H30H2、计数初值未知你现在浏览的是第四十七页,共172页nMOV DXMOV DX,2F3H2F3HnMOV ALMOV AL,30H30HnOUT DXOUT DX,ALALnMOV DXMOV DX,2F0H2F0HnMOV ALMOV AL,10H10HnOUT DXOUT DX,ALALn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常用 可编程 接口 芯片 介绍 优秀 PPT
限制150内