从stc12c2052“移植”到stc89最小系统的经验积累

某天要把一个基于stc12c芯片的单片机软件移植到stc89的片子上,下载下来发现系统放到面包板上实验通不过,折腾了一下发现基于stc12c的最小系统同样不能直接在stc89上用,后来查文档发现芯片差别很大,大意了,下面记录下实验最小系统的经过:

stc12C2052AD最小系统

stc12c搭建的最小系统是基于之前杜洋的教程

根据STC官网下载的stc12c型号的芯片手册,其最小系统为:

 

可以看到不用接晶振,晶振使用内置的,直接接电源上电就自动复位加载程序了,像下面这个面包板

示例程序:

#include <reg51.h> //52head
#include <intrins.h>
#define uchar unsigned char
uchar flow;

void Delay1000ms()        //@5.5296MHz
{
    unsigned char i, j, k;
    i = 4;
    j = 129;
    k = 119;
    do
    {
        do
        {
            while (--k);
        } while (--j);
    } while (--i);
}

void DelayS(unsigned int s)
{
  for(;s>0;s--)
  {
          Delay1000ms();
  }
}

void main()
{
    flow=0xfe;//P1各个IO分别置为11111110
    while(1){
        P1=flow;
        DelayS(1);
        flow=_crol_(flow,1);//使用库函数进一位实现流水灯效果
        Delay1000ms();
                                    
     }

}

 

直接使用stc89替换发现P1、2、3输出都是高电平,这是没复位啊,,

STC89最小系统

去官网找文档发现STC89过时了,STC要求用最新的STC11、12代替

89过时了

 

然后说最小系统实现为:

stc89 最小系统

 

看到必须自己实现复位电路,翻了翻电子仓,没有找到10pF的电容,没法实现复位电路,不移植了我还是先用stc12吧,之后收集下器件再说。。。

注意点

1,U8W下载程序时一直显示 继续检测目标单片机 ..  原因是单片机型号选错了选了STC89C51 改成芯片上标注的STC89C51RC后正常下载

2,只看单片机引脚图不能直接移植的,要看芯片手册最小系统🤣🤣

 

参考:

STC

51单片机STC89C52RC进阶 – 在面包板上构建51单片机最小系统

 

posted @ 2020-08-10 13:17  timseng  阅读(654)  评论(0)    收藏  举报