神农鼎 发表于 2023-10-20 17:26:06

0.99元USB-STC8H2K08U,144MHz-PWM硬件移相,51全面进入USB时代

龙年新春捷报:
STC8H2K32U-45MHz-LQFP32/TSSOP28 的 USB 型 MCU 已开始制造光罩流程中
RMB1.3 的 USB !
STC8H2K32U-45MHz-LQFP32,TSSOP28/20,SOP16, 4月开始供货
51世界火热的夏天全面来临 全面 进入 USB 时代 !新增硬件32位乘除法器MDU32C
硬件USB 支持 仿真/下载, RTC 实时时钟, 年/月/日/时/分/秒,星期
真12位ADC, 144MHz-16位高级PWM新增硬件移相功能
32K Flash, 2.5k SRAM, USB, 双串口/I2C/SPI, 轨到轨比较器,12位ADC, PWM
串口1/串口2:
===都支持串口接收硬件超时侦测,硬件奇偶校验
===都支持帧错误数据检测和自动地址识别
T11,强大的24位低功耗定时器/系统定时器,支持低功耗唤醒
P1.2口在P5.4口上共享,P1.0/P1.1的全部数字功能可以交换

STC8H2K32U要让51成为永恒的经典:钻石恒久远,51永流传

======================================================================

RMB0.99 的 USB, STC8H2K08U-45MHz-TSSOP20/SOP16,已开始供货
51世界火热的夏天全面来临 全面 进入 USB 时代 !
硬件USB 支持 仿真/下载, RTC 实时时钟, 年/月/日/时/分/秒
真12位ADC, 144MHz-16位高级PWM新增硬件移相功能
串口1/串口2:
===都支持串口接收硬件超时侦测
===都支持帧错误数据检测和自动地址识别
T11,强大的24位低功耗定时器/系统定时器,支持低功耗唤醒
P1.2口在P5.4口上共享,P1.0/P1.1的全部数字功能可以交换
STC8H2K08U-45MHZ-TSSOP20/SOP16,USB, RMB 0.99
PWM硬件移相的 I/O :PWMAPS5/P1.3, PWMAPS6/P1.5
STC8H2K08U要让51成为永恒的经典:钻石恒久远,51永流传













51世界火热的夏天全面来临 全面进入 USB 时代 !
RMB0.99的 STC8H2K08U-45I-TSSOP20/SOP16
USB RAM是1280字节
STC8H2K08U的RAM:256+1024+1280=2560=2.5K
XRAM:1024+1280/USB共享=2304=2.25K


STC8H系列数据手册下载
深圳国芯人工智能有限公司-产品_STC8H系列 (stcai.com)

RMB0.99 的 USB 型 MCU STC8H2K08U 演示程序包 下载

www.stcai.com/hxgnsyb

新年快乐 !STC32位8051世界 向辉煌的 2024 迈进 !




神农鼎 发表于 2023-12-27 17:53:57

STC8H8K64U的程序, STC8H2K08U能用



USB全家福-超强演示程序包发布,2023/11/1
一箭双雕之USB转双串口例程包全新升级@STC8H8K64U,RMB1.4
1.更新USB相关例程的USB库文件;
2.增加例程“11-HID(Human Interface Device)协议范例”;
3.增加例程“12-CDC(Communication Device Class)协议范例 - USB-CDC转单串口”;
4.增加例程“13-基于HID协议的USB键盘范例”;
5.增加例程“14-基于HID协议的USB鼠标范例”;
6.增加例程“15-基于HID协议的USB手柄范例”;
7.增加例程“16-STC_HID_USB鼠标/键盘复合设备例程”;
8.增加例程“17-USB-CDC虚拟串口转串口+USB-HID键盘的复合设备”。
A0例程添加按下P3.2口按键可控制断开S-VCC供电,松开按键恢复S-VCC供电
A0, USB-CDC转双串口开源程序 - 根据串口波特率自动调整主频
A1, USB-CDC转双串口开源程序 - 做自动停电上电烧录器


USB全家福-超强演示程序包发布,一箭双雕之USB转双串口例程包全新升级,RMB1.4 - USB:USB-CDC虚拟串口/就是串口,一箭双雕之USB转双串口,[鼠标+键盘]的HID复合设备 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)






乘风飞扬 发表于 2024-1-2 17:15:02

STC8H2K08U-45MHz-TSSOP20/SOP16, USB
144MHz, 16位硬件PWM, 新增 PWM硬件移相 功能,演示程序见附件

1.PWMA_Asymetric_Test
- 通道1配置在PWM2模式- 通道2配置在不对称PWM2模式- 通道3配置在PWM2模式- 通道4配置在不对称PWM2模式- 计数器模式是中心对齐模式
通道1,通道3输出波形:
通道2,通道4输出波形:

