输入模式
设置Px_PMD(PMDn[1:0])为00'b,Px[n]为输入模式,I/O 引脚为三态(高阻态),没有输出驱动能力。Px_PIN 的值反映相应端口引脚的状态.输出模式
设置Px_PMD(PMDn[1:0])为0x01,Px[n]为输出模式,I/O 引脚支持数字输出功能,有拉电流/灌电流能力。Px_DOUT[0:7]相应位的值被送到相应引脚上。
开漏输出模式6.8.4.3
设置Px_PMD(PMDn[1:0])为 10’b,Px.n为开漏模式,I/O支持数字输出功能,但仅有灌电流能力, 为了把I/O引脚拉到高电平状态,需要外接一颗上拉电阻。如果Px_DOUT相应位的值为“0”,引脚上输出低电平. 如果Px_DOUT 相应位的值为“1”, 该引脚由外部上拉电阻控制输出高电平。
准双向模式
设置Px_PMD(PMDn[1:0]) 为11’b,Px.n引脚为准双向模式,I/O同时支持数字输出和输入功能,但拉电流仅达数百uA. 要实现数字输入功能,需要先将Px_DOUT 相应位置1。准双向输出是80C51及其派生产品所共有的模式。若Px_DOUT相应位为”0”, 引脚上输出为“低电平”. 若Px_DOUT相应位为”1”, 该引脚将检查引脚值. 若引脚值为高,没有任何动作,若引脚值为低,该引脚将驱动2个时钟周期的强拉电流,然后关闭强输出驱动,然后引脚状态由内部上拉电阻控制。
|