最近公司有用NEC单片机作为产品开发的平台,那就谈谈对它的感受吧!
目前接触的是NEC 8位78K0 Dx2系列,是NEC 2009年10月才出样片的针对中低端汽车仪表盘而设计的芯片,从硬件方面看,有Timer、AD、SPI、IIC、LCD驱动、马达驱动、CAN、UART、Watchdog timer、钟表定时器、外部中断、内部高速时钟等等,另外还有电压检测LVI、上电清零POC等模块,符合典型系统对资源的需求。
在使用这款芯片时,发现有几点是NEC特有的,要注意:
硬件方面:
1.寄存器IMS和IXS的设置:是用来设置Flash和RAM空间的大小,一般单片机没有这两个寄存器的。
2.Option byte设置:选项字节的设置,NEC MCU中对某些比较重要的功能是通过设置option byte实现的,这些功能是系统复位后参考option byte区域的值自动设置的。
3.烧写口:NEC MCU使用的UART或者SPI烧写口引脚是固定的,即使芯片有多个UART或者SPI引脚,但只要指定的某几个引脚才能当做烧写的。
4.AD端口:如果部分AD口用作模拟输入、部分AD口作为数字IO口时候,应该把模拟输入分配在AD高位,比如P20---P27,既要为数字口,又要AD使用时,AD从P27口往前推,如用P27、P26、P25做为AD,而不是从P20、P21、P22开始作为AD,这点要注意!
软件方面:
对于任何一款单片机,都有一个上手的过程,就像我们当初学习8051的时候,也是用了一个学期的时间来讲解,针对这个问题,NEC开发出了applilet软件,对于初次使用的用户,比如我,不需要要阅读芯片全部的datasheet,在applilet中只需要几步,就能够按照你的需求配置好寄存器,生成底层驱动的程序,结构也明确,容易理解,就是函数比较多,有些是一条语句也作为一个函数,而且applilet界面相对来说也很容易理解(我不知道其他单片机系统有没有底层驱动的软件?),用户只要写应用层的软件即可。
NEC支持两种开发环境,PM+和IAR,这次我使用的是NEC自带的PM+,因为是免费的嘛!倒是没觉得有多大的特色,它只是用户在上面进行软件编写的平台,然后和编译器CC78K0、调试器ID78K0-QB、烧写器QBP联合起来,完成一个产品的调试和程序烧写。
现在花了三个多月的时间,从最开始接触NEC单片机的使用、熟悉开发环境,然后做成基于Dx2的仪表盘方案的软硬件,可以说完整的做了一个基于NEC单片机平台的项目,在这里可以发牢骚谈谈感受。当然了,NEC单片机,也只是一个单片机,要真正用好它,你还是需要花时间去阅读单片机手册,特别是要看懂单片机每个模块的结构框图,然后去用它们,多做项目、多编程,经过你不懈的努力,相信在MCU使用上你会突飞猛进的!相信自己!