英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 4016|回复: 0
打印 上一主题 下一主题

PIC单片机I/O端口编程注意事项

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-18 20:17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
9.10 I/O 编程注意事项
使用端口及GPIO 作为I/O 时,为确保操作按预想的进行,需要考虑一些设计注意事项。
9.10.1 双向I/O 口
任何写操作指令实际上都是先执行一个读操作,再执行一个写操作。例如,BCF 和BSF 指令,先
读寄存器的值到CPU,然后执行位操作,最后将结果写回寄存器。当一个端口既有输入引脚又有
输出引脚时,对其的操作必须加倍小心。例如,对PORTB 的bit5 执行BSF 操作时,先将PORTB
的全部8 位数值读入CPU,然后将bit5 位置“1”,最后将PORTB 的结果写回输出锁存器。如
果另一个PORTB 的引脚是作为双向I/O 引脚(如:bit0),而且此时引脚定义为输入,则该引脚
当前的输入信号被读入CPU,然后将值重新写入该特定引脚的数据锁存器,覆盖先前的内容。只
要该引脚一直是输入模式,就毫无问题。然而,如果bit0 随后变成输出引脚,其数据锁存器的内
容已经改变而无法得知。
对端口寄存器的读操作,是读端口引脚的电平值。对端口寄存器的写操作是向端口锁存器写值。
对一个端口使用读- 修改- 写指令(如:BCF 和BSF 等)时,首先读入端口引脚的数值,然后对
读入值执行指定的操作,最后将操作结果写入端口锁存器。
例9-9 显示了对一个I/O 端口执行两个连续的读- 修改- 写指令的情况。
例 9-9: 对I/O 端口执行读- 修改- 写指令

; Initial PORT settings: PORTB<7:4> Inputs
; PORTB<3:0> Outputs
; PORTB<7:6> have external pull-ups and are not connected to other circuitry
;
; PORT latch PORT pins
; ---------- ---------
BCF PORTB, 7 ; 01pp pppp 11pp pppp
BCF PORTB, 6 ; 10pp pppp 11pp pppp
BSF STATUS, RP0 ;
BCF TRISB, 7 ; 10pp pppp 11pp pppp
BCF TRISB, 6 ; 10pp pppp 10pp pppp
;
; Note that the user may have expected the pin values to be 00pp ppp.
; The 2nd BCF caused RB7 to be latched as the pin value (high).  


当某引脚设置为输出时,不应通过外部器件另加电平来驱动该引脚的电平高低,以达到改变其电
平(“线或”或“线与”)的目的。不然,短路的高输出电流有可能损坏器件。
9.10.2 I/O 端口的连续操作
对I/O 端口的写操作实际发生在指令周期的末尾时刻,但对于读操作,在指令周期的开始处,所
读的数据就必须有效(图9-12)。因此,如果对同一个I/O 端口进行写操作之后,接着执行读操
作,此时要特别注意。指令的执行顺序应该是:等引脚电压达到稳定(与负载有关)后,才执行
下一个指令将端口值读入CPU。否则,读入的可能是引脚的前一个状态而不是新状态。当状态不
确定时,最好用一个NOP 指令或者其它不访问该I/O 端口的指令隔开这些指令。


此主题相关图片如下:未命名.jpg
                                                                    

图9-13 所示为这类情况的I/O 模型。随着等效电容(C)变大, I/O 引脚的上升或下降时间也将
延长。随着器件工作频率或等效电容的增加,对PORTx 端口连续执行读- 修改- 写指令出现问
题的可能性也随之增加。该等效电容包括印制板走线的分布电容。
解决该问题的最好办法就是在I/O 引脚上串连一个电阻。该电阻可以使I/O 引脚在下一条指令执
行前很快达到预期值。
在对PORTx 连续执行的读- 修改- 写指令之间加入NOP 指令,是解决该问题的一种低成本方法。
由等效电容C 和器件的工作频率决定NOP 指令的数量。



此主题相关图片如下:1.jpg
                                                                                      



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-12-25 11:22 , Processed in 0.051982 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表