打印
[通用8051核FLASH系列]

HC89S003F4测试心得(一) : 看看HC89S003和市面上的003的异同

[复制链接]
6317|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Harvard|  楼主 | 2018-3-31 22:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 芯圣电子官方QQ 于 2023-7-20 13:03 编辑

HC89S003F4测试心得(一) : 看看HC89S003和市面上的003的异同



     首先,感谢21ic 感谢芯圣提供的这次机会. 一直在用新唐的N76E003进行一些对体积和引脚都有些限制的产品进行应用. 并没用过st的 8s003.因为对stm8的内核不熟悉, 一直使用的是新唐的M0内核.后来新唐出了个76E003 ,感觉很不错. 1元多的价格.丰富的资源. 后来才听说是pin2pin 和stm8s003 对位的.

     两者的大致对比如下:(借用论坛的帖子)

                   N76E003                                                                                   STM8S003F3

内核8051 (1T)ST自有,哈佛架构,3-stage pipeline
工作电压2.4~5.5V2.95~5.5V
主频16M Hz(1T)16M Hz
APROM Flash(Byte)18K8K 100次烧写
SRAM1k1k
DATA Flash/EEPROM0~18k(与aprom共享)EEPROM 128Byte 100K次
时钟源3种,Oscillator,HIRC,LIRC3种,Crystal,HIRC,LIRC
外部高速晶振
必须有源时钟源(Oscillator)1-16 MHz
外部低速晶振
内部高速时钟
16 MHz ±1% @ 25℃
16 MHz ±2% @ -40~105℃
16 MHz ±5% @ -40~85℃
内部低速时钟
10 kHz(±50%)128 kHz
定时器3*16-bit + 1*16-bit(for PWM)2*16-bit, 1*8-bit
GPIO17+1 输入口(复位脚),最多同时1端口8路IO口中断.16,16路硬件IO中断
PWM6Chs*16bit : 一个16bit的定时器用于频率设置,每个通道都可以单独设置占空比3 CHs
ADC8Ch, 12-bit, 400 ksps, 单个模式, 带隙电压需校准*5Ch, 10-bit, 428 kHz/14 clocks,
单个/连续模式
比较器
CRC
UART2 Uart1Uart 1Mbps, 兼容SC,IrDA,LIN
SPI8 Mbit/s8 Mbit/s
I2C400Kbit/s400Kbit/s
掉电模式电流〈 5 uA6 uA
唤醒时间30us54us
EFT(电快速瞬变脉冲群)4.4KV
ESD(静电释放)ESD: HBM/8KV, MM/400V  ESD:HBM/4KV,CDM/1KV
ICE调试接口两线+nReset一线
封装TSSOP20/QFN20TSSOP20/UFQFN20(3*3)


      对比,在伯仲之间,各有擅长,总的来说新唐003 ,抗干扰更强,价格ok, 串口多 ,flash大,  还有个比较喜欢的就是51内核. 所以个人也比较倾向于用51内核.简单.易用,稳定,强大. 那么在2017年底, 新唐003也开始有所热捧的基础上,我们迎来了HC89S003, 称得上是国产MCU的盛宴中,一个耀眼新品. 简单看,是一款不错的, 多一个选择,长远看,是吹响国产MCU的进攻崛起的号角.


      于是,本文的目地也在于此, 比一比和新唐003,对比, 有那些特点. 官方有详细的替代stm8s003的说明,

再经过学习对比看到了






    再继续对比电气特性:    HC89S003和新唐003 一样,充分发挥了2.0-5.5V的宽范围优势,
    休眠也达到标准的:7uA
    工作温度比新唐003略低,85度和st持平;
    ESD:4KV
    EFT:达到主流水准: 4000V


    由此,我们可以看出HC89S003满足了我们期待st,替代新唐的要求,51内核,方便的bsp代码
相信后续我移植新唐003程序过来的时候,应该比较容易,而且,还支持了客户对外部晶振的需求.最厉害的,引脚支持全映射.还有5个定时器,强于新唐003.11+2的12bitadc. 还有个惊喜,内部HIRC居然是32MHZ的
    从官网下载基于就寄存器操作的.


