1 通用及复用 I/O 特性
➢ 提供最多 18 个双向 I/O 端口
➢ 多种模式可配
2 I/O 模式
HC89F0332/0322/0312 所有 I/O 口均可由软件配置成多种工作类型之一,具体为:输入、带上拉
输入、带下拉输入、模拟输入、强推挽输出、开漏输出和开漏带上拉输出,并且输入可以配置为施密
特输入。
如果 P2.7 被配置为复位脚,其端口是施密特输入上拉状态。
HC89F0332/0322/0312在输入模式时(不包含模拟输入),任何读操作,数据来源都来自引脚电平。
而在输出模式时,通过指令来区分读数据来源,采用“读-修改-写”指令时,为读寄存器值,其它指令为
读引脚电平。
HC89F0332/0322/0312增加了一组只读寄存器P0OUT、P1OUT、P2OUT,在输出模式时,可以通过
读这组寄存器直接获得写到端口数据寄存器的值。
HC89F0332/0322/0312首先将需要修改的寄存器的内容读回ALU,对相应位进行修改,然后再整个
写回原来的寄存器地址,完成该功能的指令就叫做“读-修改-写”指令。
“读-修改-写”指令是单片机内部自己执行的,它发生在写IO口的时候,当写IO口的时候它先把IO
的当前状态读回来,根据要写的数据修改读回来的数据,再写到IO口;读引脚是直接读引脚的当前状
态,当前引脚是高电平,读回来的就是高电平,低电平时读回来的就是低电平。
“读-修改-写”指令包括以下指令:INC direct、DEC direct、ANL direct,A、ANL direct, #data、ORL direct,A、
ORL direct, #data、XRL direct,A、XRL direct, #data、DJNZ direct,rel、MOV bit, C、 CLR bit、SETB bit、
CPL bit、JBC bit,rel。
|