打印

求祝C8051F IO设置问题

[复制链接]
3422|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaobinkitty|  楼主 | 2010-9-27 13:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
handlike| | 2010-9-27 18:51 | 只看该作者
是要重新设置。P1MIN是设置数字口还是模拟口的,而不是设置输入还是输出的。
设输入时只要把P2MOUT=0X00;(如果不是整个P2口读入,只把对应位设为0) 就可以了。

使用特权

评论回复
板凳
xiaobinkitty|  楼主 | 2010-9-28 11:01 | 只看该作者
2# handlike
哦 我没用P1口呢 输入只要P2MDOUT=0X00么 好的 我并口方式连得CH375 读不到数据 不知道是硬件问题还是时序问题
/*******CH375读数据***************************************************/
unsigned char CH375_read_data(void)
{
unsigned char temp;
P2MDOUT=0X00;
delay(10);
CS=0;
WR=1;
RD=0;
A0=0;
temp=P2;
delay(100);
CS=1;
WR=1;
RD=1;
A0=1;
P2=0XFF;
delay(10);
P2MDOUT|=0XFF;
return temp;
}
执行CH375硬件复位命令 CH375输出应该是0 可是读到的数据不是0
测试CMD_CHECK_EXIST数据也不对 我一直以为是我IO设置不对

使用特权

评论回复
地板
xiaobinkitty|  楼主 | 2010-9-28 11:03 | 只看该作者
void PORT_Init (void)
{
           char SFRPAGE_SAVE = SFRPAGE;         
           SFRPAGE = CONFIG_PAGE;         
          
           XBR0     = 0x04;                 // Enable UART0
           XBR1     = 0x00;
           XBR2     = 0x40;                 // Enable crossbar and weak pull-up
          
           P0MDOUT |= 0x01;                 // Set TX0 pin to push-pull
           P1MDOUT |= 0x40;                 // Set P1.6(LED) to push-pull
        P2MDOUT |= 0xff;
        P3MDOUT |= 0xff;
//        P2        =0XFF;
//        P3        =0XFF;

           SFRPAGE = SFRPAGE_SAVE;     
}
这是IO设置子程序 串口倒是工作正常

使用特权

评论回复
5
handlike| | 2010-9-28 11:59 | 只看该作者
P2口作为接收数据只设为P2MDOUT=0X00;就可以了,不用再换成输出形式,然后输出0xff
因为接收方是被动的,线路上的高低电平是受CH375控制的,你只设成接收形式老老实实在那
接收就可以了.
如下:
unsigned char CH375_read_data(void)
{
unsigned char temp;

delay(10);
CS=0;
WR=1;
RD=0;
A0=0;
temp=P2;

return temp;   
}

端口初始化中改为:P2MDOUT=0X00;
如再出问题那真要认真地查一下硬件和时序了。

使用特权

评论回复
6
xiaobinkitty|  楼主 | 2010-9-28 15:40 | 只看该作者
5# handlike
那发送的命令怎么办 也是用P2的啊

使用特权

评论回复
7
xiaobinkitty|  楼主 | 2010-9-28 15:59 | 只看该作者
6# xiaobinkitty
貌似你很少上论坛 要不你邮箱留下联系你??

使用特权

评论回复
8
handlike| | 2010-9-28 16:32 | 只看该作者
P2MDOUT=0XFF时为推挽,=0x00时为开漏,你设为开漏方式,加个上拉10K电阻,不就可以即可发又可收了吗!
      看来用这个MCU的人在这里太少了,这是个不错的MCU呀。大家都只看不说话。新华龙的论坛里人问这个应该不是个问题。

使用特权

评论回复
9
xiaobinkitty|  楼主 | 2010-9-28 17:04 | 只看该作者
新华龙的论坛貌似关了吧。。。我觉得是硬件故障,CH376压根就没工作。。。哎,烦死了。最怕硬件有问题了,完全不知道怎么办。。。你用过CH376么??

使用特权

评论回复
10
xiaobinkitty|  楼主 | 2010-9-28 17:04 | 只看该作者
8# handlike
新华龙的论坛貌似关了吧。。。我觉得是硬件故障,CH376压根就没工作。。。哎,烦死了。最怕硬件有问题了,完全不知道怎么办。。。你用过CH376么??

使用特权

评论回复
11
xiaobinkitty|  楼主 | 2010-9-28 17:22 | 只看该作者
8# handlike
我突然想到 是不是CH376的IO驱动力不够 或者是C8051F的驱动力不够?? 这个驱动力,是指什么啊??我看他们高低电平的电压定义得都差不多啊??驱动力指电流么??那这个要怎么看啊??

使用特权

评论回复
12
xiaobinkitty|  楼主 | 2010-9-28 17:24 | 只看该作者
8# handlike
问题好多 原谅我吧 我刚实际开始用单片机 以前看着 觉得这个好简单 用起来 这么简单的芯片都搞不定 哎。。。

使用特权

评论回复
13
xiaobinkitty|  楼主 | 2010-9-29 10:06 | 只看该作者
8# handlike
谢谢你的回复,IO问题搞懂了,我确定是硬件问题了。

使用特权

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

本版积分规则

0

主题

26

帖子

1

粉丝