搜索
bottom↓
回复: 123

用了一次N76E003,和STM8S003相比,说下我的感受

  [复制链接]

出0入4汤圆

发表于 2017-7-24 18:12:13 | 显示全部楼层 |阅读模式
本帖最后由 zqf441775525 于 2017-7-25 16:35 编辑

在一个小项目上用了一次N76E003,因为N76E003是和STM8S003同价位的,就只比较这2个片子。
跟STM8S003相比起来各有千秋,就Flash大小方面来说,18K,比STM8S003大多了,Demo程序也很全。但是和STM8S003相比有以下缺点:

1、外部时钟引脚,只有OSC_IN,没有OSC_OUT,那么如果使用外部OSC,估计只能使用有源晶振。
2、GPIO可以设置成准双向口,没有上拉输入模式,而且,如果要使用GPIO的外部中断,还必须把GPIO设置成输入模式,不能设置成“准双向口”,这样问题来了:如果要使用外部中断,那么这个中断脚必须要加外部上拉电阻。
3、使用NU-LINK在线调试,下载速度很慢,我用的keil9.1,大约7K的程序,点击完“Debug”按钮以后,程序进行“擦除”,“下载”,“校验”等操作,要差不多20S才能搞定,进入Debug界面。相同程序量的STM8,用IAR,大约2S就可以进入调试界面了。
4、虽说比STM8多一个IO口,但其实是多了半个IO口,RST引脚作用IO口使用的时候,只能作为输入口。而且,NULINK调试需要3根线(SCLK,SDA,RST),STM8调试只需要2根线(RST,SWIM),无形之中就比STM8少一个IO口了。就调试方便性来说,跟STM8还差的远。
5、SPI接口,N76E003没有“单线仅输出”模式,也就是说,只要用了硬件SPI,SCK、MOSI、MISO这3个脚就必须复用成SPI引脚,在有些场合(比如要驱动SPI显示屏,只需要SCK和MOSI,不需要MISO),那么MISO这个引脚就浪费掉了。


以上5点缺陷也许有我自身的原因,没有设置好,或者没有找到设置的地方。请用过这个片子的来说说,交流一下。

编辑原因:添加以下说明
说明:上述第2点,关于GPIO的中断,设置成准双向口后,可以进入中断,是我之前测试不全面,不是N76E003的缺陷。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2017-7-24 18:42:25 | 显示全部楼层
就一点能打动我
双串口

出0入0汤圆

发表于 2017-7-24 19:06:52 | 显示全部楼层
估计是为了规避知识产权,不敢完全一样

出0入618汤圆

发表于 2017-7-24 19:55:10 | 显示全部楼层
STM8从来都只用SWIM一根线……

出0入0汤圆

发表于 2017-7-24 21:27:46 | 显示全部楼层
楼主,GPIO使用外部中断,不能设置以准双向口,有这情况?不是设置为准双向,输出高电平为弱上拉。下载速度慢应该跟你用的NULINK有关系。

出0入4汤圆

 楼主| 发表于 2017-7-24 22:17:50 来自手机 | 显示全部楼层
wmm20031015 发表于 2017-7-24 21:27
楼主,GPIO使用外部中断,不能设置以准双向口,有这情况?不是设置为准双向,输出高电平为弱上拉。下载速度 ...

是的,如果设置成准双向口,就进不了中断。

兄弟用过NULINK吗?确定是我的NULINK有问题?如果是的话,我再买一个试试。

出0入0汤圆

发表于 2017-7-25 00:07:01 | 显示全部楼层
zqf441775525 发表于 2017-7-24 22:17
是的,如果设置成准双向口,就进不了中断。

兄弟用过NULINK吗?确定是我的NULINK有问题?如果是的话,我 ...

手上没有N76E003的芯片,拿N76E885的DEMO板实测,设置成准双向,外部中断0、1都可以正常进入,9K的程序仿真,从点按键开始到进入仿真模式停在第一条语句,时间不超过5秒。

N76E885与N76E003有些差异,这里的INT0、INT1是在P00、P01引脚,与仿真口复用,所以烧写后要复位仿真器,释放仿真器的输出0电平,P00、P01才会是高电平。

/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2015 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Nuvoton Technoledge Corp.
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//  Date   : Jan/07/2015
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: N76E885 I/O Interrupt demo code
//***********************************************************************************************************

