STC8H1K17T-TSSOP20系列实验之一----点灯测试
STC8H1K17T-TSSOP20板子已经打样完成了,焊上关键元件,第一步就是进行点灯测试,写了一个简单的点灯代码,把LED和WS2812点亮了。
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; //使能定时器
}
页:
[1]