• 回答数

    4

  • 浏览数

    814

一剑轻安
首页 > 计算机类考试 > 单片机课程设计报告--步进电机控制设计

4个回答 默认排序
  • 默认排序
  • 按时间排序

资深病友

已采纳
1分钟前发布 -【单片机课程设计报告--步进电机控制设计】http://www.sdrsks.org/ask 11月06日讯: 单片机课程设计报告--步进电机控制设计单片机课程设计报告--步进电机控制设计本文简介:单片机课程设计报告步进电机控制设计日期:2012.6.18-6.21目录1、概要2、课程设计目的及要求3、整体系统分析4、硬件系统分析5、软件系统分析6、调试结果7、结论附一:元器件清单附二:源程序1、概要步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制单片机课程设计报告--步进电机控制设计本文内容:单片机课程设计报告步进电机控制设计日期:2012.6.18-6.21目录1、概要2、课程设计目的及要求3、整体系统分析4、硬件系统分析5、软件系统分析6、调试结果7、结论附一:元器件清单附二:源程序1、概要步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。本次课程设计主要采用AT89S52芯片,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片ULN2004以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二极管显示出来。控制系统主要由硬件设计和软件设计两部分组成。其中,硬件设计包括单片机的最小系统模块、电源模块、控制模块、步进电机ULN2003A驱动模块、彩灯显示模块5个功能模块的设计。并且通过仿真控制系统对硬件、软件进行了调试和改善,实现了上述功能。本系统具有智能性、实用性及可靠性的特点。2.课程设计目的及要求2.1课程设计目的l增进对单片机的感性认识,加深对单片机理论方面的理解;l掌握单片机的内部功能模块的应用,如定时器/计数器、中断、存贮器、I/O口、A/D转换等;l了解和掌握单片机应用系统的软硬件设计过程及实现方法。2.2课程设计要求l设计一个步进电机控制器,要求用多个按键控制电机的启动/停止、加速、减速、反转等控制功能。l用彩灯显示电机的转动状态,如加速就控制彩灯快速闪烁,减速则控制彩灯慢速闪烁等。3.整体系统分析3.1步进电机控制工作原理步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。四相步进电机的工作方式有单四拍、双四拍和单双八拍3种。3.1.1步进电机的启停控制步进电机由于其电气特性,运转时会有步进感,即振动感。为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,提高电机运行的平稳性。在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机的转轴不能自由转动。3.1.2步进电机的转向控制如果给定工作方式正序换相通电,步进电机正转。若步进电机的励磁方式为单四拍,即A-B–C-D。如果按反序通电换相,即则电机就反转。3.1.3步进电机的速度控制如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。2个脉冲的间隔越短,步进电机就转得越快。调整送给步进电机的脉冲频率,就可以对步进电机进行调速。3.1.4步进电机的换向控制步进电机换向时,一定要在电机减速停止或降到突跳频率范围之内再换向,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第1个脉冲前发出。对于脉冲的设计主要要求要有一定的脉冲宽度(一般不小于5μs)、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了减速→换向→加速3个过程。3.2系统设计思路我们本次设计的步进电机控制系统主要有单片机89S52、ULN2003A步进电机驱动芯片、四相永磁式步进电机、LED显示管及其其他相关元件组成。可以通过开关来控制系统的启/停工作,并通过LED显示管的工作状态显示步进电机的正、反转和前进、后退的状态。其总体设计框图1所示:AT89S52单片机控制模块ULN2003A五线四相步进电机驱动模块LED发光二极管显示五线四相步进电机开关控制模块图1系统设计框图4.硬件系统设计4.1主要元件简介4.1.1AT89S52单片机AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU在掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图2.AT89S52引脚图4.1.2ULN2003A驱动芯片ULN2003是高耐压、大电流、内部由七个硅NPN达林顿管组成的驱动芯片。ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。图3.ULN2003A引脚图4.2模块分析4.2.1时钟晶振电路时钟电路是整个系统的心脏,控制着步进电机工作节奏。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。89S52单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式.图4中的外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30PF左右,晶振频率选12MHz。图4时钟电路4.2.2复位电路为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H,SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图5复位电路4.2.3步进电机驱动电路本设计采用ULN2003A芯片。ULN2003是高耐压、大电流、内部由七个硅NPN达林顿管组成的驱动芯片。ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003A工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。其中1B、2B、3B、4B分别与P1.0、P1.1、P1.2、P1.3相接图6电机驱动电路4.2.4显示电路由于系统显示的内容比较简单,所以显示选用发光二级管既方便又经济。当步进电机开始工作的时候,发光二极管发光;当步进电机不工作时,发光二极管不发光;当步进电机加速运行时,发光二级管快速闪烁;当步进电减速运行时,发光二极管减速闪烁。图7显示电路4.2.5系统总电路综合以上各模块,可得到总电路图:图8电路总体仿真图5.软件系统设计按硬件图连接好电路以后,开始用汇编语言写程序,并运行程序,程序编写程序流程图:(源程序见附录)开始分配地址空间电机停转状态设置T0,T1工作方式,T0,T1置初值开中断启动T0调用键盘程序有键按下中断等待否定时时间到键盘处理程序是停止T1否T0中断入口起、停标志位0是启动T1显示程序定时时间到中断返回T1中断入口电机驱动程序中断返回主程序流程图取键值正转按键按下否是起停标志位置“1”正反标志位置“0”开启T0反转按键按下是否起停标志位置“1”正反标志位置“1”开启T0返回停止键按下速度计数减1起停标志位置“0”关闭T0、T1是否速度计数加1否加速键按下最小速度是是否是最大速度减速键按下是否速度计数减1否速度计数加1键盘处理程序流程图6.调试结果完成焊接任务后,接着就要对系统进行调试了。连接并检查完基本线路后,我们将程序烧写到芯片上,但是开始我们设计的程序却烧写不上,我们以为是我们焊接的电路出现了问题,但检查后电路没问题,之后才知道我们用的芯片烧写器不行,换了个烧写器后程序便能够正确烧写进去了。然后就按下各个开关按键进行测试,最后电机和显示器都基本上按照设计要求工作了。最后的调试之所以能够如此顺利,与我们之前遇到的一系列问题和我们组员的辛勤付出是密不可分,最终电机能按要求转起来了就是对我们最好的鼓励!7.总结本次单片机课程设计可谓是困难重重,在设计制作的过程中确实遇到了很多问题,有的通过我们组员的努力最终解决了,有的最后没有解决。其中最大的一个问题就是软件程序的编写,在我们确定设计方案后,就开始用汇编语言编写程序了,在我们开始自己编写之前,通过网络查阅了一些相关的资料,也参考了一些其他成功的程序。但在我们编好之后,在进行计算机仿真测试的时候,总是不成功,不是电源通不上电,就是电机的转动状态不受控制,不能实现加速、减速、正反转等问题,最后,我们只好寻找指导老师寻求指导帮助。在这一点上我们没有做成功,心中难免有些许遗憾。其中遇到的另一个问题就是我们在进行调试时,程序不能烧写到芯片上,不过通过我们用排除法一步步排查后发现是由于烧写器功能的缺失,并不是硬件和软件问题,换了个烧写器后问题也就迎刃而解了。通过本次课程设计,我们深深体会到了理论知识学习的重要性,如果没有扎实的理论知识作为奠基,那么在今后的实践运用中就像是无头之蝇,没有一点头绪,不知从何入手,最终只能求助于他人,被动地进行工作。不管对以后的工作还是学习都起不到积极的促进作用。在本次课程设计活动中,我们团队也体会到了分工协作的重要性,主要负责写程序,焊接电路,负责撰写设计报告,每个组员分工明确,遇到个人难以解决的问题就一起商量讨论,组员之间既独立又不失联系协作,极大的提高了工作效率。这点是值得我们在今后的工作和学习中好好运用的。附一:元器件清单元器种类规格型号数量单片机ST89S521步进电机28BYJ-481驱动芯片ULN2003A芯片189S52配插座1开关5LED管2电阻10k47k35电容10uf30pf12振荡器12MHz1附二:源程序ORG00HSTART:MOVDPTR,#TAB1MOVR0,#03HMOVR1,#4HMOVR4,#00HMOVP1,#03HWAIT:MOVP1,R0MOVP0,#0FFHJNBP0.4,TIZJNBP0.0,POSJNBP0.1,NEGSJMPWAITPOS:MOVA,R4MOVCA,@A+DPTRACALLDELAYINCR4AJMPKEYNEG:MOVR4,#6MOVA,R4MOVCA,@A+DPTRMOVP1,AACALLDELAYAJMPKEYKEY:MOVP0,#0FFHJBP0.4,ZZ1AJMPTIZTIZ:MOVP1,#00HSETBP0.5SETBP0.6AJMPKEYZZ1:JBP0.0,FZ1CJNER4,#8,LOOPZMOVR4,#0LOOPZ:MOVA,R4MOVCA,@A+DPTRMOVP1,ASETBP2.1CPLP2.0JNBP0.2,JIASUZJNBP0.3,JIANSUZACALLDELAYINCR4AJMPKEYFZ1:JBP0.1,KEYCJNER4,#255,LOOPFMOVR4,#8LOOPF:DECR4MOVA,R4MOVCA,@A+DPTRMOVP1,ASETBP2.0CPLP2.1JNBP0.2,JIASUFJNBP0.3,JIANSUFACALLDELAYAJMPKEYDELAY:MOVA,R1MOVR6,ADD1:MOVR5,#6HDD2:MOVR7,#0DD3:DJNZR7,DD3DJNZR5,DD2DJNZR6,DD1RETJIASUZ:ACALLDELAY1CJNER1,#02,L1JMPL2L1:DECR1L2:JMPLOOPZJIANSUZ:ACALLDELAY1CJNER1,#08H,L3JMPL4L3:INCR1L4:JMPLOOPZJIASUF:ACALLDELAY1CJNER1,#02H,L5JMPL6L5:DECR1L6:JMPLOOPFJIANSUF:ACALLDELAY1CJNER1,#08H,L7JMPL8L7:INCR1L8:JMPLOOPFDELAY1:MOVR6,#20HDD4:MOVR5,#02HDD5:MOVR7,#0DD6:DJNZR7,DD6DJNZR5,DD5DJNZR6,DD4RETTAB1:DB02H,06H,04H,0CHDB08H,09H,01H,03HEND
8 评论

