手机阅读

单片机与传感器通讯协议书汇总 传感器与单片机通信(七篇)

格式:DOC 上传日期:2023-01-10 15:49:35 页码:9
单片机与传感器通讯协议书汇总 传感器与单片机通信(七篇)
2023-01-10 15:49:35    小编:ZTFB

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。相信许多人会觉得范文很难写?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。

如何写单片机与传感器通讯协议书汇总一

首先,在这次试训中我被单片机强大的功能所震撼,以前在课堂上完全没有能理解可编程单片机的优越性。这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活力。换是我们认识

到这次试训不仅仅是一个软件的应用,更多的是使我们认识到学习到很多在课堂上无法得到的东西。特别是protues软件的功能是我们了解了当今开发系统的新方向,简直太不可思议啦!

单片机作为一种最简单的软件,与我们的日常生活息息相关,了解一些单片机程序的简单录入是费城必要的。如:led显示器、键盘和显示器的应用和原理。

在被刺实训中我们每个人通过一个八位流水灯的制作,使我们深深地体会到了单片机在现实生活中的小小应用,既增强了我们的好奇心,又巩固了我们的理论知识。更让我们体会到了单片机手动的开

始平台的完善与成熟。只要你有想法,单片机就有可能让他成为现实。这里我学习完protues软件后的第一感觉是,虽然这软件工作不稳定,但是会有相当不错的效果出来。这对我以后的工作一定会有帮助

的。在这次试训中不仅只对单片机编程有了新的认识,还对整个单片机的开发平台都有了一厅的了解,这是一笔不错的收获。

通过这几天的试训,使我的感触很深,真实“条条大路通罗马”,要达到目的,不同的人就有不同的方法。只要你的方法不错!五花八门都可以,而且是各有特色。走出来的结果都有各自的独到之处

在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单片机留给用户的资源是有限的,所以我们要充分利用这些资源,达到更好的效果,这些是我们在以后的学习生活中应值得注意的地方。

在试训中有苦有甜,当我们为一个很难攻破的程序找出路时,心情烦躁,感觉自己很不可理喻,当程序一点一点编好后,自己从心底感觉到一点小小的安慰,看着自己的成果。感觉很欣慰,有一丝丝的

甜意,几天的实训使自己的思维逻辑也有了小小的进步。

如何写单片机与传感器通讯协议书汇总二

个人概况

姓名:xx

民族:汉

性别:男

籍贯:南京

出生年月

政治面貌:团员

联系电话:xxxxxxxxxxx

电子邮箱:xxx@

教育经历

学 历:本科

主修专业:计算机科学与技术

南京师范大学

主修课程

电路基础,数字电路,计算机导论,计算机组织与结构,c语言程序设计,汇编语言,数据结构,数据库语言(powerbuilder),微机原理,面向对象程序设计,计算方法,计算机图形学,操作系统,软件工程,计算机网络,单片机原理及应用,数据库系统概论,java语言,编译原理,internet,,多媒体技术与应用,信息管理系统,

专业技能

熟悉windows操作系统,了解unix,dos,网络操作系统,分布式操作系统

掌握基本的网络构筑与布线,局域网配置和小型网络架设系统

掌握动态网页设计与制作,熟练运用html,javascript,vbscript,熟悉asp等语言

能熟练使用各种常用办公自动化软件,如排版,电子表格,数据库操作,制作幻灯片等

能熟练多种网页制作软件(freamweaver等),能制作常见网页,能熟练使用种类网络工具(如ftp等)

掌握计算机基本的硬件知识,能够解决一些常见的硬件问题

英语水平

基本技能:较强的听,说,读,写的能力

标准测试:国家大学英语四级,国家大学英语六级

个人能力

具有较强的组织策划与管理能力,担任班委期间,能够协助老师做好各项工作,调动同学的学习热情

具有团队合作能力,在大学期间和班委合作成功地组织了几次班级活动;与同学一起合作编程设计了管理系统

文学功底较好,具备较强的文字组织能力,口头表达能力较强

学习能力较强,有一套适合自己的学习方法,自学能力强,成绩一直名列前茅

思想上积极要求进步,工作态度积极,有上进心,具有吃苦耐劳的能力,乐于奉献

生活态度积极乐观,性格大方稳重,具有很好的交际能力,与同学老师相处融洽

