单片机调试技巧_第1页
单片机调试技巧_第2页
单片机调试技巧_第3页
单片机调试技巧_第4页
单片机调试技巧_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在单片机开发过程中,从硬件设计到软件设计几乎是开发者针对本系统特点亲自完成的。这样虽然可以降低系统成本,提高系统的适应性,但是每个系统的调试占去了总开发时间的2/3,可见调试的工作量比较大。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。本文结合作者在单片机开发过程中体会,讨论硬件调试的技巧。当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段,调试大体分为以下几步。1 硬件静态的调试1.1排除逻辑故障这类故障往往由

2、于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。1.2排除元器件失效造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。1.3排除电源故障在通电前,一定要检查电源电压的幅值和极性,否则很容易

3、造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。2 联机仿真调试联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。信号线是联络8031和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用

4、示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。MAIN:MOVDPTR,#DPTR;将地址送入DPTRMOVXA,DPTR;将译码地址外RAM中的内容送入ACCNOP;适当延时SJMPMAIN;循环执行程序后,就可以利用示波器观察芯片的片选信号引出脚(用示波器扫描时间为1s/每格档),这时应看到周期为数微秒的负脉冲波形,若看不到则说明译码信号有错误。对于电平类信号,观测起来就比较容易。例如对复位信号观测就可以直接利用示波器,当按下复位键时,可以看到8031的复位引脚将变为高电平;一旦松开

5、,电平将变低。总而言之,对于脉冲触发类的信号我们要用软件来配合,并要把程序编为死循环,再利用示波器观察;对于电平类触发信号,可以直接用示波器观察。下面结合在自动配料控制系统中键盘、显示部分的调试过程来加以说明。本系统中的键盘、显示部分都是由并行口芯片8155扩展而成的。8155属于可编程器件,因而很难划分硬件和软件,往往在调试中即使电路安装正确没有一定的指令去指挥它工作,也是无法发现硬件的故障。因此要使用一些简单的调试程序来确定硬件的组装是否正确、功能是否完整。在本系统中采取了先对显示器调试,再对键盘调试。(1)显示器部分调试为了使调试顺利进行,首先将8155与LED显示分离,这样就可以用静态

6、方法先测试LED显示,分别用规定的电平加至控制数码管段和位显示的引脚,看数码管显示是否与理论上一致。不一致,一般为LED显示器接触不良所致,必须找出故障,排除后再检测8155电路工作是否正常。对8155应进行编程调试时,分为两个步骤:第一,对其进行初始化(即写入命令控制字,最好定义为输出方式)后,分别向PA、PB、PC三个口送入#0FFH,这时可以利用万用表测试各口的位电压为3.8 V左右,若送入#00H,这时各口的位电压应为0.03 V;第二,将8155与LED结合起来,借助开发机,通过编制程序(最好采用“8”字循环程序)进行调试。若调试通过后,就可以编制应用程序了。(2)键盘调试一般显示器

7、调试通过后,键盘调试就比较简单,完全可以借助于显示器,利用程序进行调试。利用开发装置对程序进行设置断点,通过断点可以检查程序在断点前后的键值变化,这样可知键盘工作是否正常。以上讨论了借助简单工具对单片机硬件调试的方法,这些方法如果利用得好,就可以大大缩短单片机的开发周期。在这里,我没有言传身教的意思。只是想根据自己和身边同学的一些就业经历,写点小建议,希望给这个专业的师妹们一点启发。一、继续深造 VS 找工作。在就业竞争异常激烈的今天,也许大家大三起就开始忧心自己毕业后该何去何从了。摆在大家面前最为清晰的,是两条路:继续深造(考研/留学)和找工作。现在研究生扩招给大家提供了很好的深造的机会。但

8、是一定要清楚自己为什么要考研。千万不要只是为了逃避就业的压力。如果你不是热爱学习的好学生,读研究生所学到的东西并不见得比在工作中学到的要多;如果你对学习充满热诚,并有信心有毅力坚持攻克技术难点,那么,留下来继续深造一定不会错。在社会上,研究生和本科生的最大区别在什么地方呢?很多企业,尤其是中小企业,更看中的是综合能力而不是文凭。而大的企业,特别是外企,会将这个分的很明白,一般研究生的工资比本科生要高一点点。我的建议是:如果你想在大企业中混到高层,考研一定不会错!如果你想放手自己博一博,就不必毕业就读研。考研前好好想清楚,分析下自己的性格,如果你野心很大、不太安分、很有想法、愿意闯出一片自己的天