哈利路亚·

已采纳
单片机课程设计心得体会(集锦15篇)(单片机课程设计怎么做)>单片机课程设计心得体会1这个学期的单片机课已经早早的上完了,但是理论纯属理论,没有与实践的结合总让我们学的不踏实,感觉没有达到学以致用的效果。所庆幸的是在课程介绍考试完之后,老师给我们安排了这次单片机课程设计,给了我们学以致用的做好的实践。关于这次课程设计,我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获,在真正设计之前我们做了相当丰富的准备,首先巩固一下课程理论,再一遍熟悉课程知识的构架,然后结合加以理论分析、总结,有了一个清晰的思路和一个完整的的软件流程图之后才着手设计。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也能为资料的保存和交流提供了方便;我觉得在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计又出错了。除了对此次设计的准备工作之外,我们还学到了很多平时难得的东西,首先是团队协作,在这次设计当中,难免和同学产生观点和意见的分歧,以及分工明细、时间安排等不合理,通过这次设计,我们体会到了团结合作的重要性及力量之强大,还有让我们处理事情更加有条理,思路更加清晰明了了,发现、提出、分析、解决问题和实践能力的提高都将受益于我在以后的学习、工作和生活中。此次的设计,其实也是我们所学知识的一次综合运用,让我深深的认识到了学习单片机要有一定的基础,要有电子技术方面的数字电路和模拟电路等方面的理论基础,特别是数字电路;也要有编程语言的汇编语言或C语言。要想成为单片机高手,我们首先要学好汇编语言,然后转入C语言学习,所以我们不能学到后面就忘了前面的知识,更应该将所学的知识紧紧的结合在一起,综合运用,所谓设计,就是要求创新,只有将知识综合运用起来才能真正的设计好。>单片机课程设计心得体会2做了两周的课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。我们组一共有三个人,但其他两个人是真的神龙见首不见尾,除了在最后答辩的时候他们一齐坐在了我旁边,冠冕堂皇的指着我画了几遍的图说了几嘴,我想可能他们自己都不明白自己在说怎样,虽然有的东西他们也答出来了。我佩服他们的勇气,羡慕他们的运气(我见到的很多做了10天的人最后的成绩都有不如他们的),但是鄙视他们的做法。所幸的是,我得到了很多同学的帮忙。我想没有他们我可能都要放下了,因为我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。以前的汇编语言没学好,一开始的程序这块儿就要令我抓狂了。之后请教我们班的一个男生,每次跟他一齐到试验室调试程序(他们组也只有他一个人动手),看他边做边给我讲解。最后在开发机上做出来的时候,虽然不是我自己写的,但看他那么高兴,我也有一种分享到的成就感。之后我们组就用了他写的程序,他自己又抽空做了些拓展。接下来就是做硬件方面的焊接工作了。没想到这项看起来不需要多少技术的工作却是十分的劳心劳力。很多次是早上起来带瓶水带些吃的到实训中心,一泡就是一天。我看到有很多人跟我一样,不同的是他们是三三两两,而我大部分时间都是一个人做。在这个时候也有很多人帮忙我,或是热心的帮我带饭,或是在我打盹儿的时候帮我做点焊接。大家都鼓励我,即使最后出不来东西,但是必须要坚持把它做完。当我想放下的时候,我也这么对自己说,即使你做出来的是次品甚至不合格品,但是你必须要拿出来一件成品。在要验收前,最后做了一件成品出来,不幸的是它真的是一件不合格品。帮我的那个男生做的已经出来了,所以最后就应还是我的焊接方面的问题。有一点灰心,想再重做来不及了,单是检查线路却也查不出来什么问题。那么就准备答辩吧。我对着电路图再看课本,发现以前很多觉得很难记的东西此刻记起来容易多了,因为整天都在同它们打交道。51的引脚及其功能,a/d转换器的,驱动器的,所有我用到的我都一再的看书了解,同时请教同学我看书过程当中的疑惑。在这个过程中又发现了以前焊接当中出的一些问题,能改的就改,不能改的,咳,要是时间再多一些,或者我能早点做好,要是不只是我一个人动手……算了吧,不要想那些如果,还是准备我自己的,做好我此刻能做的吧。还好,验收还算成功,得了3分,不是很高,但是我觉得对我来说已经很好,代表了我真实的水平,我觉得我对单片机的一些知识在这个动手的过程中真的是从无到有增长的。同时我也尽量不去想别人得了多少分,没有什么不平衡的,有些人付出的是努力,有些人付出的是风险代价,其实这也没有什么不一样,这一点我早就了解。最后,我发现自己对单片机竟然也有了一点兴趣,想暑假回家以后自己去买一些东西来做,再补一补汇编语言。有什么问题请教下以前的那些老同学好了,他们好厉害,在高中劳动课就成功的做出过调频收音机,大一暑假的时候参加了学校的电子竞赛培训之后比赛,但是之后怎样样我就不明白了。汗。看来要多持续联络,这次回家就好好找他们叙叙旧。>单片机课程设计心得体会3课设的选题,方案的设计与确定,元器件的选择,硬件的焊接,这一系列的课设准备工作早在课设开始之前,老师就向我们做了相关的介绍和明确的说明,同时非常友好的提示我们早点着手准备自己的课设项目。但是如此语重心长的话语在当时似乎没有引起所有人的注意,只到有同学拿出已成型的作品时,只到课程设计进入第二周时,只到看到有同学拿着作品去验收时,只到发现自己在规定的时间里无法完成扩展功能是,我们开始醒悟,开始想起老师之前的友情提示,开始意识到课设的准备工作没做好,开始产生恐惧。这样的情形并不只是出现在的课程设计过程中,而是经常出现在我们的生活中。整个课程设计的过程中都显得有些盲目,有些匆忙。像这样的实训课程,对我们学习自动化的学生来说意义非常重大,它不仅是对单片机这一门课程的理解与运用,同时也涉及到数字电路和模拟电路的领域;这也是一次锻炼我们动手动脑的绝佳机会,能让我们切实感受理论与实际相结合的过程。设计的过程是枯燥的,程序的调试过程是让人感到乏味的、无奈的、头疼的,但是看到完工的作品却是激动高兴的。对于硬件的焊接,这可能是很多同学都喜欢做的一个环节。但是这次的硬件焊接与上一次实训时的不一样,这次你需要自己设计电路,自己学习理解某些芯片的引脚功能。芯片引脚的接线是我们容易出错的地方,如果接线图或者焊接有问题,这将对对芯片有很大的危害。硬件完工后,是软件的调试。我认为程序的调试是课设全过程中最难得部分,原因是我这块的功底非常薄弱。很坦诚的讲,以自己现有的能力,没法写出设计中的程序,我和同学只能借鉴高手的程序,努力地去修改源程序,使其能够实现想要的功能。软件的调试不像硬件焊接那么容易,调试过程中,我们必须考虑硬件与程序相匹配。在比如在这个环节中,很感谢我的同学,因为他能够非常耐心的为我讲解C语言中一些语句的用法和功能。这次实训还有一重大收获是学会写一份正式的科技论文。报告的书写与软硬件同等重要,我们应遵守论文的格式要求,这也是对思维严谨性的一种锻炼。完成一个出色的作品,单靠一个人的力量是不行的,小组成员之间必须相互配合,相互支持,相互团结,所以这也是一次锻炼我们团队合作精神的机会。虽然本次实训结束了,但是实训留给我们思考的地方还很多,需要我们学习的地方还很多。无论在现在的学习中还是在以后的工作中,我们都应养成多学习,理解、多思考、多合作,多实践的好习惯,重视理论与实践相结合。>单片机课程设计心得体会4做了两周的单片机课程设计,我有了很多的体会和感想。我们的课程设计有两个主要内容:一个是出租车计费器系统(还包括255计数和50000计数);另一个就是温度报警系统。实习可以在实验室里做,也可以在寝室里自己做,我大部分时间还是在寝室里做的。出租车计费器的设计是第一周的内容,由于有了老师的设计图和程序,只需要改一下自己所要求的变量就好。单片机的编程用的主要是汇编语言,说实话,我对汇编语言谈不上掌握,充其量只是了解。学校安排的课程真的太少了,关于语言部分的学习只学了几节课的内容,整本单片机书的内容也是学了三分之一多一点。第二周的内容就是温度报警系统的设计。这个内容没有现成的程序和设计图,需要我们真正亲手去编,最郁闷的莫过于画设计图。按照实验要求上的图画了出来,加载程序以后却不能正常运行,改了好多次都没有成功。同学们电脑上软件的版本差异也影响了交流。有些元件的型号不同,但在选用时图形确很相似,致使选错了元件,影响了结果。这两周的实习真的有点郁闷,程序里面的好多内容不懂,自我感觉是单片机我们所学的内容还不足以编出这两个程序,但是只好硬着头皮去看去理解。但在学习过程中也充满了乐趣,当看懂了程序的一些语句,画出了要求的设计图,那我喜悦那种成就感油然而生。这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ群里讨论或者是同学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。>单片机课程设计心得体会5结束了两周的电视机实训,我们又迎来了单片机课程设计实训,真是让我们受益匪浅啊学到了很多东西,不管怎么样,先感谢学校给我的这么多机会。真正的学到了东西。为期一周的单片机课程设计让我们受益匪浅。此次课程设计软件与硬件相结合,考察了我们的焊接水平与编程能力。对于我们应用电子技术的学生而言焊接是不成问题,也很顺利;可到了编程时就出现了很大的障碍,先开始的显示时钟还算顺利,下面的报警部分就花费了相当长的时间,还有加上报警时的音乐也是我们到图书馆里查阅资料由汇编转化成C语言得来的。本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手,理解流程是有思维的前提。单片机是我们上学期开设的课程,所以很多专业知识也都忘记了。不过经过我们一步步的努力,花费的时间与精力终于没有白费,效果渐渐地出现了。其实本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱,在仔细修改程序之后,终于一步步地达到效果了。我们将各个部分的程序编好后怎么都连不起来,出不了预期的效果。对于硬件在编程过程中PCB板的接触又是一个头疼的问题,在进行编译的时候,数码显示管上什么都没有,按一下旁边与之相连的元器件时就有显示了,所以也花费了好多时间在PCB板的重新焊接上。对于软件我们在时钟完成后就对其加入了报警系统,可加了之后发现程序乱了,以前的时钟也不可以控制了。经过反复研究,发现接地接错了位置,导致了用来报警的红灯跟绿灯根本不亮,然后就将接地线重新焊接了一下,功夫不负有心人,红灯亮了,配合编好的程序,用纸板挡住了发射管与接收管之间的信号传输,数码显示管出现闪烁的效果,并且没信号的时候绿灯亮,有信号的时候红灯就亮了,这个现象让我们喜出望外。经过修改时钟程序和报警系统都被使用上了,可更大的难题就是如何让它报警这困扰了我们,数码显示管上终于有了闪烁的效果,可报警声还没加的上去。老师的要求是除了蜂鸣器上的报警声再加一段音乐。翻阅了图书馆里的书籍,查出来的音乐程序都是用汇编编的,要将此程序放到主程序中就必须将汇编程序改编成C语言程序。这再次困扰了我们,虽然以前也学过汇编跟C之间的互换,可都是简单的,从没涉及到这么复杂的程序过,改编很是有压力,经过研究,我们将汇编程序舍弃了,到网上下载了一段音乐程序,是C语言编的。要让音乐在我们的红外报警系统中唱出来可不是什么简单的事情,虽然找到了音乐程序,但要让音乐程序跟我们的主程序融合在一起得花费点心思了。最后在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费,我们从中学到了很多知识。,也让我们对单片机有了更深一步的了解。虽然最后结果是出来了,可这与老师的精心指导是分不开的,她引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以说老师是功不可抹的。总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅。>单片机课程设计心得体会6这次这个单片机的课程设计我们完成的不太理想,我们小组两个人都是交流生,并且不是在物理学院学习,同时选课时没有认真全面的了解这门课程的安排,导致没有选上和课程配套的实验课,一个学期也就没有做过一次实验,在后来的制作过程中遇到了很多困难,所以这次这个课程设计的作品完全是在没有任何单片机制作经验甚至是没有做过任何相关电路的基础上开始的。选题的时候其实只上了几个星期的`课,对单片机能做什么或者说以我们的水平能让单片机做什么根本没有一个清晰的认识,很担心自己的选题最后做不出来,所以当时选题时的原则是尽量的简单可行,因为毕竟我们没有实验课,一学期下来必定会比物理系的同学在具体的实验方面落后不少,同时平时我们都在南新校区,与老师和同学的交流都很困难,在后来的具体制作过程中遇到什么困难几乎不可能跑到实验室去向老师请教,同时现在社会上都在大力提倡节能,于是我们打算从这点出发在我们的身边发现问题,当时我们听周围的同学说起济南的夏天白天相当的炎热,可是晚上退凉很快特别是深夜的时候温度其实已经不高了,但是同学们一般晚上睡觉都比较早,都会叫风扇一直开着最大档,可是到了深夜后已经没有必要这么强的风速了,这样一夜下来将会浪费很多电能,同时还容易把同学们吹感冒。于是我们想能不能做一个单片机系统来解决这个问题,基于以上原因我们确定了这个方案,在最初的计划中我们还准备加入对风扇转向的控制,使之能实现人体追踪功能,不过在后来的具体设计中发现现在风扇的风扇转向控制基本都是纯机械装置,要用单片机控制比较的困难,而电子控制装置一般都出现在高端的风扇之中且价格比较昂贵,而且机械部分方面我们也无法解决。所以最后决定放弃对转向的控制,等以后对机械方面的只是有所学习之后再做。通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际,避免称为只会纸上谈兵的赵括。课程设计贡献排序:这次课程设计从最初的规划到后来的理论设计到最后的具体制作都是我们两共同完成的,实在无法区分贡献排序。各取50%吧。课程改革建议:我们强烈建议将这门课程的理论学习和实验部分合并成一门,以避免想我们这种情况的再次发生。>单片机课程设计心得体会7作为一名自动化专业的大学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力如何把我们所学的专业基础课理论知识运用到实践中去呢我想做类似的课程设计就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。接下来的4月,我意外的接到系学生工作处主管陈老师来电,说我系承办了院校园文化艺术节的南方擂台知识抢答竞赛,而学校又没有抢答器,要我组织几个学生做一个抢答器。我当时想,那好啊,做抢答器不难。以前有用与非门做过,于是我便爽快的答应了陈老师,并保证没有问题,保质保量完成。当是可能是我想得太简单了,抢答器不就八个按键一个数码管显示不就完了么,把最先抢到的组别显示出来。可是到主任给我们提要求的时候才发现抢答器要实现我功能远不只这么多,倒计时、蜂鸣提示、范规报警、电子计分器,这些我都没有考虑进来。主任也说了,这是一次院级的比赛,电子系做的东西要拿的出手,要做就做点样子出来。我想也好,虽有点难度,但符合我喜欢挑战难度的性格。我说行!这个活我做了!接到任务开始布属,我把计分电路分了出去由其它几个同学做,我专攻抢答部分。由于没有独立设计电路的经验,刚开始得一步步慢慢深入,正好我会PROTEUS。软硬件的调度都靠它完成,这样可以省很多的时间。做抢答器,我们花了一个月的时间,没日没夜的调试程序(当时单片机课程还没学到定时器中断,还得一边自学。)做PCB板,采购元器件,安装,调试,运行。那时,他们的计分电路也做好了,用了16个数码管做显示。我们将计分和抢答电路板及数码管安装在了事先木制的外壳上,进行整体调试。记得那时正赶上五一放假,而五月8号就是比赛了。我们都没有休息,将工作间从实验室搬到了寝室。那段时间虽然辛苦,但很充实,每个人收获都特别大。为了让自己的编程水平能进一步提高,我将自己编写的程序发到了论坛里与大家共享,并下载网友们的程序进行分析。电子钟程序、液晶密码锁程序、跑马灯程序、大屏幕点阵屏程序、上下位机通信程序等等,这些我都能熟练的掌握。我认为,学编程读别人的程序非常重要,每个人都有不同的思维,相同的任务却有很多不同的方法,在每个程序里都能找到些经典的段子,让人回味。从中可以学到很多的方法,并且有些可以直接的引用。一个出色的程序员在编程时,并不是从零开始,而应该是先找出类似的例子进行分析,参考,看看有没有值得引用和借鉴的地方,加以修改,为自己所用。实践证明,这样做是对的。从当初不知如何着手到现在随手就能写个几百行,短短几个月,我进步还是蛮快的。做单片机课设那会,我帮助了班上不少的同学,帮他们调试过硬件,修改过程序,并为他们解答了一系列的疑惑。当同学们投来羡慕的目光时,我很自豪,这些都是我努力的结果。当然,努力归努力,方法也很重要。在这里,我总结一下,与大家共勉:1、基本功要杂实,要有一定的数模电基础。学单片机首先要搞清楚它的基本结构和存储单元的分配。2、在学单片机的过程中,最好自己动手做一个单片机系统。先找现成的程序,现成的电路图,做成实物,并以这个例子为开端,带着疑问学习,往往更有目的,更主动。3、有条件的话先个好的开发板,便实验时之用。没开发板,PROTEUS软件仿真也行。4、多读有代表性的程序,读得多了自然就会学到很多的好方法。可买本单片机子程序集看看,也可网上下载程序分析。5、多泡泡单片机相关的论坛,与大家多交流交流,单片机完全可以自学的。我觉得以上几点相当重要,因为它对我帮助很大,算是将我领进了单片机的大门,以至于我学起来不那么吃力,没有感觉到像大家说的那样的难。我看过很多的程序,也调试过很多的程序,每一次收获都不小。我的实验室就是KEIL和PROTEUS。这使我做实验很方便。虽是虚拟的,但调试程序还是可以的,省去了很多的时间提高了效率。最近我在学CX51,因为学单片机掌握C语言是非常重要的,C语言的通用性对学习其它类型的单片机有很大的帮助。今后,我想做嵌入式系统工程师,想学ARM,想搞操作系统。所以我现在必须打好基础,这样才能进步。我学单片机的一些经历。其实我并不是很厉害,我懂的也只是一点皮毛,只是晓得单片机是怎么回事,能编几个小程序罢了。写这些我只是想记录一下我初学单片机的经历。同时对于那些想开始学习单片机的朋友们,还是可以有一些值得借鉴的地方。希望大家都能学好单片机,那些觉得难的学得吃力的同学要对自己有信心,要多做多练,这样才能培养学习兴趣。只要坚持就能如愿,同志们,加油!>单片机课程设计心得体会8结束了两周的电视机实训,我们又迎来了单片机课程设计实训,真是让我们受益匪浅啊学到了很多东西,不管怎样样,先感谢学校给我的这么多机会。真正的学到了东西。为期一周的单片机课程设计让我们受益匪浅。此次课程设计软件与硬件相结合,考察了我们的焊接水平与编程潜力。对于我们应用电子技术的学生而言焊接是不成问题,也很顺利;可到了编程时就出现了很大的障碍,先开始的显示时钟还算顺利,下面的报警部分就花费了相当长的时间,还有加上报警时的音乐也是我们到图书馆里查阅资料由汇编转化成C语言得来的。本来还以为编程会很简单的,等到实际操作起来才明白它的复杂性,没有想像中的那么得心应手,理解流程是有思维的前提。单片机是我们上学期开设的课程,所以很多专业知识也都忘记了。但是经过我们一步步的努力,花费的时间与精力最后没有白费,效果渐渐地出现了。其实本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱,在仔细修改程序之后,最后一步步地到达效果了。我们将各个部分的程序编好后怎样都连不起来,出不了预期的效果。对于硬件在编程过程中PCB板的接触又是一个头疼的问题,在进行编译的时候,数码显示管上什么都没有,按一下旁边与之相连的元器件时就有显示了,所以也花费了好多时间在PCB板的重新焊接上。对于软件我们在时钟完成后就对其加入了报警系统,可加了之后发现程序乱了,以前的时钟也不能够控制了。经过反复研究,发现接地接错了位置,导致了用来报警的红灯跟绿灯根本不亮,然后就将接地线重新焊接了一下,功夫不负有心人,红灯亮了,配合编好的程序,用纸板挡住了发射管与接收管之间的信号传输,数码显示管出现闪烁的效果,并且没信号的时候绿灯亮,有信号的时候红灯就亮了,这个现象让我们喜出望外。经过修改时钟程序和报警系统都被使用上了,可更大的难题就是如何让它报警这困扰了我们,数码显示管上最后有了闪烁的效果,可报警声还没加的上去。老师的要求是除了蜂鸣器上的报警声再加一段音乐。翻阅了图书馆里的书籍,查出来的音乐程序都是用汇编编的,要将此程序放到主程序中就务必将汇编程序改编成C语言程序。这再次困扰了我们,虽然以前也学过汇编跟C之间的互换,可都是简单的,从没涉及到这么复杂的程序过,改编很是有压力,经过研究,我们将汇编程序舍弃了,到网上下载了一段音乐程序,是C语言编的。要让音乐在我们的红外报警系统中唱出来可不是什么简单的事情,虽然找到了音乐程序,但要让音乐程序跟我们的主程序融合在一齐得花费点心思了。最后在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费,我们从中学到了很多知识。,也让我们对单片机有了更深一步的了解。虽然最后结果是出来了,可这与老师的精心指导是分不开的,她引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以说老师是功不可抹的。总而言之,单片机课程设计对于我们有很大的帮忙,我们从中受益匪浅。>单片机课程设计心得体会9作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有好处的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践潜力如何把我们所学的专业基础课理论知识运用到实践中去呢我想做类似的课程设计就为我们带给了良好的实践平台。这次单片机课程设计我们历时两个星期,在我们班里算是倒数几组完成的吧,但经过这两个星期的实践和体验下来,我们又怎样会去在乎那个先后问题呢,因为对我来说学到的不仅仅是那些知识,更多的是团队和合作。此刻想来,也许学校安排的课程设计有着它更深层的好处吧,它不仅仅仅让我们综合那些理论知识来运用到设计和创新,还让我们明白了一个团队凝聚在一齐时所能发挥出的巨大潜能!单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。两个星期前我们五个人还在为到底选那个课题而发生分歧,最后还是在龚老师的耐心分析和指导下完成了课题的选定,但是随之而来的问题却远比我们想想的要困难的多过没想到这项看起来不需要多少技术的工作却是十分需要耐心和精力在两个星期后的这天我已明白课程设计对我来说的好处,它不仅仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手潜力和独立思考的潜力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多!在做本次课程设计的过程中,我感触最深的当属查阅超多的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们能够抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD制图、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。后,要做好一个课程设计,就务必做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,明白该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改善是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅仅是实现功能,而就应让人一看就能明白你的思路,这样也为资料的保存和交流带给了方便;在设计课程过程中遇到问题是很正常德,但我们就应将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践潜力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们透过查阅超多有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。透过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生用心的影响。透过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要好处,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名自动化专业的学生,单片机的课程设计是很有好处的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法透过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮忙和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。我认为这个收获就应说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点能够联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合相处,以及自身的动脑和努力,都是以后工作中需要的。>单片机课程设计心得体会10为期一周的单片机实训结束了,真是让我受益匪浅啊!学到了很多东西,不管怎样样,先感谢学校给我的这么多机会,真正的学到了东西。随着电子技术的发展,个性是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,我们就学习了单片机这门课程,感觉是有点难。也不明白整个学习过程是怎样过来得,但是时间不等人。但是在学习中,我才发现学习单片机不仅仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎样和电脑相连都不明白,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。但是在学习中,我才发现学习单片机不仅仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎样和电脑相连都不明白,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费我我们学到了很多知识,也让我们对单片机有了更深一步的了解,虽然最后结果是出来了,可这与老师的精心指导是分不开的她引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以老师是功不可没的。总而言之,单片机课程设计对于我们有很大的帮忙,我们从中受益匪浅。>单片机课程设计心得体会11课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践潜力的重要环节,是对学生实际工作潜力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中能够说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,能够说得是苦多于甜,但是能够学到很多很多的的东西,同时不仅仅能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。透过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手潜力和独立思考的潜力。在设计的过程中遇到问题,能够说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎样放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……透过这次课程设计之后,必须把以前所学过的知识重新温故。这次课程设计最后顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,最后游逆而解。同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮忙的所有同学和各位指导老师再次表示忠心的感谢!>单片机课程设计心得体会12时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。虽然这次的课程设计算起来在实验室的时间只有三天,但是因为我们都有自己的实验板,所以在宿舍里做实验的时间必须不止三天。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对就应是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。在这次难得的课程设计过程中我锻炼了自己的思考潜力和动手潜力。透过题目选取和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选取和芯片的选取上,培养了我们综合应用单片机的潜力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的潜力,动手潜力,发现问题,解决问题的潜力。并且我们熟练掌握了有关器件的性能及测试方法。再次感谢老师的辅导以及同学的帮忙,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。>单片机课程设计心得体会13作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力如何把我们所学的专业基础课理论知识运用到实践中去呢我想做类似的课程设计就为我们提供了良好的实践平台。这次单片机课程设计我们历时两个星期,在我们班里算是倒数几组完成的吧,但经过这两个星期的实践和体验下来,我们又怎么会去在乎那个先后问题呢,因为对我来说学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。两个星期前我们五个人还在为到底选那个课题而发生分歧,最后还是在龚老师的耐心分析和指导下完成了课题的选定,但是随之而来的问题却远比我们想想的要困难的多过没想到这项看起来不需要多少技术的工作却是非常需要耐心和精力在两个星期后的今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多!在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD制图、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名自动化专业的学生,单片机的课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的 学习 ,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。我认为这个收获应该说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。>单片机课程设计心得体会14课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。本次课程设计持续了一个多月的时间,它主要是培养我们通过把所学的理论知识应用于实践,并且这一次课程设计采用的万用板搭建电路,想要焊接出来的电路板看起来整洁美观,我们便需要从全局入手,要有全局统筹局部的思维,这样才能更快捷设计出整齐美观的电路板。刚开始时,由于自己的专业基础不足,对课题设计有一些恐惧。刚开始只是对照电路图一个个元件进行焊接,没有对整个电路结构进行布局。有经验的同学提醒我,如果继续这样下去,最后有些电路根本无法焊接上去。有了这种意识之后,我立即决定停止焊接,在同学的帮助下开始对整个电路图进行合理的排列,根据不同的电路部分的不同的特殊要求来安排位置,以达到最佳。最优的效果。在进行焊接的过程中慢慢的对此次课程越来越感兴趣。然而在用程序对硬件进行调试的时候却出现了一些问题。整体焊接完毕后还是不能实现功能,通过一步一步的测量调试,检查出多处漏焊、虚焊的现象,修改后还是有很多的问题,用万用表不断的测试也找不到问题所在,而且用尽了各种方法检查了很久之后,任然没有有这样一个想法,但是没有做出来心里实在是很不甘心,因此我还是向基础扎实,经验丰富的同学请教,鼓励自己做下去。在他们的帮助下,发现有的电线上的绝缘胶皮由于焊接时,温度过热有部分破损,导致部分短路。一些残留的锡使得有些键盘与键盘之间连接了起来,却又很难被发现。经过多次修改和调整后,终于能基本实现功能。问题得以圆满的解决,课题设计圆满结束,在此过程学到的细心,坚持不懈,不畏困难将使我受益终身。这其中除了自己的努力,更多的是感谢我们的课题设计老师段正华教授的帮助。由于对电路原理的不熟,对汇编语言的不精通我对课程设计很惧怕,但是段正华教授一方面在理论课上教育我们要对自己有信心,要争做一流的学者,并很详细很专业的为我们讲解了本次课程设计的理论知识,让我对此有了宏观上了解,并能够掌握这些理论知识,为以后的实际操作提供了坚实的基础。另一方面在实际操作时,也给我们很多技术上的指导,让我们能在此过程中,学到更多的操作技能。接下来就是做硬件方面的焊接工作了。没想到这项看起来不需要多少技术的工作却是非常的劳心劳力。很多次是早上起来带瓶水带些吃的到实训中心,一泡就是一天。我看到有很多人跟我一样,不同的是他们是三三两两,而我大部分时间都是一个人做。在这个时候也有很多人帮助我,或是热心的帮我带饭,或是在我打盹儿的时候帮我做点焊接。大家都鼓励我,即使最后出不来东西,但是一定要坚持把它做完。当我想放弃的时候,我也这么对自己说,即使你做出来的是次品甚至不合格品,但是你一定要拿出来一件成品。在要验收前,终于做了一件成品出来,不幸的是它真的是一件不合格品。帮我的那个男生做的已经出来了,所以最后应该还是我的焊接方面的问题。有一点灰心,想再重做来不及了,单是检查线路却也查不出来什么问题。那么就准备答辩吧。我对着电路图再看课本,发现以前很多觉得很难记的东西现在记起来容易多了,因为整天都在同它们打交道。51的引脚及其功能,A/D转换器的,驱动器的,所有我用到的我都一再的看书了解,同时请教同学我看书过程当中的疑惑在这个过程中又发现了以前焊接当中出的一些问题,能改的就改,不能改的,咳,要是时间再多一些,或者我能早点做好,要是不只是我一个人动手……算了吧,不要想那些如果,还是准备我自己的,做好我现在能做的吧。最后,我发现自己对单片机竟然也有了一点兴趣,想暑假回家以后自己去买一些东西来做,再补一补汇编语言。有什么问题请教下以前的那些老同学好了,他们好厉害,在高中劳动课就成功的做出过调频收音机,大一暑假的时候参加了学校的电子竞赛培训接着比赛,不过后来怎么样我就不知道了。汗。看来要多保持联络,这次回家就好好找他们叙叙旧。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PnP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和老师再次表示忠心的感谢!>单片机课程设计心得体会15做了两周的单片机课程设计,我有了很多的体会和感想。我们的课程设计有两个主要资料:一个是出租车计费器系统(还包括255计数和50000计数);另一个就是温度报警系统。实习能够在实验室里做,也能够在寝室里自己做,我大部分时间还是在寝室里做的。出租车计费器的设计是第一周的资料,由于有了老师的设计图和程序,只需要改一下自己所要求的变量就好。单片机的编程用的主要是汇编语言,说实话,我对汇编语言谈不上掌握,充其量只是了解。学校安排的课程真的太少了,关于语言部分的学习只学了几节课的资料,整本单片机书的资料也是学了三分之一多一点。第二周的资料就是温度报警系统的设计。这个资料没有现成的程序和设计图,需要我们真正亲手去编,最郁闷的莫过于画设计图。按照实验要求上的图画了出来,加载程序以后却不能正常运行,改了好多次都没有成功。同学们电脑上软件的版本差异也影响了交流。有些元件的型号不同,但在选用时图形确很相似,致使选错了元件,影响了结果。这两周的实习真的有点郁闷,程序里面的好多资料不懂,自我感觉是单片机我们所学的资料还不足以编出这两个程序,但是只好硬着头皮去看去理解。但在学习过程中也充满了乐趣,当看懂了程序的一些语句,画出了要求的设计图,那我喜悦那种成就感油然而生。这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ群里讨论或者是同学之间相互帮忙。团结就是力量,无论在此刻的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。尽管我们在课堂学到的资料很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对我们的精心指导和帮忙,感谢同学们对我的帮忙。
44 评论

我的右手╰没了温度

已采纳
片机课程设计报告---单片机的电子钟设计片机课程设计报告---单片机的电子钟设计本文简介:烟台南山学院单片机课程设计报告题目单片机的电子钟设计姓名:0.0所在学院:计算机与电气自动化学院所学专业:电气工程及其自动化班级:电气工程1003学号:201002140221指导教师:。。。完成时间:2013年9月4日目录一设计任务与要求31.1设计目的31.2设计指标31.3设计要求3二总体设计片机课程设计报告---单片机的电子钟设计本文内容:烟台南山学院单片机课程设计报告题目单片机的电子钟设计姓名:0.0所在学院:计算机与电气自动化学院所学专业:电气工程及其自动化班级:电气工程1003学号:201002140221指导教师:。。。完成时间:2013年9月4日目录一设计任务与要求31.1设计目的31.2设计指标31.3设计要求3二总体设计方案42.1系统总体设计42.2各模块的选择42.3软件系统功能模块及功能介绍5三单元电路分析与软件设计63.1使用单片机资源情况63.2电子钟软件系统程序流程图63.3电子钟软件系统程序8四总原理图与元器件清单114.1电子钟总原理图114.2元器件清单12五仿真12六心得体会13七参考文献14基于单片机的电子钟课程设计一设计任务与要求1.1设计目的本电路应用了AT89C51芯片作为译码器实现了LED动静态显示的基本原理,电路原理简单,价格低廉,可用于多位LED显示,从而提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。1.2设计指标设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3设计要求采用单片机内部定时器,用软件对其进行秒、分、时的计数,单片机无法产生1s的定时时间,但是可以用硬件定时和软件计数相结合的方法实现,采用中断方式,即通过中断服务程序进行计数器溢出次数的累计,把定时器/计数器设定为62.5ms,计数溢出16次就可以得到1s,计60次为1分,60分计60次则为1小时,然后通过数码管动态刷新显示出来,再设四个按键进行时间的调整,一个键用作启动/调整键,其余三个分别用于时、分、秒的调整。方案二不需要外部扩展芯片,电路较简单,成本较低。二总体设计方案2.1系统总体设计1.用AT89C51单片机及接口电路设计一个电子计时器。(1)系统硬件设计:根据任务要求,完成单片机最小系统及其扩展设计,组成功能完整的系统。(2)系统软件设计:根据数字电子计时器功能,完成控制软件的编写与调试,并对数码显示进行控制。2.2各模块的选择2.2.1主模块的选择AT89C2051单片机,带有2KBFlash可编程、可擦除只读存储器(E2PROM)的低压、高性能8位CMOS微型计算机。拥有15条可编程I/O引脚,2个16位定时器/计数器,6个中断源,可编程串行UART通道,并能直接驱动LED输出。为了完成时钟设计,应用AT89C2051单片机完全可以实现。2.2.2时钟芯片的选择DS12887与DS1216芯片都有内嵌式锂电池作为备用电池;X1203引脚少,没有嵌入式锂电池,跟DS1302芯片功能相似,只是相比较之下,X1203与STC89C52搭配使用时占用I/O口较多。DS1***3为带有全功能实时时钟的8K×8非易失性SRAM,集成了非易失性SRAM、实时时钟、晶振、电源掉电控制电路和锂电池电源,BCD码表示的年、月、日、星期、时、分、秒,带闰年补偿。同样,DS1***3拥有28只管脚,硬件连接起来占用微处理器I/O口较多,不方便系统功能拓展和维护。故而从性价比和货源上考虑,本设计采用实时时钟日历芯片DS1302。2.2.3显示模块的选择本实验中要显示的信息比较多,选择数码管显示的话需要的数码管数量将会很多,将是线路复杂,PCB布线混乱,因此选择7SE-MPX4-CA作为显示模块。单片机芯片图2.3软件系统功能模块及功能介绍(1)主程序:主程序的主要功能是进行定时器/计数器,显示缓冲区的初始化,显示,以及判断是否有功能键按下,判断按下的键并调相应的键功能程序。(2)键功能程序:键功能程序的主要功能是执行对应的功能,Menu键为启动/调整键,第一次按下则由待机状态进入运行状态启动时钟,从00-00-00开始显示,然后按下为奇数则暂停,进入调时状态,按下Sec键则秒加1,按下Min键则分加1,按下Hour键则时加1;若按下为偶数则进入时钟运行状态。(3)中断服务程序:中断服务程序的主要功能是进行计时操作,程序开始先判断计数溢出是否满了16次,若不满16次则表明没有达到最小计时单位秒,则中断返回;若满16次表明已达到最小计时单位秒,则程序断续向下执行,进行分和时的计时。(4)显示子程序:显示程序的主要功能是将显示缓冲区的段控码正确的显示在数码管上,采用动态显示,从右向左循环点亮每一位数码管。(5)键扫子程序:键扫子程序的主要功能是判断是否有键按下,是哪个键按下,并将键值保存在20H中。三单元电路分析与软件设计3.1使用单片机资源情况(1)时钟的时分秒在片内RAM存储地址如表3.1所示表3.1时钟存储地址名称时分秒十位78H7BH7EH个位79H7CH7FH3.2电子钟软件系统程序流程图(1)主程序流程框图如图3.1所示。(2)计时1秒子程序流程框图如图3.2所示(3)显示子程序流程框图如图3.3所示。图3.1主程序流程框图图3.2计时1秒子程序流程框图图3.3显示子程序流程框图3.3电子钟软件系统程序伪指令定义SECEQU30HMINEQU31HHOUREQU32HSECGEEQU7FHSECSHIEQU7EHMINGEEQU7CHMINSHIEQU7BHHOURGEEQU79HHOURSHIEQU78H;系统起始程序区ORG0000HSTART:LJMPMAINORG000BHLJMPTC0;显示子程序;入口:77H,78H,79H,7AH,7BH,7CH,7DH,7EH,7FH,DISP:PUSHDPHPUSHDPLPUSHACCPUSHPSWCLRRS1;改变当前寄存器组为组1SETBRS0MOVR1,#78H;显示缓冲存储单元首地址MOVR2,#0FEH;从右至左显示,共阳极DISP1:MOVA,@R1MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,A;送段控MOVP2,R2;送位控LCALLDL;延时2毫秒为什么这里要延时MOVA,R2JNBACC.7,DISP2;为0转移;RLAINCR1MOVR2,ALJMPDISP1DISP2:POPPSW;恢复当前寄存器组的组号POPACCPOPDPLPOPDPHRET加1子程序SEC_:INCSECMOVA,SECMOVB,#10DIVABMOVSECSHI,AMOVSECGE,BMOVA,SECCJNEA,#60,EXIMOVSEC,#0MOVSECGE,#0MOVSECSHI,#0LJMPEXIMIN_:INCMINMOVA,MINMOVB,#10DIVABMOVMINSHI,AMOVMINGE,BMOVA,MINCJNEA,#60,EXIMOVMIN,#0MOVMINGE,#0MOVMINSHI,#0LJMPEXIHOUR_:INCHOURMOVA,HOURMOVB,#10DIVABMOVHOURSHI,AMOVHOURGE,BMOVA,HOURCJNEA,#24,EXIMOVHOUR,#0MOVHOURGE,#0MOVHOURSHI,#0EXI:RET四总原理图与元器件清单4.1电子钟总原理图4.2元器件清单五仿真本次设计的数字电子钟有三种状态:待机显示“P.”状态,时钟运行状态,时钟调整状态。待机显示“P.”状态时钟运行状态时钟调整状态六心得体会本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的电子时钟设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了许多新的知识,在和同学协作过程中增进同学间的友谊,使我对团队精神的积极性和重要性有了更加充分的理解。七参考文献[1]谢自美.电子线路设计·实验·测试[M].武汉:华中理工大学出版社,1992.[2]何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1993.[3]楼然笛.单片机开发[M].北京:人民邮电出版社,1994.14[4]付家才.单片机控制工程实践技术[M].北京:化学工业出版社2004.3.12
61 评论

及时抱大腿

已采纳
对时功能电子钟设计报告对时功能电子钟设计报告本文简介:设计报告题目完成人:张欣,杜枫一、系统概述使用AT89C51单片机结合段码LED显示器,键盘设计一个具有对时功能的电子钟。1、设计要求:l采用8个LED数码管,显示格式为“时时-分分-秒秒”,采用24小时制。l“时/分/秒”相应LED闪动,表示相应的部分处于对时状态。l用5个功能键操作来设置当前时间对时功能电子钟设计报告本文内容:设计报告题目完成人:张欣,杜枫一、系统概述使用AT89C51单片机结合段码LED显示器,键盘设计一个具有对时功能的电子钟。1、设计要求:l采用8个LED数码管,显示格式为“时时-分分-秒秒”,采用24小时制。l“时/分/秒”相应LED闪动,表示相应的部分处于对时状态。l用5个功能键操作来设置当前时间:功能键K1~K5功能如下。lK1—进入时间设置状态,且“时时-分分-秒秒”LED闪动。lK2—设置小时。lK3—设置分钟。lK4—设置秒钟。lK5—确认完成设置,“时时-分分-秒秒”LED停止闪动,继续计时。l未进入计时状态时,K2-K5键的操作被忽略。程序执行后LED显示“00:00:00”,然后开始计时。2、用汇编语言编写相应软件;3、系统软、硬件联调。二、方案设计本次设计是基于AT89C51单片机电子钟的设计,对时、分、秒的显示的控制,时、分、秒用六位数码管显示LED数码管时钟电路采用24小时计时方式。该电路采用AT89C51单片机,使用5V电池供电,只使用一个按键进行复位状态的控制以及正常显示等状态。LED显示采用静态扫描方式实现,采用6M晶振。该电子钟使用单片机模块控制,用单片机原理实现时、分、秒计时的装置。本次设计通过用单片机为主控制,通过电路仿真而实现。首先使用ProteusProfessional软件进行绘制硬件电路图,用keil软件进行编程与调试,最终生成hex文件,传入单片机内部,从而实现仿真效果。三、硬件设计根据AT89C51单片机灌电流能力强,拉电流能力弱的特点,我们选用共阳数码管。将AT89C51的P3.0~P3.1分别与74LS1***的数据输入口和时钟信号输入口相连,74LS1***是8位串入并出移位寄存器,负责将P3.0输出的串行数据转换成并行信号。显然,这种方式显示同样的位数使用单片机的口线大大减少,即可以让LED当前时间数值,数码管显示器有二种工作方式,即静态显示方式和动态扫描显示方式。为节省端口,本系统采用静态扫描显示方式。系统的时分显示部件由6只7段共阳LED数码管构成,前两只用于时的显示,中间两只用于分的显示,最后两只用于秒的显示。每个LED数码管由相对应的74LS1***驱动,数码管的a,b,c,d,e,f,g,h,分别分别74LS1***的QA,QB,QC,QD,QE,QF,QH相连。3.1AT89C51引脚及其功能引脚功能:Vcc(40):电源电压GND(20):接地P3.0RXD(串行输入口)P3.1TXD(串行输出口)RST(9):复位信号输入端。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1(18):振荡器反相放大器的及内部时钟发生器的输入端。XTAL2(19):振荡器反相放大器的输出端。通过XTAL1、XTAL2外接晶振后,即可构成自激振荡器,驱动内部时钟发生器向主机提供时钟信号。3.2时钟电路单片机必须在时钟的驱动下才能进行工作。MCS-51系列单片机内部有一时钟振荡电路,只需外接振荡电源,就能产生一定频率的时钟信号到单片机内部的各个单元,决定单片机的工作速度。电路如下图:3.3驱动部件74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。图3(a)为74LS245的管脚图。图3(a)74LS245管脚图3.4显示部分由8个共阴极的数码管组成时、分、秒和分隔符的显示P0口的8条数据线P0.0至P0.7分别与74LS245的A口对应相接,增大AT89C51的带负载能力;P3口对应接八个数码管的公共端,通过程序控制数码管的亮与灭,这样通过P0口送出一个存储单元的高位、低位BCD显示代码,通过P3口送出扫描选通代码轮流点亮LED1至LED8,就会将要显示的数据在数码管中显示出来,从P0口输出的代码是BCD码,从P3口输出的就是位选码。这是扫描显示原理。LED显示段码字型共阳极段码共阴极段码字型共阳极段码共阴极段码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3BOH4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H注:(1)本表所列各字符的显示段码均为小数点不亮的情况。(2)“空白”字符即没有任何显示。四、软件设计本次设计的软件部分由主程序,静态显示子程序,中断服务程序,时、分、秒加1子程序,时、分、秒单元清零子程序组成。4.1电子钟的主程序本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。其主程序执行流程见下图。开始设堆栈指针秒分时计数单元清零设定时器工作方式设定时器初值设中断方式中断初始化调显示子程序TMOD=01为工作方式14.2定时器中断服务程序定时器TO用于时间计时,定时溢出中断周期设为100ms,中断进入后,判断是否到1秒钟,到了,则调用加法子程序对秒进行加1处理,处理完后返回断点地址,同时判断秒是否到了60秒,到了则对秒单元清零,同时对分进行加1操作,同样对分进行判断,到60分则对分单元清零,同时对时加1,同样也对时进行判断,到24小时,则对时单元清零,最后中断返回。T0中断服务程序执行流程见下图:保护现场赋初值10数是否到?NY秒值加1是否到60秒?NY秒清0分加1是否到60分?NY分清0小时加1是否到24小时?NY小时清0恢复现场返回中断4.3电子钟的显示子程序4.4延时子程序※附:程序片段如下:S_SETBITP1.0M_SETBITP1.1H_SETBITP1.2SECONDEQU30HMINUTEEQU31H;定义MINUTE为31H单元标号,分计数单元HOUREQU32H;定义HOUR为32H单元标号,时计数单元TCNTEQU34H;定义TCNT为34H单元标号定时器TO计数ORG00H;程序开始地址SJMPSTART;跳转到START执行ORG0BH;定时器TO中断入口地址LJMPINT_T0;跳转到INT-TO执行START:MOVDPTR,#TABLE;指针指向TABLE首地址MOVHOUR,#0;初始化秒计数单元MOVMINUTE,#0;初始化分计数单元MOVSECOND,#0;初始化时计数单元MOVTCNT,#0;初始化T0计数单元MOVTMOD,#01H;工作方式1MOVTH0,#(65536-50000)/256;定时50毫秒MOVTL0,#(65536-50000)MOD256MOVIE,#82H;允许定时器TO中断SETBTR0;启动定时器T0;判断是否有控制键按下,是哪一个键按下A1:LCALLDISPLAY;跳转到DISPLAY执行JNBS_SET,S1;检查P1.0口电平JNBM_SET,S2;检查Pl.l口电平JNBH_SET,S3;检查P1.2口电平LJMPA1;返回S1:LCALLDELAY;去抖动JBS_SET,A1;确认P1.0口电平INCSECOND;秒值加1MOVA,SECOND;秒数值送入A比较CJNEA,#60,J0;判断是否加到60秒MOVSECOND,#0;SECOND单元清零LJMPK1;转到K1执行S2:LCALLDELAY;长调用DELAY指令JBM_SET,A1;确认Pl.l口电平K1:INCMINUTE;分钟值加1MOVA,MINUTE;分数值送入A比较CJNEA,#60,J1;判断是否加到60分MOVMINUTE,#0;秒单元清零LJMPK2;调用K2指令S3:LCALLDELAY;调用延时子程序JBH_SET,A1;确认?1.2口电平K2:INCHOUR;小时值加1MOVA,HOUR;时数值送入A比较CJNEA,#24,J2;判断是否加到24小时MOVHOUR,#0;时单元清零MOVMINUTE,#0;分单元清零MOVSECOND,#0;秒单元清零LJMPA1;跳转到程序A1;等待按键抬起J0:JBS_SET,A1;调用A1指令LCALLDISPLAY;调用显示子程序SJMPJ0;返回J0指令J1:JBM_SET,A1;数值比较LCALLDISPLAY;调用显示子程序SJMPJ1;返回J1指令J2:JBH_SET,A1;数值比较LCALLDISPLAY;调用显示子程序SJMPJ2;返回J2指令;定时器TO中断服务子程序,对秒,分钟和小时的计数INT_T0:MOVTH0,#(65536-50000)/256;定时50msMOVTL0,#(65536-50000)MOD256INCTCNT;定时器TO计数单元中的数值加1MOVA,TCNT;定时器T0计数单元中的数值送入A比较CJNEA,#20,RETUNE;计时1秒,INCSECOND;秒计数单元中的数值加1MOVTCNT,#0;定时器TO计数单元归零MOVA,SECOND;秒计数单元中的数值送入A比较CJNEA,#60,RETUNE;记时1分,INCMINUTE;分计数单元中的数值加1MOVSECOND,#0;秒计数单元归零MOVA,MINUTE;分计数单元中的数值送入A比较CJNEA,#60,RETUNE;记时1时,INCHOUR;时计数单元中的数值加1MOVMINUTE,#0;分计数单元归零MOVA,HOUR;时计数单元中的数值送入A比较CJNEA,#24,RETUNE;记时1天,MOVHOUR,#0;时计数单元归零MOVMINUTE,#0;分计数单元归零MOVSECOND,#0;秒计数单元归零MOVTCNT,#0;定时器T0计数单元清零RETUNE:RETI;中断返回;显示控制子程序DISPLAY:MOVA,SECOND;显示秒MOVB,#10;B寄存器赋值为10DIVAB;(A)/(B),商存入A,余数存入B,分别处理A与B中数CLRP3.6;数码管7开始工作MOVCA,@A+DPTR;数据指针指向数值地址并送入A输出显示MOVP0,A;在数码管7输出显示秒单元的十位数值LCALLDELAY;调用延时子程序SETBP3.6;数码管7停止工作MOVA,B;将B寄存器中的数送入A处理显示CLRP3.7;数码管8开始工作MOVCA,@A+DPTR;数据指针指向数值地址并送入A输出显示MOVP0,A;在数码管8输出显示秒单元的个位数值LCALLDELAY;调用延时子程序SETBP3.7;数码管8停止工作CLRP3.5;数码管6开始工作MOVP0,#40H;显示分隔符LCALLDELAY;调用延时子程序SETBP3.5;数码管6停止工作MOVA,MINUTE;显示分钟MOVB,#10;B寄存器赋值为10DIVABCLRP3.3;数码管4开始工作MOVCA,@A+DPTR;数据指针指向数值地址并送入A输出显示MOVP0,A;在数码管4输出显示分单元的十位数值LCALLDELAY;调用延时子程序SETBP3.3;数码管4停止工作MOVA,B;将B寄存器中的数送入A处理显示CLRP3.4;数码管5开始工作MOVCA,@A+DPTR;数据指针指向数值地址并送入A输出显示MOVP0,A;在数码管5输出显示分单元的个位数值LCALLDELAY;调用延时子程序SETBP3.4;数码管5停止工作CLRP3.2;数码管3开始工作MOVP0,#40H;显示分隔符LCALLDELAY;调用延时子程序SETBP3.2;数码管3停止工作MOVA,HOUR;显示小时MOVB,#10;B寄存器赋值为10DIVAB;商存入A,余数存入B,分别处理A与B中数CLRP3.0;数码管1开始工作MOVCA,@A+DPTR;数据指针指向数值地址并送入A输出显示MOVP0,A;在数码管1输出显示时单元的十位数值LCALLDELAY;调用延时子程序SETBP3.0;数码管1停止工作SETBP3.0;数码管1停止工作MOVA,B;将B寄存器中的数送入A处理显示CLRP3.1;数码管2开始工作MOVCA,@A+DPTR;数据指针指向数值地址并送入A输出显示MOVP0,A;在数码管2输出显示时单元的个位数值LCALLDELAY;调用延时子程序SETBP3.1;数码管2停止工作RET;子程序返回TABLE:DB3FH,06H,5BH,4FH,66H;*W极LED显示器段选码0,1,2,3,4DB6DH,7DH,07H,7FH,6FH;共阴极LED显示器段选码5,6,7,;延时子程序DELAY:MOVR6,#10;R6赋值为10Dl:MOVR7,#250;R7赋值为250DJNZR7,$;原地踏步DJNZR6,Dl;返回D1循环RET;子程序返回END;结束程序五、仿真实验结果5.1软件调试打开程序调试软件keiluVision4,在里面新建一个工程,命名为:数字时钟“2345”。接着新建文件,编写相应程序。编写好的各个程序进行编译与连接。在调试过程中,程序有错误,我们根据相应的提示进行了多次修改,直到该程序能够正确编译。之后,我们在点击相关栏目,让它生成我们在硬件仿真时所需要的“.HEX”文件。到此,我们的软件调试就完成了。下面是我们软件调试的部分贴图。程序运行成功,并生成HEX文件,如图1。图1将生成的HEX文件,加载到单片机中。如图2。图2生成HEX文件5.2硬件调试打开Proteus7Professional软件,按照方案所选的电路元件来设计整体电路,先把个芯片按一定的位置放好,然后对相应的接口进行连接。做好之后把编程所生成的HEX文件加载到AT89C51中,运行仿真软件,查看运行效果。仿真结果未达到设计要求,目前我们仍在查找原因。下图5(a)--图5(e)是未连驱动电路时的硬件仿真结果部分贴图;图5(f)--图5(g)是连了驱动电路后的硬件调试部分贴图。图5(a)图5(b)图5(c)图5(d)图5(e)图5(f)图5(g)六、参考文献①《单片机程序设计实例》清华大学出版社②《单片机原理及接口技术》高等教育出版社③《单片机课程设计实例指导》北京航空航天大学出版社
25 评论

相关问答

  • 计算机专业的以后想当教师,网络工程师难不难考,有没必要考?

    网络工程师属于软考的中级,由于软考考试向社会开放,所以整体的通过率还是比较低的,但是如果您自身的基础好,考试对您来说相对也是比较简单的;如果您自身基础比较薄弱,参加培训跟着老师进行系统的学习,想要通过考试也不难;网络工程师考试内容涉及到计算机系统基础、网络操作系统、计算机应用系统的设计和开发方法、数据通信的基础知识、系统安全和数据安全、网络安全的基本技术和主要的安全协议、计算机网络体系结构和网络协

    星空冬雪 4人参与回答 2024-11-06
  • 电脑无法开机,主机电源指示灯亮,风扇一直转,然后就不启动了,应该怎么办?

    电脑无法开机,主机电源指示灯亮,风扇一直转,然后就不启动了,应该怎么办?故障:黑屏无显示。黑屏故障原因各种各样,遵循先软件后硬件原则,系统最小法法则检测:1.断开电源,打开机箱,把显卡、内存拆下来,用橡皮擦拭擦金手指,给主板和机箱除层2.把所有IO设备拔掉,包括键盘鼠标音频设备光驱等等,拔掉硬盘数据线和电源线,接上内存、显卡,接上显示器开机,观察是否有显示?3.如果有显示,把硬盘接上,开机是否可以

    轻熟杀无赦 4人参与回答 2024-11-06
  • 注册消防工程师题型及分值

    一级注册消防工程师于2018年正式开考,所以历年目前只指2018-2018年一级注册消防工程师考试。2018年-2018年消防安全技术实务科目章节分值分布、占比率表难度系数:4星【很难】考试特点:特点1:知识点多、与业性强特点2:考试深、绅,出题灵活不死板,“陷阱”多特点3:教材外的考点多特点4:重点考查系统设计方面的知识,如原理、设置、参数、范围

    #NAME? 4人参与回答 2024-11-06
  • 网络工程师考试科目有哪些

    网络工程师考试科目有哪些网络工程师是通过学习和训练,掌握网络技术的理论知识和操作技能的网络技术人员。那么网络工程师考试科目是什么呢?下面是小编整理的详细内容,希望对大家有所帮助! 网络工程师考试科目 (1)计算机与网络基础知识,考试时间为150分钟,笔试,选择题; (2)网络系统设计与管理,考试时间为150分钟,笔试,问答题。 每科满分75分,上午科目与下午科目均大于或等于45分即为通过! 网络工

    流苏 4人参与回答 2024-11-06
  • 电子信息好找工作吗 就业方向有哪些

    好找工作。电子信息工程专业侧重于电子设备的硬件、软件技术,比如电路板,比如芯片等等,是一门综合性很强的专业,随着如今互网络的兴起,也算是次热门专业了。前景是很广阔的。电子信息好不好找工作电子信息好找工作。电子信息是一个非常广泛的领域,涉及到电子科学、计算机科学、通信技术、控制与自动化等多个学科。在当前数字化、智能化的时代,电子信息的技术与应用非常重要,因此在很多领域中应用广泛,也就意味着有很多相关

    把酒问此生 4人参与回答 2024-11-06