获奖情况

2010-2011年度校三好学生

2012-2013年度校优秀学生干部

2011-2012年度校三好学生

2010-2013年度每学期均获校滚动奖学金一等奖

2012-2013年度校优秀团员

个人爱好

喜欢读书,尤其是历史题材的书籍,爱好运动,有空的时候常会跑步,跳绳,对羽毛球很感兴趣;喜欢旅游,登山,面对大自然。

如何写单片机与传感器通讯协议书汇总三

很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。

先说说单片机,一般我们现在用的比较多的的mcs-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么样才能更快的学会单片机这门课。单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。

由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《新编mcs-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。

大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、ad或da(原理一样)、液晶、蜂鸣器,这就差不多了。

如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。

有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。

另外我再说说用汇编和c语言编程的问题。很多同学大一二就开设了c语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用c语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。单片机编程用c语言或汇编语言都可以,但是我建议用c语言比较好,如果原来有c语言的基础那学起来会更好,如果没有,也可以边学单片机边学c语言,c语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点c语言都不会那你将来会吃苦头。

汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的rom也在不断的提高,足够装得下你用c语言写的任何代码,c语言的资料又多又好找,将来可移植性非常好,只需要变一个io口写个温度传感器的程序在哪里都能用,所以我劝大家用c语言。

总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。

步骤:

1、找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。(三天)

2、找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。 (二十天)

3、自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。 (十天)

4、自己完全设计具有个人风格的电路,产品,你已经是高手了……

看到了吗?下功夫一个多月你就能成为高手,我就讲这么多了,学不学得会,下不下得了功夫就看你的了。

如何写单片机与传感器通讯协议书汇总四

使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或c语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。

第一步:数字i/o的使用。显示输出电平,就可以学习引脚的数字i/o功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。

第二步:定时器的使用。学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(pld)可以实现时序电路,可编程控制器(plc)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。

第三步:中断。单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。

以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。

第四步:与pc机进行rs232通信。单片机都有usart接口,特别是msp430系列中很多型号,都具有两个usart接口。usart接口不能直接与pc机的rs232接口连接,它们之间的逻辑电平不同,需要使用一个max3232芯片进行电平转换。usart接口的使用是非常重要的,通过该接口,可以使单片机与pc机之间交换信息,虽然rs232通信并不先进,但是对于接口的学习是非常重要的。正确使用usart接口,需要学习通信协议,pc机的rs232接口编程等等知识。试想,单片机实验板上的数据显示在pc机监视器上,而pc机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!

第五步:学会a/d转换。map430单片机带有多通道12位a/d转换器,通过这些a/d转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。使用a/d转换功能的简单的例子是设计一个电压表。

第六步:学会pci、i2c接口和液晶显示器接口。这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。

第七步:学会比较、捕捉、pwm这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。

如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。

第八步:学习usb接口、tcp/ip接口、各种工业总线的硬件与软件设计?学习usb接口、tcp/ip接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。

即使如此,也算是单片机大虾了!

如何写单片机与传感器通讯协议书汇总五

本学期本人担任电气中职13-1班《单片机应用技术》课的教学任务,为了顺利完成本门课的教学任务,本人能从各方面作起,现总结如下:

1、课前准备:根据学院教务处制定的实施性教学计划,研究组织同专业人员一起编写教学大纲,并根据教学大纲的要求选用合适的教材及参考资料。认真阅读教材和参考资料,根据教学进度计划认真制定本学期本课程的授课计划。

2、认真备课:在多年的教学体验中感觉到,单片机方面的专业基础课的教学有一定的难度,同时,此类课程较抽象。因此在备课之前,必须对所有内容进行熟悉,参考多方面的资料,认真深入钻研教材,确定重点难点。根据本院现有的条件和的实际情况,认真授课、认真听课,虚心学习,不断反思教学,使教学有秩序、有组织、有步骤地进行。

3、认真组织课堂教学。上课时,本着“传道、授业、解惑”的原则,努力提高教学质量,使讲解有条理、清晰、准确、生动。使每堂课上学生都有所获,努力使学生学好理论知识,培养能力,发展智慧,培养学生的正确思维方式,学会好的学习方法。坚持做到以学生的学为主体,教师的教为主导,巩固和运用为主线。在课堂上,特别注意调动学生的积极性,采用启发性教学,让学生主动学习,轻松愉快地学习,并不断树立学生的自信心,从各方面提高学生的能力。

