3050311118 发表于 2012-3-28 15:10:21

STC的IO引脚输出居然有三种状态,引脚取反LED=!LED崩溃压抑中

sbit LED=P3^0;

void main()
{
        TargetInit();
        while(1)
        {
                switch(KeyScan())
                {
                                    case 0xfe: LED=!LED;break;

}

我设置的是强推挽输出
        P3M0=0xff;
        P3M1=0x00;                        //设置推挽输出 驱动ULN2003
型号是STC12LE5A16AD,电压3.3伏,LED 那个引脚输出 3.3V,1.6V,0V三种状态,而且随机的

崩溃

有谁遇到过这种问题

Orpheus 发表于 2012-3-28 15:33:12

0,1两个状态是不是切换的太快了。

jmpxwh 发表于 2012-3-28 15:36:02

设置推挽输出后,就不能读取引脚状态了,当然会出现3种情况了。

ahuang227 发表于 2012-3-28 15:36:40

为什么我的头像没改过来呢?

gongnn 发表于 2012-3-28 15:38:03

case 0xfe: LED=!LED;break;
及其错误的方法。

eastboy 发表于 2012-3-28 15:43:59

取反是用~
另外你是用万用表测的吧?按下按键的时候是1.6V,松开按键后端口状态取决于上一次翻转后的状态,所以是随机的,有3.3也有0,没什么好奇怪的

xue2003265029 发表于 2012-3-28 18:53:46

3楼正解!
STC单片机能不用推挽就就不用推挽了!
51的IO口可以做输入输出了,但如果改成推挽方式后就只能做输出了,不能再做输入了!

3050311118 发表于 2012-3-29 22:23:01

问题解决了我现在用对一个变量取反 然后再赋值给端口

taishandadi 发表于 2012-3-30 09:20:17

真正的双向口和准双向口,avr也是,输入和输出寄存器都不同。

s15200380596 发表于 2012-4-1 18:37:39

最后先给键盘输入io口置1然后再去判断键盘输入值,io口0态时无法正确读外部信号

bbs2009 发表于 2012-4-1 19:21:26

yanjs1016 发表于 2012-4-1 19:23:27

bbs2009 发表于 2012-4-1 19:21 static/image/common/back.gif
STC51够倒霉, 有问题首先被怀疑!

很多时候,出现问题,都不是从自身来找原因

summarize 发表于 2012-4-1 19:28:15

eastboy 发表于 2012-3-28 15:43 static/image/common/back.gif
取反是用~
另外你是用万用表测的吧?按下按键的时候是1.6V,松开按键后端口状态取决于上一次翻转后的状态, ...

位取反是用"!"字节或以上取反用"~"

张小盒 发表于 2012-4-1 19:31:41

yanjs1016 发表于 2012-4-1 19:23 static/image/common/back.gif
很多时候,出现问题,都不是从自身来找原因

信用不好,是首先被怀疑的对象了!

yanjs1016 发表于 2012-4-1 19:34:09

张小盒 发表于 2012-4-1 19:31 static/image/common/back.gif
信用不好,是首先被怀疑的对象了!

很赞同这个“信用”不好两字,

既然信用不好,一切皆有可能了。

nicksean 发表于 2012-4-1 21:54:25

summarize 发表于 2012-4-1 19:28 static/image/common/back.gif
位取反是用"!"字节或以上取反用"~"

"!"是逻辑取反,~是按位取反。如果变量是 bit 类型的,则两个是相同的结果。

jetli 发表于 2012-4-2 11:59:06

手上常备几片stc51、at51、sst51、交叉验证用

marshallemon 发表于 2012-4-2 12:18:49

貌似端口出现占空比为2:1的PWM

xiaowu191 发表于 2012-4-2 12:25:45

LED=!LED;

一直用 LED^=1;

bbs2009 发表于 2012-4-4 18:59:21

gracialee 发表于 2012-4-4 22:15:13

呵呵,我也有可能把罪过归为STC上来。。。

jjj2012 发表于 2012-4-4 22:41:57

是在修改的时候出现一个脉冲,有中间状态
页: [1]
查看完整版本: STC的IO引脚输出居然有三种状态,引脚取反LED=!LED崩溃压抑中