手机专用
粗算我接触单片机已经有两年多了,从最初的MCS-51,到后来的AVR、MSP430、PIC,当然我还只算是一只入门不久的菜鸟,人外有人,牛人真的太多了。也常有同学问我单片机应该怎么学,我的回答都是两个字:实践。我觉得实践才能出真知,不实践是永远也学不会单片机的,这和你看一百道菜谱不下厨永远也做不出佳肴,看一百本游泳的书不下水永远也学不会游泳是一个道理。那么怎么去实践?这可能是初学者最关心的问题,网上类似的回答也很多,这都是老生常谈了,只要你是有心人,一搜一大把。简单说一下学习单片机的步骤: 1.购买常用的工具(万用表,烙铁,烙铁架,松香,焊锡,螺丝刀,吸锡器,摄子)和电子元件(万能板,电阻,电容,发光二极管,整流桥,数码管,常用接插件等),先做个5V的直流电源(变压器/整流桥/7812/7805/电解电容若干,电容的极性可别反了),再从基本的发光二极管驱动电路开始,灌电流还是拉电流?限流电阻取多大?怎么计算的?你是不是发现,很多基本的知识你都不懂,甚至连元件的型号你都叫不出来。没有关系,多问人,论坛、QQ技术群里热心人还是有的。准备一个笔记本,有用的知识应该记下来。 2.用万能板搭建一个51的最小系统(当然要从51入手,资料太多了),点亮一个LED再说,接着是数码管、蜂鸣器,继电器,EEPROM,AD/DA,LCD,时钟芯片,数字温度计,红外遥控编解码等等,这里面三极管用的很普遍,有时用作放大,有时用开关,一定要理解清楚。看来要做的工作还真不少,这可不能急,一样一样来,谁让你想学到真本领。有条件买个开发板也很方便,若是能坚持DIY,也是趣味无穷。很多芯片是可以免费申请到的,最好申请的是美信公司的片子,我用的很多芯片都是从那申请的,例如:MAX1270、DS12C887、DS18B20、MAX518、MAX396、MAX7219、MAX145等,在此我是发自内心的感谢美信公司为我提供的免费午餐,确实要用的话就申请一下,只是好奇,或贪小便宜,那就别申请,别让人家小瞧了咱中国未来的电子工程师。当然这些芯片的datasheet都是英文的,所以,大学生朋友们,尽管我们是学电的,英文还是要好好学的。 3.单片机的编程,多数人先接触汇编,要学好单片机,汇编是要懂的,但最终你必须掌握C语言,C语言真的太强大、太方便了,其好处不用我多说了。IDE个人感觉最好的是Keil,在这推荐一下。刚开始当然是从跑马灯开始,网上有很多单片机实验的源代码,都是绝好的学习资料,好好消化一下,收获会很大。“helloworld”的串口通信例子应该尽早调通,在没有仿真器的情况下,串口就是最好的调试工具,一个高人曾指点我:拿到一个处理器,首先要做的就是打通串口。串口一通就好比一个习武之人打通了全身筋脉,再学其它武功就会易如反掌。定时器是单片机非常重要的资源,其使用方法一定要整清楚。高人说过,没有定时器的单片机不是单片机,事实上我也没见过哪款单片机没有定时器的。另外,一个好的编程风格也很重要,看一看相关的资料,你会受益很多,网上这样的资料也很多。 4.程序写好了,怎么下载到单片机里,总是借别人的编程器总是不太好,现在一些单片机有ISP功能了,如89S5X和AVR单片机。网上有一个宇宙版,资料很全,感谢前辈的无私奉献啊。照他说的电路自己做个ISP下载线,非常好用,若是自己做的不好用,买个现成的也不贵。这钱若还舍不得,那就试试STC的51系列单片机吧,可以用串口烧你的程序,这其实叫IAP,有兴趣可以去网上搜一下。当然,等你以后的用的单片机多了,编程器还是不可缺少的。 5.单片机故障的排查:对于单片机的问题,首先搞清楚一个CPU工作的三要素:电源,时钟源(晶振),复位电路,是不是都没有问题了,如果有示波器那就更好了,看一下ALE脚是不是有fosc/6的方波信号,有的话说明单片机在工作,三要素已经满足了,没有的话只能再不厌其烦的检察了,其实很简单,参照书上的电路一般没问题。 等自己动手做出些东西来了,可以算是入门了,会有一种成就感,但是不要满足于这点小成功,这些还都是小把戏,前面的路还是漫长的,如FPGA,PCB,DSP,ARM等,都是需要学习的。保存好你的电路和源代码,这都是你的财富。会有用到它们的时候。另外,你做的东西可能只是功能上能实现,离一个成熟的产品还有很大差距,稳定性、抗干扰都不是小问题。这些知识必须有良好的电路基础理论,大学里学的数电、模电、信号都是非常重要的,特别是模电,好好复习,保证每次复习你都会有新的收获。路漫漫其修远兮,耐心去求索吧。硅谷芯微单片机培训中心
冬日恋鬼
单片机在国内没有什么权威的认证,人家单位招聘的时候,这种岗位一般都需要有实际工作经验(因为在电子设计行业,很多东西书本上学不到的,都是靠日常工作的积累)。想学这方面的还是好好学习吧。另,手机和汽车方面的电子设计不太一样。首先在主控制器方面,一般手机用的都是32位的ARM芯片或者跟高端的32位微控制器芯片很少用32位以下的单片机,首要的基础就是高等数学、电子技术(模电数电都要会),而且在画电路板的时候你需要会用电路制图软件和知道电磁兼容方面的知识。而且还需要会数字信号处理(DSP)方面的知识和会应用FPGA/CPLD等开发。而汽车方面则不太一样,汽车一个整体电路很复杂,要求你的模电技术比上面的要强,而且它内部传感器非常多,控制器也非常多,不一定只用到32位的ARM之类的,还有8位、16位的单片机芯片在汽车领域很应用很广。除了上面手机要求的知识外,还要有现场总线方面的知识,汽车一般用到的现场总线是CAN总线。要做这方面的的开发,培训班一两年培训不出什么来的,但现在北京比较多的ARM方面的培训班,也就是嵌入式开发的培训。就我找工作的经验来看,要做开发手机或汽车电子的工程师、或者说是人家单位要的人才几乎都是电子方面研究生学历毕业的。你最好考个研究生再说!
蓝色琴弦
C语言 推荐谭浩强的51单片机 书有很多,教学视频的话推荐 郭天祥 的视频教程,土豆里很多模拟、数字电子技术 要画电路图,需要了解下基本知识还有就是画原理图和PCB的工具Altium Designer 6 也有用protel99还有就是编程的工具keilc 或者 其它的如avr studio之类的 本人觉得 C语言是基础,最好深入的学习,然后结合端口的控制就能简单的操作单片机了,其它的知识很多,需要慢慢学习,最好去个公司实习下
优质工程师考试问答知识库