找回密码
 立即注册
查看: 251|回复: 11

AI8H1K28-32P的 P0端口没反应是什么原因

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 00:44:09

6

主题

81

回帖

2118

积分

金牌会员

积分
2118
发表于 2025-2-12 14:00:16 | 显示全部楼层 |阅读模式

下面这个程序,为什么P0口的P0.2没反应呢?

#include <AI8H.h>

sbit LED1 = P1^2; // 第 3 脚 P1.2 指示灯 LED1
sbit LED2 = P1^3; // 第 4 脚 P1.3 指示灯 LED2
sbit LED3 = P1^4; // 第 5 脚 P1.4 提示灯 LED3
sbit LED4 = P1^5; // 第 6 脚 P1.5 指示灯 LED4
sbit LED5 = P1^6; // 第 7 脚 P1.6 提示灯 LED5

sbit KEY1 = P3^2; // 第 15 脚 P3.2 接按键 KEY1
sbit KEY2 = P3^3; // 第 16 脚 P3.3 接按键 KEY2
sbit KEY3 = P3^4; // 第 17 脚 P3.4 接按键 KEY3
sbit KEY4 = P3^5; // 第 18 脚 P3.5 接按键 KEY4
sbit KEY5 = P3^7; // 第 20 脚 P3.7 接按键 KEY5
sbit KEY6 = P2^0; // 第 21 脚 P2.0 接按键 KEY6
sbit KEY7 = P2^1; // 第 22 脚 P2.1 接按键 KEY7
sbit KEY8 = P2^2; // 第 23 脚 P2.2 接按键 KEY8
sbit KEY9 = P2^3; // 第 24 脚 P2.3 接按键 KEY9

sbit OUT_P26 = P2^6; // 第 27 脚 P2.6 默认输出低电平
sbit OUT_P27 = P2^7; // 第 28 脚 P2.7 默认输出低电平
sbit OUT_P00 = P0^0; // 第 29 脚 P0.0 默认输出低电平
sbit OUT_P01 = P0^1; // 第 30 脚 P0.1 默认输出低电平
sbit OUT_P02 = P0^2; // 第 31 脚 P0.2 默认输出低电平
sbit ADC_PIN = P0^3; // 第 32 脚 P0.3 默认输出低电平

// ADC 初始化
void ADC_Init() {
    P0M1 |= 0x08;   // 设置 P0.3 为高阻输入模式
    ADCCFG = 0x0F;  // 设置 ADC 时钟和结果右对齐
    ADC_CONTR = 0x80; // 使能 ADC 模块
}

// 读取 ADC 值
unsigned int ADC_Read() {
    ADC_CONTR = 0x8B; // 选择 P0.3 通道并启动转换
    _nop_();          // 短暂延时
    while (!(ADC_CONTR & 0x20)); // 等待转换完成
    ADC_CONTR &= ~0x20; // 清除转换完成标志
    return (ADC_RES << 8) | ADC_RESL; // 返回 10 位 ADC 结果

void main()
{
    // 初始化
    P1M0 = 0xFC; P1M1 = 0x00; // 设置 P1.2 - P1.6 为推挽输出
    P2M0 = 0xC0;              // 设置 P2.6 - P2.7 为推挽输出
    P0M0 = 0x00;             // 设置 P0.0 - P0.2 为

while(1)
{
// 如果 KEY1 按下且 KEY5 未按下
   if (!KEY1 && KEY5)
  {

            LED2 = ~LED2; // 点亮 LED2
            OUT_P02 = ~OUT_P02; //
}
}
}
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2025-2-12 14:28:24 | 显示全部楼层
您所谓P0没反应是如何得出的结论,是通过什么方法测量或者指示的?
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-03-06 09:25:41

8

主题

318

回帖

1835

积分

金牌会员

积分
1835
发表于 2025-2-12 15:02:28 | 显示全部楼层
8H的引脚模式预设是高阻
即P0M0=0;P0M1=0xFF;
你的代码只写了P0M0=0;
等于没有初始化

2025-02-12_150008.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 00:44:09

6

主题

81

回帖

2118

积分

金牌会员

积分
2118
发表于 2025-2-13 08:06:45 | 显示全部楼层
晓*** 发表于 2025-2-12 14:28
您所谓P0没反应是如何得出的结论,是通过什么方法测量或者指示的?

在焊的板子上测量这几个脚位都没有反应,一直低电平
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 00:44:09

6

主题

81

回帖

2118

积分

金牌会员

积分
2118
发表于 2025-2-13 08:13:55 | 显示全部楼层
Lkck*** 发表于 2025-2-12 15:02
8H的引脚模式预设是高阻
即P0M0=0;P0M1=0xFF;
你的代码只写了P0M0=0;

ADC初始化哪里写了  P0M1 |= 0x08;   // 设置 P0.3 为高阻输入模式,,这样写不行吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-03-06 09:25:41

8

主题

318

回帖

1835

积分

金牌会员

积分
1835
发表于 2025-2-13 09:31:43 | 显示全部楼层
Wd*** 发表于 2025-2-13 08:13
ADC初始化哪里写了  P0M1 |= 0x08;   // 设置 P0.3 为高阻输入模式,,这样写不行吗? ...

你看看你贴子开头第一句问的是什么
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 00:44:09

6

主题

81

回帖

2118

积分

金牌会员

积分
2118
发表于 2025-2-13 20:03:28 | 显示全部楼层
Lkck*** 发表于 2025-2-13 09:31
你看看你贴子开头第一句问的是什么

大佬,P0,P2口是不是要加上拉电阻
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 00:44:09

6

主题

81

回帖

2118

积分

金牌会员

积分
2118
发表于 2025-2-14 00:33:46 | 显示全部楼层
Wd*** 发表于 2025-2-13 20:03
大佬,P0,P2口是不是要加上拉电阻

试了,不能加上拉
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:385
  • 最近打卡:2025-05-01 08:05:45

25

主题

113

回帖

725

积分

高级会员

积分
725
发表于 2025-2-14 08:26:01 | 显示全部楼层
你这个肯定不能工作。while循环。KEY1按下 一秒钟循环执行上万次。你的LED能来得及不。必须加判断。比如key1 停止按下后开始执行一次。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 00:44:09

6

主题

81

回帖

2118

积分

金牌会员

积分
2118
发表于 2025-2-14 16:53:33 | 显示全部楼层
zhang*** 发表于 2025-2-14 08:26
你这个肯定不能工作。while循环。KEY1按下 一秒钟循环执行上万次。你的LED能来得及不。必须加判断。比如key ...

按键按下,LED2 能控制亮灭,但是P0.2这几个口都没反应,也不知是IC挂了,还是没有配置好
ymj-.png
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 08:43 , Processed in 0.159399 second(s), 114 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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