从51单片机初学者到电子工程师

 

很多电子工程师在某个方面精深钻研,成为某一个特殊领域的专家,从一开始的养家糊口、慢慢小有收益、最后宝马豪宅,也是有的;这些电子工程师可能没有全面掌握这些知识,因为这些行业用不上,例如,液晶显示器,很多行业就不需要;但是,对于一个初学者,我认为,这个提纲是切合实际的,对于面向控制而言,已经基本够用了;对于初学者,全面地掌握这些知识是很有必要的,因为你不知道今后需要使用什么哪些知识,而这些知识, 80%以上你会在今后的工作中使用上,因为这是都是最基本的。熟练掌握这些知识和应用,根据不同的地区、行业和老板,月薪应该可以在3000元~5000元之间,甚至更高。


其实,可能有些你用不上,但是知道了也没有坏处;所谓书到用时方很少,又有谓艺不压身。知识=月薪=年薪=金钱=香车宝马=…….. ,呵呵。


为什么要掌握这些知识?


实际上,电子工程师就是将一堆器件搭在一起,注入思想(程序),完成原来的这些器件分离时无法完成的功能,做成一个成品。所需要的技能越高、功能越复杂、成本越低、市场上对相应的东东的需求越大,就越成功。这就是电子工程师的自身的价值。从成本到产品售出,之间的差价就是企业的追求。作为企业的老板,是在市场上去寻找这样的应用;对电子工程师而言,是将老板提出的需求或者应用按照一定的构思原则(成本最低、可靠性最高、电路板最小、功能最强大等)在最短的时间内完成。最短的时间,跟电子工程师的熟练程度、工作效率和工作时间直接有关。这就是电子工程师的价值。


将电子产品抽象成一个硬件的模型,大约有以下组成:


1) 输入
2) 处理核心
3) 输出


输入基本上有以下的可能:


1) 键盘
2) 串行接口(RS232/485/can bus/以太网/USB)
3) 开关量(TTL,电流环路,干接点)
4) 模拟量(4~20ma、 0~10ma、0~5V(平衡和非平衡信号))


输出基本上有以下组成:


1) 串行接口(RS232/485/can bus/以太网/USB)
2) 开关量(TTL、电流环路、干接点、功率驱动)
3) 模拟量(4~20ma, 0~10ma,0~5V(平衡和非平衡信号))
4) LED显示:发光管、八字
5) 液晶显示器
6) 蜂鸣器


处理核心主要有:


1) 8位单片机,主要就是51系列
2) 32位arm单片机,主要有atmel和***系列


51系列单片机现在看来,只能做一些简单的应用,说白了,这个芯片也就是做单一的一件事情,做多了,不如使用arm来做;还可以在arm上加一个操作系统,程序既可靠又容易编写。


最近***的arm受到追捧,价格便宜,以太网和USB的接口也有,周立功的开发系统也便宜,作为学习ARM的产品来说,应该是最好的;作为工业级的控制,是不是合适,在网友中有不同的看法和争议。本公司使用atmel ARM91系列开发的1个室外使用的产品,在北京室外使用,没有任何的通风和加热的措施,从去年的5月份到现在,运行情况良好。已经有个成功应用的案例。


但对于初学者来说,应该从51着手,一方面,51还是入门级的芯片,作为初学者练手还是比较好的,可以将以上的概念走一遍;很多特殊的单片机也是在51的核的基础上增加了一些I/O和A/D、D/A;也为今后学习更高一级的单片机和ARM打下基础。再说了,哪个老板会将ARM级别的开发放在连51也没有学过的新手手中?


在51上面去做复杂的并行扩展是没有必要的,比如,扩展I/O口和A/D、D/A等等,可以直接买带有A/D、D/A的单片机;或者直接使用ARM,它的I/O口线口多。可以使用I2C接口的芯片,扩展I/O口和A/D、D/A,以及SPI接口扩展LED显示,例如:MAX7219等芯片。


市面上一些比较古老的书籍中还有一些并行扩展的例子,如:RAM、EPROM、A/D、D/A等,我觉得已经没有必要去看了,知道历史上有这些一回事就行了;


这些知识,是所有产品都具备的要素。所以要学,再具体应用。


说一个小的故事:野人献曝。


从前,有一个农民,冬天干了活后,休息晒太阳。好舒服呀。
他想,这么舒服的享受,我要献给国王,让他也能得到享受。
于是他兴冲冲地到了王宫,将他的宝贵经验献给了国王。


我现在就象这个农民,把自己认为很宝贵的经验献给大家。希望大家多提宝贵意见;拍板砖也可以,骂我也无所谓,呵呵,随便。


第一课:51单片机最小系统


实际上,51单片机核心外围电路是很简单的,一个单片机+一个看门狗+一个晶振+2个磁片电容;


1. 单片机:atmel的89C51系列、winbond的78E52系列,还有philips的系列,都差不多;现在有一些有ISP(在线下载的),就更好用了;


2. 看门狗:种类很多,我常用的有max691/ca1161和DS1832等,具体看个人习惯、芯片工作电压、封装等。Max系列和DS系列,还有IMP公司的,种类很多,一般只需要有最基本的功能就可以了;原来我使用max691,但是max691比较贵,因为它有电池切换功能,后来新设计电路板,就都采用ca1161了。