2.PWMA_Combined_Test
- 通道1配置在组合模式2- 通道2配置在PWM模式2- 通道3配置在组合模式2- 通道4配置在PWM模式1- 计数器模式是边沿对齐模式
通道1,通道2输出波形:

- 通道1配置在组合模式1- 通道2配置在PWM模式1- 通道3配置在组合模式2- 通道4配置在PWM模式2- 计数器模式是边沿对齐模式
通道1,通道2输出波形:

- 通道1配置在PWM模式1- 通道2配置在不对称模式1- 通道3配置在PWM模式1- 通道4配置在不对称模式1- 计数器模式是中心对齐模式,向下计数
通道1,通道3输出波形:
通道2,通道4输出波形:

3.PWMA_Combined 3-phase_Test
- 通道1配置在PWM模式1- 通道2配置在PWM模式1- 通道3配置在PWM模式1- 通道4冻结- 通道1、2、3分别输出和通道5的逻辑与运算结果- 计数器模式是中心对齐模式,向下计数
通道1,通道2输出波形:
通道1,通道3输出波形:

参考例程:

乘风飞扬 发表于 2024-1-3 16:38:06

STC8H2K08U-45MHz-TSSOP20/SOP16
低功耗,24位定时器 T11 应用, 可以省电模式唤醒

参数定义:
#define MAIN_Fosc      11059200UL
#define T11MS12T         (65536 - MAIN_Fosc / 12 / 1000)
#define T11MS1T          (65536 - MAIN_Fosc / 1000)
中断函数:
void tm11isr() interrupt 13 //借用13号中断向量地址,在isr.asm进行中断映射
{
//    T11CR &= ~0x01;   //清中断标志T11IF,进中断时硬件自动清除
    P10 = ~P10;
}
定时器(12T)模式:
    //定时器(12T)
    T11CR = 0x00;       //做定时器,关闭时钟输出,12T模式,系统时钟做时钟源
    T11PS = 0;          //分频系数:(T11PS+1)分频
    T11L = T11MS12T;
    T11H = T11MS12T >> 8;
    T11CR |= 0x82;      //定时器11开始计数,允许中断
    EA = 1;
定时器(1T)模式:
    //定时器(1T)
    T11CR = 0x10;       //做定时器,关闭时钟输出,1T模式,系统时钟做时钟源
    T11PS = 0;          //分频系数:(T11PS+1)分频
    T11L = T11MS1T;
    T11H = T11MS1T >> 8;
    T11CR |= 0x82;      //定时器11开始计数,允许中断
    EA = 1;
计数器模式:
    //计数模式 - T11脚(P14)输入脉冲计数
    T11CR = 0x50;       //做计数器,关闭时钟输出,1T模式,系统时钟做时钟源
    T11PS = 0;          //分频系数:(T11PS+1)分频
    T11L = 0xff;
    T11H = 0xff;
    T11CR |= 0x82;      //定时器11开始计数,允许中断
    EA = 1;
选择时钟源:
    //选择时钟源
//    T11CR = 0x10;       //做定时器,关闭时钟输出,1T模式,系统时钟做时钟源
    T11CR = 0x1c;       //做定时器,关闭时钟输出,1T模式,内部低速IRC做时钟源(自动启动内部低速IRC)
//    T11CR = 0x18;       //做定时器,关闭时钟输出,1T模式,外部32K晶振做时钟源
    T11PS = 0;          //分频系数:(T11PS+1)分频
    T11L = T11MS1T;
    T11H = T11MS1T >> 8;
    T11CR |= 0x82;      //定时器11开始计数,允许中断
    EA = 1;

如果使用外部32K晶振做时钟源需要提前启动外部32K晶振:
    X32KCR = 0x80 + 0x40;   //启动外部32K晶振, 低增益+0x00, 高增益+0x40.
    while (!(X32KCR & 1));//等待时钟稳定
参考程序:

乘风飞扬 发表于 2024-1-10 09:41:44

本帖最后由 乘风飞扬 于 2024-3-22 15:56 编辑

STC8H2K08U串口超时中断演示例程

串口1超时中断寄存器配置:
    UR1TOCR = 0xC0; //开启超时中断,SCALE(bit5) = 0:使用波特率bit时钟周期; 1:使用系统时钟周期
    UR1TOTL = 0x80; //设置超时时间:128个位时钟周期=(1000000/115200)*128us
    UR1TOTH = 0x00;
    UR1TOTE = 0x00; //写完TE超时时间才会生效
串口2超时中断寄存器配置:
    UR2TOCR = 0xE0; //开启超时中断,SCALE(bit5) = 0:使用波特率bit时钟周期; 1:使用系统时钟周期
    UR2TOTL = 0xE0; //0xABE0 = 44000, 超时时间 = 系统时钟周期 * 44000
    UR2TOTH = 0xAB;
    UR2TOTE = 0x00; //写完TE超时时间才会生效