9、空,有鲜明的个性,毕业就考研似乎不太合适。可以先投身社会,在工作的积累和摸索中找到自己的兴趣点和长项后,再业余补充专业知识。否则,读完研究生后才发现专业和自己的理想有分歧,会影响了挖掘自己潜力的最好时机。同时还会因为自己在专业上付出太多,不舍得为理想放弃专业知识,从而束缚了自身的发展。如果你对现在所学的专业很有兴趣,或者你希望自己以后在某个领域有稳定的发展,你很塌实、安分、稳重、好学,就可以毫不犹豫的考研。其实要明明白白的想清楚,并作出取舍,并不是一件容易的事情。在对某些事情做出抉择的时候,首先把他们放在同一高度上面。人不可能同时追两只兔子,懂得取舍和放弃的人才是聪明的。二、找工作前的准备工作

10、当你决定开始找工作的时候,一定要知道:第一份工作很重要!它会在很大程度上左右你今后的发展。我和我的同学们,在毕业几年后的今天,渐渐从同一起跑线上拉开了差距,这个差距,就是由第一份工作的工种之差导致的。也许你上了不少的就业辅导课,看了不少的就业指导书,咨询过爸爸妈妈、老师、师兄师姐。大家都会从各个角度给你意见。我总结了一句话:“把握主动权,眼光放长远。”什么叫“把握主动权”呢?很多人会把找工作当作一个艰涩的任务,认为只要能找到和专业相关的一份工作就谢天谢地了。其实,找工作和考试是一回事,要找到方法、抓住重点。我觉得首先要把握主动权,不要被用人单位牵着鼻子走。我有很多同学,毕业的时候找工作挺顺利的

11、,但是一工作就开始叫苦不迭,频频跳槽,从而蜻蜓点水般,混了几年,什么都不透不专,白白浪费光阴。大家不妨按我说的方法试试看:1.参加招聘前先把自己感兴趣的单位和职位勾出来。各种各样的工种是否让你眼花缭乱?怎么才知道哪个职位适合自己,怎么去做准备,是顺利应聘过关的关键。电子工程师、单片机开发、软件工程师、硬件工程师、项目工程师、品质管理、系统分析员、项目管理员太多太多职位都和电子信息工程有关了。你一定要做足工夫,去网上查找也好,询问前辈也好,弄清各个工种到底是做什么的,他们之间有什么区别和联系,发展前途如何。(记得这个工作一定要做哦!可以充分利用网络资源来找答案)例如电子工程师和硬件工程师,乍一看

12、似乎没有什么太大的区别,其实学问大着呢。通常情况下,硬件工程师多做研发工作,要求工作经验,对产品性能的熟悉度、对模拟数字电路设计能力等要求很高。而电子工程师一般是辅助工程/生产部门,要求相对于硬件工程师较低一点,这个职位对应聘者使用工具的能力(ORCAD、POWERPCB、OFFICE软件等)有要求,这个职位会接触到比较多的画图、制作BOM表、文档管理等。同时还对普通的电路设计、元器件的熟悉度有要求。熟悉完不同职务的区别与要求后,接下来就要熟悉下你所要应聘的单位的产品及其发展了,这个可以上该公司网站去查一下,很方便。然后根据你得到的信息做准备工作,花一个星期恶补下相关专业知识。知己知彼,定能百

13、战不殆。按上面的步骤来准备,你就很好的把握了主动权。不会因为忘记了太多专业知识,应聘前忙的抓狂却不的要领了。另外,应聘不同的职务要相应的制作不同的简历,把别人感兴趣的东西呈现出来,也是制胜的秘诀哦我有一个同学,他应聘了一份自己很感兴趣但和专业并不太相关的职业,他只花了几天,把这个公司好好钻研了一下,把自己想做的职务好好了解了一下,然后针对该公司对岗位的要求做了一份简历。结果当然是得偿所愿拉。该同学的职业生涯发展的很顺。即使你当时的技能对这份职业来说还有一定差距,但用人单位更重视的是你对这份工作的热情和态度。技能可以在工作中补上,热情和态度却是很难培养的。眼光放长远相信你做完上面说的准备工作以后

