单片机第9章IO接口扩展概述_第1页
单片机第9章IO接口扩展概述_第2页
单片机第9章IO接口扩展概述_第3页
单片机第9章IO接口扩展概述_第4页
单片机第9章IO接口扩展概述_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展 at89s51有有4个个i/o口口p0p3,真正用作,真正用作i/o口线的只有口线的只有p1口口的的8位位i/o口线和口线和p3口口的某些位线的某些位线。因此,外部。因此,外部i/o接口的扩展。接口的扩展。 9.1 i/o接口扩展概述接口扩展概述 9.1.1 扩展的扩展的i/o接口功能接口功能1、实现和不同外设的速度匹配、实现和不同外设的速度匹配 大多数外设的速度很慢,无法和大多数外设的速度很慢,无法和s量级的单片机速度相比。量级的单片机速度相比。单片机在与外设间进行数据传送时,只有在确认外设已为数据传单片机在与外设间

2、进行数据传送时,只有在确认外设已为数据传送做好准备的前提下才能进行数据传送。外设是否准备好,就需送做好准备的前提下才能进行数据传送。外设是否准备好,就需要要i/o接口电路与外设之间传送状态信息,以实现单片机与外设接口电路与外设之间传送状态信息,以实现单片机与外设之间的速度匹配。之间的速度匹配。单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展 2、输出数据锁存、输出数据锁存 由于单片机工作速度快,数据在数据总线上保留的时间十由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。分短暂,无法满足慢速外设的数据接收。i/o电路应具有数据电路应

3、具有数据锁存器,以保证接收设备接收。锁存器,以保证接收设备接收。3、输入数据三态缓冲、输入数据三态缓冲 输入设备向单片机输入数据时,但数据总线上面可能输入设备向单片机输入数据时,但数据总线上面可能“挂挂”有多个数据源,为不发生冲突,只允许当前正在进行数据传有多个数据源,为不发生冲突,只允许当前正在进行数据传送的数据源使用数据总线,其余的应处于隔离状态。送的数据源使用数据总线,其余的应处于隔离状态。单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展 9.1.2 i/o端口的编址端口的编址一、一、i/o接口接口(interface)和和i/o端口端口(port)的概念的概念

4、。 i/o端口端口:简称:简称i/o口,指口,指具有端口地址的寄存器或缓冲器具有端口地址的寄存器或缓冲器。 i/o接口接口:是指单片机与外设间的:是指单片机与外设间的i/o接口芯片接口芯片。 一个一个i/o接口芯片可以有多个接口芯片可以有多个i/o端口,如并行扩展芯片端口,如并行扩展芯片8255的数据口、命令口、状态口等。的数据口、命令口、状态口等。二、二、i/o端口编址端口编址 有两种方式:独立编址与统一编址。有两种方式:独立编址与统一编址。1、独立编址方式、独立编址方式 i/o寄存器地址空间和存储器地址空间分开编址,但需专寄存器地址空间和存储器地址空间分开编址,但需专门读写门读写i/o的指

5、令和控制信号。的指令和控制信号。2、统一编址方式、统一编址方式 i/o寄存器与数据存储器单元同等对待,统一编址,不需寄存器与数据存储器单元同等对待,统一编址,不需要专门的要专门的i/o指令。指令。单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展 9.1.3 i/o数据的传送方式数据的传送方式 为实现和不同的外设的速度匹配,为实现和不同的外设的速度匹配,i/o接口必须根据不同外接口必须根据不同外设选择恰当的设选择恰当的i/o数据传送方式。数据传送方式。1、同步传送方式、同步传送方式(无条件传送无条件传送) 当外设速度和单片机的速度相比拟时,常采用同步传送方式当外设速度和

6、单片机的速度相比拟时,常采用同步传送方式,如单片机和外部数据存储器之间的数据传送。,如单片机和外部数据存储器之间的数据传送。2、查询传送方式、查询传送方式(条件传送,异步式传送条件传送,异步式传送) 查询外设查询外设“准备好准备好”后,再进行数据传送。后,再进行数据传送。优点:优点:通用性好通用性好,硬件连线和查询程序十分简单;,硬件连线和查询程序十分简单;缺点:缺点:效率不高。效率不高。3、中断传送方式、中断传送方式 外设准备好后,发中断请求,单片机进入与外设数据传送的外设准备好后,发中断请求,单片机进入与外设数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序中断服务程序,进

