STC8A8K64D4准双向口模式下,P0的高电平电压不对?
本帖最后由 whoyzf 于 2024-7-17 10:59 编辑STC8A8K64D4最小系统,5V供电
IO设置准双向口模式,同样的设置,实测:P0口高电压只有1V.而P2却有5V。
请问是什么问题?
测试:
将P0设置为推挽输出,P0高电平为5v
将P0设置为准双向口,P0加上拉电阻(P0PU = 0xff; )高电平为3v
高阻输入 0.6V ; 开漏 0.6V ;
代码如下
#include "STC8A8K64D4.h"
#include "intrins.h"
sfr VOCTRL = 0xbb;
#define IDL 0x01 //PCON.0
#define PD 0x02 //PCON.1
//sbit P34 = P3^4;
//sbit P35 = P3^5;
sbit led3=P4^3; //串口3接收指示灯 太亮,先关掉
sbit led2=P0^4; //串口2接收指示灯 太亮,先关掉
sbit led1=P0^5; //秒闪灯
void INT0_Isr() interrupt 0
{
// P34 = ~P34; //测试端口
}
void main()
{
// P1M0 = 0x40; P1M1 = 0x00; //P16(PWR_5V) 推挽,准双向高电平为3V
// VOCTRL = 0x00; //掉电模式时使用内部SCC模\块,功耗约1.5uA
////VOCTRL = 0x80; //掉电模式时使用外部SCC模块,功耗约0.15uA
// EX0 = 1; //使能INT0中断,用于唤醒MCU
// EA = 1;
_nop_();
_nop_();
P0M0 = 0x00; P0M1 = 0xff;
P1M0 = 0x00; P1M1 = 0xff;
P2M0 = 0x00; P2M1 = 0xff;
P3M0 = 0x00; P3M1 = 0xff;
P4M0 = 0x00; P4M1 = 0xff;
P5M0 = 0x00; P5M1 = 0xff;
P0M0 = 0x00; P0M1 = 0x00;
P1M0 = 0x00; P1M1 = 0x00;
P2M0 = 0x00; P2M1 = 0x00;
P3M0 = 0x00; P3M1 = 0x00;
P4M0 = 0x00; P4M1 = 0x00;
P5M0 = 0x00; P5M1 = 0x00;
P1=0xff; P2=0xff; P3=0xff; P4=0xff;P5=0xff;
led3=1;
led2=1;
led1=1;
// PCON = IDL; //MCU进入IDLE模式
//PCON = PD; //MCU进入掉电模式
_nop_();
_nop_();
// P35 = 0;
while (1);
}
准双向5V 250μA,很弱,很容易就被拉下来
DebugLab 发表于 2024-7-17 10:40
准双向5V 250μA,很弱,很容易就被拉下来
我这个引脚现在是悬空测的。而且同样的配置,同样的电路,同样的测试方法。为啥P4就可以呢? 计算外部大概是4K的下拉,PCB上是否有其他元件或PCB有问题?所有P0口都是这样吗?
计算外部大概是4K的下拉,PCB上是否有其他元件或PCB有问题?所有P0口都是这样吗?
DebugLab 发表于 2024-7-17 10:46
计算外部大概是4K的下拉,PCB上是否有其他元件或PCB有问题?所有P0口都是这样吗?
...
现在这个板子,我只焊了单片机专门做测试。P01~P07,发现只有P07有5V,其余都是1V. 看一下实物图和原理图
什么封装的
还有芯片版本
DebugLab 发表于 2024-7-17 10:59
看一下实物图和原理图
什么封装的
还有芯片版本
更新后的硬件选项为:
. 系统ISP工作频率: 23.916MHz
. 内部IRC振荡器的频率: 11.057MHz
. 掉电唤醒定时器的频率: 35.875KHz
. 振荡器放大增益使能
. 用户EEPROM大小被设置为 0.5 K
. P3.2和P3.3与下次下载无关
. 上电复位时增加额外的复位延时
. 复位引脚用作普通I/O口
. 检测到低压时复位
. 低压检测门槛电压 : 2.00 V
. 上电复位时,硬件不启动内部看门狗
. 上电自动启动内部看门狗时的预分频数为 : 256
. 空闲状态时看门狗定时器停止计数
. 下次下载用户程序时,将用户EEPROM区一并擦除
. 下次下载用户程序时,没有相关的端口控制485
. 下次下载时不需要校验下载口令
. 内部参考电压: 1193 mV (参考范围: 1100~1300mV)
芯片出厂序列号 : F7F4C4A214CCE6
单片机型号: STC8A8K64D4
软件协议, V3.0: 7.4.3U
. 用户设定频率: 11.059MHz
. 调节后的频率: 11.057MHz ( 主时钟分频系数 = 1; )
. 频率调节误差: -0.022% 本帖最后由 whoyzf 于 2024-7-17 11:03 编辑
DebugLab 发表于 2024-7-17 10:59
看一下实物图和原理图
什么封装的
还有芯片版本
LQFP44。 电路上啥都没接。原来这几个脚接LED(低电平点亮)结果发现高电平,也是微亮的。就断开led。
还有就是我测掉电模式,有400uA的电流,怀疑是不是这个片子有问题。
whoyzf 发表于 2024-7-17 11:02
LQFP44。 电路上啥都没接。原来这几个脚接LED(低电平点亮)结果发现高电平,也是微亮的。就断开led。
还 ...
我感觉是焊接问题或PCB问题,IO坏不可能一排全坏了