HC89S003F4 Register Example V1.0.1.0.rar (1.94 MB)

   确实是用心的国产MCU,文档是中文的,标签做的很美好.而且很多例程文件夹也是中文的.

    体验了一个GPIO文件下的端口设置例程:
#define ALLOCATE_EXTERN
#include "HC89S003F4.h"

/***************************************************************************************
  * @实现效果        设置各个IO口的工作状态
***************************************************************************************/
int main()
{
/************************************系统初始化****************************************/
        WDTCCR = 0x00;                                                //关闭看门狗
        while((CLKCON&0x20)!=0x20);                        //等待内部高频RC起振
        CLKSWR = 0x51;                                                //选择内部高频时钟为主时钟,内部高频RC2分频,Fosc=16MHz
        while((CLKSWR&0xC0)!=0x40);                        //等待内部高频切换完成
        CLKDIV = 0x01;                                                //Fosc1分频得到Fcpu,Fcpu=16MHz
/***********************************设置IO口模式***************************************/
        P0M1 = P0M1&0xF0|0x00;                                //P02设置为输入(无SMT)
        P0M0 = P0M0&0x0F|0x10;                                //P01设置为带下拉输入(无SMT)
        P0M0 = P0M0&0xF0|0x02;                                //P00设置为带上拉输入(无SMT)
        P1M0 = P1M0&0x0F|0x30;                                //P11设置为带模拟输入
        P2M0 = P2M0&0xF0|0x04;                                //P20设置为输入(SMT)
        P0M2 = P0M2&0x0F|0x50;                                //P05设置为带下拉输入(SMT)
        P0M2 = P0M2&0xF0|0x06;                                //P04设置为带上拉输入(SMT)
        P0M3 = P0M3&0x0F|0x80;                                //P07设置为推挽输出
        P0M3 = P0M3&0xF0|0x09;                                //P06设置为开漏输出
        P2M1 = P2M1&0xF0|0x0A;                                //P22设置为带上拉开漏输出
        while(1);
    return 0;
}

下载,调试,运行, 调试器很棒,运行很流畅,一次性,仿真成功, 板载的led顺利点亮;


沙发
bentuzi| | 2018-4-3 15:44 | 只看该作者
楼主写的很详细,点赞

使用特权

评论回复
板凳
表白楼主,有需要+芯圣官方qq:3198093779

使用特权

评论回复
地板
Harvard|  楼主 | 2018-4-3 22:14 | 只看该作者
谢谢 一起探讨 很有意思的芯圣003

使用特权

评论回复
5
beiC| | 2018-4-19 09:57 | 只看该作者
宇宙最强?有坑吗?

使用特权

评论回复
6
magicoctoy| | 2018-4-24 16:06 | 只看该作者
楼主的对比很详细哈,赞一个!

使用特权

评论回复
7
Bruing| | 2018-4-26 22:24 | 只看该作者
支持下,分析的很详细。市面上据说还有很多据说可以兼容003芯片的1T 8051芯片,但是都没有公开芯片的。

使用特权

评论回复
8
pcf00| | 2018-5-11 12:10 | 只看该作者
用户体验好,才是好。。。。

使用特权

评论回复
9
志在千里| | 2018-5-16 12:03 | 只看该作者
我配置P00和P01作为按键的带上拉输入口,P0M0 = P1M0 & 0xF0 | 0x06; P0M0 = P0M0 & 0x0F | 0x60;,按键按下IO口有低电平,怎么程序检测不到低电平,我做同样的操作设置P10,就可以,这是问为什么?单片机型号HC89S003F4

使用特权

评论回复
10
flybluefox| | 2018-5-17 08:34 | 只看该作者
志在千里 发表于 2018-5-16 12:03
我配置P00和P01作为按键的带上拉输入口,P0M0 = P1M0 & 0xF0 | 0x06; P0M0 = P0M0 & 0x0F | 0x60;,按键按 ...

P0M0 = P1M0 & 0xF0 | 0x06    这句程序写错了!

使用特权

评论回复
11
格安电子| | 2018-8-14 14:39 | 只看该作者
下降沿触发咋写?



使用特权

评论回复
12
1123506| | 2022-3-17 16:01 | 只看该作者
芯圣一级代理商 出芯圣ic  价格优势  需要联系企鹅号  2914373240

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

74

主题

1729

帖子

21

粉丝