关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > MCU 中输入/输出口的使用

MCU 中输入/输出口的使用

作者:时间:2006-12-07来源:网络收藏
简介:

  在HT49C30-1/HT49R30A-1 中有8 个双向的输入/输出口(PA 口,8 位),6 个输入口(PB 口);HT49C50-1/HT49R50A-1 中有12 个双向的输入/输出口(PA 口,8 位;PC 口,4 位),8 个输入口(PB 口);HT49C70-1/HT49R70A-1 中有16 个双向的输入/输出口(PA 口,8 位;PC 口,8 位),8 个输入口(PB 口)PA、PB、PC 分别对应RAM 中地址[12H] 、[14H] 、[16H] 。时可选择PA、PC 口的结构(NMOS 或),及该口是否具有上拉

  若PA、PC 口结构NMOS 时,在读取数据之前,必须向相关位写“1”以关闭场效应管NMOS 使其作为一个输入口。也就是说,要先执行指令SET [m].i 以关闭相关的NMOS,然后才能用MOV A,[m] 来读取稳定的数据。

          图1 输入输出口

  一些指令称为读-修改-写指令,该指令先读取引脚的值,而且是将八位引脚的状态全部读取,进行相应的位操作后,重写回锁存器中。这样,有些位的锁存器会因为该操作而改变原来的状态,致使再次输出时产生错误。例如,指令“SET [m].i”、“CLR [m].i”、“CPL[m]”、“CPLA[m] ”就是先将数据读取至CPU 中,然后进行定义的操作(位操作)后,再将结果写回锁存器或是累加器中。所以口在输入状态时执行此类指令,可能会使内部锁存的状态改变,需要加以注意。

  输入输出口应用程序举例

  1.选择:pa.0~pa.3 选择 结构,带上拉
    硬件要求:pa.0~pa.3 接LED;pa.4~pa.7 接开关

  电路图:

               图2 电路图

  程序说明:

  如上图所示,pa.0~pa.3 作为输出,pa.4~pa.7 作为输入,利用程序将pa.4~pa.7 口上的开关数读入单片机,经过高4 位与低4 位互换,再向pa.0~pa.3 输出pa.4~pa.7 的开关状态,使LED 的发光次序与pa.4~pa.7 上的开关设置相符。

  2.选择:PC口选为并带上拉

  硬件连接:PA.7与PA.0口相连接程序说明:本程序的目的要说明在执行读-修改-写指令时发生的特殊情况。


  程序说明:

  执行以上程序,我们会发现PA.0和PA.7引脚的值始终为0,但实际上PA.0和PA.7 内部锁存器的值是变化的,参见程序注释。

  如果用单步调试,我们就能观察到“Read—Modify—Write”的过程。当程序执行完(2)时,将连接PA.0和PA.7的导线断开,则执行完下一条语句后PA.0引脚的值会变为1。

  加上(3)语句,如果在执行完(2)时断开连接,则最后结果为PA.0=1、PA.7=1;如果在执行完(3)时断开连接,则最后结果为PA.0=0、Pa.7=1。在使用过程中因注意以上区别所以某个口当为NMOS结构,要作为输入口时,一定要先向该口写“1”,再读入该口的输入状态,

  并且读口状态的操作一定要紧接在写“1”操作之后,避免因执行“Read—Modify—Write”指令而发生错误。

光敏电阻相关文章:光敏电阻工作原理




关键词: 掩膜 CMOS 电阻

评论


相关推荐

技术专区

关闭