#include <stdio.h>
#include "N76E885.h"
#include "Version.h"
#include "Typedef.h"
#include "Define.h"
#include "SFR_Macro.h"
#include "Common.h"
#include "Delay.h"
#include "font.h"
/*
//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
//
//<e0> System Clock Source Configuration
// <o1> System Clock Source Selection
//      <0=> 2~25MHz    XTAL
//      <1=> 32.768KHz  XTAL
//      <2=> 22.1184MHz Internal
//      <3=> 10KHz      Internal
//      <4=> OSC-In     External
//</e>
//
//<e2> Clock Divider Configuration
//     <o3.0..7>  System Clock Source Devider <1-255:1>
//                     <i> Fsys = (System Clock Source) / (2 * Devider)
//</e>
//
//<h> Port Interrupt Option
// <o4.0..1> Port Pin Selection <0=> Port0 <1=> Port1  <2=> Port2  <3=> Port3
//  <h> Edge/Level
//      <o4.2> Channel 0,   trigger type selection <0=> Level <1=> Edge
//      <o4.3> Channel 1,   trigger type selection <0=> Level <1=> Edge
//      <o4.4> Channel 2,   trigger type selection <0=> Level <1=> Edge
//      <o4.5> Channel 3,   trigger type selection <0=> Level <1=> Edge
//      <o4.6> Channel 5,4, trigger type selection <0=> Level <1=> Edge
//      <o4.7> Channel 7,6, trigger type selection <0=> Level <1=> Edge
//  </h>
//  <h>  Falling/Level
//      <q5.0> Channel 0, Enabled level/falling edge detect.
//      <q5.1> Channel 1, Enabled level/falling edge detect.
//      <q5.2> Channel 2, Enabled level/falling edge detect.
//      <q5.3> Channel 3, Enabled level/falling edge detect.
//      <q5.4> Channel 4, Enabled level/falling edge detect.
//      <q5.5> Channel 5, Enabled level/falling edge detect.
//      <q5.6> Channel 6, Enabled level/falling edge detect.
//      <q5.7> Channel 7, Enabled level/falling edge detect.
//  </h>
//  <h>  Rising/Level
//      <q6.0> Channel 0, Enabled level/rising edge detect.
//      <q6.1> Channel 1, Enabled level/rising edge detect.
//      <q6.2> Channel 2, Enabled level/rising edge detect.
//      <q6.3> Channel 3, Enabled level/rising edge detect.
//      <q6.4> Channel 4, Enabled level/rising edge detect.
//      <q6.5> Channel 5, Enabled level/rising edge detect.
//      <q6.6> Channel 6, Enabled level/rising edge detect.
//      <q6.7> Channel 7, Enabled level/rising edge detect.
//  </h>
//</h>
//
//-------- <<< end of configuration section >>> ------------------------------
*/

#define SYS_CLK_EN      0
#define SYS_SEL         2
#define SYS_DIV_EN      0                   //0: Fsys=Fosc, 1: Fsys = Fosc/(2*CKDIV)
#define SYS_DIV         1
#define PICON_VAL       0xFC|0x03           //Pin Interrupt Control
#define PINEN_VAL       0xFF                //Pin Interrupt Negative Polarity Enable.
#define PIPEN_VAL       0xFF                //Pin Interrupt Positive Polarity Enable.
bit BIT_TMP;
/*----------------------------------------------------------------------------
  Check the register settings
*----------------------------------------------------------------------------*/
#define CHECK_RANGE(val, min, max)          ((val < min) || (val > max))
#define CHECK_RSVD(val, mask)               (val & mask)
/*
#if (PICON_VAL&0x03) == 0x01  //Port1, only P1[2:0] available
    #if CHECK_RSVD(PINEN_VAL, ~0x07)
        #error "Port1[2:0] Interrup Pin Select Error"
    #elif CHECK_RSVD(PIPEN_VAL, ~0x07)
        #error "Port1[2:0] Interrup Pin Select Error"
    #endif
#endif

#if (PICON_VAL&0x03) == 0x02  //Port2, only P2[6:0] available
    #if CHECK_RSVD(PINEN_VAL, ~0x7F)
        #error "Port2[6:0] Interrup Pin Select Error"
    #elif CHECK_RSVD(PIPEN_VAL, ~0x7F)
        #error "Port2[6:0] Interrup Pin Select Error"
    #endif
#endif
*/
/******************************************************************************
* FUNCTION_PURPOSE: I/O Pin interrupt Service Routine
******************************************************************************/
void PinInterrupt_ISR (void) interrupt 7
{
    unsigned char tPIF;
        tPIF=PIF;
        printf("PIF=0x%x\r\n",tPIF);
        PIF = 0x00;                             //clear interrupt flag
   
    #if (PICON_VAL&0x03) == 0x00            //Port0 are interrupt pin
        P30 = ~P30;
    #endif
   
    #if (PICON_VAL&0x03) == 0x01            //Port1 are interrupt pin
        P30 = ~P30;
    #endif
   
    #if (PICON_VAL&0x03) == 0x02            //Port2 are interrupt pin
        P30 = ~P30;
    #endif
   
    #if (PICON_VAL&0x03) == 0x03            //Port3 are interrupt pin
        //P00 = ~P00;
    #endif
}

