0.99元USB-8H2K08U,144MHz-PWM硬件移相,51全面进入USB时代
8H2K32U-45MHz-LQFP32/TSSOP28 的 USB 型 MCU 已开始供货RMB1.3 的 USB !
8H2K32U-45MHz-LQFP32,TSSOP28/20,SOP16, RMB1.3/1.2
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的全部数字功能可以交换
8H2K32U要让51成为永恒的经典:钻石恒久远,51永流传
======================================================================
RMB0.99 的 USB, 8H2K08U-45MHz-TSSOP20/SOP16,大批量现货
51世界火热的夏天全面来临 全面 进入 USB 时代 !
硬件USB 支持 仿真/下载, RTC 实时时钟, 年/月/日/时/分/秒
真12位ADC, 144MHz-16位高级PWM新增硬件移相功能
串口1/串口2:
===都支持串口接收硬件超时侦测
===都支持帧错误数据检测和自动地址识别
T11,强大的24位低功耗定时器/系统定时器,支持低功耗唤醒
P1.2口在P5.4口上共享,P1.0/P1.1的全部数字功能可以交换
8H2K08U-45MHZ-TSSOP20/SOP16,USB, RMB 0.99
8H2K08U要让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
新年快乐 !32位8051世界 向辉煌的 2024 迈进 !
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)
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输出波形:
参考例程:
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-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
}
}
参考例程:
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
参考例程:
深圳国芯人工智能有限公司-工具软件 (stcai.com)
2023/12/28, 测试最新通报:
===STC8H2K08U的USB测试正常稳定
144MHz-16位高级PWM新增硬件移相功能
新增强的的 T11
什么时候出样片 ?
春节后吗 ?
LAOXU 发表于 2023-12-27 17:49
什么时候出样片 ?
春节后吗 ?
已开始销售:
样片 2023/12/27 回来了
大家先用兼容的 STC8H8K64U设计
2023/12/28, 测试最新通报:
===STC8H2K08U的USB测试正常稳定
2024/1/2, 测试最新通报:
===STC8H2K08U的PWM新增硬件移相功能测试正常
参数挺不错的。看看样品和具体的测试结果,替代STC8H1K08/STC8H1K08T 应该还是很不错的。 linghu886 发表于 2023-12-27 18:14
参数挺不错的。看看样品和具体的测试结果,替代STC8H1K08/STC8H1K08T 应该还是很不错的。 ...
STC8H1K08T-33I-TSSOP20/SOP16 是触摸按键 MCU, 12位 ADC
STC8H1K08-36I-TSSOP20/SOP16 是通用型 MCU