[应用方案]

N76E003的开发环境构建及下载测试

[复制链接]
165|10
手机看帖
扫描二维码
随时随地手机跟帖
jinglixixi|  楼主 | 2023-1-10 12:10 | 显示全部楼层 |阅读模式
本帖最后由 jinglixixi 于 2023-1-10 12:12 编辑

#申请原创#

N76E003是一款新唐出品的1T 8051单片机,它配有18 KB Flash ROM、并可配置Data Flash与高容量的1 KB SRAM,它采用2.4V 5.5V的宽工作电压,可在-40℃至105℃的温度条件下工作,并具备7KV ESD/4KV EFT的高抗干扰能力。
N76E003 20 pin封装下,可提供高达18I/O引脚,并提供双串口、SPII2C6通道PWM输出等功能,并配有8个通道的12ADC。它提供TSSOP20 (4mm*6.5mm) QFN20 (3mm*3mm) 小封装,兼具高性能与设计弹性。
N76E003STM8S003F3相兼容,并比后者的性能更有特色,两者的引脚排列分别如图1和图2所示。
1.jpg
1  N76E003AT20


2.jpg
图2  STM8S003F3P6

面对这样一款出色的产品,该如何来开发它呢?
N76E003支持以MDK来开发,本人使用的版本是V5.25.3.0。

a.jpg
为了使它能支持该芯片,需安装相应的芯片支持包。
b.jpg
这样,在芯片支持列表中就可以找到它,见图3所示。

3.jpg
图3 芯片支持
随后,为了进行测试可到官网去下载相应的例程。

c.jpg
为了便于测试,可选取其中的GPIO例程来加以验证。为生成目标文件,需按图4所示来勾选。
4.jpg
图4 生成HEX文件

经编译,其结果如图5所示,此时并已生成GPIO.HEX目标文件。
5.jpg
图5 完成编译

接下来就是解决下载问题了,为此需要安装Nuvoton_8051_Keil_uVision_Driver_v2.00.6561。
d.jpg
随后,按图6来选择调试器类型及按图7来选取目标烧录器。
6.jpg
图6 选取调试工具类型

7.jpg
图7选取目标烧录器

由于N76E003开发板有不同的版本,这里选用的是一款最小系统的开发板,它除了电源指示灯、复位键及测试LED灯外,就啥也没有了,其接口电路如图8所示。
8.jpg
图8 接口电路
由于开发板属最小系统,故它只有通过了下载调试工具的接口。为此,需要另行配置下载工具,这里所用的是NU_link,见图9所示。
9.jpg
图9 开发板与下载工具


在连接好下载工具并上电的情况下,可见到图10所示的配置结果。
10.jpg
图10下载工具的配置

这样就可以进行下载测试了,其完成下载的界面如图11所示。

11.jpg
图11 完成下载

此时,选择复位键,则可见到板上供测试的LED灯在不同地闪烁,说明下载成功,至此开发环境就彻底地搭建好,并具有了下载功能。

那么GPIO的例程是如何来控制这个LED灯的呢?

其主程序如下:
void main (void) 
{
    unsigned char i;
    Set_All_GPIO_Quasi_Mode;                   // Define in Function_define.h
    InitialUART0_Timer3(115200);
    set_CLOEN;  
    while(1)
    {
                i--;
                clr_GPIO1;                                 // Tiny board GPIO1 LED define in Common.h
                Timer2_Delay1ms(300);
                set_GPIO1;
                Timer2_Delay1ms(300);
                Send_Data_To_UART0(0x55);    // UART0 send ascii "U"
               
                P3M1 = 0xff;
                P3M2 = 0x00;
                P3M1 = 0x00;
                P3M2 = 0x00;
                if(P30) P10 = 1;
                else P10 = 0;
                i += 6;
  }
}

由程序可知,它在对全部引脚进行配置后,便对串口0进行的初始化,并通讯波特率设置为115200bps。
随后,就是通过延时函数的调用来切换GPIO1的输出状态。
此外,它还提供工作模式的设置来使P30作为输入口,使P10为输出口。
也就是说这个例程的信息量还是满多的,它不但测试了定时器2的延时功能,还测试了串口通信功能和定时器3的波特率生成及输入输出口的测试。

在连接USB转TTL模块的情况下,其串行通讯功能的测试结果如图12所示。
12.jpg
图12 通讯测试

那么程序中的GPIO1只指的啥呢?
通过查询它的定义,可知其定义为:
#define             set_GPIO1                 P12=1
#define             clr_GPIO1                  P12=0
这就是为什么LED灯能够产生闪烁效果的原因了。

为了测试其输入输出功能,不妨再为它配置一个触摸按键作输入,为它配置一个LED模块作输出,见图13所示。
13.jpg
图13 测试电路
14.jpg
图14 测试效果
经测试,其确实能以触摸键控制LED模块。

至此,就为N76E003的开发打开了大门!



使用特权

评论回复
OKAKAKO| | 2023-1-10 13:03 | 显示全部楼层
N76E003嵌入一个18k闪存存储区

使用特权

评论回复
LOVEEVER| | 2023-1-10 15:44 | 显示全部楼层
N76E003的开发讲解的很详细,适合看楼楼主也是从O开始搞的,后期很有借鉴意义

使用特权

评论回复
xixi2017| | 2023-1-10 16:34 | 显示全部楼层
51内核的单片机有很多开发软件支持

使用特权

评论回复
N76E003的开发真的很清楚,简单易学

使用特权

评论回复
tpgf| | 2023-2-2 15:58 | 显示全部楼层
新唐的N76E003 pin对pin替换STM8S003F3P6,而且很便宜,故这个时候拿来替换使用再好不过

使用特权

评论回复
qcliu| | 2023-2-2 16:08 | 显示全部楼层
得先通过nu-link-pro和Nu-Link-Me把ISP的BootLoader烧进去,才能使用ISP

使用特权

评论回复
drer| | 2023-2-2 16:17 | 显示全部楼层
关于量产:可以使用nu-link-pro来脱机烧录程序

使用特权

评论回复
coshi| | 2023-2-2 16:23 | 显示全部楼层
用的Keil要是Keil for 51,使用for ARM的Keil是怎么都找不到N76E003的

使用特权

评论回复
kxsi| | 2023-2-2 16:33 | 显示全部楼层
装好Keil for 51后,要安装新唐Keil的支持包,安装过程需要让你填入Keil的安装路径,请正确填入,这样器件列表才能有N76E003。在装好后,会有安装调试器USB驱动的选项,默认是不勾的,如果你没装过nu-link-pro和Nu-Link-Me的驱动,要勾上,安装驱动。

使用特权

评论回复
wiba| | 2023-2-2 16:45 | 显示全部楼层
u-link-pro和Nu-Link-Me上有电平选择的跳线,根据你项目的电平来选择。如果你项目板子上是5V供电的,那么nu-link-pro和Nu-Link-Me也要选择5V的,不然找不到芯片。

使用特权

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

本版积分规则