[应用方案]N76E003的开发环境构建及下载测试

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封装下,可提供高达18个I/O引脚,并提供双串口、SPI、I2C、6通道PWM输出等功能,并配有8个通道的12位ADC。它提供TSSOP20 (4mm*6.5mm) 与QFN20 (3mm*3mm) 小封装,兼具高性能与设计弹性。

N76E003与STM8S003F3相兼容,并比后者的性能更有特色,两者的引脚排列分别如图1和图2所示。


图1  N76E003AT20


图2  STM8S003F3P6

面对这样一款出色的产品,该如何来开发它呢?

N76E003支持以MDK来开发,本人使用的版本是V5.25.3.0。

为了使它能支持该芯片,需安装相应的芯片支持包。

这样,在芯片支持列表中就可以找到它,见图3所示。

图3 芯片支持

随后,为了进行测试可到官网去下载相应的例程。

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

图4 生成HEX文件

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

图5 完成编译

接下来就是解决下载问题了,为此需要安装Nuvoton_8051_Keil_uVision_Driver_v2.00.6561。

随后,按图6来选择调试器类型及按图7来选取目标烧录器。

图6 选取调试工具类型

图7选取目标烧录器

由于N76E003开发板有不同的版本,这里选用的是一款最小系统的开发板,它除了电源指示灯、复位键及测试LED灯外,就啥也没有了,其接口电路如图8所示。

图8 接口电路

由于开发板属最小系统,故它只有通过了下载调试工具的接口。为此,需要另行配置下载工具,这里所用的是NU_link,见图9所示。

图9 开发板与下载工具


 

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

图10下载工具的配置

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

图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的波特率生成及输入输出口的测试。

随后,就是通过延时函数的调用来切换GPIO1的输出状态。

此外,它还提供工作模式的设置来使P30作为输入口,使P10为输出口。

也就是说这个例程的信息量还是满多的,它不但测试了定时器2的延时功能,还测试了串口通信功能和定时器3的波特率生成及输入输出口的测试。

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

图12 通讯测试

那么程序中的GPIO1只指的啥呢?

通过查询它的定义,可知其定义为:

#define             set_GPIO1                 P12=1

#define             clr_GPIO1                  P12=0

这就是为什么LED灯能够产生闪烁效果的原因了。

为了测试其输入输出功能,不妨再为它配置一个触摸按键作输入,为它配置一个LED模块作输出,见图13所示。

图13 测试电路

图14 测试效果

经测试,其确实能以触摸键控制LED模块。

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

---------------------
作者:jinglixixi
链接:https://bbs.21ic.com/icview-3277638-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值