void EX0_ISR (void) interrupt 0
{
        printf("EX0!\n\r");
}

void EX1_ISR (void) interrupt 2
{
        printf("EX1!\n\r");
}
/******************************************************************************
The main C function.  Program execution starts
here after stack initialization.
******************************************************************************/
void main (void)
{
    /* Note
       MCU power on system clock is HIRC (22.1184MHz), so Fsys = 22.1184MHz
    */
   
    Set_All_GPIO_Quasi_Mode();
    InitialUART0_Timer1_Type1(9600);             /* 9600 Baud Rate*/

    Show_FW_Version_Number_To_PC();

    printf ("\n*===================================================================");
    printf ("\n*  Name: N76E885 Pins Interrupt Demo Code.");
    printf ("\n*===================================================================\n");
        
    /* Change system closk source */
    #if SYS_CLK_EN == 1
        #if   SYS_SEL == 0
            System_Clock_Select(E_HXTEN);   //Fosc = 2~25MHz XTAL
        #elif SYS_SEL == 1
            System_Clock_Select(E_LXTEN);   //Fosc = 32.768KHz XTAL
        #elif SYS_SEL == 2
            System_Clock_Select(E_HIRCEN);  //Fosc = 22.1184MHz Internal RC
        #elif SYS_SEL == 3
            System_Clock_Select(E_LIRCEN);  //Fosc = 10KHz Internal RC
        #elif SYS_SEL == 4
            System_Clock_Select(E_OSCEN);   //Fosc = OSC-In External OSC
        #endif
    #endif
   
    #if SYS_DIV_EN == 1
        CKDIV = SYS_DIV;                        //Fsys = Fosc / (2* CLKDIV) = Fcpu
    #endif
   
    P0 = 0xFF;
    P1 = 0x07;
    P2 = 0x7F;
    P3 = 0xFF;
    TCON|=0x05;
    PICON = PICON_VAL;
    PINEN = PINEN_VAL;
    PIPEN = PIPEN_VAL;
   
    set_EPI;
        IE |= 0x05;
    EA = 1;
       
   
    while(1)
    {
        set_PD;                                 //Enter Power Down
    }
}


出0入0汤圆

发表于 2017-7-25 01:25:04 来自手机 | 显示全部楼层
003的例程AD有bug。运行了采集不到AD值

出0入8汤圆

发表于 2017-7-25 08:37:35 | 显示全部楼层
gzhuli 发表于 2017-7-24 19:55
STM8从来都只用SWIM一根线……

多少得接个地吧

出0入0汤圆

发表于 2017-7-25 08:41:35 | 显示全部楼层
准备用N76E616,谢谢楼主!

出0入0汤圆

发表于 2017-7-25 08:49:36 | 显示全部楼层
我用试外部中断时用准双向口不能触发,就扔到一边不用了。不知是不是楼主所说原因

出0入4汤圆

 楼主| 发表于 2017-7-25 08:58:07 来自手机 | 显示全部楼层
wmm20031015 发表于 2017-7-25 00:07
手上没有N76E003的芯片,拿N76E885的DEMO板实测,设置成准双向,外部中断0、1都可以正常进入,9K的程序仿 ...

大神可否测试一下GPIO的中断?不是中断0和中断1。

出0入0汤圆

发表于 2017-7-25 09:00:43 | 显示全部楼层
GPIO的中断我也想看一下高人有全面一些的测试

出0入4汤圆

 楼主| 发表于 2017-7-25 09:03:39 来自手机 | 显示全部楼层
cycisok 发表于 2017-7-25 08:49
我用试外部中断时用准双向口不能触发,就扔到一边不用了。不知是不是楼主所说原因 ...

应该是,我捣鼓了好长时间,就是不行

出0入0汤圆

发表于 2017-7-25 09:09:19 | 显示全部楼层
我没弄上拉,输入也试过不能触发中断,准双向也不行,我当时以为是我改例程哪没对就先不用扔一边。

出0入0汤圆

发表于 2017-7-25 09:13:37 | 显示全部楼层
他们的说明文档对寄存器的说明也有点混乱,总觉得这东西象个半成品一样。

出0入0汤圆

发表于 2017-7-25 09:13:48 | 显示全部楼层
zqf441775525 发表于 2017-7-24 22:17
是的,如果设置成准双向口,就进不了中断。

兄弟用过NULINK吗?确定是我的NULINK有问题?如果是的话,我 ...

更新下NULINK的固件,以前用M0时也遇到过这情况。与固件有关。

