首先感谢STC官方送的擎天柱核心板,到手后刚好手上有可调电阻,然后就直接搞上,貌似手工还不错

继续把排针也焊上,

晚上拍的照片也算是清楚了,看上去效果还不错
然后翻出好多年前的普中开发板,直接插上,开发板又满血复活了

然后编个程,让流水灯跑起来,由于擎天柱只有P2口上面有灯,其他口都空着,所以用P2口输出流水灯,程序如下
#include "AI8051U.h"
#include "stdio.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
#define MAIN_Fosc 24000000UL
void delay_ms(u8 ms);
void main(void)
{
WTST = 0;
EAXFR = 1;
CKCON = 0;
P0M1 = 0x00; P0M0 = 0xff;
P1M1 = 0x00; P1M0 = 0x00;
P2M1 = 0x00; P2M0 = 0x00;
P3M1 = 0x00; P3M0 = 0x00;
P4M1 = 0x00; P4M0 = 0x00;
P5M1 = 0x00; P5M0 = 0x00;
P6M1 = 0x00; P6M0 = 0x00;
P7M1 = 0x00; P7M0 = 0x00;
P40 = 0; //LED Power On
while(1)
{
P20 = 0; //LED On
delay_ms(250);
P20 = 1; //LED Off
`
P21 = 0; //LED On
delay_ms(250);
P21 = 1; //LED Off
P22 = 0; //LED On
delay_ms(250);
P22 = 1; //LED Off
P23 = 0; //LED On
delay_ms(250);
P23 = 1; //LED Off
P24 = 0; //LED On
delay_ms(250);
P24 = 1; //LED Off
P25 = 0; //LED On
delay_ms(250);
P25 = 1; //LED Off
P26 = 0; //LED On
delay_ms(250);
P26 = 1; //LED Off
P27 = 0; //LED On
delay_ms(250);
P27 = 1; //LED Off
}
}
void delay_ms(u8 ms)
{
u16 i;
do{
i = MAIN_Fosc / 6000;
while(--i);
}while(--ms);
}
下载到擎天柱里看看效果
效果很不错,接到开发板上的流水灯看下效果
完美匹配,但是在测试过程中发现了一个问题,就是擎天柱跟stc89c51 DIP-40有几个引脚端口不同,导致程序运行的时候出现问题,主要是P30 P31在擎天柱上变成了P50 P50所以在编程的时候一定要注意,否则会导致程序不能正常运行。

stc89c51的引脚图

擎天柱的引脚图
从图上可以看出,有几个不同,还有个问题就是开发板只有32个引脚提供输入输出,而擎天柱有37个引脚,如果把擎天柱装在开发板上用的话就会导致5个端口浪费掉,因此在学习过程中要看情况来使用开发板。
最后再次感谢STC官方送的擎天柱开发板,让我有了学习的AI8051的好机会,在此祝愿STC越做越好,越做越强。