14、,会对每个工种有所了解,心里也规划了一个自己的职业发展图。这个时候,不要太在意第一份工作的工资。只要这个工种你感兴趣,觉得有发展空间,就值得你去做。在工作中得到的经验才是最宝贵的财富。想想看,刚去工作,自己能力还不够,有人开工资让你学习,偷笑都来不及呢!我有个同学,刚毕业的时候工资很低,但是工种不错。现在工资翻了不知道多少番了。最后,尽可能的去正规的、规模稍大一点的公司。这样的公司制度完善、各个方面都有保障,也有很多培训的机会。大公司人才济济,对培养自己各方面的能力很有帮助,另外,从大公司跳槽出来,找工作更方便一点。:)三、挑选适合自己的企业由于每个人的性格都不一样,所以大家在工作中经历到的事

15、情也会不同。总的来说,刚刚开始工作,不太懂得游戏规则,总会出现这样那些的问题,让自己常常烦恼、困扰、孤单、迷茫。这些都很正常,不必慌张。只有经历了这些,我们才会进步和成长。有句话很正确:大公司学做人,小公司学做事。不同的公司有不同的管理体系和制度,分工也很不相同。在大公司,比如外企、国企和一些颇具规模的私营企业里面,你需要先了解一下该公司的背景,企业文化。在这样的公司中,不乖巧的话很难被重视,因为人才实在太多了,谁会注意你呢?不重视并不是说有没有升职机会,重要的是能不能得到学习、培训的机会。外企相对而言简单一点点(港资、台资则不一定),由于这些企业是在别人的土地上,都非常规矩。基本上一切都会按

16、照劳动法来对待员工,福利也不错。他们的分工会比较细致,人事、培训制度都比较完善,进去后,认真做好份内的事情就好。港资、台资则非常的资本主义,他们深知剩余价值的意义,会尽量把员工用得很彻底。在这样的公司,其实你应该庆幸,因为总有很多做不完的事情压着你,你可以学的更多,进步的更快。虽然压力比较大,但是这对年轻的你来说,是好事情。我有同学在港资做过一年,压力很大,做了很多她原以为根本无法完成的任务,这段时间,她经常因为工作太累而哭泣,但是还是咬牙坚持着。后来她告诉我们,在这个公司工作,她学会了如何承受压力,专业知识也得到很大的进步,学到了很多东西,回头看时,她很庆幸有这样一段成长的经历,让她对今后的

17、发展更有信心。至于进国企,应该是适合那些性情温和的朋友吧,福利好,工作轻松,会让人思想、精神都比较松懈,久而久之,就变成坐沙发的土豆拉也不想轻易挪窝了。这样的生活很惬意。按部就班,却也渐渐磨灭了年少的锐气。进规模较小的公司,你就要赌一把了。公司人员不多,规章制度也不一定健全。这样的公司,一个人当多个人用。公司一点点小波动都会直接影响你的饭碗。不过,如果你有眼光,或者运气好,而且对自己的综合能力比较自信,这里也会是最容易产生奇迹的地方。在这里,你可以放开手展示自己的才能,而你的想法也很容易直接反映到老板那里。由于没有太多的阶级竞争,你的一举一动都会直接曝光在老板的眼皮底下,是人才还是蠢材,马上能

18、见分晓。只要公司发展顺利,少不了你的好处。被提拔还是被炒鱿鱼,直接看你的工作成绩。这样的环境比较公平。一旦公司发达了,你马上就可以辉煌腾达,年少有为了。看了小公司的运作,自己也会有当小老板的冲动的。呵呵成败就在一念之间。如果你上进、有能力、勇气和信心,去小公司搏一把也不错。最后,特别安分的朋友,也可以考虑下考公务员。敢拼敢闯的朋友们,来深圳、上海或者北京吧,这里是你梦开始飞翔的地方。竞争、压力、机遇会把你刺激得强强壮壮的!下一节,我会说说工种的选择。 四、如何辨别自己适合哪种工种适合电子信息工程专业的工种实在太多了。除了我前面提到过的电子工程师、硬件工程师、软件工程师、单片机开发等直接与专业有