出0入4汤圆

 楼主| 发表于 2017-7-25 09:29:32 | 显示全部楼层
cycisok 发表于 2017-7-25 09:09
我没弄上拉,输入也试过不能触发中断,准双向也不行,我当时以为是我改例程哪没对就先不用扔一边。 ...

输入状态只有浮空输入,此时引脚电平是低电平,就没法触发中断了。

出0入0汤圆

发表于 2017-7-25 09:39:19 | 显示全部楼层
最吸引人的是18k,12ADC

出0入4汤圆

 楼主| 发表于 2017-7-25 09:45:00 | 显示全部楼层
lin28 发表于 2017-7-25 09:39
最吸引人的是18k,12ADC

是的,ADC还有个内部带隙基准,1.22V,正负0.05V。

出0入4汤圆

 楼主| 发表于 2017-7-25 11:05:19 | 显示全部楼层
lianglee 发表于 2017-7-25 10:15
我也正在研究哈。看来是用不起来的了。

还是有一定的优势的,比如Flash空间大,就可以多存储一些字模,在做LCD菜单的时候比较适用。

出0入0汤圆

发表于 2017-7-25 11:21:25 | 显示全部楼层
zqf441775525 发表于 2017-7-25 09:45
是的,ADC还有个内部带隙基准,1.22V,正负0.05V。

STM8系列也有一个1.22V的基准,读ADC7看看吧

出0入0汤圆

发表于 2017-7-25 15:11:40 | 显示全部楼层
zqf441775525 发表于 2017-7-25 08:58
大神可否测试一下GPIO的中断?不是中断0和中断1。

GPIO中断肯定没问题啊,测过后才测外部中断的,你把贴出来的main.c里中断函数复制到76E003里,替换中断函数,发生中断会打印出中断标志,串口输出信息可以看到是哪个IO发生了中断。

出0入4汤圆

 楼主| 发表于 2017-7-25 16:34:02 | 显示全部楼层
wmm20031015 发表于 2017-7-25 15:11
GPIO中断肯定没问题啊,测过后才测外部中断的,你把贴出来的main.c里中断函数复制到76E003里,替换中断函 ...

嗯嗯,测试了下,设置成准双向口模式确实可以中断,多谢大侠!

我得赶快修改下帖子,怕给别人造成误解。

出0入4汤圆

 楼主| 发表于 2017-8-12 12:03:26 | 显示全部楼层
继续说N76E003的特性:

1、N76E003的ADC线性不是太好,电压小于1.8V的时候还可以,大于1.8V就呵呵了,能偏差10%。
2、N76E003可以输出6路PWM,但是这6路PWM的输出频率必须是一样的,不能单独设置频率。

出0入0汤圆

发表于 2017-8-12 12:46:04 来自手机 | 显示全部楼层
基准不是1.22V吗?还能1.8V输入采样?

出0入0汤圆

发表于 2017-8-12 17:43:01 | 显示全部楼层
稳定性如何?

出0入4汤圆

 楼主| 发表于 2017-8-12 18:09:37 | 显示全部楼层
rootxie 发表于 2017-8-12 12:46
基准不是1.22V吗?还能1.8V输入采样?

它的AD口应该是可以输入0-3.3V吧,只是说内部有一个1.22V的带隙基准

出0入4汤圆

 楼主| 发表于 2017-8-12 18:12:30 | 显示全部楼层

还没具体测试,不发表意见

出0入0汤圆

发表于 2017-8-12 18:31:09 来自手机 | 显示全部楼层
不知道供货怎么样,会不会买不到?这个没记错是新塘的片子吧?

出0入0汤圆

发表于 2017-8-16 17:45:10 | 显示全部楼层
zqf441775525 发表于 2017-8-12 12:03
继续说N76E003的特性:

1、N76E003的ADC线性不是太好,电压小于1.8V的时候还可以,大于1.8V就呵呵了,能偏 ...

ADC线性这么差吗,还正想用这个ic呢,使用过的朋友  多证实下哈

出0入0汤圆

发表于 2017-8-16 23:41:09 | 显示全部楼层
正在看这个mcu。之前用STM8S103,因为要同时用到4个ADC口和1个串口,而STM8S103的其中两个ADC口是和串口管脚复用的,造成了不能同时使用第四个ADC口和串口。

出0入0汤圆

发表于 2017-8-16 23:41:39 | 显示全部楼层
lin28 发表于 2017-8-16 17:45
ADC线性这么差吗,还正想用这个ic呢,使用过的朋友  多证实下哈

同关注ADC性能

出0入4汤圆

 楼主| 发表于 2017-8-17 09:44:22 | 显示全部楼层
lin28 发表于 2017-8-16 17:45
ADC线性这么差吗,还正想用这个ic呢,使用过的朋友  多证实下哈