很早以前的电路设计中,现在可能还有人使用,使用一个电阻和一个电容达成的上电复位电路;但是,这样的复位电路一个是不可靠,为什么不可靠,网络上能找得到专门论述复位电路的文章;更重要的是,51系列的单片机比较容易受到干扰;没有看门狗电路是不行的,当程序跑飞时,回不来了,死在那里。


常规的做法是买一个专门的看门狗电路,完成复位电路和看门狗电路的功能。
这些芯片的资料很容易在网络上找到,通常使用百度搜索就可以了;看见有PDF的字样,就点击下载;使用网际快车flashget下载也是最好的;


这些资料通常是pdf格式的文件,所以,还需要一个pdf的阅读器。


百度网址:http://www.baidu.com/


网际快车下载网址:http://www.skycn.com/soft/879.html


PDF阅读器下载网址:http://www.chinapdf.com/download.htm


实际上,有了百度和其它的搜索引擎,很方便下载到这些芯片的资料,比光盘还方便,不需要去到处找。


单片机和单片机抗干扰能力是不一样的。如果你的产品是工作在干扰比较大的环境,可以试试选用不同品牌的单片机;原来我在一个光电所,做YAG激光治疗机的控制部分,脉冲激光机的电源放电的时候,能量是很大的,在采取了所有能够想到的光电隔离等措施之后,还是不行;后来,选用了intel的8031,就可以了。小声的说:当时的philips的单片机抗干扰性能是最差的,可能跟Philips主要是用在民用领域有关。现在不知道怎么样了,有人知道的话告诉我。


单片机的输入输出口线是最容易引进干扰的地方;在严重干扰的情况下,需要将所有的口线光电隔离。


3. 晶振:一般选用11.0592M,因为可以准确地得到9600波特率和19200波特率;也可以使用36.864M,这个频率是1.8432M的20倍,看别人的电路板上用过,我也没有用到。这2种晶振很容易买到,价钱跟12M的一样。书上说,12M的晶振也能得到9600的波特率,但是,实际用的时候,会每隔一段时间就出错一次,好像累积误差一样,比较奇怪。


即使你的单片机系统不使用RS232接口,也可以做一个Rs232,留着做测试,或者预留等等,没有坏处。除非你的单片机系统的口线不够用了。


4. 磁片电容:22pf~30pf,可以在有些书上找到什么晶振频率对应什么容量的磁片电容,但是,我都是随便拿来使用,反正在11.0592M下,都没有问题;如果你用到了更高的频率,最好还是找找资料看看。


参见以下电路图:

如果你的单片机系统没有工作,检查步骤如下:


1. 查看门狗的复位输出,可能的话在电路板上加一个LED,下拉,这样看起来就更方便;要是看门狗复位信号有,往下;


2. 查单片机,看看管脚有没有问题;一般编程器能够将程序写入,说明单片机是好的;最好手头上准备一个验证过的单片机,内部有一个简单的程序,比如,在某个口线上输出1个1秒占空比的方波等,可以使用万用表测量。


加一句:设计产品时,要在关键的地方:电源、串口、看门狗的输出和输入、I/O口等加不同颜色的LED指示,便于调试;作为批量大的产品,可以去掉部分LED,一方面是降低成本、一方面是流程保密;


3. 再查磁片电容,有些瓷片电容质量不行,干脆换了;顺便说一下,换器件最好使用吸锡带,将焊盘内的锡吸干净,再将器件拔出,这样不会损伤焊盘内的过孔;再将新的瓷片电容焊接上去的时候,用万用表量量是好的再焊;


4. 最后只有换晶振了;切记要买好的晶振,有些品牌质量比较好。


5. 以上按照以上步骤检测时,将无关的外围芯片去掉;因为有一些是外围器件的故障导致单片机最小系统没有工作。

投 票

觉得本文不错,投一票   

评 论

  • linzi  2007-3-15 23:06:40
  • linzi
    好文章
  • 一只小竹  2007-3-15 23:07:34
  • 一只小竹
    我个人也是个工程师,其实学习能力很重要.文章里说的很多见解我同意.工程师需要有持续的学习精神
  • yongrenbu  2007-3-18 22:12:47
  • yongrenbu
    不错,推荐给好朋友收藏了
  • 汪同学  2007-3-20 9:14:36
  • 汪同学
    工程师要有精深钻研的精神,好好学习,努力工作!
  • 清风明月  2007-3-20 10:58:39
  • 清风明月
    麻烦问下30岁中专(机电专业)能学嵌入式吗?学过C语言及汇编,可以吗?谢谢!
  • 清风明月  2007-3-20 11:04:29
  • 清风明月
    我E-MAIL是zhaohongli3485@163.com,期待您的回答,谢谢!我QQ:717546586
  • 卡卡  2007-3-21 16:41:51
  • 卡卡
    当然可以学习了,要对自己有信心!
  • 清风明月  2007-3-24 12:09:38
  • 清风明月
    谢谢你,卡卡!看你的博客知道你是行家能给些建议吗?在学习的过程中应注意哪些东西?我现在报了华清的课程,不知道会否有大帮助!华清和亚嵌也不知道哪个好一些?
  • 卡卡  2007-3-25 11:03:52
  • 卡卡
    说实话华清和亚嵌我都没有去培训过,不过听朋友讲华清远见要好些!恭喜你的选择应该是正确的!不过,关键是要自己好好学习才行!


验证码: 看不清?换一张