t176 发表于 2023-3-10 00:48:02

P12端口 是不是 有特殊用途

/*
降龙棍~
同步89开发板的时钟,这里为了与89开发板同步做实验统一用11.0592晶振
*/

#include <STC32G.H>

void Delay500ms();//声明延迟函数
void main()
{
        // 将IO 都变成准双向

        P1M0 = 0x00;
        P1M1 = 0x00;

        // 拉高IO口
        P1 = 0Xff;

        WTST = 0X00;

        while (1)
        {
                P1 = P1 << 1; // 依次位移,逐个点亮所有IO口
                Delay500ms();
        }
}

void Delay500ms() //@11.0592MHz
{
        unsigned long i;

        _nop_();
        _nop_();
        i = 1382398UL;
        while (i)
                i--;
}


试验现象:
其余IO口都正常,唯独到了P1^2 不点亮 ,是不是 还需要其他操作?


angmall 发表于 2023-3-10 00:57:35

建议看下芯片规格书; 没有P1.2口了

t176 发表于 2023-3-10 08:29:36

angmall 发表于 2023-3-10 00:57
建议看下芯片规格书; 没有P1.2口了

非常感谢提醒..在查询手册和降龙棍的实物引脚标准后,发现P52 代替P12
随即修改代码,已经得到相应结果.感谢:handshake
/*
降龙棍~
同步89开发板的时钟,这里为了与89开发板同步做实验统一用11.0592晶振
*/

#include <STC32G.H>
void Delay500ms(); // 声明延迟函数
void main()
{

        // 将IO 都变成准双向
        int count = 0;
        P1M0 = 0x00;
        P1M1 = 0x00;
        P5M0 = 0x00;
        P5M1 = 0x00;

        // 拉高IO口
        P1 = 0Xff;
        P5 = 0XFF;
        WTST = 0X00;

        while (1)
        {
                P1 <<= 1;
                P52 = P12 | 0x00; // 对P12引脚进行或运算,得到结果,因为P52在降龙棍上填充P12的引脚
                count++;
                if (count >8)
                {
                        count = 0;
                        P1 = 0Xff;
                        P5 = 0Xff;
                }

                Delay500ms();
        }
}

void Delay500ms() //@11.0592MHz
{
        unsigned long i;

        _nop_();
        _nop_();
        i = 1382398UL;
        while (i)
                i--;
}

神农鼎 发表于 2023-3-10 09:23:00

STC8H8K64U-45I-LQFP64/48/32, PDIP40, TSSOP20;
STC32G12K128-35I-LQFP64/48/32, PDIP40, TSSOP20;
P1.2不重要又靠近 VCC/GND, 被牺牲作为 USB-3.3V-LDO的外挂电源去耦电容






t176 发表于 2023-3-10 11:21:20

神农鼎 发表于 2023-3-10 09:23
STC8H8K64U-45I-LQFP64/48/32, PDIP40, TSSOP20;
STC32G12K128-35I-LQFP64/48/32, PDIP40, TSSOP20;
P1.2 ...

学习了:handshake
页: [1]
查看完整版本: P12端口 是不是 有特殊用途