I/O口设置

 本次的学习板(STC15F2K60S2)共用42个通用I/O口,分为五组(P0~P5)。复位后的I/O模式为准双向/弱上拉。可设置为四种模式:1、准双向口/弱上拉   2、推挽/强上拉   3、输入/高阻   4、开漏模式。想要切换模式就要对I/O口进行设置。

每个I/O口的工作模式由2个控制寄存器中的相应位控制(PnM0PnM1n=012345)。下图是以P0口为例,其他I/O口的设置也是类似的。

 但也不仅仅是在初始化函数内赋值P0M1=0和P0M0=1就能将P0的所有端口(I/O口)设置为推挽输出的,而是要赋值为P0M1=0x00和P0M0=0xff。

可以理解为单片机的每组I/O口是从左到右序号依次减小的(如上图),将8个数字理解为两个四位二进制数,再转换成十六进制数,然后用转换出来的十六进制数对寄存器赋值。

因为是对所有P0口设置为推挽输出,所以是0x00和0xff。如果是仅对P0.0口设置为推挽输出,其实0xff改成0x01也能完成设置(00000001转换而来)

(若有不足和错误,还请各位斧正)

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值