7、行数据的传送。中断服务完成后又返回主程序继续执行。工作效率高。继续执行。工作效率高。单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展 9.2 可编程并行可编程并行i/o接口芯片接口芯片82c55 9.2.1 82c55 芯片介绍芯片介绍 82c55是是intel生产的生产的可编程可编程并行并行i/o接口芯片,具有接口芯片,具有3个个8位的并行位的并行i/o口,口,3种工作方式种工作方式,可通过编程改变其功能,因,可通过编程改变其功能,因而而使用灵活方便,通用性强使用灵活方便,通用性强。 8255是是ibm pc的标准元件之一,从的标准元件之一,从80年代中期到年代中期

8、到90年代年代中期停产,在日本、台湾都大量生产过,加上中期停产,在日本、台湾都大量生产过,加上intel自己的产自己的产品,品,8255是产量最大的标准是产量最大的标准pc外围外围ic,所以市场上有大量拆,所以市场上有大量拆板翻新货。板翻新货。单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展一、工作状态选择表一、工作状态选择表a1a0rd*wr*cs*工作状态工作状态00010读端口读端口a数据数据读端口读端口b数据数据读端口读端口c数据数据010101001000100写端口写端口a写端口写端口b写端口写端口c写控制字寄存器写控制字寄存器01100101001110

9、01数据总线为三态数据总线为三态11010非法状态非法状态110数据总线为三态数据总线为三态单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展二、可向二、可向82c55控制寄存器写入两种不同的控制字控制寄存器写入两种不同的控制字1、工作方式选择控制字、工作方式选择控制字单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展2、pc口按位置位口按位置位/复位控制字复位控制字 pc口操作除了可访问口操作除了可访问pc口寄存器外;还可通过控制寄存口寄存器外;还可通过控制寄存器,对器,对pc口中任何一位,进行置位或复位。口中任何一位,进行置位或复位。单片机原

10、理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展【例【例9-2】 at89s51向向82c55的控制字寄存器写入什么控制字,的控制字寄存器写入什么控制字, 使使pc3置置1、pc4清清0。 程序段如下:程序段如下:movdptr,#h ; 控制寄存器端口地址控制寄存器端口地址 ;h送送dptr mov a,#07hmovx dptr,a;控制字;控制字07h送控制字寄存器送控制字寄存器 ;把;把pc3置置1movdptr,#h ; 控制字寄存器端口地址控制字寄存器端口地址 ;h送送dptr mov a,#08hmovxdptr,a;控制字;控制字08h送控制字寄存器送控制字寄

11、存器;把;把pc4清清0单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展 9.2.4 at89s51单片机与单片机与82c55的接口设计的接口设计1、硬件接口电路、硬件接口电路2、端口地址、端口地址 地址选择线地址选择线a1/a0接接p0.1/p0.0cs接接p0.7,未用,未用到的线全为到的线全为1,所以:所以:pa口:口:ff7chpb口:口:ff7dhpc口:口:ff7eh控制口:控制口:ff7fh单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展【例【例9-4】要求】要求82c55工作在方式工作在方式0,且,且pa口作为输入,口作为输入

12、,pb口、口、pc口作为输出,程序如下:口作为输出,程序如下:mova,#90h ;控制字送;控制字送a mov dptr,#0ff7fh;控制寄存器地址;控制寄存器地址ff7fhdptrmovxdptr,a ;方式控制字;方式控制字控制寄存器控制寄存器mov dptr,#0ff7ch;pa口地址口地址ff7chdptrmovxa,dptr ;从;从pa口读入数据口读入数据amov dptr,#0ff7dh;pb口地址口地址ff7dhdptrmova,#data1;要输出的数据;要输出的数据#data1amovxdptr,a ;将;将#data1送送pb口输出口输出mov dptr,#0ff7