我这儿只有两片样品,两片的表现都是这样的,其他的没有批量测试

出0入0汤圆

发表于 2017-8-18 02:22:12 | 显示全部楼层
有12位AD,不错的片子

出0入0汤圆

发表于 2017-10-16 12:05:10 | 显示全部楼层
也准备用这个片子,没有特殊要求的话,看样子是可以用的。

出0入0汤圆

发表于 2017-10-16 12:42:45 来自手机 | 显示全部楼层
觉得手册看着不舒服,同一个寄存器经常这里讲一点,剩下的再另一个外设讲

出20入0汤圆

发表于 2017-10-16 19:16:02 | 显示全部楼层
1,ADC的波动比较大,不准确,我使用中如此。

出20入0汤圆

发表于 2017-10-16 19:17:43 | 显示全部楼层
2,下载慢,甚至难以进入调试模式。我有两个U-link,一个原装的,升级后还是慢;一个网上买的,在win7上升级使用后,居然变快了,从几十秒,变称了几秒。

出0入4汤圆

 楼主| 发表于 2017-10-16 20:49:41 | 显示全部楼层
jackman 发表于 2017-10-16 19:17
2,下载慢,甚至难以进入调试模式。我有两个U-link,一个原装的,升级后还是慢;一个网上买的,在win7上升 ...

在WIN7下会这么快?我也升级成WIN7试试,我实在是受不了他这么慢了。

出0入0汤圆

发表于 2017-10-17 08:51:14 | 显示全部楼层
感谢 楼主, 无私分享经验!!! 替代stm8s003的出现好几款引脚基本兼容的51了,,,n76e003、89f003、sc93f003,都可以试试  holtek好像也准备出了

出100入101汤圆

发表于 2017-10-17 09:04:01 来自手机 | 显示全部楼层
这个n76是哪家公司的?

出0入4汤圆

 楼主| 发表于 2017-10-17 10:45:41 | 显示全部楼层
fengyunyu 发表于 2017-10-17 09:04
这个n76是哪家公司的?

新唐


字数补丁

出0入0汤圆

发表于 2017-10-20 23:46:22 | 显示全部楼层
楼主有试过003可以脱机烧录吗?

出0入0汤圆

发表于 2017-11-20 00:37:22 | 显示全部楼层
看来8051还能再“开花”


出0入8汤圆

发表于 2017-11-21 17:16:38 | 显示全部楼层
mmswza 发表于 2017-11-20 00:37
看来8051还能再“开花”

8051  早不知开了多少花了。

出0入0汤圆

发表于 2017-11-23 22:54:02 | 显示全部楼层
kebaojun305 发表于 2017-11-21 17:16
8051  早不知开了多少花了。


嗯,对的,早两年还老有人喊他要完蛋的口号,其实花开更盛了。

出0入0汤圆

发表于 2017-12-7 11:06:34 | 显示全部楼层
我用3.3V供电程序运行正常,用5V供电就不会的程序怎么了,不是可以5V供电吗,是什么情况啊

出0入0汤圆

发表于 2017-12-7 16:25:34 | 显示全部楼层
本帖最后由 qqkanshijie 于 2017-12-7 16:26 编辑

有试过N76E003可以脱机烧录    很方便

出0入0汤圆

发表于 2017-12-13 14:25:48 | 显示全部楼层
zqf441775525 发表于 2017-7-25 11:05
还是有一定的优势的,比如Flash空间大,就可以多存储一些字模,在做LCD菜单的时候比较适用。 ...

STC8 稳定高速12位ADC   IIC、仿真、内置晶振、实时时钟等优势!重点是价格好好好便宜!!!免费送样品以及脱机烧写器。支持国产

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出45入38汤圆

发表于 2017-12-13 14:59:07 | 显示全部楼层
STC8F2K08S2, 1.15   建议楼主试一下,可以联系我 免费送样

出0入4汤圆

 楼主| 发表于 2017-12-13 17:26:10 | 显示全部楼层
国学芯用 发表于 2017-12-13 14:59
STC8F2K08S2, 1.15   建议楼主试一下,可以联系我 免费送样

STC的好久没用过了,这个可以搞搞试试。请问怎么联系呢?

出70入145汤圆

发表于 2017-12-13 17:47:29 来自手机 | 显示全部楼层
国学芯用 发表于 2017-12-13 14:59
STC8F2K08S2, 1.15   建议楼主试一下,可以联系我 免费送样

一元多的stc没adc,没pwm是硬伤

出0入0汤圆

发表于 2017-12-13 17:48:23 | 显示全部楼层
zqf441775525 发表于 2017-12-13 17:26
STC的好久没用过了,这个可以搞搞试试。请问怎么联系呢?

