zhp 发表于 2026-5-29 18:02:17

一线制,单总线接口,【STC8H2K32UT】首次配置【一线制】,直接驱动WS2812

STC 最新研发的单片机型号STC8H2K32UT
一线制,单总线接口,【STC8H2K32UT】首次配置,
【一线制,单总线】,直接驱动 WS2812!!!
新型号 STC8H2K32UT 内部增加了4组硬件单总线接口




单总线目前可支持的工作模式:
WS2812模式、
DS18B20 模式、DHT11 模式、
红外模式、
UARTX模式和UART模式。



STC 最新推出一个新的单片机型号STC8H2K32UT
一线制,单总线接口,【STC8H2K32UT】首次配置,
【一线制,单总线】,直接驱动 WS2812!!!
这个新型号的STC单片机内部增加了4组硬件单总线接口
初步测试用单总线接口驱动WS2812灯带,功能正常
1064

驱动核心代码如下:
#include <stdio.h>
#include <intrins.h>

#include "def.h"
#include "stc8h.h"
#include "ow.h"

#define FOSC            24000000UL
#define BAUD            (65536 - FOSC/4/115200)
#define T1MS            (65536 - FOSC / 1000)
#define LED_NUM         12
#define BUF_SIZE      (LED_NUM * 3)

#define PSCR            0
#define tRES            (60 * FOSC / 1000000 - 1)
#define t0H             (0.35 * FOSC / 1000000 - 1)
#define t0L             (0.70 * FOSC / 1000000 - 1)
#define t1H             (0.70 * FOSC / 1000000 - 1)
#define t1L             (0.35 * FOSC / 1000000 - 1)

#define TEST_OW         1


BYTE code COD[] =
{
//G   R   B
    0x00, 0xff, 0xff,   //紫
    0xff, 0x00, 0xff,   //靛
    0x00, 0x00, 0xff,   //蓝
    0xff, 0x00, 0x00,   //绿
    0xff, 0xff, 0x00,   //黄
    0x80, 0xff, 0x00,   //橙
    0x00, 0xff, 0x00,   //红
};

BOOL f1ms;
BOOL trig;

int count;
int index;
int offset;
BYTE xdata BUF;

void main()
{
    int i;

    P_SW2 = 0x80;
   
    P0M0 = 0xff; P0M1 = 0x00;
    P1M0 = 0x00; P1M1 = 0x00;
    P2M0 = 0x00; P2M1 = 0x00;
    P3M0 = 0x40; P3M1 = 0x00;
    P4M0 = 0x00; P4M1 = 0x00;
    P5M0 = 0x00; P5M1 = 0x00;

    SCON = 0x52;
    AUXR = 0x40;
    TMOD = 0x00;
    TL1 = BAUD;
    TH1 = BAUD >> 8;
    TR1 = 1;

    AUXR |= 0x80;
    TL0 = T1MS;
    TH0 = T1MS >> 8;
    TR0 = 1;
    ET0 = 1;

    printf("STC8H2K32UT Test (OneWire WS2812 REG) !\n");

    OW1_SetWS2812Mode();            //设置OW模式为WS2812模式
    OW1_SetWS2812_RST(tRES);      //设置复位信号的低电平维持时间:(N+1)个OW时钟
    OW1_SetWS2812_D0H(t0H);         //设置数据0的高电平维持时间:(N+1)个OW时钟
    OW1_SetWS2812_D0L(t0L);         //设置数据0的低电平维持时间:(N+1)个OW时钟
    OW1_SetWS2812_D1H(t1H);         //设置数据1的高电平维持时间:(N+1)个OW时钟
    OW1_SetWS2812_D1L(t1L);         //设置数据1的低电平维持时间:(N+1)个OW时钟
    OW1_SetClockDivider(PSCR);      //设置OW总线时钟分频(SYSclk/(PSCR+1))
    OW1_SwitchP36();                //选择P36口为单总线数据口
    OW1_ClearAllIntFlag();          //清除OW状态
    OW1_EnableResetInt();         //使能OW复位中断
    OW1_EnableTxInt();            //使能OW发送中断
    OW1_Enable();                   //使能OW功能

    EA = 1;

    trig = 0;
    count = 0;
    index = 0;
    offset = 0;

    while (1)
    {
      if (f1ms)
      {
            f1ms = 0;
            if (count++ >= 100)
            {
                count = 0;

                for (i = 0; i < BUF_SIZE; i++)
                  BUF = 0;
                for (i = 0; i < sizeof(COD); i++)
                  BUF[(i + offset * 3) % BUF_SIZE] = COD / 16;

                if (++offset >= LED_NUM)
                  offset = 0;

                OW1_ResetBus();                  //触发总线复位
            }
      }

      if (trig)
      {
            trig = 0;

            if (index < BUF_SIZE)
            {
                OW1_WriteData(BUF);
            }
      }
    }
}

void ow1_isr() interrupt OW1_VECTOR
{
    BYTE sr;

    sr = OW1_ReadIntStatus();      //读取中断标志
    OW1_ClearAllIntFlag();         //清除OW状态

    if (OWn_CheckResetFlag(sr))
    {
      index = 0;
      trig = 1;
    }

    if (OWn_CheckTxFlag(sr))
    {
      trig = 1;
    }
}

void tm0_isr() interrupt 1
{
    f1ms = 1;
}




神农鼎 发表于 2026-5-29 19:32:50

下面的STC新触摸MCU开始全面标配【一线制,单总线】
STC8T1K17-45I-TSSOP20
STC8T1K17-45I-TSSOP20



下面的STC新触摸MCU开始全面标配【一线制,单总线】
STC8T2K32-45I-LQFP32
STC8T2K32-45I-QFN32
STC8T2K32-45I-TSSOP20








神农鼎 发表于 2026-5-29 19:16:10











狂热主宰 发表于 2026-5-29 19:17:36

可否用于单总线传感器接口
比如DS18B20
和DHT等等

神农鼎 发表于 2026-5-29 19:19:54

狂热主宰 发表于 2026-5-29 19:17
可否用于单总线传感器接口
比如DS18B20
和DHT等等

全支持

cnos 发表于 2026-5-31 21:50:52

什么时候能买到

21cnsound 发表于 2026-6-1 21:25:51

太好啦{:4_174:},希望进口上架积分商城。

linghu886 发表于 2026-6-9 08:52:57

感觉非常不错。做红外遥控器解码

利跑记 发表于 2026-6-25 14:15:52

什么时候正式上市

神农鼎 发表于 2026-6-25 16:55:20

STC8T1K08-45I-TSSOP20
STC8T2K32-45I-LQFP32

今年会先定型量产






页: [1]
查看完整版本: 一线制,单总线接口,【STC8H2K32UT】首次配置【一线制】,直接驱动WS2812