13、eh;pc口地址口地址dptrmova,# data 2;数据;数据#data 2amovxdptr,a ;将数据;将数据#data 2送送pc口输出口输出单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展 9.4 利用利用74lsttl电路扩展并行电路扩展并行i/o口口 在单片机应用中,有些场合需要降低成本、缩小体积,这时在单片机应用中,有些场合需要降低成本、缩小体积,这时采用采用ttl电路、电路、cmos电路锁存器或三态门电路也可构成各种类电路锁存器或三态门电路也可构成各种类型的简单输入型的简单输入/输出口。输出口。 如图如图9-20所示为一个利用所示为一个利用74

14、ls244和和74ls273芯片,将芯片,将p0口口扩展成简单的输入扩展成简单的输入/输出口的电路。输出口的电路。 74ls244和和74ls273的工作受的工作受at89s51的的p2.0、wr、rd三三条控制线控制。条控制线控制。 74ls244是单向八总线缓冲器是单向八总线缓冲器(三态同相输出三态同相输出),作为,作为扩展输扩展输入口入口,8个输入端分别接个输入端分别接8个按钮开关。个按钮开关。 74ls273是是8d锁存器锁存器,扩展输出口扩展输出口,接,接8个个led发光二极管发光二极管,以显示,以显示8个按钮开关状态。个按钮开关状态。单片机原理及其应用第第9章章 at89s51单片

15、机的单片机的i/o扩展扩展输入口输入口(74ls244)、输出口、输出口(74ls273)地址均为地址均为feffh/0000h。单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展9.5 用用at89s51单片机的串行口扩展并行口单片机的串行口扩展并行口 串行口的串行口的方式方式0为同步移位寄存器工作方式为同步移位寄存器工作方式,用于,用于i/o扩展,扩展,波特率为波特率为fosc/12。数据由数据由rxd端端(p3.0)输入,同步移位时钟由输入,同步移位时钟由txd端端(p3.1)输出输出。9.5.1 用用74ls165扩展并行输入口扩展并行输入口 74ls165是是

16、8位并行输入串行输出的移位寄存器位并行输入串行输出的移位寄存器。当当74ls165的的s/l端为低时,并行输入端的数据被置入寄存器;端为低时,并行输入端的数据被置入寄存器;当当s/l = 1,且时钟禁止端,且时钟禁止端(15脚脚)为低时,允许为低时,允许txd(p3.1)移位时移位时钟输入,在该脉冲作用下,钟输入,在该脉冲作用下,数据由右向左方向数据由右向左方向(朝朝h方向方向)移动。移动。单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展 txd与所有与所有74ls165的的cp相连;相连;rxd与与74ls165的串行输的串行输出端出端qh相连;相连;p1.0与与

17、s/l相连,控制相连,控制74ls165的串行移位或并行的串行移位或并行输入;当扩展多个输入;当扩展多个8位输入口时,相邻两芯片的首尾位输入口时,相邻两芯片的首尾(qh与与sin)相连,即相连,即级联级联。单片机原理及其应用第第9章章 at89s51单片机的单片机的i/o扩展扩展【例【例9-10】从】从16位扩展口读入位扩展口读入5组数据(每组组数据(每组2b),把它们转存),把它们转存到内部到内部ram 20h开始的单元。开始的单元。 mov r7,#05h;设置读入组数;设置读入组数 mov r0,#20h;设置内部;设置内部ram数据区首址数据区首址start:clr p1.0;并行置入

18、数据,;并行置入数据,s/l =0 setb p1.0;允许串行移位,;允许串行移位,s/l =1 mov r2,#02h ;设每组字节数,;设每组字节数, 即即74ls165的个数的个数rxdata:mov scon,#10h ;设置串口方式;设置串口方式0,允许接收,允许接收wait: jnb ri,wait;未接收完一帧,循环等待;未接收完一帧,循环等待 clr ri;ri标志清标志清“0”,准备下次接收,准备下次接收 mov a,sbuf;读入数据;读入数据 mov r0,a;送至;送至ram缓冲区缓冲区 inc r0;指向下一个地址;指向下一个地址 djnz r2,rxdata;未读完一组数据,;未读完一组数据, 继续

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论