并行输入输出接口及其应用.ppt
《并行输入输出接口及其应用.ppt》由会员分享,可在线阅读,更多相关《并行输入输出接口及其应用.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 8051单片机结构单片机结构1 概述概述 2 8051并行输入输出端口结构并行输入输出端口结构 3 I/O端口的简单应用端口的简单应用 4 I/O口用于显示器键盘口用于显示器键盘I/O接口的作用接口的作用 1.速度协调。速度协调。大多数的外设速度很慢,无法和大多数的外设速度很慢,无法和s或或ns数量级的单片机速度相比。单片机只有在确认外设已为数据数量级的单片机速度相比。单片机只有在确认外设已为数据传送做好准备的前提下传送做好准备的前提下,才能进行才能进行I/O操作。操作。2.输出时数据锁存输出时数据锁存。由于单片机工作速度快,数据在。由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,
2、无法满足慢速外设的数据数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。接收。I/O电路应具有数据锁存器,以保证接收设备接收。电路应具有数据锁存器,以保证接收设备接收。3.输入三态缓冲输入三态缓冲。输入设备向单片机输入数据时,但。输入设备向单片机输入数据时,但数据总线上面可能数据总线上面可能“挂挂”有多个数据源,为不发生冲突,只有多个数据源,为不发生冲突,只允许当前正在进行数据传送的数据源使用数据总线,其余的允许当前正在进行数据传送的数据源使用数据总线,其余的应处应处于隔离状态。于隔离状态。4.数据转换数据转换。一般情况下,。一般情况下,CPU与接口进行并行数据与接口进行并行数据传送。
3、许多情况也需要传送模拟信号、串行信号,这需要数传送。许多情况也需要传送模拟信号、串行信号,这需要数字模拟转换、并行串行转换等。字模拟转换、并行串行转换等。1 概述概述 接口的概念:接口的概念:I/O接口接口(Interface):是指单片机与外设间的):是指单片机与外设间的I/O接口电路。接口电路。I/O端口端口(Port):简称:简称I/O口,指具有端口地址的寄存器口,指具有端口地址的寄存器或缓冲器。或缓冲器。一个一个I/O接口芯片可以有多个接口芯片可以有多个I/O端口:端口:(1)数据口()数据口(2)命令口()命令口(3)状态口)状态口I/O端口编址是给所有端口编址是给所有I/O接口中的
4、寄存器编址。接口中的寄存器编址。P0.0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1.0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0P3.0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7标准标准80518051单片机有单片机有4 4个个8 8位并行位并行I/OI/O口:口:P0P0,P1P1,P2P2,P3P3。均可作为双向均可作为双向I/OI/O端口使用。端口使用。P0P0:访问片外扩展存储器时,:访问片外扩展存储器时,复用为低复用为低8 8位地址
5、线和数据线位地址线和数据线 P2P2:高:高8 8位地址线位地址线P1P1:双向:双向I/OI/O端口端口 P3P3:还具有第二功能:还具有第二功能1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C511.P01.P0口口当系统不进行片外的当系统不进行片外的ROM扩展,也不进行片外扩展,也不进行片外RAM扩展时,扩展时,P0P0用作通用用作通用I/OI/O口口。在这种情况下,单片机硬件自动使多路开关在这种情况下,单片机硬件自动使多路开关MUX接向锁存接向锁存器的反相输出端
6、。器的反相输出端。VccVcc控制控制Q QQ QD DC C T1T1 P0 P0口内部结构口内部结构读锁存器读锁存器读引脚读引脚锁存器锁存器内部总线内部总线写锁存器写锁存器地址地址/数据数据P0.xP0.x多路开关多路开关T2T25.2 8051并行输入输出端口结构并行输入输出端口结构 作输出口时,作输出口时,CPU执行口的输出指令,内部数据总线上执行口的输出指令,内部数据总线上的数据在的数据在“写锁存器写锁存器”信号的作用下由信号的作用下由D端进入锁存器,经端进入锁存器,经锁存器的反向端送至场效应管锁存器的反向端送至场效应管T2,再经,再经T2反向,在反向,在P0.X引引脚出现的数据正好
7、是内部总线的数据。脚出现的数据正好是内部总线的数据。作输入口时,数据可以读自口的锁存器,也可以读自口作输入口时,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入操作采用的是的引脚。这要根据输入操作采用的是“读锁存器读锁存器”指令还指令还是是“读引脚读引脚”指令来决定。指令来决定。与门输出的与门输出的“0”使输出驱动器的上拉场效应管使输出驱动器的上拉场效应管T1处于截处于截止状态。止状态。输出驱动级工作在需外接上拉电阻的漏极开路方式输出驱动级工作在需外接上拉电阻的漏极开路方式。1、I/O输出工作过程:当写锁存器信号CP有效,数据总线的信号锁存器的输入端D锁存器的反向输出Q非端多路开关V2
8、管的栅极V2的漏极到输出端P0.X。这时多路开关的控制信号为低电平0,V1管是截止的,所以作为输出口时,P0是漏极开路输出,当驱动上接电流负载时,需要外接上拉阻。下图就是由内部数据总线向P0口输出数据的流程图2、地址输出过程控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平;反之,控制信号为“1”、地址信号为“1”,“与门”输出为高电平,V1管导通;反相器输出低电平,V2管截止,输出引脚的地址信号为高电平。3、作为数据总线的输出过程如果该指令是输出数据,如MOVXDPTR,A(将累加器的内容通过P0口数据总线传送到外部RAM中
9、),则多路开关“控制”信号为1,“与门”解锁,与输出地址信号的工作流程类似,数据据由“地址/数据”线反相器V2场效应管栅极V2漏极输出。在执行在执行“MOV”MOV”类输入指令类输入指令时(如:时(如:MOV AMOV A,P0P0),内部产生),内部产生的操作信号是的操作信号是“读引脚读引脚”。注意,在执行该类输入指令前要先把。注意,在执行该类输入指令前要先把锁存器写入锁存器写入“1”1”,使场效应管,使场效应管T2T2截止,使引脚处于悬浮状态,可截止,使引脚处于悬浮状态,可以作为高阻抗输入。以作为高阻抗输入。1、I/O读引脚工作过程:读芯片引脚上的数据时,读引脚缓冲器打开,通过内部数据总线
10、输入在读入端口引脚数据时由于输出驱动FET(T2)并接在引脚上,如果FET(T2)导通就会将输入的高电平拉成低电平,以致于产生误读。在端口进行输入操作前,应先向端口锁存器写入“l”,也就是使锁存器0,因为控制线C0,因此T1和T2全截止,引脚处于悬浮状态,可作高阻抗输入。这就是所谓的准双向口的含义。2、I/O读锁存器工作过程:通过打开读锁存器三态缓冲器读取锁存器输出端Q的状态执行执行“读读修改修改写写”类输入指令类输入指令时(如:时(如:ANL P0,A),内部产生的),内部产生的“读锁存器读锁存器”操作信号,使锁存器操作信号,使锁存器Q端数据端数据进入内部数据总线,在与累加器进入内部数据总线
11、,在与累加器A进行逻辑运算之后,结果又进行逻辑运算之后,结果又送回送回P0的口锁存器并出现在引脚。(注意,此操作包含了输的口锁存器并出现在引脚。(注意,此操作包含了输出操作,数据被输出到出操作,数据被输出到P0口)口)读口锁存器可读口锁存器可以避免因外部电路以避免因外部电路原因使原口引脚的原因使原口引脚的状态发生变化造成状态发生变化造成的误读。的误读。3、地址/数据时读指令码和数据过程作为数据总线使用。在访问外部程序存储器时,P0口输出低8位地址信息后,将变为数据总线,以便读(输入)指令码。在取指令期间,“控制”信号为“0”,V1管截止,多路开关也跟着转向锁存器反相输出端Q非;CPU自动将0F
12、FH(11111111,即向D锁存器写入一个高电平1)写入P0口锁存器,使V2管截止,在读引脚信号控制下,通过读引脚三态门电路将指令码读到内部总线,这个过程和I/O读引脚过程是一样的。在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外。例如,当从内部总线输出低电平后,锁存器Q0,Q非1,场效应管T2开通,端口线呈低电平状态。此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。又如,当从内部总线输出高电平后,锁存器Q1,Q非0,场效应管T2截止。如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。为
13、此,8051单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。读-修改-写指令的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上。这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状态被读错。当P0作为地址/数据总线使用时,在读指令码或输入数据前,CPU自动向P0口锁存器写入0FFH,破坏了P0口原来的状态。因此,不能再作为通用的I/O端口。在系统设计时务必注意,即程序中不能再含有以P0口作为操作数
14、(包含源操作数和目的操作数)的指令。P0既可作般IO端口用使用,又可作地址数据总线使用。I/O输出时,输出级属开漏电路,必须外接上拉电阻,才有高电平输出;作IO输入时,必须先向对应的锁存器写入“1”,使FET(T2)截止,不影响输入电平。当P0口被地址数据总线占用时,就无法再作IO口使用了。2.P1口口 P1口由一个输出锁存器、两个三态输入缓冲器和输出口由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成。内部有上拉电阻。驱动电路组成。内部有上拉电阻。P1口是通用的准双向口是通用的准双向I/O口。输出高电平时,能向外提供拉电流负口。输出高电平时,能向外提供拉电流负载,不必再接上拉电阻。当口用
15、作输入时,须向口锁存器写入载,不必再接上拉电阻。当口用作输入时,须向口锁存器写入1。3.P2口口(1)P2(1)P2用作通用用作通用I/OI/O口口当不扩展外部程序存储器,或只扩展当不扩展外部程序存储器,或只扩展256B的片外的片外RAM时,仅用到了地址线的低时,仅用到了地址线的低8位,位,P2口仍可以作为通口仍可以作为通用用I/O口使用。口使用。执行输出指令时,内部数据总线的数据在执行输出指令时,内部数据总线的数据在“写锁写锁存器存器”信号的作用下由信号的作用下由D端进入锁存器,经反相器后送端进入锁存器,经反相器后送至场效应管至场效应管T2,再经,再经T2反相,在反相,在P2.X引脚出现的数
16、据引脚出现的数据正好是内部总线的数据。正好是内部总线的数据。P2口一位的结构图口一位的结构图 P2口用作输入时,数据可以读自口的锁存器,也可以口用作输入时,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入操作采用的是读自口的引脚。这要根据输入操作采用的是“读锁存器读锁存器”指令还是指令还是“读引脚读引脚”指令来决定。指令来决定。执行执行“读读修改修改写写”类输入指令时内部产生的类输入指令时内部产生的“读锁读锁存器存器”操作信号使锁存器操作信号使锁存器Q端数据进入内部数据总线,在与端数据进入内部数据总线,在与累加器累加器A逻辑运算之后,结果送回逻辑运算之后,结果送回P2的口锁存器并出现在
17、引的口锁存器并出现在引脚。脚。执行执行“MOV”类输入指令时,内部产生的操作信号是类输入指令时,内部产生的操作信号是“读引脚读引脚”。应在执行输入指令前要把锁存器写入。应在执行输入指令前要把锁存器写入“1”,从,从而使引脚处高阻抗输入状态。而使引脚处高阻抗输入状态。P2口在作为通用口在作为通用I/O口时,属于准双向口口时,属于准双向口。(2)P2(2)P2用作地址总线用作地址总线当需要在单片机芯片外部扩展程序存储器或扩展的当需要在单片机芯片外部扩展程序存储器或扩展的RAM容量超过容量超过256字节时,单片机内硬件自动使字节时,单片机内硬件自动使MUX开开关接向地址线,这时关接向地址线,这时P2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 并行 输入输出 接口 及其 应用
限制150内