三年之后,重返AVR阵营。写写我和单片机的故事
2010年我第一次动手做了一块单片机板子,这是我第一次接触单片机,缘由很简单,在老外网站上看到一个好玩的温度记录仪。 我知道单片机里边可以放程序,可以控制外围的零件。但是他到底是什么我一无所知,仅仅知道的是按照电路焊好就可以用。走了很多很多弯路。不知道有ISP这个东西。花了300多买了个TOP2005 。不过这个编程器后来功不可没。 腐蚀电路板。那时候不了解PCB布线,电路板做的就接近电路原理图。不会配置单片机的熔丝位(这是个AVR)。 最后捣鼓了半个月也没工作。丢到一边。开始看PCB设计基础,并且从google上找到了大量的单片机作品来研究。后来自己迷迷糊糊地能用Bascom-AVR写点小程序,做个I2C通讯之类是可以的,因为工作繁忙和兴趣转移,对单片机失去兴趣,11年这一年,收杂货,拆东西,什么都玩,从矿石机玩到数字电路,一直持续到12年4月,我又换了一个工作。在一家小公司落脚,凭借拆了无数东西获得的相当广泛的知识面和大量实际工作经验,刚过试用期半个月就混上硬件工程师,工作也从工位挪到硬件办公室,就两个人。 对单片机依然很朦胧。平时的工作是设计电路,绘制PCB。时间到12年八月,收来的电子垃圾开始从收音机转向比较高端的东西,比如某些自动化仪表,工业相机,射频器件。依旧是拆,分析,学习。 直到年初。 年后三月,比较闲,从公司申请了一块S3C2440的开发板,很快就发现那东西不适合我,因为我根本不想学pc编程,比如win linux之类,手头刚好有一块51的开发板,找了本郭天祥的书。买ISP编程线,开始玩51,但是我个人并不喜欢51,期间对桌给我两块他玩的C8051F500C8051F320 SoC(System on Chip)开发板,我看了两天Datasheet,就发现那个东西不同芯片之间差异很大,从F320挪到F500就好像用机器码写程序,果断放弃,继续坚持用8051,在这期间学会了调用AT的52所有片上资源,还有C语言基本的程序结构。关键字的使用这一类。当然我还是记得AVR的,他的高性能和高稳定性在八位机里边排第一,还有丰富的片上资源。相比STC的高速51系列更强大。 自然有一天我还是要去学AVR,于是。。。终于等到今天。我重新买来一片Mega8。 做了一块简单的最小系统板
还没焊完。
下午写了一段很简单的小程序,下载到单片机里运行起来了,这里也说一点我自己的经验
有人说单片机从51入门,再学AVR,会容易很多。我一点也没觉出来。除了C语言是有互通性的,但是大部分AVR教材也如同51那样讲了C,而且更接近于AVR的编程他点,另一个,两种单片机一个CISC,另一个RISC,差距甚大,就拿配置端口来说,让51的P1口从0到7隔一个输出一个高电平,语句如下P1=0xaa;如果是AVR ,操作PortC
就需要这样
DDRC=0xaa;
PORTC=0xaa;
需要预先设定端口模式,这一点和51差别就很大,所以个人认为最基础的八位机,无论是从51 AVR PIC哪一个入门都是一样的,但是学习RISC单片机有助于以后做嵌入式系统
就先写到这里吧,毕竟对单片机研究不深,如果有说错的地方欢迎指正
楼主说得好,我顶楼主:$ 重返之后应该轻车熟路了吧。 孤独的巨头 发表于 2013-9-15 10:26 static/image/common/back.gif
重返之后应该轻车熟路了吧。
感觉比第一次看AVR的时候轻松很多了 楼主说的对,AVR要比C51好的多~~~~~杜洋就反对AVR,支持STC(51的一种)。这点我是反对的 俺只会51,不会AVR;只会汇编,不会C。:L:L xinhoujue 发表于 2013-9-15 13:39 static/image/common/back.gif
楼主说的对,AVR要比C51好的多~~~~~杜洋就反对AVR,支持STC(51的一种)。这点我是反对的
杜洋这个人还是很有心计的,他写的书最后总会拉着一群人买它的产品,并且我感觉他的书也不会学到很基础的一些东西。不适合作为开发人员的学习材料。至于STC,产品稳定性我信不过,举个我说了很多次的例子,我们公司有一个卫星天线伺服器,控制盒放在天线附近,暴晒下控制盒能被加热到很高的温度,结果单片机就出现无规律复位,实际测试大概才70多度,距离工业级的85度差距还很大,外围元件质量都很好。另一个是维修的螺杆空压机控制器,只要空压机启动液晶就花屏。光耦,滤波都有了后来换飞利浦的好了。 还有11年有一批STC的片上AD误差很大,没注意到,结果做了很多产品。没办法又去一个一个的重新做标定。
个人感觉STC目前技术还不是很好,所谓的无法破解,只要给钱华强北有的是公司能做,新手初学玩玩可以。但它毕竟是51,性能上和AVR差的还远 个人觉得,8位机的时代也要过去了,不如从基于ARM的32位单片机开始学。价格上,现在STM32价格也不算贵了。 rocky22 发表于 2013-9-15 17:32 static/image/common/back.gif
个人觉得,8位机的时代也要过去了,不如从基于ARM的32位单片机开始学。价格上,现在STM32价格也不算贵了。
考虑一个产品的成本不仅仅是核心器件的成本,还要考虑到核心器件所构成的外围电路的成本以及系统复杂性。 一般mega8可以抗的住4Kv脉冲测试,STM32需要很仔细的设计,一般网上买的开发板只能应对2KV甚至都达不到 讲得好。 ChrisLove 发表于 2013-9-15 19:31 static/image/common/back.gif
考虑一个产品的成本不仅仅是核心器件的成本,还要考虑到核心器件所构成的外围电路的成本以及系统复杂性。 ...
确实是这个道理。工业场合应用 AVR,是很可靠的。
说到价格,现在的 MCU,都很便宜。跟软件成本相比,不是一个价位的。
如果做的是玩具类,那就是台湾厂的天下了。 好帖先收藏。期待楼主的进一步更新。 楼主牛人啊 不错。编程感觉思路很重要。 不明白AVR强大在什么地方一直用STC的
也不喜欢杜洋 买了本书 啥都没学到后版本还是特么的废话一堆。。。。