1998 微芯 技术 公司
初步的
ds40191a-页 19
PIC16CR54C
5.0 i/o 端口
作 和 任何 其它 寄存器, 这 i/o 寄存器 能 是
written 和 读 下面 程序 控制. 不管怎样, 读
instructions (e.g.,
movf portb,w
) 总是 读 这 i/o
管脚 独立 的 这 管脚’s 输入/输出 模式. 在
重置, 所有 i/o 端口 是 defined 作 输入 (输入 是 在
hi-阻抗) 自从 这 i/o 控制 寄存器 (trisa,
trisb,trisc) 是 所有 设置.
5.1 PORTA
端口一个 是 一个 4-位 i/o 寄存器. 仅有的 这 低 顺序 4 位
是 使用 (ra3:ra0). 位 7-4 是 unimplemented 和
读 作 '0's.
5.2 PORTB
portb 是 一个 8-位 i/o 寄存器 (portb<7:0>).
5.3 tris 寄存器
这 输出 驱动器 控制 寄存器 是 承载 和 这
内容 的 这 w 寄存器 用 executing 这
TRIS
f
操作指南.一个 '1' 从 一个 tris 寄存器 位 puts 这
相应的 输出 驱动器 在 一个 hi-阻抗 模式.
一个 '0' puts 这 内容 的 这 输出 数据 获得 在 这
选择 管脚, enabling 这 输出 缓存区.
这tris 寄存器 是 “write-only” 和 是 设置 (输出
drivers 无能) 在之上 重置.
5.4 i/o 接合
这 相等的 电路 为 一个 i/o 端口 管脚 是 显示 在
图示 5-1.所有 端口 将 是 使用 为 两个都 输入 和
输出 运作.F或者 输入 行动 这些 端口 是
非-闭锁.任何 输入 必须 是 呈现 直到 读 用
一个 输入 操作指南 (e.g.,
movf portb, w
). 这
便条:
一个 读 的 这 端口 读 这 管脚, 不 这
输出 数据 latches. 那 是, 如果 一个 输出
driver 在 一个 管脚 是 使能 和 驱动 高,
but 这 外部 系统 是 支持 它 低, 一个
读 的 这 端口 将 表明 那 这 管脚 是
低.
输出 是 latched 和 仍然是 不变 直到 这
输出 获得 是 rewritten. 至 使用 一个 端口 管脚 作 输出,
这 相应的 方向 控制 位 (在 trisa,
trisb) 必须 是 cleared (= 0).F或者 使用 作 一个 输入, 这
相应的tris 位 必须 是 设置. 任何 i/o 管脚 能
是 编写程序 individually 作 输入 或者 输出.
图示 5-1: 相等的 电路
为 一个 单独的 i/o 管脚
便条 1: i/o 管脚 有 保护 二极管 至 v
DD
和 v
SS
.
数据
总线
QD
Q
CK
QD
Q
CK
P
N
WR
端口
tris ‘f’
数据
TRIS
rd 端口
V
SS
V
DD
i/o
管脚
(1)
W
Reg
获得
获得
重置
表格 5-1: summary 的 端口 寄存器
地址 名字 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0
值 在
电源-在
重置
值 在
mclr 和
wdt 重置
n/一个 TRIS i/o 控制 寄存器 (trisa, trisb)
1111 1111 1111 1111
05h PORTA — — — — RA3 RA2 RA1 RA0
---- xxxx ---- uuuu
06h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
xxxx xxxx uuuu uuuu
legend: shaded boxes = unimplemented, 读 作 ‘0’,
–
= unimplemented, 读 作 '0',
x
= unknown,
u
= 不变