xinshui 发表于 2011-4-1 19:56:41

使用STC11F16XE的P2口的IO做快速切换测量电压只有2.4V

使用STC11F16XE的P2口的IO做快速切换测量电压只有2.4V, 做键盘矩阵扫描时,致使P1口的IO无法拉低,这是怎么回事!?
P2对地点是2.4,P2对5V供电也是2.4,就是说P2口在高低转换时,当为P2口为低位时,IO口不是零,而是有个2.4-2.5的电位
P2口默认为复位弱上拉

#include <STC11F60XE.H>//头文件

#define uint16   unsigned short int

/********************************************************************
函数功能:延时x毫秒函数。
入口参数:x:延时的毫秒数。
返    回:无。
备    注:无。
********************************************************************/

void DelayXms(uint16 x)               
{
        uint16 i;
        uint16 j;
        for(i=0;i<x;i++)
        for(j=0;j<240;j++); //循环语句延时
}
/********************************************************************
函数功能:主函数。
入口参数:无。
返    回:无。
备    注:无。
********************************************************************/
main()
{

        while(1)
        {
                //P0=0xff;
                P1=0xFF;
                P2=0xFD;

                DelayXms(800);

                //P0=0x00;
                //P1=0xFF;
                P2=0xFE;
                DelayXms(800);

        }
}

gongnn 发表于 2011-4-1 20:04:53

拿万用表量的吧,万用表反应慢,最后得到的是平均电压了。

gongnn 发表于 2011-4-1 20:05:35

另外外部没有电阻什么的,电压是不准确的。

xinshui 发表于 2011-4-1 20:14:50

谢谢,看来要找其他原因了
页: [1]
查看完整版本: 使用STC11F16XE的P2口的IO做快速切换测量电压只有2.4V