《《输入输出端口》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《输入输出端口》PPT课件.ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023/2/11DownUpMainReturn第七章第七章 输入输出端口输入输出端口输入输出端口输入输出端口2023/2/11DownUpMainReturn在在PIC16F877单单片片机机中中,共共有有五五个个I/O端口:端口端口:端口A、B、C、D和和E。端端口口的的一一些些引引脚脚通通过过对对相相应应的的专专用用寄寄存存器器的的设设置置选选择择用用作作多多功功能能复复用用,既既可可作作为为一一般般通通用用的的I/0引引脚脚,也也可可作作为为某些部件特殊功能的输入某些部件特殊功能的输入/输出引脚。输出引脚。一一旦旦作作为为特特殊殊功功能能引引脚脚,这这些些引引脚脚不不再用作一般的再用
2、作一般的I/O功能。功能。2023/2/11DownUpMainReturn7.17.1 I/OI/O端口功能的通用结构端口功能的通用结构PIC16F877单单片片机机有有5个个I/O端端口口,它它们们的的设设计计思思想想和和内内部部结结构构都都是是不不同同的的,即即使使同同一一个个端端口口各各个个引引脚脚的的内内部部结结构构也也存存在差异。在差异。但但就就其其通通用用的的输输入入/输输出出功功能能,则则具具有有类似的线路结构。类似的线路结构。2023/2/11DownUpMainReturn基基本本端端口口内内部部结结构构如如下下图图,主主要要包包括括:3个个D触触发发器器组组成成的的输输入
3、入/输输出出数数据据锁锁存存电路和方向选择锁存电路;电路和方向选择锁存电路;2个三态门控电路;个三态门控电路;二二输输入入“与与”门门和和“或或”门门组组成成数数据据输出的前向通道;输出的前向通道;由由P沟沟道道场场效效应应管管和和N沟沟道道场场效效应应管管构构成互补推挽的电流输出级。成互补推挽的电流输出级。2023/2/11DownUpMainReturnI/O I/O Pin读端口读端口内部数据总线内部数据总线读读TRISTRISD DQQD DQQVDDVSSP PN ND DQQ写方向控制写方向控制写端口控制写端口控制1111 1 11 1到到A/DA/D转换器转换器模拟输入选择模拟输
4、入选择ENENQQQQ输出锁存输出锁存D D1 1方向锁存方向锁存D D2 2输入锁存输入锁存D3输入缓冲器输入缓冲器2023/2/11DownUpMainReturn在在PIC系系列列单单片片机机中中,每每个个端端口口都都至至少对应着两个特殊功能寄存器,少对应着两个特殊功能寄存器,分分别别是是数数据据寄寄存存器器(PORTX)和和方方向向寄存器(寄存器(TRISX),也也就就是是说说PIC单单片片机机把把I/O端端口口当当作作寄寄存器来访问(即读出或写入)。存器来访问(即读出或写入)。2023/2/11DownUpMainReturnI/O端端口口的的方方向向寄寄存存器器是是定定义义其其端端
5、口口引引脚的输入脚的输入/输出状态;输出状态;而而I/O端端口口的的数数据据寄寄存存器器是是用用于于其其端端口口输输入入/输输出出数数据据的的桥桥梁梁,或或称称为为数数据据缓缓冲器。冲器。2023/2/11DownUpMainReturn7.1.1 7.1.1 设置端口的输入设置端口的输入/输出状态输出状态根根据据I/O端端口口引引脚脚的的输输入入/输输出出状状态态,对对该该端端口口的的数数据据方方向向控控制制寄寄存存器器(TRISX)进行初始化定义。进行初始化定义。若若把把TRIS某某位位设设置置为为“1”,则则相相应应的的PORT端口引脚定义为输入端;端口引脚定义为输入端;若若把把TRIS
6、某某位位设设置置为为“0”,则则相相应应的的PORT端口引脚定义为输出端。端口引脚定义为输出端。2023/2/11DownUpMainReturn1、定义输入线、定义输入线当当把把某某个个端端线线定定义义为为输输入入状状态态时时,信信号号“1”通通过过单单片片机机的的内内部部数数据据总总线线加加至至方方向向锁锁存存器器D2的的输输入入端端,在在写写方方向向控制信号的触发下写入控制信号的触发下写入D2锁存。锁存。此此时时,D2的的Q=1,上上部部的的“或或”门门封封闭闭,其其输输出出恒恒定定为为“1”,这这就就导导致致P沟道场效应管截止;沟道场效应管截止;2023/2/11DownUpMainR
7、eturnQ=1则则Q=0,下下部部的的“与与”门门封封闭闭,其其输输出出恒恒定定为为“0”,这这就就导导致致N沟沟道道场效应管截止。场效应管截止。正正是是由由于于数数据据输输出出通通道道的的封封闭闭,数数据据只能从外部单向输入。只能从外部单向输入。2023/2/11DownUpMainReturn11010I/O I/O Pin读端口读端口内部数据总线内部数据总线读读TRISTRISD DQQD DQQVDDVSSP PN ND DQQ写方向控制写方向控制写端口控制写端口控制1111 1 11 1到到A/DA/D转换器转换器模拟输入选择模拟输入选择ENENQQQQ输出锁存输出锁存D D1 1
8、方向锁存方向锁存D D2 2输入锁存输入锁存D3输入缓冲器输入缓冲器P沟道场效沟道场效应管截止应管截止N沟道场效沟道场效应管截止应管截止2023/2/11DownUpMainReturn当当I/O端端口口引引脚脚用用于于输输入入数数据据时时,方方向向控控制制寄寄存存器器TRISX的的对对应应位位必必须须设设置置为为“1”。根根据据“或或”门门和和“与与”门门的的接接线线方方式式,不不论论另另一一个个输输入入端端的的信信号号如如何何,此此时时这这2个个门门的的输输出出均均被被封封闭闭,即即处处于于高高阻阻状态。状态。2023/2/11DownUpMainReturn因因此此,在在这这种种情情况况
9、下下,上上下下2个个场场效效应应管管都都处处于于截截止止状状态态,I/O输输出出数数据据通通道道是关闭的。是关闭的。外外部部I/O引引脚脚数数据据,经经过过输输入入缓缓冲冲器器调调整整连连接接到到输输入入数数据据锁锁存存器器D3的的输输入入端端,通通过过读读端端口口数数据据触触发发信信号号完完成成数数据据的的输入。输入。2023/2/11DownUpMainReturn读端口数据触发信号主要有读端口数据触发信号主要有2个作用个作用:锁锁存存输输入入数数据据。读读端端口口脉脉冲冲信信号号,经经反反向器触发锁存外部向器触发锁存外部I/O引脚的输入数据。引脚的输入数据。临临时时占占用用内内部部数数据
10、据总总线线。作作为为门门控控信信号号临临时时打打开开三三态态门门,以以便便让让输输入入数数据据锁锁存存器的输出连通单片机的内部数据总线。器的输出连通单片机的内部数据总线。2023/2/11DownUpMainReturn数数据据输输入入时时应应特特别别注注意意,外外部部提提供供的的数数据据信信号号并并不不会会自自动动锁锁存存,必必须须保保持持足够长的时间,直到指令读入为止。足够长的时间,直到指令读入为止。2023/2/11DownUpMainReturn2、定义输出线、定义输出线当当把把某某个个端端线线定定义义为为输输出出状状态态时时,信信号号“0”通通过过单单片片机机的的内内部部数数据据总总
11、线线加加至至方方向向锁锁存存器器D2的的输输入入端端,在在写写方方向向控制信号的触发下写入控制信号的触发下写入D2锁存。锁存。此此时时,D2的的Q=0,上上部部的的“或或”门门恒恒定定开开放放,“或或”门门的的输输出出直直接接由由来来自自数数据锁存器据锁存器D1的输出决定;的输出决定;2023/2/11DownUpMainReturnD2的的Q=0时时Q=1,下下部部的的“与与”门门也也恒恒定定开开放放,“与与”门门的的输输出出直直接接由由来来自数据锁存器自数据锁存器D1的输出决定。的输出决定。数数据据输输出出通通路路被被打打开开,被被定定义义为为输输出出状态。状态。2023/2/11Down
12、UpMainReturn001I/O I/O Pin读端口读端口内部数据总线内部数据总线读读TRISTRISD DQQD DQQVDDVSSP PN ND DQQ写方向控制写方向控制写端口控制写端口控制1111 1 11 1到到A/DA/D转换器转换器模拟输入选择模拟输入选择ENENQQQQ输出锁存输出锁存D D1 1方向锁存方向锁存D D2 2输入锁存输入锁存D3输入缓冲器输入缓冲器2023/2/11DownUpMainReturn 输出数据输出数据“1”信信号号“1”通通过过单单片片机机的的内内部部数数据据总总线线加加至至输输出出数数据据锁锁存存器器D1的的输输入入端端,在在写写端口控制信
13、号端口控制信号CK的触发下写入的触发下写入D1锁存。锁存。从从D1的的反反向向器器输输出出端端Q输输出出“0”,此此时时的的“或或”门门处处于于直直通通状状态态,“或或”门门的的输输出出也也为为“0”,因因而而P沟沟道道场场效效应应管管导通;导通;2023/2/11DownUpMainReturn同同样样,“与与”门门的的输输出出为为“0”,导导致致N沟道场效应管截止。沟道场效应管截止。正正是是由由于于上上部部的的场场效效应应管管导导通通而而下下部部的的场场效效应应管管截截止止,此此时时I/O输输出出引引脚脚被被拉拉至至高高电电平平“1”,同同原原来来内内部部数数据据总总线线信信号号一一致致,
14、内内部部的的数数据据“1”被被间间接接输出。输出。2023/2/11DownUpMainReturn110P沟沟道道场场效效应应管管导导通通,输输出出端端与与电电源正极性端接通源正极性端接通I/O I/O Pin读端口读端口内部数据总线内部数据总线读读TRISTRISD DQQD DQQVDDVSSP PN ND DQQ写方向控制写方向控制写端口控制写端口控制1111 1 11 1到到A/DA/D转换器转换器模拟输入选择模拟输入选择ENENQQQQ输出锁存输出锁存D D1 1方向锁存方向锁存D D2 2输入锁存输入锁存D3输入缓冲器输入缓冲器00100N沟道场效沟道场效应管截止应管截止1202
15、3/2/11DownUpMainReturn输出数据输出数据“0”信信号号“0”通通过过单单片片机机的的内内部部数数据据总总线线加加至至输输出出数数据据锁锁存存器器D1的的输输入入端端,在在写写端口控制信号端口控制信号CK的触发下写入的触发下写入D1锁存。锁存。从从D1的的反反向向器器输输出出端端Q输输出出“1”,此此时时的的“或或”门门处处于于直直通通状状态态,“或或”门门的的输输出出也也为为“1”,因因而而P沟沟道道场场效效应应管管截止;截止;2023/2/11DownUpMainReturn同同样样,“与与”门门的的输输出出为为“1”,导导致致N沟道场效应管导通。沟道场效应管导通。正正是
16、是由由于于上上部部的的场场效效应应管管截截止止而而下下部部的的场场效效应应管管导导通通,此此时时I/O输输出出引引脚脚被被拉拉至至低低电电平平“0”,同同原原来来内内部部数数据据总总线线信信号号一一致致,内内部部的的数数据据“0”被被间间接接输出。输出。2023/2/11DownUpMainReturn001P沟沟道道场场效效应管截止应管截止I/O I/O Pin读端口读端口内部数据总线内部数据总线读读TRISTRISD DQQD DQQVDDVSSP PN ND DQQ写方向控制写方向控制写端口控制写端口控制1111 1 11 1到到A/DA/D转换器转换器模拟输入选择模拟输入选择ENENQ
17、QQQ输出锁存输出锁存D D1 1方向锁存方向锁存D D2 2输入锁存输入锁存D3输入缓冲器输入缓冲器00111N沟道场效应管导沟道场效应管导通,输出端与电源通,输出端与电源负极性端接通负极性端接通02023/2/11DownUpMainReturnPIC16F877单单片片机机的的PORTA是是6位位宽宽,带锁存器的带锁存器的I/O口。口。其其对对应应的的数数据据寄寄存存器器和和方方向向控控制制寄寄存存器器分别是分别是PORTA和和TRISA。一、一、PORTAPORTA和它的方向寄存器和它的方向寄存器TRISATRISA2023/2/11DownUpMainReturn地地址址分分别别是是
18、05H和和85H,分分别别位位于于存存储储体体0和和存存储储体体1的的相相同同位位置置上上,并并且且都都只只用用到到了了低低6位位,每每个个寄寄存存器器中中阴阴影影标标出的出的2位没有被利用。位没有被利用。PORTA端端口口作作为为模模拟拟电电压压输输入入或或模模拟拟参参考考电电压压输输入入,需需设设置置ADCON1寄寄存存器低器低4位的相应位。位的相应位。2023/2/11DownUpMainReturn与与A口有关的专用寄存器有口有关的专用寄存器有3个个寄存器寄存器名称名称寄存器寄存器符号符号寄存器内容寄存器内容D7D6D5D4D3D2D1D0数据数据寄存器寄存器PORTA05HRA5RA
19、4RA3RA2RA1RA0方向控制方向控制寄存器寄存器TRISA85H对应对应A口各位方向控制数据口各位方向控制数据AD控制控制寄存器寄存器1ADCON19FHADFMPCFG3PCFG2PCFG1PCFG02023/2/11DownUpMainReturn当当TRISA寄寄存存器器相相应应位位置置为为1,其其输输出出驱驱动动器器呈呈高高阻阻状状态态,PORTA相相应应的的I/O引脚被定义为输入;引脚被定义为输入;当当TRISA寄寄存存器器相相应应位位为为0,输输出出锁锁存存器器上上的的数数据据就就从从相相应应I/O引引脚脚上上输输出出,所所以以这这时时PORTA相相应应的的I/O引引脚脚被被
20、定定义为输出;义为输出;2023/2/11DownUpMainReturn当当作作为为模模拟拟电电压压输输入入引引脚脚时时,必必须须保保持持TRISA置置1,即即将将RA的的相相应应引引脚脚设设置置为输入。为输入。读读PORTA得得到到的的是是端端口口引引脚脚上上的的电电平平状状态态,而而写写PORTA则则是是写写入入端端口口的的数数据据锁锁存存器器,所所有有的的写写操操作作都都是是“读读一一修修改一写改一写”操作。操作。2023/2/11DownUpMainReturn因因此此,对对端端口口的的写写意意味味着着先先读读端端口口引引脚脚电电平平,然然后后根根据据指指令令的的要要求求修修改改这这
21、个个值,最后再写入端口的数据锁存器。值,最后再写入端口的数据锁存器。RA4引引脚脚是是一一个个多多功功能能I/O口口,可可以以切切换换作作为为定定时时器器TMR0的的时时钟钟输输入入,表表示示为为RA4/T0CKI。2023/2/11DownUpMainReturnRA4/T0CKI是是斯斯密密特特触触发发输输入入和和集集电电极极开开路路输输出出。所所有有其其他他RA口口引引脚脚都都是是TTL电平输入和电平输入和CMOS驱动输出。驱动输出。端端口口A其其他他引引脚脚RA0、RA1、RA2、RA3、RA5的的第第二二功功能能是是作作为为模模拟拟电电压输入或模拟参考电压输入。压输入或模拟参考电压输
22、入。2023/2/11DownUpMainReturn引引脚脚的的选选择择是是通通过过置置位位/复复位位ADC控控制制寄存器寄存器1(ADCON1)的低的低4位来决定的。位来决定的。当当上上电电复复位位时时,这这些些引引脚脚设设定定为为模模拟拟电电压压输输入入,读读这这些些引引脚脚时时,得得到到的的结结果果是零。是零。2023/2/11DownUpMainReturnADCON1ADFMPCFG3PCFG2PCFG1 PCFG0PCFG3:PCFG0011x时时选选择择A口口的的5个个引脚和引脚和E口的口的3个引脚为数字个引脚为数字I/O引脚引脚这这4位用以选择位用以选择RA和和RE的的哪些引
23、脚为模拟量输入和哪些引脚为模拟量输入和模拟参考电压输入模拟参考电压输入2023/2/11DownUpMainReturnRARA口初始化的程序口初始化的程序BCF STATUS,RP0BCF STATUS,RP1 ;选选RAM的的BANK0CLRF PORTA ;清除清除RA口口BSF STATUS,RP0 ;选选RAM的的BANK1MOVLW 0 x07MOVWF ADCON1 ;RA口为数字口为数字I/OMOVLW 0 xCFMOVWF TRISA ;RA5:RA4为输出为输出;RA3:RA0为输入为输入2023/2/11DownUpMainReturn端端口口B是是一一个个8位位宽宽,双
24、双向向可可编编程程I/O端端口。口。其其对对应应的的数数据据寄寄存存器器和和方方向向控控制制寄寄存存器分别是器分别是PORTB和和TRISB。二二、PORTBPORTB和它的方向寄存器和它的方向寄存器TRISBTRISB2023/2/11DownUpMainReturnPORTB的的地地址址有有2个个,分分别别是是06H和和106H,说说明明在在存存储储体体0和和存存储储体体2的的相相同位置上都能访问到它;同位置上都能访问到它;TRISB的的地地址址也也有有2个个,分分别别是是086H和和186H,说说明明在在存存储储体体1和和存存储储体体3的的相同位置上也都能访问到它。相同位置上也都能访问到
25、它。2023/2/11DownUpMainReturn与与B口相关的寄存器共有口相关的寄存器共有4个个数据寄存器数据寄存器PORTB 地址:地址:06H、106HD7D6D5D4D3D2D1D0RB7RB6RB5RB4RB3RB2RB1RB0方向寄存器方向寄存器TRISB 地址:地址:86H、186HD7D6D5D4D3D2D1D0对应对应B口各位方向控制数据口各位方向控制数据2023/2/11DownUpMainReturn当当TRISB寄寄存存器器相相应应位位置置为为1,其其输输出出驱驱动动器器呈呈高高阻阻状状态态,PORTB相相应应的的I/O引脚被定义为输入;引脚被定义为输入;当当TRI
26、SB寄寄存存器器相相应应位位为为0,输输出出锁锁存存器器上上的的数数据据就就从从相相应应I/O引引脚脚上上输输出出,所所以以这这时时PORTB相相应应的的I/O引引脚脚被被定定义为输出。义为输出。2023/2/11DownUpMainReturnPORTB有有三三个个引引脚脚与与低低电电压压编编程程功功能能复复用用,它它们们是是:RB3/PGM、RB6/PGC和和RB7/PGD。PORTB的的RB7:RB4定定义义为为输输入入,这这4根根I/O线线上上的的电电平平有有变变化化时时,可可以以引引起起中断。中断。2023/2/11DownUpMainReturn其其功功能能的的实实现现是是通通过过
27、把把RB7:RB4引引脚脚上上的的输输入入信信号号与与上上次次读读入入B口口的的旧旧的的锁锁存值进行比较。存值进行比较。若若有有变变化化,则则把把两两者者相相异异或或后后输输出出以以产产生生RBIF中中断断(中中断断的的标标志志在在INTCON寄存器中的寄存器中的D0)。)。这这 种种 中中 断断 可可 以以 把把 CPU从从“休休 眠眠(SLEEP)”状态中唤醒。状态中唤醒。2023/2/11DownUpMainReturn端端口口B的的每每一一个个引引脚脚具具有有内内部部弱弱上上拉拉功功能能,这这可可以以通通过过软软件件编编程程设设置置,即即选选 项项 寄寄 存存 器器 OPTION_RE
28、G的的D7(RBPU)。)。RBPU0时时,设设置置弱弱上上拉拉功功能能可可以以启启用;用;RBPU1时,设置弱上拉功能被禁止。时,设置弱上拉功能被禁止。弱弱上上拉拉:最最简简单单的的解解释释,就就是是比比较较弱弱的上拉。的上拉。2023/2/11DownUpMainReturn对对于于其其中中某某一一个个具具体体引引脚脚而而言言,仅仅当当它它被被定定义义为为输输入入方方式式,并并且且同同时时RBPU0,弱上拉功能才确实被启用;,弱上拉功能才确实被启用;反反之之,如如果果该该引引脚脚定定义义为为输输出出,无无论论RBPU为为何何值值,该该脚脚上上的的弱弱上上拉拉功功能能都都自动被取消。自动被取
29、消。2023/2/11DownUpMainReturnD7D6D5D4D3D2D1D0RBPUINTEDGT0CST0SEPSAPS2PS1PS0选择寄存器选择寄存器OPTION_REG与端口与端口B有关的有关的2个控制位的含义如下:个控制位的含义如下:2023/2/11DownUpMainReturnINTEDG:外外部部中中断断INT触触发发信信号号边边沿沿选择位。选择位。1:选择:选择RB0/INT上升沿触发有效;上升沿触发有效;0:选择:选择RB0/INT下降沿触发有效。下降沿触发有效。RBPU:端端口口B内内部部弱弱上上拉拉电电路路使使能能控控制位。制位。1:端口:端口B弱上拉电路禁
30、止;弱上拉电路禁止;0:端口:端口B弱上拉电路使能。弱上拉电路使能。2023/2/11DownUpMainReturn中断控制寄存器中断控制寄存器INTCON 地址:地址:0BH,8BHD7D6D5D4D3D2D1D0GIEPEIET0IE INTERBIET0IFINTFRBIF是一个可读是一个可读/写的寄存器,与端口写的寄存器,与端口B有关的控有关的控制位只有制位只有2个,含义如下:个,含义如下:2023/2/11DownUpMainReturnRBIE:端端口口B的的引引脚脚RB7RB4电电平平变变化中断屏蔽位:化中断屏蔽位:l1:允许端口:允许端口B产生的中断;产生的中断;l0:屏蔽端
31、口:屏蔽端口B产生的中断。产生的中断。RBIF:端端口口B的的引引脚脚RB7RB4电电平平变变化中断标志位。化中断标志位。l1:RB7RB4已已经经发发生生了了电电平平变变化化中中断断(必须用软件清除);(必须用软件清除);l0:RB7RB4未发生电平变化中断。未发生电平变化中断。2023/2/11DownUpMainReturn端口端口B B初始化程序初始化程序BCF STATUS,RP0BCF STATUS,RP1 ;选选BANK0CLRF PORTB ;清除清除RB口口BSF STATUS,RP0 ;选选BANK1MOVLW 0 x0FMOVWF TRISB ;RB3:RB0为输入为输入
32、 ;RB7:RB4为输出为输出BCF OPTION_REG,7;启用内部弱上拉启用内部弱上拉2023/2/11DownUpMainReturn端端口口C是是一一个个8位位宽宽,双双向向可可编编程程I/O端口。端口。其其对对应应的的数数据据寄寄存存器器和和方方向向控控制制寄寄存存器分别是器分别是PORTC和和TRISC。PORTC的地址是的地址是07H,在存储体,在存储体0,TRISC的地址是的地址是87H,在存储体,在存储体1。三、三、PORTCPORTC和它的方向寄存器和它的方向寄存器TRISCTRISC2023/2/11DownUpMainReturn与端口与端口C有关的寄存器有有关的寄存
33、器有2个:个:PORTC 地址:地址:07HD7D6D5D4D3D2D1D0RC7RC6RC5RC4RC3RC2RC1RC0TRISC 地址:地址:87HD7D6D5D4D3D2D1D0对应对应C口各位方向控制数据口各位方向控制数据2023/2/11DownUpMainReturn当当TRISC寄寄存存器器相相应应位位置置1,其其输输出出驱驱动动器器呈呈高高阻阻状状态态,PORTC相相应应I/O引引脚脚被被定定义为输入;义为输入;当当TRISC寄寄存存器器相相应应位位置置为为0,输输出出锁锁存存器器上上的的数数据据就就从从相相应应I/O引引脚脚上上输输出出,这这时时PORTC的相应的相应I/O
34、引脚被定义为输出。引脚被定义为输出。2023/2/11DownUpMainReturn端口端口C C初始化程序初始化程序BCF STATUS,RP0BCF STATUS,RP1 ;选选BANK0CLRF PORTC ;清除清除RC口口BSF STATUS,RP0 ;选选BANK1MOVLW 0 xCF ;送送11001111到到TRISCMOVWF TRISC ;设置设置RC3:RC0为输入为输入;RC5:RC4为输出为输出;RC7:RC6为输入为输入2023/2/11DownUpMainReturn在在PIC16F87X系系列列单单片片机机中中,只只有有40脚脚封封装装的的PIC16F874
35、(A)/877(A)芯芯片片上上有有端端口口D。端端口口D是是一一个个8位位双双向向I/O端端口口。它它在在基基本本输输入入/输输出出功功能能的的基基础础上上,复复合合了了并并行行从动端口的功能。从动端口的功能。四、四、PORTDPORTD和它的方向寄存器和它的方向寄存器TRISDTRISD2023/2/11DownUpMainReturnPORTD工工作作于于并并行行从从动动端端口口方方式式时时,将将TRISE寄寄存存器器D4(PSPMODE)置置1,工工作作于于通通用用I/O端端口口方方式式时时,该该位位清清0。另另外外,每每条条引引脚脚在在作作为为通通用用I/O脚脚使使用用时时,是是经经
36、过过施施密密特特触触发发缓缓冲冲器器输输入入的的;而而工工作作在在并并行行从从动动端端口口方方式式时时,则则是是经过经过TTL缓冲器输入的。缓冲器输入的。2023/2/11DownUpMainReturn与端口与端口D有关的寄存器有有关的寄存器有3个:个:PORTD 地址:地址:08HD7D6D5D4D3D2D1D0RD7RD6RD5RD4RD3RD2RD1RD0TRISD 地址:地址:88HD7D6D5D4D3D2D1D0对应对应D口各位方向控制数据口各位方向控制数据2023/2/11DownUpMainReturnTRISE 地址:地址:89HD7D6D5D4D3 D2D1D0IBF OB
37、F IBOVPSPMODEE口方向控制位口方向控制位2023/2/11DownUpMainReturn端口端口D D初始化程序初始化程序BCF STATUS,RP0BCF STATUS,RP1 ;选选BANK0CLRF PORTD ;清除清除RD口口BSF STATUS,RP0 ;选选BANK1MOVLW 0 xF0 ;送送11110000到到TRISDMOVWF TRISD ;RD3:RD0为输出为输出 ;RD7:RD4为输入为输入2023/2/11DownUpMainReturn在在PIC16F87X系系列列单单片片机机中中,只只有有40脚脚封封装装的的PIC16F874(A)/877(A
38、)芯芯片片上上有有端端口口E,端端口口E是是一一个个只只有有3条条引引脚脚的的双双向向I/O端口。端口。它它在在基基本本输输入入/输输出出功功能能的的基基础础上上,复复合合了了两两项项功功能能,即即用用做做模模拟拟输输入入通通道道和和PSP并行从动端口控制线。并行从动端口控制线。五、五、PORTEPORTE和它的方向寄存器和它的方向寄存器TRISETRISE2023/2/11DownUpMainReturn端口端口E的功能的功能名称名称功能功能RE0/RD/AN5输输入入/输输出出;在在并并行行从从动动端端口口方方式式下下作作为为读读控控制制输输入入RD,为为1时时无无读读信信号号,为为0时进
39、行读操作;模拟输入时进行读操作;模拟输入RE1/WR/AN6输输入入/输输出出;在在并并行行从从动动端端口口方方式式下下作作为为写写控控制制输输入入WR,为为1时时无无写写信信号号,为为0时进行写操作;模拟输入时进行写操作;模拟输入RE2/CS/AN7输输入入/输输出出;在在并并行行从从动动端端口口方方式式下下作作为为片片选选控控制制输输入入CS,为为1时时芯芯片片未未被被选选中中,为为0时芯片被选中;模拟输入时芯片被选中;模拟输入2023/2/11DownUpMainReturn与端口与端口E有关的寄存器有有关的寄存器有3个:个:PORTE 地址:地址:09HD7D6D5D4D3D2D1D0
40、-RE2RE1RE0ADCON1 地址:地址:9FHD7D6 D5 D4D3D2D1D0ADFM-PCFG3 PCFG2 PCFG1 PCFG02023/2/11DownUpMainReturn TRISE各位的含义如下:各位的含义如下:D7D6D5D4D3D2D1D0IBFOBFIBOV PSPMODEE口方向控制位口方向控制位TRISE 地址:地址:89H2023/2/11DownUpMainReturnIBF(D7):输入缓冲器满标志位):输入缓冲器满标志位 D71时时,表表示示已已接接收收到到一一个个数数据据,等等待待CPU读取;读取;D70时时,表示没有接收到数据。表示没有接收到数据
41、。OBF(D6):输出缓冲器满标志位):输出缓冲器满标志位 D61时时,表表示示输输出出缓缓冲冲器器仍仍保保持持着着上上次写入的数据;次写入的数据;D60时时,表示输出缓冲器已空。表示输出缓冲器已空。2023/2/11DownUpMainReturnIBOV(D5):输入缓冲器溢出标志位输入缓冲器溢出标志位D51时,表示输入缓冲器溢出;时,表示输入缓冲器溢出;D50时时,表示无溢出。表示无溢出。如如果果在在输输入入缓缓冲冲器器中中的的数数据据没没有有取取走走之之前前,又又写写入入了了数数据据,就就会会发发生生输输入入缓冲器溢出,缓冲器溢出,IBOV置置1。2023/2/11DownUpMain
42、ReturnPSPMODE(D4):):D口并行从动模口并行从动模式设置位式设置位PSPMODE1时,设置端口时,设置端口D为并行为并行从动端口;从动端口;PSPMODE0时,设置端口时,设置端口D为一般为一般的的I/O口。口。2023/2/11DownUpMainReturnD3:未用未用D2D0:端端口口E的的三三个个引引脚脚方方向向选选择择位位,分分别别控控制制RE2、RE1、RE0为为输输入入还是输出。置还是输出。置1为输入,为输入,0为输出。为输出。2023/2/11DownUpMainReturn当当方方向向寄寄存存器器TRISE的的D4(PSPMODE)置置1,设设置置端端口口D
43、为为并并行行从从动动端端口口,这这时时端端口口E的的三三个个引引脚脚作作为为RD、WR、CS,TRISE必必须须置置位位,将将引引脚设置为数字输入。脚设置为数字输入。另另外外,每每条条引引脚脚内内部部都都设设置置了了两两种种输输入入缓缓冲冲器器方方式式,一一种种是是施施密密特特触触发发输输入入;另一个则是另一个则是TTL缓冲器输入。缓冲器输入。2023/2/11DownUpMainReturn当当 方方 向向 寄寄 存存 器器 TRISE的的 D4位位(PSPMODE)置置位位,设设置置端端口口D为为并并行从动端口,行从动端口,这这时时端端口口E的的三三个个引引脚脚作作为为RD、WR、CS作为
44、三个控制信号。作为三个控制信号。2023/2/11DownUpMainReturn在在这这种种方方式式下下,方方向向寄寄存存器器TRISE的的D2:D0必必须须置置1,将将引引脚脚设设置置为为数数字字输输入。入。同同时时也也必必须须保保证证ADCON1寄寄存存器器的的低低四四位位PCFG3:PCFG0设设置置使使RE2、RE1、RE0为数字为数字I/O口。口。2023/2/11DownUpMainReturnADCON1的的PCFG3PCFG0设置为设置为 0010、0011、0100、0101、011x、1100、1101、1110、1111等等模模式式使使RE2、RE1、RE0为数字为数字
45、I/O口。口。D7D6 D5 D4D3D2D1D0ADFM-PCFG3 PCFG2 PCFG1 PCFG02023/2/11DownUpMainReturn只只有有40脚脚封封装装的的PIC16F87X单单片片机机才才配配置了置了PSP模块。模块。PSP之之所所以以称称为为并并行行从从动动端端口口,是是因因为为PIC16F87X在在利利用用并并行行端端口口与与外外界界处处理理器器(可可以以是是MCU、DSP等等)进进行行通通信信时时,读读、写写控控制制信信号号及及片片选选控控制制信信号号,PIC16F87X处处于于受受控控位位置置,对对方方处处理理器器处于主控位置。处于主控位置。PSP原理原理
46、2023/2/11DownUpMainReturn当当PSP投投入入工工作作时时,必必须须占占用用RD和和RE的全部端口引脚,而不能再有他用。的全部端口引脚,而不能再有他用。当当PSPMODE控控制制位位被被置置1时时,RD和和RE就就共共同同配配合合一一起起工工作作于于PSP模模式式,借借助助于于这这种种PSP工工作作方方式式,可可以以实实现现与与其他处理器之间的并行数据通信。其他处理器之间的并行数据通信。2023/2/11DownUpMainReturnPSP可可以以直直接接与与外外部部处处理理器器的的8位位数数据据总线进行接口。总线进行接口。外外部部处处理理器器作作为为“上上位位机机”可
47、可以以将将PSP当当作作一一个个受受控控数数据据锁锁存存器器来来并并行行读读/写数据。写数据。在在PSPMODE控控制制位位置置为为1之之后后,RE2RE0自自然然成成为为控控制制该该数数据据锁锁存存器器的的外来控制信号输入端。外来控制信号输入端。2023/2/11DownUpMainReturn在在这这种种方方式式下下,方方向向寄寄存存器器TRISE的的D2D0必必须须置置1,将将引引脚脚设设置置为为数数字字输入。输入。同同时时也也必必须须保保证证ADCON1寄寄存存器器的的低低四四位位PCFG3:PCFG0设设置置使使RE2、RE1、RE0为数字为数字I/O口。口。2023/2/11Dow
48、nUpMainReturn利利用用从从动动并并行行端端口口PORTD可可直直接接与与8位位微微控控制制器器的的数数据据总总线线相相接接口口,这这时时该该微微控控制制器器可可以以把把PORTD作作为为一一个个数数据锁存器来读写。据锁存器来读写。在在PORTD中中,实实际际上上有有两两个个8位位锁锁存存器器,分分别别用用于于数数据据输输入入(写写操操作作)和和数据输出(读操作)。数据输出(读操作)。2023/2/11DownUpMainReturn当当写写操操作作时时,用用户户把把8位位数数据据写写入入PORTD数据锁存器;数据锁存器;读读操操作作则则是是从从PORTD引引脚脚锁锁存存器器读读入入数据。数据。需需要要注注意意的的是是这这两两个个不不同同的的物物理理锁锁存存器的逻辑地址相同。器的逻辑地址相同。2023/2/11DownUpMainReturn在在这这种种方方式式下下,TRISD寄寄存存器器的的方方向向控控制制位位对对PORTD的的方方向向控控制制不不再再起起作作用用,这这时时由由外外部部的的微微控控制制器器通通过过地地址址I/O门的操作控制数据的方向。门的操作控制数据的方向。