4、组织实践教学。在教学活动现有的条件下,尽量带学生去实验室参观,并做一些实际实验,以满足基本需要。

5、虚心请教。教师的教学过程即是一个不断学习的过程。因此,在此过程中,遇到疑难问题,虚心向经验丰富的教师请教。跟他们学习好的教学方法,好的教学经验,并向年轻教师学习他们的新知识,新理念,做到思想和认识上不落伍,跟上时代发展。

6、认真批改作业。坚持布置适量的作业,使学生所学知识得到巩固和提高。布置作业时,坚持做到有针对性,认真及时地批改作业。并针对学生的作业情况,认真透彻地进行讲评,及时掌握学生的学习情况。

7、认真反思教学。教学这一活动,没有反思就不会有进步。坚持每次授课后,认真回想,认真反思。

8、完成情况:本学期计划完成理论42学时,实验14学时。实际完成56学时。

9、教学效果:成绩最高分82分,平均分55分,及格率达到62%。

总之,在这一学期的教学过程中,我尽力地做好每项工作。其中学到的东西固然不少,但不足之处也有。在以后的教学工作中,我将不断总结经验,发扬优点,改进缺点,提高自己的教学水平和教学质量。

如何写单片机与传感器通讯协议书汇总六

作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。

这次单片机课程设计我们历时两个星期,在我们班里算是倒数几组完成的吧,但经过这两个星期的实践和体验下来,我们又怎么会去在乎那个先后问题呢,因为对我来说学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!

单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。

两个星期前我们五个人还在为到底选那个课题而发生分歧,最后还是在龚老师的耐心分析和指导下完成了课题的选定,但是随之而来的问题却远比我们想想的要困难的多

过没想到这项看起来不需要多少技术的工作却是非常需要耐心和精力在两个星期后的今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多!

在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:cad制图、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;

要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。

发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名自动化专业的学生,单片机的课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。

虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。

我认为这个收获应该说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。

如何写单片机与传感器通讯协议书汇总七

经常在群、论坛里看到有人问:怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。一个好的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。

05年的时候,因为制作fm发射电路采用了bh1415的芯片,需要用到单片机控制,所以开始接触使用单片机,虽然以前读书时作为一门功课学过,不过也快丢荒了10年了,基本上都忘光了,也算是从头学起了吧。我当时是买了一块实验板,很简单的功能,比论坛实验板还要少功能,还有一个仿真器,也是比较简单的,sst芯片的。然后开始从大家都知道的流水灯写起,万事开头难,第一个程序基本上就抄人家的,翻查了一份快速入门的学习资料,写下第一个程序。然后,在仿真机是单步的看运行结果,从每一步执行,都硬件上反应出来的效果,很快,对单片机的运作有了一个非常感性的认识,这跟只看书然后自己想象运行是完全两码事。然后,是进一步的其它程序学习,一个月时间,基本上已经熟悉了51的各种硬件资源。把流水灯,数码管动态扫描,中断等等的学习了,然后就是写综合性的程序,也就是我发在论坛里的时钟。通过这个程序的编写,使自己的编程水平有了很大的飞跃。之后,就是逐步学习编写更多的程序,各种外围器件的控制等等,通过编写程序使自己不断的提高。在学过汇编之后,我又转到了c语言学习,因为以前没有学习过c语言,一切都很陌生,所以自己沿用了学习汇编的方法,大约花了3天功夫基本就对c语言有了初步的了解,然后就是尝试写上面所说的时钟,以汇编程序的思路作为参考,以c语言来编写,花了几天功夫完成了这一程序,也实现了从汇编编程为主到c编程为主的转变。然后,就是以c语言编写外围器件的控制程序,以此来熟悉c的编程风格,一直到现在,基本上就是c语言编程,汇编已经是作为调试程序的'辅助。

下面我概括了几点我的学习经验和心得体会:

1、万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,说keil不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成hex,刷进单片机中、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。

2、知识点用到才学,不用的暂时丢一边。厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。

3、程序不要光看不写,一定要自己写一次。最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距……当你自己能写出来的时候,说明你就真的懂了。

