打印

求助如何把C8051F120单片机的P5/P6口配制成普通IO

[复制链接]
3613|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
janjo|  楼主 | 2012-12-24 22:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
xuyaqi| | 2012-12-24 23:56 | 只看该作者


首先配置P4-P7不做地址而作普通IO口用,对于普通IO口就即可以做输出也可以做输入,唯一要考虑的是做输出时是开漏还是推挽。

使用特权

评论回复
板凳
ayb_ice| | 2012-12-25 08:58 | 只看该作者
开机就是吧

使用特权

评论回复
地板
janjo|  楼主 | 2012-12-25 17:54 | 只看该作者
xuyaqi 发表于 2012-12-24 23:56
首先配置P4-P7不做地址而作普通IO口用,对于普通IO口就即可以做输出也可以做输入,唯一要考虑的是做输出 ...

怎么配置P4-P7不做地址而作普通IO口用呢?求指导,真心的
仅仅是上面那端口配制成IO口我这样配置成吗?
void Port_Init(void)
{
    EMI0CF |= 0x30;
    SFRPAGE = CONFIG_PAGE;        // SFRPAGE选择CONFIG_PAGE页                       
    P5MDOUT = 0x28;
    P6MDOUT = 0x04;
    XBR0 = 0x04;                // UART0 Enable
    XBR2 = 0x40;                // 全局弱上拉,交叉开关使能                       
}

使用特权

评论回复
5
janjo|  楼主 | 2012-12-25 17:55 | 只看该作者
ayb_ice 发表于 2012-12-25 08:58
开机就是吧

开机肯定不是的,要进行端口初始化。

使用特权

评论回复
6
ayb_ice| | 2012-12-26 07:58 | 只看该作者
janjo 发表于 2012-12-25 17:55
开机肯定不是的,要进行端口初始化。

具体的这个芯片不是很确定,因为没有用过

但我用过不下于10款这个类型的C8051F,都是开机就是IO口,仅需要使能交叉开关即可,

我想相信这款也是这样的,几乎所有的51,不管什么类型的都是。。。

使用特权

评论回复
7
janjo|  楼主 | 2012-12-27 09:45 | 只看该作者
ayb_ice 发表于 2012-12-26 07:58
具体的这个芯片不是很确定,因为没有用过

但我用过不下于10款这个类型的C8051F,都是开机就是IO口,仅需 ...

昨天有调了一天,把用户手册从头到位看了,的确像你说的那样:
void Port_Init(void)
{
     SFRPAGE = CONFIG_PAGE;        // SFRPAGE选择CONFIG_PAGE页                        
     P5MDOUT = 0x28;
     P6MDOUT = 0x04;
     XBR0 = 0x04;                // UART0 Enable
     XBR2 = 0x40;                // 全局弱上拉,交叉开关使能                        
}
这样就足矣~

使用特权

评论回复
8
janjo|  楼主 | 2012-12-27 09:51 | 只看该作者
xuyaqi 发表于 2012-12-24 23:56
首先配置P4-P7不做地址而作普通IO口用,对于普通IO口就即可以做输出也可以做输入,唯一要考虑的是做输出 ...

昨天又看了下,配置成普通IO口时,跟这个外部存储器接口配置寄存器无关,只要使能交叉开关、开弱上拉、配置输出方式寄存器即可,不过要注意SFR页的选取

使用特权

评论回复
9
ayb_ice| | 2012-12-27 09:59 | 只看该作者
早就说了,复位就是IO
51的输入输出要比其它MCU简单些,输入先置1,再读即可

使用特权

评论回复
10
janjo|  楼主 | 2012-12-27 10:35 | 只看该作者
ayb_ice 发表于 2012-12-27 09:59
早就说了,复位就是IO
51的输入输出要比其它MCU简单些,输入先置1,再读即可 ...

嗯嗯,对~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

14

帖子

1

粉丝