测试环境
测试硬件:单片机型号: STC8H2K32U 软件协议, V3.0: 7.4.8U 手册为STC8H-20260610
测试现象与代码
如下P10闪烁代码,编译下载后,实际为19脚闪烁,与手册说明相反。
如果把P_SWX1改成0x00;则会在20脚闪烁,按手册所说此时20脚为P1.1。

#include <STC8H.H>
void GPIO_init()
{
P0M0 = 0x00; P0M1 = 0x00;
P1M0 = 0x00; P1M1 = 0x00;
P2M0 = 0x00; P2M1 = 0x00;
P3M0 = 0x00; P3M1 = 0x00;
P4M0 = 0x00; P4M1 = 0x00;
P5M0 = 0x00; P5M1 = 0x00;
P6M0 = 0x00; P6M1 = 0x00;
P7M0 = 0x00; P7M1 = 0x00;
}
void Delay1000ms(void) //@11.0592MHz
{
unsigned char data i, j, k;
i = 57;
j = 27;
k = 112;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
P_SW2 |= 0x80;
GPIO_init();
P_SWX1 = 0x03;
while(1)
{
Delay1000ms();
P10 = ~P10;
}
}