4、必须学会掌握调试程序的方法。不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。这就需要学习调试程序的方法,比如keil里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。

5、找到解决问题思路比找到代码更重要。我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以,要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人,所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。举个例子:数码管动态扫描,没写过的初学者可能搞不清是怎么回事,其实,就是分时让每一时间段时只控制一只数码管显示数字,几只数码管轮流显示,由于速度很快,人眼的看起来是全部数码管都亮的。明白是这么一回事,事情就好办了,剩下的事情,无非是你安排让一只只数码管轮流显示出相应的数值。显示数字,然后延时一下,再下一只显示数字,延时,知道是这样,我们实际程序上只要做到这样就可以:往段口送段码,然后打开位选显示一只,延时一下,再关闭位选,再送出段码,再打开另一只位选仅此而已。有了解决问题的思路,我们就能问题拆分开来,然后逐一的解决,如果动态扫描的原理都没懂,不知道如何做,那么这个程序是怎么也写不出来的。

6、开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。

7、看别人的代码,学习人家的思路。这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。

8、尝试编写一下综合应用的程序。从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(io读取)、动态扫描(io输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的程序啥也不做,只是读按键。但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。

9、着重于培养解决问题的能力,而不是具体看自己编写了多少代码或者做过什么。“学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机多年来感悟出来的。经常看到有人说“你会驱动xx芯片,真牛啊”“你搞过xx项目,真厉害”之类的话,其实这是非常片面的,搞过xx芯片,搞过xx项目,只能说明你做过这一项目,它只是你的业绩,并不是代表能力就一定高。真正的能力应该是:“遇到没有解决过的问题或器件,能利用自己已学的知识,迅速找到解决问题的方法。”这个才是能力。写程序的过程就是一个创造的过程,几乎没有完全一样的项目,每次你遇上的几乎都不相同,所以你拥有的必须是你面对新项目时的创造能力,而不是标榜着你以往做过多少项目。当然,业绩也能从另一侧面反映你的经验和水平。

10、如果有可能,多学习计算机专业的知识,比如数据结构等。这些是你解决问题的基础知识,你把这些知识应用得越好,就会发现越容易找到解决问题的方法,这就是为什么一个学计算机专业的人编的程序和一个非计算机专业的人编的程序有差异的原因。也是一个菜鸟进军到高手所要配备的知识。如果我们把编程分为宏观编程和微观编程,那么微观编程就是写具体的代码,比如控制某某器件的语句;而宏观编程就是如何对整个程序进行布局、安排,使功能模块以你想要的方式去运行,得出你想要的结果。如前所说“会控制xx器件”这些只能算是微观编程,能做到这一步还只能算是菜鸟级别,如果面对一个新的器件,你心里没底,没把握去写这个控制程序,那说明你还是一个初级的菜鸟。当你有了一定的编程经验,控制过相当数量的器件之后,你就会发现,控制器件这些工作都是相似的、重复的工作,体现不出编程的水平,最多也是写得好与不好的差别,只能算是一些小技巧的应用。而对整个程序进行布局、安排这些才是最头痛的事情,能达到宏观编程和微观编程都做好才是真正的高手。对于规模越大的程序,越能体现出这一点。

11、面对一个新项目时,多自己开动脑筋,不要急于找别人的程序。有不少人面对一个新项目时,第一步想到的就是网上找别人写过的代码,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能是省时间,但绝对不利你的学习。当你接到一个新项目时,应该先自己构思一下整个程序的架构,想想如何来完成,有可能的话,画一个流程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初步的安排,然后自己动手去写,遇到实在没办法解决的地方,再去请教别人,或看别人是怎么处理的,这样首先起码你自己动过脑想过,自己有自己的思路,如果你一开始就看别人的程序,你的思维就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远也没办法提高,因为你是走在别人的影子里。

12、多利用网络的搜索,学会提问题。一般来说,学习过程中,你遇上的问题,前人们多数也有遇上的,所以如果有什么不懂,在自己解决不了的时候,最好先到网上搜索一下,看能不能找到答案,找不到再到论坛里发问,发问也要有目的性,尽量简单明了的描述问题,让帮助你的人可以用最少的时间就看懂你说什么,毕竟人家帮助你是免费的,时间也是有限的。

您可能关注的文档