找回密码
 立即注册
查看: 415|回复: 8

8H2K12U芯片引脚输出电平的疑问

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:419
  • 最近打卡:2025-05-02 06:28:49

24

主题

108

回帖

452

积分

中级会员

积分
452
发表于 2024-12-31 10:50:40 | 显示全部楼层 |阅读模式
项目的铅酸电池可调电压和电流脉冲修复用的。设计是P3.2引脚连接行程开关,合上行程开关,P3.2引脚接地,充电器根据STC8H2K12U在P5.4引脚输出高频方波驱动场效应管脉冲充电,打开行程开关,P5.4引脚始终输出高电平。

简单敲几行测试程序,发现芯片引脚会自动输出波形:
1、P3.1、P3.0设置准双向口,程序代码没有任何操作,示波器测量P3.1、P3.0有输出方波;
2、P3.2、P3.3设置推挽输出,程序代码设置一个10毫秒定时器,检测P32引脚电平,通过P3.1、P3.0驱动LED灯,可以看到LED交替熄灭点亮,示波器测量P3.3有类似锯齿波输出;
请问各位大咖这是啥原因啊?请详细讲解 谢谢!
1111111.png 222222.jpg
测试电路只保留芯片使用说明书最基本元件


测试程序所有代码

#include "STC8H2K12U.h"
#define MAIN_Fosc                24000000L        //定义主时钟
bit B_10ms =0;
void Timer0_Init(void)        //Timer0初始化函数
{
        TMOD &= ~0x03        ;                                /* 16位自动重装        */ // T0工作于16位自动重装
        AUXR &= ~(1<<7);                /* Timer0 clodk = fo/12        12分频,        default        */
        TH0 = (65536UL-MAIN_Fosc/12 / 100) / 256; //10ms
        TL0 = (65536UL-MAIN_Fosc/12 / 100) % 256;
        TR0 = 1; // 打开定时器0
        TF0 = 0;                                //清除TF0标志
        ET0 = 1;// 允许ET0中断
}
void Timer0_Isr(void) interrupt 1
{
                B_10ms=1;
}
void main(void)
{
        P3M0 |= (0x03);                //P3.0,P3.1准双向口
        P3M1 &= ~(0x03);
        P3M1 |= (0x0C);                //P3.2,P3.3高阻
        P3M0 &= ~(0x0C);
        Timer0_Init();        // Timer0初始化函数
        EA =1;
        while (1)
        {
                if(B_10ms)                // 10ms时隙
                {
                        B_10ms = 0;
                        if (P32 ==1)
                                {
                                                P30 = 0;
                                                P31 = 1;
                                }
                        else
                                {
                                        P30 = 1;
                                        P31 = 0;
                                }
                }
        }
}


6fbd9e8f5e34f2903adfcc7a10210d3f.mp4

4.02 MB, 下载次数: 26

d91afde05c8db3c58d4b2e7c106bc527.mp4

1.14 MB, 下载次数: 24

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:419
  • 最近打卡:2025-05-02 06:28:49

24

主题

108

回帖

452

积分

中级会员

积分
452
发表于 2024-12-31 11:14:37 | 显示全部楼层
手触摸P32引脚也能触发程序改变LED灯,这是啥问题怎么解决,请大咖赐教谢谢

6fbd9e8f5e34f2903adfcc7a10210d3f.mp4

4.02 MB, 下载次数: 17

4444444.mp4

3.11 MB, 下载次数: 19

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:101
  • 最近打卡:2025-05-01 08:57:24
已绑定手机

5

主题

22

回帖

521

积分

高级会员

积分
521
发表于 2024-12-31 11:41:41 | 显示全部楼层
P3不要设置成高阻
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-12-31 11:48:56 | 显示全部楼层
你P3.2、P3.3设置为高阻,外接什么信号?外部必须提供高低电平信号。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-12-31 13:34:49 | 显示全部楼层
截图202412311334462210.jpg


截图202412311335582932.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:419
  • 最近打卡:2025-05-02 06:28:49

24

主题

108

回帖

452

积分

中级会员

积分
452
发表于 2024-12-31 14:31:06 | 显示全部楼层
你P3.2、P3.3设置为高阻,外接什么信号?外部必须提供高低电平信号。
P32就接行程开关,P33用着电压检测。没有提供高低电平信号。
222222.png 111111.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:419
  • 最近打卡:2025-05-02 06:28:49

24

主题

108

回帖

452

积分

中级会员

积分
452
发表于 2024-12-31 14:34:03 | 显示全部楼层
神***5#

答非所问!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:419
  • 最近打卡:2025-05-02 06:28:49

24

主题

108

回帖

452

积分

中级会员

积分
452
发表于 2024-12-31 14:39:58 | 显示全部楼层

STC8H2K12U SOP8,除了P54引脚外只剩余P30-P33四个端口,P54我用于输出PWM信号,P33测电压,P32当开关用,不设成高阻怎么用ADC?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:419
  • 最近打卡:2025-05-02 06:28:49

24

主题

108

回帖

452

积分

中级会员

积分
452
发表于 2024-12-31 16:56:47 | 显示全部楼层
P32应该要加一个上拉电阻。模拟电路没学好。请论坛大佬或者STC大咖们出几期结合芯片应用电路设计要点辅导课。谢谢
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 20:53 , Processed in 0.133684 second(s), 100 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表