单片机项目总结5篇

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机项目总结5篇【导读】这篇文档“单片机项目总结5篇”由三一刀客最漂亮的网友为您分享整理,希望这篇范文对您有所帮助,喜欢就下载吧!单片机项目总结1单片机项目总结段绍峰、王春光、于和善一、团队遇到的难题及解决方案1、我们再买器件时,由于不知道型号以及性能指标,所以买了很多并不需要的器件,并且有时买不到需要的器件,所以被迫更改电路设计。2、在设计的过程中,编辑的程序不能应用到我们的硬件中,比如时钟的程序不能使始终运行,以及温湿度显示不够准确。在这种情况下,我们不断更改程序,比如调整LCD的偏置电压,有时还更改连接的端口,最后解决了两个显示问题。3、起始时,我们并没有弄懂数码管的共阴以及共阳接法,导致电路连接错误,最后检查后改正了电路焊接。并且初始时并没有搞懂窗帘控制芯片的输入电压的定义,所以导致输入电压过高,烧坏了芯片,解决方法就是换了一个芯片重新进行了连接。4、在编写时钟的程序时,开始不会编写音乐的程序,经过Google后,明白音乐的编写时通过改变输出信号的频率以及长短来改变声音,最后实现了音乐的编写。而且开始时并不知道DHT11芯片的信号的读取,所以便在网上搜索数据手册,弄懂其信号的输出时输出二进制数,并且通过时间长短代表0和1,于是懂得了其程序的编写。5、由于我们的智能家居是由三部分实现,所以需要的端口很多,一个单片机不够,最后在我们减少端口使用未果后,便采取了使用三个单片机的策略,实现了我们的项目。二、团队管理通过单片机课上的系统设计项目,作为一个三人组成的团队,我们在团队管理方面都深有体会。团队成员都要有责任感,每个人都要积极做项目,对单片机有很高的兴趣,遇到困难决不退缩。并且对项目的总体要有一定的把握与了解,能够做到相互监督,相互督促。在遇到问题是相互帮助,齐心协力解决。但是团队也是需要责任分配的,每个人都要负责好自己的职责,最后能够保证完成自己的任务,最后能够经过大家的共同努力完成单片机项目。三、课程设计体会1、在项目的制作中,能够充分利用我们学过的知识,并且能增强我们对知识的利用能力,电路的设计与焊接,以及程序的编辑都得到了充分的锻炼。并且在项目的制作过程中,我们根据自己的需要学习知识,并且把知识应用到制作中,这是先明确问题所在,通过一切渠道寻找知识来源,学习,再应用。这是我们在高中没有接触过的全新的学习方法,让我们受益匪浅。2、在设计的过程中,我们先是设计温室控制,以及窗帘的定时的半自动升降,但是在制作过程发现这些并不是很好做,而且我们还把继电气控制电路和窗帘控制芯片烧掉,这些都是我们未曾想到的问题,但是我们及时改正思路,最后完成了我们的项目。这是我们明白不要盲目自信,有时要量力而行。3、我们在做单片机时,花费了很多的时间,而且更改了好几次电路,浪费了不少的东西,成本控制的有点高,超出了我们的预期。所以我们以后再做项目需要更加详细的计划,争取能够以最小的成本收获最好的结果。四、项目成员贡献排序段绍峰完成了窗帘控制电路,并且制作了小房子,完成网站设计;王春光完成了音乐始终的设计与制作,并且完成了我们的结题论文。于和善完成了温湿显示电路的设计与制作,并且制作了PPT以及单片机项目总结。三人共同完成了我们的实验进程与感想。所以三人的贡献为:段绍峰33%,王春光33%,于和善33%。五、课程改革建议1、希望能够更新我们的实验装备,让我们使用更加方便。2、望能够每星期都有实验,并且每天都能开放实验室。并且希望老师以及学长能够给我们更多的帮助。3、能够推荐更加适应我们的辅助丛书,帮助我们学习。单片机总结2单片机总结——20120921030黄国林我所在的专业生物医学工程专业,是一个理工医相结合的专业,但是侧重的方向还是工程学,对于计算机,单片机的要求比较高,虽然我们在大三的时候会有单片机的专业课,但是我们院也成立的相关的创新实验室,进行单片机的学习,组建自己的相关团队,做创新研发。但自己的只是还是有限,因此但是选修了这门课来扩宽自己的视野,对以后的单片机的学习打一定得基础。51单片机的运用涉及到我们生活中的方方面面,为我们的生活提供了诸多便利,小到我们平时调动车流的交通信号灯,再到我们平时使用的形形色色的数码管,液晶显示屏等等,下面介绍一个我学习过的单片机的报警装置与旋转灯的应用./*名称:报警与旋转灯*/#include#include#defineucharunsignedchar#defineuintunsignedintsbitSPK=P3^7;ucharFRQ=0x00;//延时voidDelayMS(uintms){}//INT0中断函数uchari;while(ms--)for(i=0;ivoidEX0_INT()interrupt0{}//定时器0中断voidT0_INT()interrupt1{}//定时器1中断voidT1_INT()interrupt3{}//主程序voidmain(){P2=0x00;SPK=0x00;TMOD=0x11;TH0=0x00;//T0、T1方式1TH1=-45000/256;TL1=-45000%256;P2=_crol_(P2,1);TH0=0xfe;TL0=FRQ;SPK=~SPK;TR0=~TR0;//开启或停止两定时器,分别控制报警器的声音和LED旋转TR1=~TR1;if(P2==0x00)P2=0xe0;//开3个旋转灯elseP2=0x00;//关闭所有LED}TL0=0xff;IT0=1;IE=0x8b;IP=0x01;TR0=0;TR1=0;while(1){}FRQ++;DelayMS(1);//定时器启停由INT0控制,初始关闭//开启0,1,3号中断//INT0设为最高优先同时,51单片机只是单片机的一类,单片机的应用十份广泛,以后我会更加努力的学习相关的内容。20120921030黄国林单片机工作总结[推荐]3工作总结经验、失误a、片机项目组对于单片机项目小组的经验,这一点我没有做的很好,每一次的让大家在实验室完成作业都是钱行定的时间,这也算我的失误吧。但是在我和钱行共同的督促下大家把该完成的作业完成的还不错。b、算机义务维修队经验:在这两个中计算机的人数不算太多,基本保持平均每天一个人的频率。经验来说主要是对队伍中的每个人维修分配时,在天象需要维修的电脑均有我来负责。在校内需要维修的电脑我会根据无课表把要维修的电脑分配给队员,这也是对维修队队员考核的项目之一。以及做好计算机维修的长期记录,在每周的交流心得时共同讨论计算机常见的问题以及没有解决的问题,这样长期总结可以提高维修队伍中每一人的维修技能。利于计算机义务维修队的长期发展。失误:a于六招新,预计周六的维修交流本周维修心得没能够按时的举行。b在计算机维修时校内维修的没有做好及时的记录,导致有些电脑维修了没有记录。C、个人工作经验及失误单片机串口总结451单片机串口总结有句话说“尽信书不如无书”,要学好单片机就要不断的、大胆的实验,要多怀疑,即使我们的怀疑最终被证明是错误的那么这也是进步(人们认识事物很多情况下来源于怀疑),当怀疑出现时就要去实践。有很多东西如果不通过实践是不可能掌握其中隐藏的奥秘,就拿51单片机串口通讯这一块,我认为掌握很好了,可以很轻松的实现数据的接收、发送,但这段时间当我重新学习串口时,我才发现里面还有很多小细节从没注意,更别说研究了。对于接收发送程序永远是按照别人的模式来编写程序,并没有真真正正的挖掘深层次的内容。我身边太多的人在临摹别人的程序,当然我不反对,但是希望自己多问几个问什么,单纯的会编程是学不好单片机的,毕竟单片机有自己独特的硬件结构。开讲之前先简要说一下同步、异步通信:同步通信:发送方时钟对接收方时钟控制,使双方达到完全同步。异步通信:发送与接受设备使用各自的时钟控制数据的发送和接受过程(虽然时钟不同,但一般相差不大)。51单片机串行口结构从上图中我们看到,51单片机有两个物理上独立的接收、发送缓冲器SBUF,它们共用同一个地址99H,但是请注意:接收缓冲器只能读而不能写,发送缓冲器只写不读。单片机可以同时实现数据的发送与接收功能。特别注意:接收器是双缓冲结构:当前一个字节从接收缓冲区取走之前,就已经开始接收第二个字节(串行输入至移位寄存器),此时如果在第二个字节接收完毕而前一个字节还未被读走,那么就会丢失前一个字节。51单片机串口控制寄存器关于51单片机的控制寄存器各个位表示的含义在这里我只谈SM2。SM2为多机控制位,主要用于工作方式2和3,当接收机的SM2=1时,可以利用接收到的RB8来控制是否激活RI(RB8=0不激活RI,收到的数据丢失;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务程序中将数据从SBUF中读走)。当SM2=0时,不论收到的RB8为何值都将使接收到的数据进入SBUF,并激活RI,通过控制SM2实现多机通信。51单片机串口通讯方式51串口通讯方式有3种,方式0、方式1、方式2与方式3,他们的工作模式不尽相同。首先他们的波特率很容易忽视。方式0与方式2的波特率固定,而方式1和3的波特率由T1的溢出率决定。方式0的波特率=f/12系统晶振的12分频,换句话说12M晶振的情况下,其波特率可达1M,速度是很高的(当我们在选用串行器件并采用方式0时需要特别注意器件所能允许的最大时钟频率)。方式2=f/64或f/32(当SMOD=1时为f/32,SMOD=0时为f/64)。曾经我用方式2进行MODBUS通信时,总是通讯失败,我仔细检查程序,没有发现逻辑错误,特别是当我参考别人的程序时,发现很少有人用方式2进行MODBUS通讯,所以当时自己妄下结论51单片机的串行方式2不可用,直到有一天夜里我突然想起方式2的波特率是固定的,试想晶振11.0592M/32或11.0592M/64怎么也不可能是9600啊,怎么可能通信成功。这才恍然大悟,看来还是自己太武断了,没有认真看书啊。有时我们认为我们犯这样的错误很低级,其实我们很多次都是因为这样的小细节导致我们整个系统不正常,正所谓“千里之堤毁于蚁穴”,这些细节真的伤不起啊。方式1、3波特率=(2smod/32)*T1的溢出率,其中TI的溢出率=f/{12*[256-(TH1)]}.关于3种通讯方式其中有几点特别容易出错:1、无论采用哪种通讯方式,数据发送和接受都是低位在先,高位在后。2、3种方式作为输出,由于输出是CPU主动发送,不会产生重叠错误,当数据写入SBUF后,发送便启动(通过单片机内部逻辑控制,与程序无关),当该字节发送结束(SBUF空),置TI。不要理解为当数据一写入SBUF就置位TI,如果中断允许则在中断中发送数据,这就大错特错了。3同样作为输入,可能会产生重叠错误(主要依赖于特定的环境),当一个字节的数据接收完毕(SBUF满)置位RI,表示缓冲区有数据提示CPU读取。接下来通过一些实验具体说明串口通信中需要注意的地方1方式0输出方式0主要功能是作为移位寄存器,将数据从SBUF中逐位移出,最常见的用法就是外接串入并出的移位寄存器,如74LS164。之前在做这一部分实验时总是利用单片机I/O端口模拟实现,现在想想在串口未被占用的情况下,方式0是最好的实现方式。利用串口方式0,向74LS164输出字符“0”的编码,程序如下:该程序采用了中断方式实现,结果是通过74LS164使数码管显示“0”。实验结果如下:这里我说明几点:1如果采用查询方式,并且只发送一遍,那么程序最后的while(1);不可以省略,否则会出现数码管闪烁的现象(在KEIL环境下,main()函数也是作为一个调用函数,最后也有返回RET,它不像C中的main()函数,当执行完毕后就停止,而是重新复位执行,如此反复,这一点要特别注意)这是查询方式下不加while(1);的现实效果2如果采用中断方式发送,请记得中断中清除TI,仅仅是为了解除中断标志,而不是等待发送结束,因为此时数据早已离开了SBUF跑到外边去了。374LS164最高25MHZ,采用方式0,没有问题。方式0作为输入模式以74ls165(

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功