关于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来得快捷方便。


当然,有人说自己能把管脚的输入输出处理的很好,这电阻多余,我想说的是,当这两个芯片同时上电瞬间,管脚的状态是不一定的,好一些的单片机会默认管脚上电是高阻态或者输入态,其他芯片就说不定,尤其国产芯片这方面可能就不是特别注意;而且这两个通过管脚相连的芯片,不一定都能让你写程序,有些芯片,比如我这个A6mini就是现成的模块,买回来就是成品,程序人家都写好了。

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语言),但是至少不会让用户把我发的货退掉了,这就是市场生存法则,不是学术骗子们的生存法则。

> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

在对芯片进行选择的时候也要尽量保证最大化的芯片利用率,且要保证使用的便利性。因此,在实际的应用当中,对单片机进行选择时一定要仔细分析不同单片机的特点及优劣之处,结合自身的具体需求及条件,选择正确的单片机,以实现芯片利用率的最大化。

生成海报
点赞 0

钟, 广林

我还没有学会写个人说明!

相关推荐

AVR单片机的几个重要总结

AVR单片机的几个重要总结 转ST和AVR时都没有系统的看过相关文档,都是根据项目,拿到datasheet,备好工具就开始了,看得最多的就是feature和pins,所以经常在一些细节上疏忽了。在经历过惨痛的教训后,总结出来一些。。。。 1. 通过ISP给Tiny25下载程序时发现

在Arduino上搭建ESP32开发环境

ESP32开发板可以通过官方的工具链、编译工具、ESP-IDF配合文本编辑器进行编程,但这样的方式有时比较麻烦,而且对新手极其不友好,因此经过简单配置,可使用Arduino对ESP32开发