Internal Band-gap不是正负0.05,是1.17~1.3V,大坑来的

出0入4汤圆

 楼主| 发表于 2017-12-13 19:12:07 | 显示全部楼层
eaglelpx 发表于 2017-12-13 17:48
Internal Band-gap不是正负0.05,是1.17~1.3V,大坑来的

嗯,这个也是个坑

出45入38汤圆

发表于 2017-12-14 09:41:21 | 显示全部楼层
hailing 发表于 2017-12-13 17:47
一元多的stc没adc,没pwm是硬伤

STC8F2K08S2     双串口  一个比较器可以检测电源电压       如果一定需要ADC  那就得等等  STC8H04A10    0.7元

出45入38汤圆

发表于 2017-12-14 09:42:18 | 显示全部楼层
zqf441775525 发表于 2017-12-13 17:26
STC的好久没用过了,这个可以搞搞试试。请问怎么联系呢?

电话 0513-55012933  QQ  2379747610  庄伟

出0入4汤圆

 楼主| 发表于 2017-12-19 20:22:53 | 显示全部楼层
国学芯用 发表于 2017-12-14 09:42
电话 0513-55012933  QQ  2379747610  庄伟

已发送加好友申请

出45入38汤圆

发表于 2017-12-20 10:26:55 | 显示全部楼层
hailing 发表于 2017-12-13 17:47
一元多的stc没adc,没pwm是硬伤

STC8F2K08S2  针对于 需要双串口的客户优势很大哦 ,2k的RAM

出45入38汤圆

发表于 2017-12-20 10:27:11 | 显示全部楼层

感谢楼主的支持,我们尽快送样

出0入0汤圆

发表于 2017-12-29 18:12:01 | 显示全部楼层
国学芯用 发表于 2017-12-13 14:59
STC8F2K08S2, 1.15   建议楼主试一下,可以联系我 免费送样

你们的片子只是嘴上便宜,买起来动不动就涨价

出0入0汤圆

发表于 2017-12-30 13:41:59 | 显示全部楼层
zqf441775525 发表于 2017-8-12 12:03
继续说N76E003的特性:

1、N76E003的ADC线性不是太好,电压小于1.8V的时候还可以,大于1.8V就呵呵了,能偏 ...

我正碰上N76E003的ADC测量精度问题。我现在是每隔10ms分别测三路输入的电压值,每个输入连续读16个值后平均。

其中一路是12V输入,经过分压电阻后输入单片机AIN管脚的电压是2.78V,现在测量出来,电压波动得有1V,难道要把输入AIN管脚的电压调低到1.8V以下?

出0入0汤圆

发表于 2017-12-30 19:34:09 | 显示全部楼层
试过,GPIO准双向口就是上拉输入模式。默认检测到高电平。NU-LINK在线调试,下载速度慢。可能是设置问题,我有两个项目,一个快,一个慢,大小差不多,不知怎么回事。

出45入38汤圆

发表于 2018-1-2 09:13:04 | 显示全部楼层
szkulak 发表于 2017-12-29 18:12
你们的片子只是嘴上便宜,买起来动不动就涨价

公开报价的哦    明码标价,童叟无欺

出0入0汤圆

发表于 2018-1-3 09:22:51 | 显示全部楼层
国学芯用 发表于 2017-12-14 09:41
STC8F2K08S2     双串口  一个比较器可以检测电源电压       如果一定需要ADC  那就得等等  STC8H04A10   ...

现在STC的IC取名太长了,记不住,种类繁多。要严重改改。

出0入0汤圆

发表于 2018-1-3 09:25:28 | 显示全部楼层
虽然早已不用STC的片子,现在主用N76E003。但是见到STC片子的型号十来个字母组合头大。

出0入0汤圆

发表于 2018-1-4 01:17:19 | 显示全部楼层
同碰到ADC不准的问题,把进入芯片的电压调到1.8v以下也波动大,各位是怎么解决的?

出0入4汤圆

 楼主| 发表于 2018-1-4 13:24:13 | 显示全部楼层
picobox 发表于 2018-1-4 01:17
同碰到ADC不准的问题,把进入芯片的电压调到1.8v以下也波动大,各位是怎么解决的? ...

舍弃这个片子

出0入0汤圆

发表于 2018-1-5 22:09:25 | 显示全部楼层
本帖最后由 freshuman 于 2018-1-5 22:11 编辑

N76E003内时钟误差很大(标16M,实际16.25M),比之前用的笙泉的IC内时钟(标12M 实际12.06M)差一个级。

出0入0汤圆

发表于 2018-1-6 20:27:55 | 显示全部楼层
picobox 发表于 2018-1-4 01:17
同碰到ADC不准的问题,把进入芯片的电压调到1.8v以下也波动大,各位是怎么解决的? ...

