单片机_第9课时_.ppt

单片机_第9课时_.ppt

ID:59470445

大小:561.00 KB

页数:18页

时间:2020-11-02

单片机_第9课时_.ppt_第1页
单片机_第9课时_.ppt_第2页
单片机_第9课时_.ppt_第3页
单片机_第9课时_.ppt_第4页
单片机_第9课时_.ppt_第5页
资源描述:

《单片机_第9课时_.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、AT89S51有4个I/O口P0~P3,真正用作I/O口线的只有P1口的8位I/O口线和P3口的某些位线。因此,经常需要外部I/O接口的扩展。§9.1I/O接口扩展概述§9.1.1扩展的I/O接口功能1、实现和不同外设的速度匹配大多数外设的速度很慢,无法和µs量级的单片机速度相比。单片机在与外设间进行数据传送时,只有在确认外设已为数据传送做好准备的前提下才能进行数据传送。外设是否准备好,就需要I/O接口电路与外设之间传送状态信息,以实现单片机与外设之间的速度匹配。2、输出数据锁存由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。I/O电

2、路应具有数据锁存器,以保证接收设备接收。3、输入数据三态缓冲输入设备向单片机输入数据时,但数据总线上面可能“挂”有多个数据源,为不发生冲突,只允许当前正在进行数据传送的数据源使用数据总线,其余的应处于隔离状态。§9.1.2I/O端口的编址一、I/O接口(Interface)和I/O端口(Port)的概念。I/O端口:简称I/O口,指具有端口地址的寄存器或缓冲器。I/O接口:是指单片机与外设间的I/O接口芯片。一个I/O接口芯片可以有多个I/O端口,如并行扩展芯片8255的数据口、命令口、状态口等。二、I/O端口编址有两种方式:独立编址与统一编址。1、独立编址方式I/O寄存

3、器地址空间和存储器地址空间分开编址,但需专门读写I/O的指令和控制信号。2、统一编址方式I/O寄存器与数据存储器单元同等对待,统一编址,不需要专门的I/O指令。§9.1.3I/O数据的传送方式为实现和不同的外设的速度匹配,I/O接口必须根据不同外设选择恰当的I/O数据传送方式。1、同步传送方式(无条件传送)当外设速度和单片机的速度相比拟时,常采用同步传送方式,如单片机和外部数据存储器之间的数据传送。2、查询传送方式(条件传送,异步式传送)查询外设“准备好”后,再进行数据传送。优点:通用性好,硬件连线和查询程序十分简单;缺点:效率不高。3、中断传送方式外设准备好后,发中断请

4、求,单片机进入与外设数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。工作效率高。§9.2可编程并行I/O接口芯片82C55§9.2.182C55芯片介绍82C55是Intel生产的可编程并行I/O接口芯片,具有3个8位的并行I/O口,3种工作方式,可通过编程改变其功能,因而使用灵活方便,通用性强。8255是IBMPC的标准元件之一,从80年代中期到90年代中期停产,在日本、台湾都大量生产过,加上Intel自己的产品,8255是产量最大的标准PC外围IC,所以市场上有大量拆板翻新货。一、工作状态选择表A1A0RD*WR*CS*工作状态00010读

5、端口A数据读端口B数据读端口C数据010101001000100写端口A写端口B写端口C写控制字寄存器011001010011100××××1数据总线为三态11010非法状态××110数据总线为三态二、可向82C55控制寄存器写入两种不同的控制字1、工作方式选择控制字2、PC口按位置位/复位控制字PC口操作除了可访问PC口寄存器外;还可通过控制寄存器,对PC口中任何一位,进行置位或复位。【例9-2】AT89S51向82C55的控制字寄存器写入什么控制字,使PC3置1、PC4清0。程序段如下:MOVDPTR,#××××H;控制寄存器端口地址;××××H送DPTRMOVA,#

6、07HMOVX@DPTR,A;控制字07H送控制字寄存器;把PC3置1…………MOVDPTR,#××××H;控制字寄存器端口地址;××××H送DPTRMOVA,#08HMOVX@DPTR,A;控制字08H送控制字寄存器;把PC4清0§9.2.4AT89S51单片机与82C55的接口设计1、硬件接口电路2、端口地址地址选择线A1/A0接P0.1/P0.0CS接P0.7,未用到的线全为1,所以:PA口:FF7CHPB口:FF7DHPC口:FF7EH控制口:FF7FH【例9-4】要求82C55工作在方式0,且PA口作为输入,PB口、PC口作为输出,程序如下:MOVA,#90H;

7、控制字送AMOVDPTR,#0FF7FH;控制寄存器地址FF7FH→DPTRMOVX@DPTR,A;方式控制字→控制寄存器MOVDPTR,#0FF7CH;PA口地址FF7CH→DPTRMOVXA,@DPTR;从PA口读入数据→AMOVDPTR,#0FF7DH;PB口地址FF7DH→DPTRMOVA,#data1;要输出的数据#data1→AMOVX@DPTR,A;将#data1送PB口输出MOVDPTR,#0FF7EH;PC口地址→DPTRMOVA,#data2;数据#data2→AMOVX@DPTR,A;将数据#data2送

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。