19、关的工种之外,还有很多与专业相关或是不相关的工种你都可以考虑。在这里,我无法一一列出各个工种之间的差异,只能给一点选工种的建议。俗话说“行行出状元”。只要自己努力,做什么工种都有可能取得成功。而让这个“可能”变成现实的,就是你对这份工作的兴趣、热忱、态度与执着了,这是成功的先决条件。前面我曾经强调过,第一份工作非常重要。从你开始第一份工作起,你就进入了经验积累阶段了。当你找寻第二份工作的时候,多半会依仗第一份工作的经验的,因为这个是你擅长的,而用人单位又是多么的强调经验的重要性。慎重选择第一份工作的工种,会让自己在今后的发展中少走很多弯路,把握成功的先机。当你对各个工种的性质有一定的了解的时候

20、(前面第一节中我有提到),不妨考虑下这三个问题:1.我会做些什么?2.我想做什么?3.我有把握做好什么?这三个问题要分开来独立思考,不要局限于自己的专业。人常说“活到老学到老”,四年专业知识的学习没有道理操纵了你一生的发展方向。所以,尽管发散开去思考这三个问题。如果你的答案中有两个是相同的,我认为你就可以毫不犹豫的沿着这条路走下去。如果各不相同(特别是第二题的答案跟你的专业无关),你就得严肃的面对这个问题了。这个时候,一定要多多征询长辈和前辈的意见。先听听长辈对你人格方面的评价,大家一起好好分析下你是个什么样的人,综合素质如何。把自己的优点和缺点都一一列下来(表一)。再向前辈咨询下你感兴趣的工

21、种需要什么样的专业知识、综合素质,发展前景如何。然后一一列下来(表二)。现在,把表一和表二的内容对比下,看看你是否具备你喜欢的工种所需要的素质。举几个很典型的例子:如果你内向、害怕与陌生人打交道;不善言表;比较怕吃苦;不太能承受压力;喜欢按部就班的生活等等,很明显,你就不适合做销售人员。如果你自学能力较强、求知欲高、爱钻研、执着、聪明,就比较适合做研发。上面两个例子很典型,所以很好决定下来。通常情况下,都不会那么干脆简单。如果你实在是决定不了,那就保险一点,从和专业相关的工种中选一个你稍稍感兴趣点的做。要知道,很多事情,只有你走进它了才会了解它。人的一生总会有许多个转折点,不用太紧张。我只是以

22、一个过来人的身份劝告大家:起飞前,慎重选择一条比较清晰的航道,这样会让你飞得更快更好。五、正确看待工作压力这一节似乎和找工作关联不是太大。对于工作中的压力,每个人都有自己的应对方法。我想,方法应该是因人而异的,因为每个人的抱负不一样,所以承受的压力也不一样。好强、好胜的人总是会活得很辛苦,但是当付出有所回报时,也许你会觉得一切都很值。我们为了被重视,为了升职,为了加薪,拼命学习、工作、加班,然而所得到的并不能让我们满足。而在我们为了自己的事业打拼的同时,常常忽略了生命中其他一些也很重要的东西:忘记给父母打电话;没有时间联系朋友;没有精力陪男/女朋友逛街、旅游;无法静下心来慢慢计划自己的业余生活

23、这一切的一切,都是压力,让人常常困扰、寂寞、悲伤、压抑、烦躁。我们一起探讨下如何释放压力吧?!把你释放压力的好方法共享出来,让我们一起加油,让工作更轻松些,让生活更精彩些。我就先抛砖引玉吧:我是一个好强好胜而且挑剔的人,所以我总是觉得压力很大。我缓解压力的办法就是尽可能认真的做每一件事情。工作、生活都要有计划。所有的一切只是为了让自己回头看的时候不要遗憾、不要后悔。这样,即使是失败了,我也会告诉自己:一切都是天意,不要回头再想了。我信奉这样两个道理:万物是平衡发展的,有得必有失。当你失败/悲伤的时候,想着:总算是熬过这一劫了,这个劫迟早要来,还好是降到了这件事情上,不算太糟糕;当你成功/开心的