把时钟分频寄存器设置为1,2分频后,ADC就差不多了,没有ADC时钟分频设置是个大坑啊,

出0入0汤圆

发表于 2018-1-6 23:24:35 | 显示全部楼层
wmm20031015 发表于 2018-1-6 20:27
把时钟分频寄存器设置为1,2分频后,ADC就差不多了,没有ADC时钟分频设置是个大坑啊, ...

之前忽略了12bit,取ADC寄存器的时候犯了糊涂。现在觉得这芯片的ADC也没啥问题啊。

出0入0汤圆

发表于 2018-1-8 14:56:51 | 显示全部楼层
国学芯用 发表于 2018-1-2 09:13
公开报价的哦    明码标价,童叟无欺

STC8H 8脚带AD的,有样品不?

出45入38汤圆

发表于 2018-1-8 16:54:51 | 显示全部楼层
52HLX 发表于 2018-1-8 14:56
STC8H 8脚带AD的,有样品不?

三月份有样品

出0入0汤圆

发表于 2018-1-17 08:35:26 | 显示全部楼层

记得十一月多的时候官网还是说一月份送样的,结果前几天去看,成了三月份

出0入0汤圆

发表于 2018-2-4 07:21:34 来自手机 | 显示全部楼层
刚送样通过,好死不死赶上无线充电市场发力,把stm8s003炒上天。过年又得加班

出0入0汤圆

发表于 2018-2-4 07:24:29 来自手机 | 显示全部楼层
都盯着12位adc,没人介意128的ram

出0入0汤圆

发表于 2018-4-26 14:28:32 | 显示全部楼层
用内部振荡器上115200的波特率不知道稳定性怎么样。如果不行,上外部有源晶振,是否能在115200的波特率下稳定使用。望使用过的朋友告知一下

出0入0汤圆

发表于 2018-4-26 14:34:48 | 显示全部楼层
使用外部晶振估计应该没什么问题,发现自己有点懵了

出0入0汤圆

发表于 2018-5-3 15:17:34 | 显示全部楼层
新唐的003相对来说还好,做的完全一样就要舍去一些亮点 综合考虑了

出0入0汤圆

发表于 2018-5-14 17:52:50 | 显示全部楼层
看门狗不方便,EEPROM用着累,AD线性问题

出0入0汤圆

发表于 2018-5-14 22:14:59 | 显示全部楼层
picobox 发表于 2018-1-4 01:17
同碰到ADC不准的问题,把进入芯片的电压调到1.8v以下也波动大,各位是怎么解决的? ...

1 设计好芯片外围耦合电容,选1~2个10uf大瓷片,且离LDO 如果离芯片比较远,芯片附近放100uf电解
2 采样环路要处理好,小环路,且采样信号地环路中无大电流经过或靠近。
3采样引脚 串100~1k欧,再并1~100nf
4控制芯片端口输出电流,尽量减小芯片的总输入输出电流,特别是电流的波动,比如芯片引脚串1k电阻到外设,如果允许的话。
5 合理的采样速度(阻抗匹配),数字滤波。

出0入0汤圆

发表于 2018-5-15 15:05:38 | 显示全部楼层
chenminhua1980 发表于 2018-5-14 22:14
1 设计好芯片外围耦合电容,选1~2个10uf大瓷片,且离LDO 如果离芯片比较远,芯片附近放100uf电解
2 采样 ...

谢谢你的建议。这个问题已经解决了,是软件BUG。现在产品都换上新唐了。

出0入0汤圆

发表于 2018-5-22 19:21:38 | 显示全部楼层
N76E003一定程度上还算是比较好用的,起码有些场合可以PIN对PIN替换STM8。

出0入0汤圆

发表于 2018-6-1 00:16:43 | 显示全部楼层
N76E003有EEPROM可以用么?

出0入4汤圆

 楼主| 发表于 2018-6-1 08:11:26 | 显示全部楼层
涧边梧桐 发表于 2018-6-1 00:16
N76E003有EEPROM可以用么?

其实也是Flash

出0入0汤圆

发表于 2018-6-3 09:47:12 | 显示全部楼层

你用过么了么,好不好用啊?

出0入4汤圆

 楼主| 发表于 2018-6-4 08:05:49 | 显示全部楼层
涧边梧桐 发表于 2018-6-3 09:47
你用过么了么,好不好用啊?

只是做了下测试,没长期用过

出0入0汤圆

