MCU 中输入/输出口的使用

2006-12-07 13:47:24来源: 电子产品世界
简介:

  在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 或CMOS),及该口是否具有上拉电阻

  若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 选择CMOS 结构,带上拉电阻
    硬件要求: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口选为CMOS并带上拉电阻

  硬件连接: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  电阻

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/control/200612/7364.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
掩膜
CMOS
电阻

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved