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 通讯测试
|