我的单片机实习日记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
概况
实习单位:武汉理工大学信息工程学院
参观考察单位:
(1)
(2)
(3)
(4)
(5)
(6)
实习开始时间:20 12 年6 月25 日,实习时间共14 天。完成实习报告时间:20 12 年7 月8 日。
今天拿到了单片机实习课设的题目,心里有点忐忑,因为一看到任务要求就觉得比以往做过的模电、数电、强化训练等等课程设计不仅数量多了而且难度也增大了。本着磨刀不误砍柴工的精神,今天的主要任务就是查找资料,安装软件,做好十足的准备工作。安装软件也是一件痛苦的事情,例如将软件汉化就不是件轻松的事情儿。在装好需要用的proteus 7 professional,Keil uVIision4以及Altium Designer等软件以后,根据借来的参考书籍,熟悉了这些软件的基础用法,并拿了书上的几个例题练练手,这真是一个看起来容易做起来去不太容易的事情。利用休息的时间,我对接下来十三天的实习期做了一个初步的规划,满怀期待的憧憬着十三天后可以做出成果的日子。
今天主要的任务就是把这次课程设计的各个模块的方案选择出来。所以第一件要做的事情就是要弄清各个模块的基本原理,根据原理才能来进行发难论证。而方案论证真不是一件轻松的事情,因为根据要求,通过从图书馆借的参考书籍和在网上找到的期刊文献等,选出一些可以实现并且能满足课程设计要求的多种方案,并且要在这多种方案的基础上,优中选优,选出一个更适合实际的方案。在单片机上有一个很大的麻烦,就是对于芯片的选择,这要求对各种芯片的功能性能要熟悉,还要对它们的拓展有些许的了解。这些都加大了对方案选择的难度,好在现在网络很快捷,所以搜索各种芯片的资料并不是很难,更多的时间用在挑选方案了。调好方案之后,明天就可以进行硬件的设计了。
因为昨天选好了各个模块的方案,所以今天可以根据预期顺利的进行硬件设计。硬件设计感觉也挺棘手的,如果说方案论证是件基于纯理论上面的事情,那么硬件设计就是件要结合实际的事情了。在方案流程图的实行背后是更多的细节讨论。通过器件的性能求出公式,并得到理论数据,在根据实际可能产生的误差而加一些旁路电路来使电路的稳定性更高。而如何利用好单片机的自身优性,来进行硬件设计。可能工程量真的很多,所以今天只是根据最小系统,利用Altium Designer 设计出来了数字时钟电路和数字温度计的硬件电路。
因为昨天只完成了数字时钟电路和数字温度计电路的硬件设计,所以今天主要任务就是把剩下的数字频率计模块的硬件电路给设计出来。今天遇到的最大的问题就是对于输入条件范围的控制,所以对于方案的选择有了重新的审视。重新选择了方案之后,参照了模电课本和谢自美的那本宝典,从而设计硬件电路。在用Altium Designer画硬件图的时候发现忘记了一个关键环节,就是对其中部分元件的参数值的确定。现在能体会那种差之毫厘谬以千里的心情,作为一个学工科的人,必须要有一颗严谨认真的心,来把握整个电路的设计。此外,今天干的另一件事情就是将这两天的设计融合在一起,汇成了总设计图,一加一真是大于二的事情啊。弄完了硬件部分,明天就可以弄软件了,加油加油!!!
今天终于要弄软件部分了,其实还是满忐忑的,因为设计程序对我来说并不是一件容易的事情,我一直都觉得这是一门很难学的外语。编程一向是我并不在行的,所以我今天花了不少时间,把我自己的单片机上面所附带的例程找出来,选出关于键盘显示,时钟控制,温度控制等相关的例程找出来,并通过对例程的学习,对于基本的关键字,语句等有所了解。然后尝试写好软件流程图,并依据软件流程图和例程的程序,进行修改和改进,重新编写了自己程序。不过进度时钟有点慢,总是会出现一些错误,使Keil uVIision4没有办法进行编译。最后只有数字时钟电路和数字温度计电路模块编译成功了,明天一定要把数字频率计模块给完成好,相信自己,我可以的!!!
昨天的程序编写让我知道我的C基础的薄弱,因为单片机课本上以及单片机的考试更多的是用汇编程序编写,而学习C已经是好几个学期之前的事情了,所以我决定临时改变一下计划,今天恶补一下C语言。所以今天把当时考二级的时候的参考书,参考资料都翻找出来,幸好有很多的重点和笔记帮助我找回重拾的记忆,想着以后可能就要吃程序员这碗饭了,像我现在这样的技术含量,真是让我倍感羞愧呀。昨天熬夜的编写,让我开始担忧,是否以后工作了就会像现在这样没完没了的写程序呢?如果真是这样的话,压力真是如此之大啊。我真的难以想象日积月累的熬夜,没完没了的工作,到那个时候我一定会崩溃掉的啊。
实习日记2012 年7 月1 日
前天只完成了数字时钟电路模块和数字温度计电路模块的程序编写,今天必须得完成数字频率计模块的编写,这是件不容易的事情,好不容易编译成功,在一番心中小小的激动之后,却面临更大的困境,就是该如何把已经写好的是三个分块程序融合为一个程序呢?刚开始我天真以为把所有的程序贴在一起就可以了,编译失败和那实在是不堪入目的错误数目,让我意识到接下来融合在一起的工程才是最艰难的事情。好难好难好难,真心好难呀,这让我再一次感受到,一加一大于二的感觉。看着那些引脚,那些端口,在刚开始分开编程的时候并没有
考虑到接口的问题,于是各种接口就会相冲,实在是各种相冲突。在纠结了很久之后,依旧无果,只能明天继续了,唉,希望明天有个好运气。
实习日记2012 年7 月2 日
今天又是很苦的一天,融合程序实在是件不容易的事情,至少通过编译就是件不容易的事情。不过不经意间,已经实习了一周了,时间真是无声无息的溜走了,不知道是时间过的太快还是过的太慢,这一周紧凑的安排和大工作量,让我毫无感觉的过了上个周末。可是,在各种求助和纠结的编程之后,终于通过了编译,一阵窃喜,虽然不知道是不是可以仿真成功,但是心情却好了一大截,感觉就和过周末一样,好开心。于是趁热打铁,我决定开始进行电路的仿真,于是便开始用proteus来画电路仿真图。虽然之前做准备工作的时候有熟悉一下软件,
但是毕竟又过了没日没夜的一周,对于找元器件等制图过程,便显得格外的辛苦。于是用了比我想象中更久的时间画好了仿真电路图并设置好了各种连接端口。明天就开始我的仿真之旅吧。
实习日记2012 年7 月3 日
本来打算怀着愉悦的心情踏上今天的仿真之旅的,可是刚开始就遭到了一个晴天霹雳。我把昨天好不容易编译好后生成的hex文件放入主机和从机,发现不能通过仿真,真是六神无主了。于是经过高手指教之后,才发现一直以来我都忽略了双机通信的模块。看来做一个编程者,必须要看清全局,把各种可能的冲突不兼容都给消灭掉,看来真的最厉害的编程不是越复杂的编程,而是可以和各种终端兼容的编程。只能继续研究程序,更改程序了。不过接口问题让我发现,这是一个比我想象中更麻烦的事情,如何利用好三个P口,而且使他们都不发生冲