发表于 2018-6-4 11:17:43 | 显示全部楼层
我用例程做输入捕获,结果没成功,我把那个引脚接地了,结果还是进入中断了,一直在发数据,但是数据全是0x00,接入信号,数据也一直是0x00;
unsigned char i,j;
/************************************************************************************************************
*    Timer2 Capture interrupt subroutine
************************************************************************************************************/
void Capture_ISR (void) interrupt 12
{       
  clr_CAPF0;                          // clear capture0 interrupt flag
  i = C0L;                                                                                                                // For capture mode CxL/CxH with data capture from I/O pin
  j = C0H;                                                                                                               
  P12 = ~P12;                                                                                                        //toggle GPIO1 to show int
        Send_Data_To_UART0(0xFF);
        Send_Data_To_UART0(i);
  Send_Data_To_UART0(j);
        //printf("\n TM2 CAP");
//        clr_TF2;
//        clr_CAPF0;                          // clear capture0 interrupt flag
}
/************************************************************************************************************
*    Main function
************************************************************************************************************/
void main (void)
{
        InitialUART0_Timer3(115200);
        P00_Input_Mode;
        TIMER2_DIV_16;
        TIMER2_Compare_Capture_Mode;
        IC3_P00_CAP0_BothEdge_Capture;       
  set_ET2;                                    //Enable Timer2 interrupt
  set_ECAP;                                   //Enable Capture interrupt
  set_TR2;                                    //Triger Timer2
  set_EA;  
  while(1);
}

出0入0汤圆

发表于 2018-6-4 11:43:10 | 显示全部楼层
good N76E003,和STM8S003相比

出0入0汤圆

发表于 2018-6-4 18:10:36 | 显示全部楼层

您好,请问现在有样品了吗?8脚带AD的

出0入53汤圆

发表于 2018-6-27 14:37:39 | 显示全部楼层

什么芯片 ,现在出来样品了吗

出0入53汤圆

发表于 2018-6-27 14:41:21 | 显示全部楼层
零妖 发表于 2018-5-22 19:21
N76E003一定程度上还算是比较好用的,起码有些场合可以PIN对PIN替换STM8。

芯片稳定性咋样,用过115200串口速率 接收数据会不会丢数据

出0入4汤圆

 楼主| 发表于 2018-6-28 15:12:20 | 显示全部楼层
zhcj66 发表于 2018-6-27 14:41
芯片稳定性咋样,用过115200串口速率 接收数据会不会丢数据

内部RC就不要想115200波特率了,肯定不行的。除非你花大价钱加个外部有源晶振(N76E003不能用外部无源晶振)。

出0入53汤圆

发表于 2018-6-28 16:39:05 | 显示全部楼层
zqf441775525 发表于 2018-6-28 15:12
内部RC就不要想115200波特率了,肯定不行的。除非你花大价钱加个外部有源晶振(N76E003不能用外部无源晶 ...


这样不是很鸡肋啊,还不如换32f030

出0入0汤圆

发表于 2018-7-2 14:17:46 | 显示全部楼层
感谢楼主分享,最近在做costdown,有个产品准备用003

出0入0汤圆

发表于 2018-7-17 09:45:26 | 显示全部楼层
天堂之泪 发表于 2018-7-2 14:17
感谢楼主分享,最近在做costdown,有个产品准备用003

正式代售N76E003,欢迎来捧场
http://www.zaixinjian.com/search ... =product&page=1

出0入0汤圆

发表于 2018-7-17 11:15:48 | 显示全部楼层
zqf441775525 发表于 2018-6-28 15:12
内部RC就不要想115200波特率了,肯定不行的。除非你花大价钱加个外部有源晶振(N76E003不能用外部无源晶 ...

HIRC的时钟频率是可以修改的,RCTRIM0、RCTRIM1用来调节用的。

出0入4汤圆

 楼主| 发表于 2018-7-17 11:29:20 | 显示全部楼层
wmm20031015 发表于 2018-7-17 11:15
HIRC的时钟频率是可以修改的,RCTRIM0、RCTRIM1用来调节用的。

就怕不稳定,温飘大,0摄氏度和80摄氏度的频率肯定能差不少。这个频率差很有可能会影响UART这种异步通信接口。

出0入0汤圆

发表于 2018-7-17 11:33:39 | 显示全部楼层
8位机就是图便宜,性能好用都是次要的

出0入0汤圆

发表于 2018-7-17 16:04:09 | 显示全部楼层
zqf441775525 发表于 2018-7-17 11:29
就怕不稳定,温飘大,0摄氏度和80摄氏度的频率肯定能差不少。这个频率差很有可能会影响UART这种异步通信 ...

这个没测过,但使用内部时钟做通信本身就不靠谱,只能把通信速率尽量降低,保证偏差在容忍范围内。同时增加一定代码用来解决时钟频率漂移问题,比如通信包头增加 0x55用来修正通信波特率。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 22:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表