24、时候,想着:我只是在某些事情上付出了更多,失去了更多,所以,才可以安心享受这份喜悦。(所以,有这种心态的人不会贪便宜,因为担心会在其他方面失去一些东西,来弥补这个便宜)。人的一切,包括心情、状态、智商等内在或外在的,都是呈抛物线发展的。在低迷的时候,不要懊恼,想着熬过这阵子就好了,现在在谷底呢;在状态好的时候,告诉自己现在是走到了谷峰,不要太得意,不会一直这么好状态的,所以也不要以现在的成绩来衡量和要求自己。做到上面这些,我就可以以一个好的心态来面对压力了。你呢?有什么好的方法?不管是思想上的还是行动上的,说出来,给大家参考参考下!要掌握什么技能取决于你将来想从事什么样的工作,将来从事什么样的

25、工作取决于你现在的兴趣爱好。分类说一下吧:1. 从事硬件开发类:A.想做诸如手机、PMP、PC等产品的研发,模拟电路和数字电路是最基础最必须掌握的科目。ORCAD等教画图的也是必须掌握的。B、想做IC设计,数字信号处理是最关键的科目,其次是数字电路模拟电路。编程语言也要掌握好。2. 从事软件开发:A、嵌入式系统:C语言,C+。编译与调试。B、单片机:单片机编程,汇编都掌握好。动手能力要强。以上是最关键的科目,其他的辅助科目也有很多很重要的,特别是一些工具类的。要珍惜每一次进实验室的机会,把每一个实验项目弄透(原理、实现方法)!大学学的专业课程基本上都很重要的,最好是都认真学,做研发工作,很多都

26、是融会贯通的。即使你学的和你做的没有直接联系,但是操作起来的方法、流程基本是相似的。学过的东西总有用到的一天。所以好好学习吧。注意培养自己的自学能力,这个很关键。从这个角度出发,期末考临时抱佛脚并不是完全没有好处哦。可以锻炼你怎样在最短的时间学会最关键最有价值的内容(这里说的抱佛脚不包括套考题)。 最近有很多朋友发邮件问我一些关于就业的问题,大致分为以下两种:1.还在读书,对未来有一个简单的规划,但是觉得自己学的还不扎实,希望知道该重点学习什么,什么内容是不用学习的;2.已经工作了,但是对现状不太满意,想换工种,希望知道该向什么方努力。这两个问题好普遍,我给一点自己的建议吧关于第一个问题,我认

27、为:如果你还不到大三下,请不要考虑什么该学什么不用学的问题。大学开的课程都是教授们仔细斟酌过的,都很重要。你必须全面的打好基础,只有所以科目都用了心,你才会知道哪个科目是你的长处,哪些又是你的兴趣所在。全面的学习会对你今后选择正确的发展方向有帮助;偏科只会缩窄了你的选择空间。所以,在大三下之前,你所要做的事情,就是认真学好每个科目。与其想破脑袋该怎么走捷径,还不如把这些心思花在怎么学好专业课上。大三下之前,好好享受你的校园生活吧,参加点社会实践、培养点业余爱好,弹弹琴、下下棋、跳跳舞什么的,洒脱而又纯粹的生活吧。好好把握这些幸福时光,一旦你走进社会,生活不会再如此简单。到了大三下,你该好好考虑未来的道路了,比如考研还是工作。这部分内容我在这个帖子的前面都有详细的说明。该怎么做,可以仔细看看我前面所过的内容。不要老是记挂着是不是可以捡重点科目学学就好。也许你会以为,挑好了重点可以少走弯路,其实这是错的。在什么位置做什么事情,既然是学生,你的工作就是学习,如果连学习都想打打折扣,这种习惯对你今后的工作态度会有很坏的影响。态度决定一切!当然,重点科目重点学习是很必要的,比如模拟电路、数字电路、C语言以及实验课

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论