STC12C5A60S2是STC生产的新一代单片机,指令代码完全兼容传统8051。本文描述在面包板上搭建STC12C5A60S2单片机最小系统,并连接8个LED发光二极管组成流水灯,编写程序,用R06A无线遥控控制流水灯的方向。主要目的是熟悉单片机最小系统和R06A无线遥控的控制方式。

使用元器件列表:

编号 名称 型号 数量
  单片机 STC12C5A60S2 1
  芯片座 40P 1
  面包板   1
C1 电解电容 10μF,16V 1
R1 色环电阻 10K,1/4W 1
C2 瓷片电容 30pF,16V 2
X1 无源晶振 11.0592M 1
R2 色环电阻 1K,1/4W 8
  发光二极管   8
  无线遥控套件 R06A型,PT2262和PT2272组合,L4互锁 1
  单片机下载器 STC51,5V电压输出 1
  杜邦线 针对针、孔对孔、针对孔 若干

电路原理图:

STC12C5A60S2无线遥控流水灯电路原理图

完成接线后的实际电路:

STC12C5A60S2无线遥控流水灯实际电路

C程序:

#include <STC_NEW_8051.H>
#include <intrins.h>

unsigned char led;
sbit key1=P2^0;
sbit key2=P2^1;

void delay(unsigned int z)
{
  unsigned int x,y;
  for(x=z;x>0;x--)
    for(y=110;y>0;y--);
}

void main (void){
  led=0x01;
  P0=00000000;
  while(1){
    if(key1==1){
      P0=led;
      delay(100);
      led=_crol_(led,1);
    }
    if(key2==1){
      P0=led;
      delay(100);
      led=_cror_(led,1);
    }
  }
}

将程序编译后烧入单片机,实现功能为:按遥控器C键流水灯朝一个方向流动,按D键流水灯换向,按A键或B键流水灯停止流动。