串口1中断函数处理:
void UART1_int (void) interrupt 4
{
    if(RI)
    {
      RI = 0;
      RX1_Buffer = SBUF;
      if(++RX1_Cnt >= UART1_BUF_LENGTH)   RX1_Cnt = 0;
    }

    if(TI)
    {
      TI = 0;
      B_TX1_Busy = 0;
    }

    if(UR1TOSR & 0x01)//判定是否产生超时中断
    {
//      P37 = !P37;
      B_RX1_OK = 1;
      UR1TOSR = 0x80; //设置 RTOCF 清除超时标志位 TOIF
    }
}
串口2中断函数处理:
void UART2_int (void) interrupt 8
{
    if((S2CON & 1) != 0)
    {
      S2CON &= ~1;    //Clear Rx flag
      RX2_Buffer = S2BUF;
      if(++RX2_Cnt >= UART2_BUF_LENGTH)   RX2_Cnt = 0;
    }

    if((S2CON & 2) != 0)
    {
      S2CON &= ~2;    //Clear Tx flag
      B_TX2_Busy = 0;
    }

    if(UR2TOSR & 0x01)//判定是否产生超时中断
    {
//      P36 = !P36;
      B_RX2_OK = 1;
      UR2TOSR = 0x80; //设置 RTOCF 清除超时标志位 TOIF
    }
}
参考例程:

乘风飞扬 发表于 2024-1-11 17:57:36

STC8H2K08U串口接收硬件奇偶校验演示例程

注:STC8H2K08U-A版本-大量生产的版本,
===新增 串口接收有硬件奇偶校验,
===串口发送的硬件奇偶校验位自动产生,暂时没有,需要软件处理,后续B版本再增加这个。

通过定义使能奇偶校验:
#define NONE_PARITY   0       //无校验
#define ODD_PARITY      1       //奇校验
#define EVEN_PARITY   2       //偶校验

#define PARITYBIT       ODD_PARITY//定义校验位
串口1硬件奇偶校验寄存器配置:
#if (PARITYBIT == NONE_PARITY)
    USARTCR2 = 0x00;    //禁止硬件产生奇偶校验
#elif (PARITYBIT == EVEN_PARITY)
    //串口1(模式3:可变波特率9位数据)
    SCON |= 0xc0;
    USARTCR2 = 0x04;    //使能硬件产生偶校验
#elif (PARITYBIT == ODD_PARITY)
    //串口1(模式3:可变波特率9位数据)
    SCON |= 0xc0;
    USARTCR2 = 0x06;    //使能硬件产生奇校验
#endif
串口2硬件奇偶校验寄存器配置:
#if (PARITYBIT == NONE_PARITY)
    USART2CR2 = 0x00;    //禁止硬件产生奇偶校验
#elif (PARITYBIT == EVEN_PARITY)
    //串口2(模式1:可变波特率9位数据)
    S2CON |= 0x80;
    USART2CR2 = 0x04;    //使能硬件产生偶校验
#elif (PARITYBIT == ODD_PARITY)
    //串口2(模式1:可变波特率9位数据)
    S2CON |= 0x80;
    USART2CR2 = 0x06;    //使能硬件产生奇校验
#endif
参考例程:


神农鼎 发表于 2023-12-27 15:52:47




深圳国芯人工智能有限公司-工具软件 (stcai.com)















神农鼎 发表于 2023-12-27 15:55:25


2023/12/28, 测试最新通报:
===STC8H2K08U的USB测试正常稳定






神农鼎 发表于 2023-12-27 15:56:22

144MHz-16位高级PWM新增硬件移相功能


神农鼎 发表于 2023-12-27 15:56:36

新增强的的 T11















LAOXU 发表于 2023-12-27 17:49:37

什么时候出样片 ?

春节后吗 ?

神农鼎 发表于 2023-12-27 17:51:41

LAOXU 发表于 2023-12-27 17:49
什么时候出样片 ?

春节后吗 ?
已开始销售:










样片 2023/12/27 回来了
大家先用兼容的 STC8H8K64U设计


2023/12/28, 测试最新通报:
===STC8H2K08U的USB测试正常稳定


2024/1/2, 测试最新通报:
===STC8H2K08U的PWM新增硬件移相功能测试正常





linghu886 发表于 2023-12-27 18:14:36

参数挺不错的。看看样品和具体的测试结果,替代STC8H1K08/STC8H1K08T 应该还是很不错的。

神农鼎 发表于 2023-12-27 18:23:31

linghu886 发表于 2023-12-27 18:14
参数挺不错的。看看样品和具体的测试结果,替代STC8H1K08/STC8H1K08T 应该还是很不错的。 ...
STC8H1K08T-33I-TSSOP20/SOP16 是触摸按键 MCU, 12位 ADC
STC8H1K08-36I-TSSOP20/SOP16   是通用型 MCU
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 0.99元USB-STC8H2K08U,144MHz-PWM硬件移相,51全面进入USB时代