欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    常用的可编程接口芯片介绍优秀PPT.ppt

    • 资源ID:78763951       资源大小:6.04MB        全文页数:172页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    常用的可编程接口芯片介绍优秀PPT.ppt

    常用的可编程接口芯片介绍你现在浏览的是第一页,共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与系统的连接:与系统的连接:CLKGATEOUTD0D7WRRDA1A0CSDBWRRDA1A0译码器译码器高位高位地址地址外设外设Intel 8254你现在浏览的是第四页,共172页三、Intel 8254端口操作表 你现在浏览的是第五页,共172页四、四、Intel 8254Intel 8254控制字控制字/状态字状态字 1.1.方式控制字方式控制字 D7D6D5D4D3D2D1D0SC1SC2RW1RW0M2M1M0BCDSC1SC1,SC0SC00000;选择;选择0#0#计数器计数器.SC1SC1,SC0SC00101;选择;选择1#1#计数器计数器.SC1SC1,SC0SC01010;选择;选择2#2#计数器计数器.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方式方式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、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位位与控制字对应位的意义相同与控制字对应位的意义相同.nD7OUTD7OUT状态状态,1,1表示高电平表示高电平,0,0表示输出表示输出低电平低电平.nD6D6计数初值是否已装入计数器中计数初值是否已装入计数器中,1,1表表示无效计数示无效计数,0,0表示已将计数初值装入计数表示已将计数初值装入计数器中,可以读计数器的值。器中,可以读计数器的值。你现在浏览的是第九页,共172页五、五、Intel 8254Intel 8254的编程命令的编程命令1 1写入命令(先写控制字,再写计数初值)写入命令(先写控制字,再写计数初值)任何一个计数器都有任何一个计数器都有3个写入命令:个写入命令:n设置控制字命令设置控制字命令用来选择计数器、写入计用来选择计数器、写入计数初值的规则、设定工作方式和计数格式数初值的规则、设定工作方式和计数格式.n设置计数初值命令设置计数初值命令写入计数初值寄存器写入计数初值寄存器.n输出锁存器的锁存命令输出锁存器的锁存命令锁存命令与读出命锁存命令与读出命令一起使用令一起使用,当前计数值在输出锁存器中锁定当前计数值在输出锁存器中锁定后才读出后才读出.你现在浏览的是第十页,共172页 2 2读出命令(先锁存,再读操作)读出命令(先锁存,再读操作)n在读操作之前先将计数锁存命令送入在读操作之前先将计数锁存命令送入要读的计数器的控制端口中要读的计数器的控制端口中.n读出命令的目的是读出命令的目的是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;读锁存器的低字节;读锁存器的低字节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时钟对时钟对计数器进行减计数器进行减1 1计数。在计数。在CLKCLK连续脉冲作用下,计连续脉冲作用下,计数器减到数器减到0 0时,由时,由OUTOUT端输出信号。端输出信号。n作为对外部事件计数的作为对外部事件计数的CLKCLK可以是均匀的、连续的,可以是均匀的、连续的,也可以是非均匀连续的,它只是脉冲数量问题,也可以是非均匀连续的,它只是脉冲数量问题,不是脉冲的时间问题。不是脉冲的时间问题。你现在浏览的是第十三页,共172页n2 2、定时器方式:当定时器被赋予初值时,在、定时器方式:当定时器被赋予初值时,在GATEGATE开启状态下,由开启状态下,由CLKCLK时钟脉冲触发定时器开始时钟脉冲触发定时器开始工作,定时器在工作,定时器在OUTOUT端不间断地产生端不间断地产生CLKCLK时钟整数时钟整数倍的定时时间间隔。倍的定时时间间隔。nCLKCLK必须是连续的、均匀的、周期精确的时间脉必须是连续的、均匀的、周期精确的时间脉冲,并且最终结果还与冲,并且最终结果还与CLKCLK脉冲周期有关,即计脉冲周期有关,即计时时间等于计数值乘时时间等于计数值乘CLKCLK脉冲周期。脉冲周期。你现在浏览的是第十四页,共172页每个计数器都有6种工作方式n共同特点:共同特点:n1 1、控制字写入计数器的控制寄存器时,输出、控制字写入计数器的控制寄存器时,输出端端OUTOUT进入初始状态。设置成方式进入初始状态。设置成方式0 0时,时,OUTOUT端的端的初始状态为低电平;设置成其他方式时,初始状态为低电平;设置成其他方式时,OUTOUT端端的初始状态为高电平。的初始状态为高电平。n2 2、初始值被写入、初始值被写入82548254相应计数器的初值寄存器相应计数器的初值寄存器CRCR以后,要用一个时钟脉冲的上升沿和下降沿将初值以后,要用一个时钟脉冲的上升沿和下降沿将初值送入计数执行部件(减计数器),减计数器从下一送入计数执行部件(减计数器),减计数器从下一个时钟开始进行计数。个时钟开始进行计数。你现在浏览的是第十五页,共172页n3 3、用时钟脉冲的上升沿对门控信号、用时钟脉冲的上升沿对门控信号GATEGATE进行采样。进行采样。如果计数器工作在方式如果计数器工作在方式0 0或方式或方式4 4,则门控信号为,则门控信号为电平触发;工作在方式电平触发;工作在方式1 1或方式或方式5 5时,则门控信号为时,则门控信号为上升沿触发;工作在方式上升沿触发;工作在方式2 2或方式或方式3 3时,门控信号可时,门控信号可以用上升沿触发,也可用下降沿触发。以用上升沿触发,也可用下降沿触发。n4 4、在时钟脉冲的下降沿,计数器作减、在时钟脉冲的下降沿,计数器作减1 1计数。计数。n5 5、0000H0000H是计数器的最大初始值。二进制计数时是计数器的最大初始值。二进制计数时该初值相当于该初值相当于6553665536,BCDBCD码计数时相当于码计数时相当于10000.10000.你现在浏览的是第十六页,共172页n计数器在不同的工作方式下,主要区别:计数器在不同的工作方式下,主要区别:n1 1、OUTOUT引脚的输出波形不同。引脚的输出波形不同。n2 2、启动计数器计数的触发方式不同。、启动计数器计数的触发方式不同。n3 3、门控信号、门控信号GATEGATE对计数器的影响不同。对计数器的影响不同。n4 4、有的工作方式具备、有的工作方式具备“初值自动重装初值自动重装”的功能。的功能。你现在浏览的是第十七页,共172页六、六、Intel 8254的工作方式的工作方式 1.方式方式0计数结束输出正跳变信号计数结束输出正跳变信号 你现在浏览的是第十八页,共172页你现在浏览的是第十九页,共172页你现在浏览的是第二十页,共172页2.方式方式1硬件可重复触发的单稳硬件可重复触发的单稳你现在浏览的是第二十一页,共172页你现在浏览的是第二十二页,共172页你现在浏览的是第二十三页,共172页 3.方式方式2分频器分频器你现在浏览的是第二十四页,共172页你现在浏览的是第二十五页,共172页你现在浏览的是第二十六页,共172页4.方式方式3方波发生器方波发生器你现在浏览的是第二十七页,共172页你现在浏览的是第二十八页,共172页你现在浏览的是第二十九页,共172页5.方式方式4软件触发的选通信号软件触发的选通信号发生器发生器你现在浏览的是第三十页,共172页你现在浏览的是第三十一页,共172页你现在浏览的是第三十二页,共172页6.方式方式5硬件触发的选通硬件触发的选通信号发生器信号发生器你现在浏览的是第三十三页,共172页你现在浏览的是第三十四页,共172页你现在浏览的是第三十五页,共172页七、七、Intel 8254的初始化的初始化程序流程程序流程写控制字写控制字写计数值低写计数值低8位位写计数值高写计数值高8位位 写入顺序:写入顺序:以计数器为单位以计数器为单位初始化,也可以初始化,也可以先写所有计数器先写所有计数器控制字,再写入控制字,再写入初值初值你现在浏览的是第三十六页,共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.初始化程序段初始化程序段: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#计数器控制字计数器控制字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你现在浏览的是第四十页,共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 ALMOV 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你现在浏览的是第四十三页,共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 ;计数值的高字节计数值的高字节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你现在浏览的是第四十五页,共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页例:设一个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,ALALnMOV ALMOV AL,27H27HnOUT DXOUT DX,ALAL你现在浏览的是第四十八页,共172页例:读取例:读取0#0#计数器当前的计数值(设计数器当前的计数值(设82548254的片选地址范围是的片选地址范围是0E0H0E3H0E0H0E3H)MOV ALMOV AL,00H 00H ;0#0#计数器的锁存命令计数器的锁存命令OUT 0E3HOUT 0E3H,AL AL ;锁存命令写到控制口;锁存命令写到控制口IN IN AL AL,0E0H 0E0H;读锁存器的低字节;读锁存器的低字节MOV BLMOV BL,AL AL ;低字节送;低字节送BLBLININ AL AL,0E0H 0E0H;读锁存器的高字节;读锁存器的高字节MOV BHMOV BH,AL AL ;高字节送;高字节送BHBH则则BXBX的内容就是的内容就是0#0#计数器当前的计数值。计数器当前的计数值。3、读当前计数值:先锁存再读你现在浏览的是第四十九页,共172页例:用Intel8254实现1秒标准时钟。8254的端口地址是40H43H,频率为10MHz。n设计提示:计数初值设计提示:计数初值=10MHz1Hz=10 000 000=10MHz1Hz=10 000 00065 65 535535,显然已经超出了,显然已经超出了82548254内部一个计数器的计内部一个计数器的计数范围,需要用两个计数器级联。将数范围,需要用两个计数器级联。将0#0#计数器计数器工作于方式工作于方式3 3,其,其CLKCLK输入输入10MHz10MHz的信号源,产生的信号源,产生5KHz5KHz的方波信号,作为的方波信号,作为2#2#计数器的输入计数器的输入CLKCLK信号。信号。2#2#计数器工作在方式计数器工作在方式2 2,从,从2#2#计数器的计数器的OUTOUT输出频输出频率为率为1Hz1Hz的连续脉冲,就是周期为的连续脉冲,就是周期为1 1秒的时钟。秒的时钟。n这样,这样,0#0#计数器的控制字为计数器的控制字为00100111B00100111B、计数初、计数初值为值为20002000;2#2#计数器的控制字为计数器的控制字为10100101B10100101B、计数、计数初值为初值为50005000。4、级联你现在浏览的是第五十页,共172页n初始化编程:初始化编程:nMOV ALMOV AL,27H27H;写控制字:;写控制字:0#0#计数器方计数器方 式式3 3,只写高,只写高8 8位,位,BCDBCD码计数码计数nOUT 43HOUT 43H,ALALnMOV ALMOV AL,20H20HnOUT 40HOUT 40H,ALAL;0#0#计数器送初值计数器送初值20002000nMOV ALMOV AL,0A5H0A5H;写控制字:;写控制字:2#2#计数器方计数器方 式式2 2,只写高,只写高8 8位,位,BCDBCD码计数码计数nOUT 43HOUT 43H,ALALnMOV ALMOV AL,50H50HnOUT 42HOUT 42H,ALAL;2#2#计数器送初值计数器送初值50005000你现在浏览的是第五十一页,共172页八、八、Intel 8254在微机系统中的应用在微机系统中的应用0#0#计数器用于定时中断计数器用于定时中断工作于方式工作于方式3,3,门控端门控端GATEGATE常有效常有效,计计数初值数初值=0,=0,定时时间为定时时间为55ms,OUT055ms,OUT0接接82598259的的IRQ0IRQ0端端,用作中断请求信号用作中断请求信号,每隔每隔55ms55ms申请申请1 1次中断次中断.系统利用系统利用0#0#计数器和计数器和0808号中断实现日时钟的计号中断实现日时钟的计时功能时功能.你现在浏览的是第五十二页,共172页1#1#计数器用于动态存储器刷新定时计数器用于动态存储器刷新定时(间隔间隔15s15s进行一次请求进行一次请求)方式方式2 2或方式或方式3,3,门控端门控端GATEGATE常有效常有效,计数计数初值初值=18,=18,每隔每隔15s15s刷新刷新1 1次次.2#2#计数器用于产生计数器用于产生900Hz900Hz的方波送扬的方波送扬声器声器工作于方式工作于方式3,3,其输出经滤波其输出经滤波后得到近似的正弦波后得到近似的正弦波,以驱动扬声器以驱动扬声器发声发声,输出信号的频率通过初始化设置输出信号的频率通过初始化设置可以改变可以改变.你现在浏览的是第五十三页,共172页CLK0 OUT0GATE0 CLK1 OUT1 GATE1 CLK2 OUT2GATE2Intel Intel 8254分频器分频器+5V PB0 Intel 8255 PB11.1931816MHz1.1931816MHzIntel82598259的的IR0IR0产产生生系系统统时钟时钟Intel8237DR8237DREQ0EQ0存存储储器器刷刷新新驱驱 动动喇喇 叭叭&图图5.8 Intel Intel 8254在在PC机系统中的应用机系统中的应用你现在浏览的是第五十四页,共172页系统中8254的三个计数器的初始化程序如下(这些程序已经在ROM-BIOS中):MOV ALMOV AL,36H 36H;写;写0#0#计数器控制字:计数器控制字:OUT 43HOUT 43H,AL AL;读写;读写1616位,方式位,方式3 3,;二进制计数;二进制计数MOV ALMOV AL,00H 00H;初值;初值0,0,信号周期信号周期55ms55msOUT 40HOUT 40H,AL AL;先写低;先写低8 8位位OUT 40HOUT 40H,AL AL;后写高;后写高8 8位位你现在浏览的是第五十五页,共172页MOV ALMOV AL,54H ;54H ;写写1#1#计数器控制字:计数器控制字:OUT 43HOUT 43H,AL ;AL ;方式方式2,2,只写低只写低8 8位位,二进制计数二进制计数MOV ALMOV AL,12H ;12H ;初值为初值为1818,信号周期,信号周期15s15sOUT 41HOUT 41H,AL ;AL ;写初值写初值MOV ALMOV AL,0B6H;0B6H;写写2#2#计数器控制字:计数器控制字:OUT 43HOUT 43H,AL ;AL ;读写读写1616位位,方式方式3,3,二进制计数二进制计数MOV AXMOV AX,533H;533H;初值为初值为533H,533H,信号频率信号频率900Hz900HzOUT 42HOUT 42H,AL ;AL ;先写低先写低8 8位位MOV ALMOV AL,AHAHOUT 42HOUT 42H,AL ;AL ;后写高后写高8 8位位续:续:你现在浏览的是第五十六页,共172页第二节第二节 可编程并行接口可编程并行接口 及其应用及其应用串行通信接口并行通信接口你现在浏览的是第五十七页,共172页并行通信接口数据是以字节或字为单位进行传送或交换的。并行接口通常具有输入或输出数据的功能,这里所说的输入输出,是以CPU作为参照物的。并行接口起着数据锁存或缓冲的作用。通常用于数据传输率高、传输距离比较短的场合。你现在浏览的是第五十八页,共172页 第二节第二节 可编程并行接口可编程并行接口 及其应用及其应用Intel 8255的内部结构和引脚的内部结构和引脚你现在浏览的是第五十九页,共172页8255与系统的连接图与系统的连接图D0D7WRRDA1A0CSDB WR RDA1A0译码器译码器8255A口口B口口C口口D0D7外外 设设CPUA2 A7你现在浏览的是第六十页,共172页Intel 8255端口操作 你现在浏览的是第六十一页,共172页一、一、Intel 8255控制字控制字1 1方式选择控制字方式选择控制字特特征征位位你现在浏览的是第六十二页,共172页对对82558255初始化编程初始化编程,A,A口口:方式方式1 1输输入入,B,B口口:方式方式0 0输出输出,C,C口的上半口输口的上半口输出出,C,C口的下半口输入口的下半口输入.设设82558255的端口地址为的端口地址为:60H:60H、61H61H、62H62H和和63H,63H,方式选择控制字为:方式选择控制字为:10110001B10110001B或或B1HB1H,初始化程序段如下:,初始化程序段如下:MOV ALMOV AL,0B1H 0B1H ;方式选择控制字;方式选择控制字OUT 63HOUT 63H,AL AL ;写控制端口;写控制端口例:例:你现在浏览的是第六十三页,共172页2 2C C口按位置口按位置1/1/置置0 0操作控制字操作控制字你现在浏览的是第六十四页,共172页要求把要求把8255C8255C口的口的PC0PC0置置1 1 设端口地址分别为:设端口地址分别为:60H60H、61H61H、62H62H和和63H,63H,初始化程序段初始化程序段:MOV ALMOV AL,01H 01H;使;使PC0PC01 1的控制字的控制字OUT 63HOUT 63H,AL AL;写控制端口;写控制端口例:例:你现在浏览的是第六十五页,共172页 对对C C口的若干位置口的若干位置1/1/置置0 0操作操作对对PC7PC7置置1,PC61,PC6置置0,0,则程序段为则程序段为:MOV ALMOV AL,0FH ;PC70FH ;PC7置置1 1控制字控制字OUT 63HOUT 63H,AL ;AL ;写控制端口写控制端口MOV ALMOV AL,0CH ;PC60CH ;PC6置置0 0控制字控制字OUT 63HOUT 63H,AL ;AL ;写控制端口写控制端口例:例:你现在浏览的是第六十六页,共172页在在PC5PC5输出一个负跳变的信号输出一个负跳变的信号初始化程序段如下:初始化程序段如下:MOV ALMOV AL,0BH 0BH ;PC5PC5置置1 1控制字控制字OUT 63HOUT 63H,AL AL ;写控制端口;写控制端口MOV ALMOV AL,0AH 0AH ;PC5PC5置置0 0控制字控制字OUT 63HOUT 63H,AL AL ;写控制端口;写控制端口例:例:你现在浏览的是第六十七页,共172页例:例:在在PC5PC5输出一个负脉冲信号输出一个负脉冲信号nMOV ALMOV AL,0BH0BH;PC5PC5置置1 1控制字控制字nOUT 63HOUT 63H,ALAL;写控制端口;写控制端口nMOV ALMOV AL,0AH0AH;PC5PC5置置0 0控制字控制字nOUT 63HOUT 63H,ALAL;写控制端口;写控制端口nMOV ALMOV AL,0BH0BH;使;使PC5PC5再置再置1 1的控制字的控制字nOUT 63HOUT 63H,ALAL;写控制端口;写控制端口你现在浏览的是第六十八页,共172页A A口和口和B B口都是输出端口口都是输出端口,要求对要求对B B口的口的PB7PB7位置位置1,1,对对A A口的口的PA7PA7、PA6PA6位置位置0,0,而而不改变其余位的状态不改变其余位的状态.MOV ALMOV AL,80H 80H ;方式选择控制字;方式选择控制字OUT 63HOUT 63H,AL AL ;写控制端口;写控制端口 IN ALIN AL,61H 61H ;读入;读入B B口原输出值口原输出值MOV BLMOV BL,AL AL ;保存;保存B B口原输出值口原输出值OR ALOR AL,80H 80H ;使;使PB7=1PB7=1,B B口的其余位不变口的其余位不变OUT 61HOUT 61H,AL AL ;对;对B B口输出新的内容口输出新的内容IN ALIN AL,60H 60H ;读入;读入A A口原输出值口原输出值MOV BHMOV BH,AL AL ;保存;保存A A口原输出值口原输出值AND ALAND AL,00111111B 00111111B ;使;使PA7=0PA7=0,PA6PA60 0OUT 60HOUT 60H,AL AL 例:例:你现在浏览的是第六十九页,共172页二、二、Intel 8255Intel 8255的三种工作方式的三种工作方式n1.方式0-基本输入输出方式n2.方式1-选通式输入输出方式n3.方式2-双向选通式输入输出方式n端口A可以工作在方式0、方式1、方式2n端口B只能工作在方式0、方式1你现在浏览的是第七十页,共172页1 1方式方式00基本输入输出方式基本输入输出方式无条件传送无条件传送(同步传送同步传送)不需要联络信号,不需要联络信号,CPUCPU可以随时对该可以随时对该外部设备进行读或写。外部设备进行读或写。有条件传送有条件传送(查询式传送查询式传送)把把C C口的一个半口设置为输出,用作口的一个半口设置为输出,用作端口端口A A或端口或端口B B的状态信号输出;的状态信号输出;把把C C口的另一个半口设置为输入,口的另一个半口设置为输入,用作外设的状态信号输入。究竟用作外设的状态信号输入。究竟使用使用C C口的哪些位作联络线不是固口的哪些位作联络线不是固定的,是由程序设定的。定的,是由程序设定的。你现在浏览的是第七十一页,共172页设设82558255的端口地址为的端口地址为A00HA03H,A00HA03H,端口端口A A和和B B都工作在方式都工作在方式O,AO,A口用来读一组开关数据口用来读一组开关数据,B,B口口连一组发光二极管连一组发光二极管,以显示开关状态以显示开关状态.无条件传送的程序段如下:无条件传送的程序段如下:MOV DXMOV DX,0A03H 0A03H ;82558255控制口地址控制口地址 MOV ALMOV AL,90H 90H ;方式选择字;方式选择字 0UT DX0UT DX,AL AL ;写控制字;写控制字LOPLOP:MOV DXMOV DX,0A00H 0A00H;端口;端口A A地址地址 IN ALIN AL,DX DX ;输入开关状态;输入开关状态 MOV DXMOV DX,0A01H 0A01H ;端口;端口B B地址地址 0UT DX0UT DX,AL AL ;显示开关的状态;显示开关的状态 JMP LOPJMP LOP例:例:你现在浏览的是第七十二页,共172页n(1 1)将)将A A口设置成工作方式口设置成工作方式0 0、输出,在、输出,在A A口连一口连一台打印机。台打印机。n(2 2)C C口作状态口,用来传送打印机的状态:用口作状态口,用来传送打印机的状态:用 向打印机输出一个负脉冲作为数据选通信号向打印机输出一个负脉冲作为数据选通信号 (低电平有效),把(低电平有效),把A A口的数据传送到打印机缓口的数据传送到打印机缓冲器中;用冲器中;用 接收一个来自打印机的状态信号接收一个来自打印机的状态信号BUSYBUSY(高电平有效),(高电平有效),BUSY=1BUSY=1表示外设正在处表示外设正在处理数据(忙),当打印机处理完输入的数据后,理数据(忙),当打印机处理完输入的数据后,会撤销忙信号,置会撤销忙信号,置BUSY=0BUSY=0,等待接收,等待接收CPUCPU输出的下输出的下一个数据。一个数据。例:用例:用8255作打印机的接口作打印机的接口.(查询式传送查询式传送)你现在浏览的是第七十三页,共172页n(3 3)82558255方式方式0 0使用查询式传送时,其使用查询式传送时,其联络信号是不固定的,这里选用联络信号是不固定的,这里选用 和和 作为联络信号,我们把作为联络信号,我们把 设置为输设置为输入,把入,把 设置为输出。设置为输出。n(4 4)用查询式传送实现上述过程。设)用查询式传送实现上述过程。设82558255在系统中的端口地址为在系统中的端口地址为 。你现在浏览的是第七十四页,共172页CPU PA PA0-70-7 PC7 PC7 PC1 PC1 GND GNDD D0-70-7STBSTBBUSYBUSYGNDGND Intel Intel 8255 打印机打印机你现在浏览的是第七十五页,共172页用查询式传送实现上述过程用查询式传送实现上述过程:MOV DXMOV DX,0A03H ;82550A03H ;8255控制口地址控制口地址MOV ALMOV AL,81H ;81H ;控制字控制字OUT DXOUT DX,AL ;AL ;写方式选择控制字写方式选择控制字MOV ALMOV AL,0FH ;PC7=10FH ;PC7=1,使打印机,使打印机 选通信号无效选通信号无效OUT DXOUT DX,AL ;AL ;写写C C口置口置1/1/置置0 0控制字控制字MOV CXMOV CX,100H ;100H ;打印的字符数打印的字符数L L:MOV DXMOV DX,0A02H;0A02H;状态口地址状态口地址H H:IN ALIN AL,DX ;DX ;读打印机状态读打印机状态 TEST ALTEST AL,02H ;02H ;检查检查BUSYBUSY是否忙是否忙JNZ H ;JNZ H ;若若PC1=1PC1=1,打印机,打印机 忙,则循环等待忙,则循环等待你现在浏览的是第七十六页,共172页MOV ALMOV AL,BX ;BX ;取出要打印的数据取出要打印的数据MOV DXMOV DX,0A00H ;0A00H ;端口端口A A地址地址OUT DXOUT DX,AL ;AL ;打印的数据送打印的数据送A A口口MOV ALMOV AL,0EH ;0EH ;置置PC7=0,PC7=0,数据选通有效数据选通有效MOV DXMOV DX,0A03H ;0A03H ;控制口地址控制口地址OUT DXOUT DX,AL ;AL ;写写C C口置口置1/1/置置0 0控制字控制字NOP ;NOP ;延时延时NOP ;NOP ;使使PC7PC7输出的低电平有一定宽度,保证送输出的低电平有一定宽度,保证送 打印机的数据稳定打印机的数据稳定NO

    注意事项

    本文(常用的可编程接口芯片介绍优秀PPT.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开