STC15W系列单片机IO口低电平输出时,输出电压范围是多少?
如题:当使用STC15W系列单片机,5V供电,IO口输出低电平时,输出电压是多少,我测量我的是0.85V~0.9V 在和某些芯片对接时,某些芯片的输入电压低于0.5V时,才认为是低电平 手册上应该有IO口输出曲线,不过这个好象是全球最大的什么厂出的,可能没有曲线。 空载的话,基本接近0V,最多有几个或十几mV。如果有上拉的负载,则电流越大,压降也越大,但是解释到15mA,电压一般也不会超过0.5V。 灌入电流越大,电压越高啊,你都不说你负载多大,你灌入个2000MA直接烧了吧 小李非刀 发表于 2017-1-6 23:19空载的话,基本接近0V,最多有几个或十几mV。如果有上拉的负载,则电流越大,压降也越大,但是解释到15mA, ...
没有负载,悬空,并且发现高电平也不正常(空载,悬空),比电源电压也低0.8V左右,IO口的输出模式是推挽输出。给我感觉好像灌电流和拉电流都串着二极管似的。 xiaobendan 发表于 2017-1-7 07:54
灌入电流越大,电压越高啊,你都不说你负载多大,你灌入个2000MA直接烧了吧 ...
没有负载,悬空,并且发现高电平也不正常(空载,悬空),比电源电压也低0.8V左右,IO口的输出模式是推挽输出。给我感觉好像灌电流和拉电流都串着二极管似的。 icexiong 发表于 2017-1-7 08:51
没有负载,悬空,并且发现高电平也不正常(空载,悬空),比电源电压也低0.8V左右,IO口的输出模式是推挽 ...
这不对。表有问题 xiaobendan 发表于 2017-1-7 10:37
这不对。表有问题
表有问题?什么表?万用表?换了一个万用表一个样,并且,万用表测同是地平面的其它点之间可是零毫伏。 这很奇怪,上示波器吧 I/O口外接一个NPN三极管试试,在输出低电平时NPN三极管导通,说明I/O口有问题。否则就是你的问题。 另外IO悬空,你还把IO口的输出模式是推挽输出。还说IO口有问题,我看你是鸡蛋里面挑骨头,闲的蛋疼。{:titter:}{:titter:} su33691 发表于 2017-1-7 12:01
另外IO悬空,你还把IO口的输出模式是推挽输出。还说IO口有问题,我看你是鸡蛋里面挑骨头,闲的蛋疼。{:titt ...
注意,蛋疼的是你,没有仔细看帖子,我是在有负载(外接芯片)的时候,出问题,然后,考虑可能跟负载有关,于是就将负载焊掉,此时芯片引脚悬空,还是没有改变,并且,我还将MCU重新换了一片都不行。 superAFE 发表于 2017-1-7 13:26
用示波器测试一下吧,低电平输出有0.8V肯定不正常的。注意看IO的波形是否有尖峰出现。 ...
如果有尖峰代表什么呢? superAFE 发表于 2017-1-7 13:56
如果你的程序期望控制IO一直输出低电平,但出现了尖峰,出现就说明该IO的电平被未知因素改变了。未知因素 ...
嗯,好的,谢谢诶 superAFE 发表于 2017-1-7 13:56
如果你的程序期望控制IO一直输出低电平,但出现了尖峰,出现就说明该IO的电平被未知因素改变了。未知因素 ...
芯片复位,程序跑飞,应该不可能,其它部分程序运行正常,只能看中断里有没有操作了,但是记得中断里没有操作,再看看吧 既然你严重怀疑mcu的IO口问题,那就敲几行代码测试一下。如果还有问题,那就退货,改用高大上的ARM。{:titter:}{:titter:}{:titter:} su33691 发表于 2017-1-7 14:46
既然你严重怀疑mcu的IO口问题,那就敲几行代码测试一下。如果还有问题,那就退货,改用高大上的ARM。{:titt ...
试过了,白搭 icexiong 发表于 2017-1-7 18:32
试过了,白搭
我手上有STC15W4K48S4,理论上空载用万用表测量应该是0V,楼主把测试程序发来我帮你试一下,哪个IO。 weavr 发表于 2017-1-7 19:49
我手上有STC15W4K48S4,理论上空载用万用表测量应该是0V,楼主把测试程序发来我帮你试一下,哪个IO。 ...
怎么给你 weavr 发表于 2017-1-7 19:49
我手上有STC15W4K48S4,理论上空载用万用表测量应该是0V,楼主把测试程序发来我帮你试一下,哪个IO。 ...
p2口都不行,程序里是p2.4,其实其他口没测,但是我估计也不行 weavr 发表于 2017-1-7 19:49
我手上有STC15W4K48S4,理论上空载用万用表测量应该是0V,楼主把测试程序发来我帮你试一下,哪个IO。 ...
#define MAIN_Fosc 11059200L //定义主时钟
#include "STC15Fxxxx.H"
/************* 功能说明 **************
程序使用P4.7 P4.6 P1.6 P1.7 来演示跑马灯,输出低驱动。
******************************************/
voiddelay_ms(u8 ms);
sbit out1 = P2^4;
sbit out2 = P2^6;
sbit out3 = P2^5;
sbit out4 = P4^5;
sbit out5 = P2^7;
sbit out6 = P4^6;
sbit out7 = P2^1;
sbit out8 = P2^0;
sbit out9 = P2^3;
sbit out10 = P2^2;
/******************** 主函数 **************************/
void main(void)
{
P0M1 = 0; P0M0 = 0; //设置为准双向口
P1M1 = 0; P1M0 = 0; //设置为准双向口
P2M1 = 0; P2M0 = 0xff; //设置为准双向口
P3M1 = 0; P3M0 = 0; //设置为准双向口
P4M1 = 0; P4M0 = 0; //设置为准双向口
P5M1 = 0; P5M0 = 0; //设置为准双向口
P6M1 = 0; P6M0 = 0; //设置为准双向口
P7M1 = 0; P7M0 = 0; //设置为准双向口
while(1)
{
out1 = 0;
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
out1 = 1;
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
out1 = 0;
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
out1 = 1;
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
out1 = 0;
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
}
}
//========================================================================
// 函数: voiddelay_ms(u8 ms)
// 描述: 延时函数。
// 参数: ms,要延时的ms数, 这里只支持1~255ms. 自动适应主时钟.
// 返回: none.
// 版本: VER1.0
// 日期: 2013-4-1
// 备注:
//========================================================================
voiddelay_ms(u8 ms)
{
u16 i;
do{
i = MAIN_Fosc / 13000;
while(--i) ; //14T per loop
}while(--ms);
}
icexiong 发表于 2017-1-7 22:33
#define MAIN_Fosc 11059200L //定义主时钟
#include "STC15Fxxxx.H"
试了这个程序,P2.4低电平0V,5V或3.3V供电P2.4高电平都是低于电源0.01V以内,设置为推挽或弱上拉都是一样,P2.4空载。 这种问题,如果换个芯片还不行,要么是程序问题,要么是测量方法问题 weavr 发表于 2017-1-8 09:19
试了这个程序,P2.4低电平0V,5V或3.3V供电P2.4高电平都是低于电源0.01V以内,设置为推挽或弱上拉都是一 ...
谢谢,跟使用内部晶振,内部复位有关系吗,内部晶振是11.05926M 本帖最后由 weavr 于 2017-1-8 13:37 编辑
icexiong 发表于 2017-1-8 11:45
谢谢,跟使用内部晶振,内部复位有关系吗,内部晶振是11.05926M
之前是用内部11.0592MHz测的结果,刚试了一下外部11.0592M晶振,对IO电压没有影响,复位是用的芯片内部复位,复位脚设置做为IO使用。这是我测试P2.4一直拉低的程序,你可以试一下
void main()
{
P0M1=0x00;
P1M1=0x00;
P2M1=0x00;
P3M1=0x00;
P4M1=0x00;
P5M1=0x00;
P0M0=0x00;
P1M0=0X00;
P2M0=0X00;
P3M0=0x00;
P4M0=0X00;
P5M0=0x00;
P24=0;
while(1);
}
你的芯片也是15W4K48S4吗 icexiong 发表于 2017-1-8 11:45
谢谢,跟使用内部晶振,内部复位有关系吗,内部晶振是11.05926M
P2.4一直低的HEX
weavr 发表于 2017-1-8 13:45
P2.4一直低的HEX
谢谢给的回复,我的问题解决了,问题是我的电源和地引脚接错了,电源和地是14和16,我接到13和15上了,拿两个IO口供电了。呵呵,还没有把芯片烧掉。。。 icexiong 发表于 2017-1-8 18:51
谢谢给的回复,我的问题解决了,问题是我的电源和地引脚接错了,电源和地是14和16,我接到13和15上了,拿 ...
牛人,以后电源脚都可以省了,找两管脚供电就行
页:
[1]