| main.c 
 
 复制代码#include "STC8H.h"
#include <intrins.h>
#include "config.h"
//#include "portset.h"
#include "delay.h"
//#include "key.h"
#include "WS2812.h"
uint cp;
#define LED P54            //LED
#define ws2812b_IO    P35      //WS2812信号输入口
#define TK1    P16        //触摸端口TK6
#define TK2    P17        //触摸端口TK7
#define TK3    P13        //触摸端口TK3
#define DIO    P10      //TM1637数据输入
#define CLK    P11      //TM1637时钟输入
/*******************************************************************************
*******************************************************************************/
void UartInit();//串口、定时器初始化        
void Timer0_Init(void);                //100微秒+16位自动装载+12T模式@24.000MHz
        
void main()
{
        //以下初始化
        delay_us(1);
        delay_ms(500);//等待稳定
        UartInit();//串口、定时器初始化        
        while(1)
        {
                if(cp>5000)
                {
                        LED=!LED;                        
                        cp=0;
                }
                Breathing_lamp_Alternate(5);        //呼吸灯
        }
}
void UartInit()//串口及定时器初始化
{
          P0M0 = 0x00; P0M1 = 0x00; 
    P1M0 = 0x00; P1M1 = 0x00; 
    P2M0 = 0x00; P2M1 = 0x00; 
    P3M0 = 0x00; P3M1 = 0x00; 
          P5M0 = 0x10; P5M1 = 0x00; 
                Timer0_Init()        ;        //100微秒@24.000MHz
          EA=1;//
}
void Timer0_Isr(void) interrupt 1
{
        cp++;
        
}
void Timer0_Init(void)                //100微秒+16位自动装载+12T模式@24.000MHz
{
        AUXR &= 0x7F;                        //定时器时钟12T模式
        TMOD &= 0xF0;                        //设置定时器模式
        TL0 = 0x38;                                //设置定时初始值
        TH0 = 0xFF;                                //设置定时初始值
        TF0 = 0;                                //清除TF0标志
        TR0 = 1;                                //定时器0开始计时
        ET0 = 1;                                //使能定时器
}
 
 
 |