yy43102328 发表于 2012-5-29 20:43:48

stc10L08 IO问题?

求助stc10L08IO问题? 请问P45/ALE上电时候为高 而其他IO口都为低,默认是不是这样的?怎么能上电时候拉低呢,接下拉不行哦

BXAK 发表于 2012-5-29 22:14:41

没见过51上电输出可以默认为低的,即使程序初始化马上赋值0应该也会有瞬间的高电平,
不过stc10有推挽模式,通过外接下拉可以实现上电输出低,但LZ不想用,成本原因?
那貌似无解了,

换MCU吧,STM8、AVR……之类

yy43102328 发表于 2012-5-29 22:27:19

我郁闷是的   初始化时候除了P45是高电平其他都是低电平!!!换单片机就算了除非和泰、三星之类的几个K的量我用AVR我伤不起啊呵呵

lingaogang 发表于 2012-5-29 22:51:06

那就换个口 ,干嘛一定要P45

huangdog 发表于 2012-5-29 22:53:49

ALE引脚默认是不是不复用为IO口,所以上电是高啊。。。没用过这款,瞎猜的。。。

BXAK 发表于 2012-5-29 23:16:17

yy43102328 发表于 2012-5-29 22:27 static/image/common/back.gif
我郁闷是的   初始化时候除了P45是高电平其他都是低电平!!!换单片机就算了除非和泰、三星之类的   ...

听你的意思:
你目的是想初始化时将IO口都赋值0,让其输出低电平,但P4.5没成功?

要设置P4SW寄存器后,P4.4、P4.5、P4.6的才可以当做IO使用的

yy43102328 发表于 2012-5-30 07:25:35

设置P4SW寄存器后,P4.4、P4.5、P4.6的可以当做IO使用的,然后P0=0;P1=0;P2=0;P3=0;P4=0之后是可以控制为0的,但之前就P45是高电平其他都是低电平!!!

BXAK 发表于 2012-5-30 08:55:42

太诡异了,如果STC硬件支持上电后输出端口为低,资料上早就大吹一番了

yy43102328 发表于 2012-5-30 10:04:09

我问过资深的工程师他也以口要定是输出高电平,但是现在板子摆在我桌面测试,我复位是1k电阻下拉,晶振外接11.0592,我就算把所有程序和上电配置屏蔽掉,测试还是这样P45是高电平其他都是低电平!!!请问是不是我有什么错误呢?

BXAK 发表于 2012-5-30 10:24:56

你可以弄个最小系统测试(就是MCU只接晶振、复位电路,而P0、P1、P2、P3、P4的引脚都悬空不接其它电路),
然后烧个空程序
void main(void)
{
    while (1);
}
看看输出端口是不是都是高电平

yy43102328 发表于 2012-5-30 10:54:34

本帖最后由 yy43102328 于 2012-5-30 10:55 编辑

楼上你是不是研究过这个啊, 我现在就是这样啊

void main(void)
{        /*
        P0M1 = 0x00;
        P0M0 = 0xff;

        P1M1 = 0x00;
        P1M0 |= 0x3f;   

        P2M1 = 0x00;
        P2M0 = 0x00;//必须是0x00-0x00,否则多档位同一档就不转

        P3M1 = 0x00;
        P3M0 |= 0xf8;//按键输入为推挽、LM9为推挽才完全灭掉LED、IR中断必须是00
       
        P4M1 = 0x00;
        P4M0 |= 0x72;//P46P45P44 P1 (0111 0010) 是控制电机、P43不能是推挽输出否则上电LED闪烁、P40(s9)必须是普通IO
        */
        P4SW = 0xF0;

       
        P0 = 0x00;
        P1 = 0x00;
        P2 = 0x00;
        //P3 |= 0x08;//打开了会导致开中断时候,电机不转
        P4 = 0x00;        
                while(1)
        {       
                }
}

yy43102328 发表于 2012-5-30 10:57:49

一直都在用STC,每个月3000个这样,觉得很好用,但是有时候确实有些很难弄明白的问题
页: [1]
查看完整版本: stc10L08 IO问题?