关于51和AVR单片机开发的一些看法
扫描二维码
随时随地手机看文章
本人原来使用过的芯片有:AT89C51、2051、PIC16C711、16F84、LPC76X、ADuC812/834
但是看到AVR以后觉得AVR有不少优点:
1.带10位A/D,一般满足工业控制的基本要求;
2.带FLASH和EEPROM,特别是EEPROM,可以放逻辑炸弹,防止某些人用上了不付钱;
3.引脚少,没有外扩总线,抗干扰性能还可以;
4.开发容易,开发硬件成本低(我现在采用的是汇编语言,我不用C语言,C语言对于高速实时控制太慢了),采用汇编语言来说,写一个比较复杂的控制程序(比如大功率焊接设备SCR调压器控制器),连键显、PID、触发和保护一起,4K*16位足够了,就算开发很复杂的工控系统,16K*8位的ATmega16都绰绰有余,关键在于你的编程水平够不够;
5.加密性能比较好;
6.价格便宜,对于大功率工业控制的设备而言(至少1万元以上的),那点成本根本不算什么;
7.原来想采用uPD7810或者68HC11A8,开发系统的价格实在太高了,受不了,而且没有几天工夫你根本不可能使用它的。
所以,现在我还在用51,主要是软件仿真和专用仿真器一起上,AVR我用软件仿真,因为JTAG口实在太占用资源,而且修改程序不如ISP来得快捷方便。
AVR就是我现在想要的片子,基本功能全都有了,没有外部总线,被别人破解的可能性也远远比51小,PIC我实在看不惯它的分页,实在太讨厌了,AVR的工作温度范围也能很好满足我的工业控制要求,所以,现在在继续搞51的同时,学习AVR。
DSP对于真正的工业控制来说,除了空间矢量变换和复杂的信号解算,其余根本就是无用的东西,还浪费钱钱和国家资源:)而且加工不容易,量不大根本划不来,所以我不用320LF3407/2812、ARM等等。
看一种芯片是否有用,我认为主要看以下几点:
1.能不能满足市场对你的产品的要求;
2.成本比较低;
3.开发费用低;包括硬件成本和软件成本;
4.印刷板设计容易;
5.加密性能优良;
6.有一定的升级余地;
7.可以放逻辑炸弹(没办法,适合中国这种“欠钱的是老子,讨债的是孙子”国情);
8.引脚驱动能力大,可以尽量少的外扩器件;
9.开发语言可以很容易加入软件抗干扰,而且占用的代码资源少;
10.工作温度范围宽,电源适应能力强。
我不是开发火星车或者“神舟”号宇宙飞船,我最多只接触到军用电子设备中的一些简单的设备(可不是相控阵雷达火控系统或者声纳处理设备),所以根本用不着VXworks或者uC-OSII什么“花里胡哨”的东西,程序的移植其实对于一个好的汇编语言系统而言,只要你把程序模块化,仔细分配资源,并不难实现,但是,我现在倒还没看到哪位大虾能把C51直接移植到AVR上的,移植很多时候的意思是指对本系列芯片的兼容性而言,可不是对于不同MCU而言的,可能以后会统一,但是现在至少还没统一,所以忍忍吧,呵呵。而且对于一个自己的公司来说,比如说你原来是做手机的充电器,而现在突然要你去做250KW的大功率焊接设备,好像没有3年5载的你是根本入不了门的,更别说赚钱了,开公司的或者给公司打工的,如果什么都做,那肯定什么都不能做到最好,就像中国的海尔电器。
所以,我现在依然使用汇编语言,依然不用C语言,依然搞大功率电子设备控制,虽然开发速度慢一些(比C语言),但是至少不会让用户把我发的货退掉了,这就是市场生存法则,不是学术骗子们的生存法则。
扩展阅读:AVR,C51和PIC八位单片机性能比较