【导语】“你好哇魏东东”通过精心收集,向本站投稿了5篇如何才能有效的学习单片机编程,下面小编给大家整理后的如何才能有效的学习单片机编程,欢迎阅读与借鉴!
篇1:如何才能有效的学习单片机编程
学习单片机的最有效方法是理论与实践并重
对一个初学单片机的人来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,能够产生什么实际效果,那么也许用不了几天就会觉得枯燥乏味而半途而废。所以学习与实践结合是一个好方法,边学习、边演练,循序渐进,这样用不了几次就能将用到的指令理解、吃透、扎根于脑海,甚至“根深蒂固”。也就是说,当你此次学习完某几条指令后(一次数量不求多,只求懂),接下去就该做实验了,通过实验,使你感受刚才的指令产生了控制效果,眼睛看得见(灯光)、耳朵听得到(声音),更能深刻理解指令是怎样转化成信号去控制电子产品的。说句过分的话,单片机与其说是学出来的,还不如说是做实验练出来的,何况做实验本身也是一种学习过程。因此边学边练的学习方法,效果特别好,许多读者经3~6个月的学习已能开发简单的产品了(如霓红灯广告牌控制、累加计数器等)。
学习单片机要合理安排学习时间持之以恒
学习单片机可不能“三天打鱼、二天晒网”,要有持之以恒的毅力与决心,学习完几条指令后,就应及时做实验,融会贯通,而不要等几天或几个星期有时间后再做实验,这样效果不好甚至前学后忘。另外要有打“持久战”的心理准备,不要兴趣来时学上几天,无兴趣时凉上几星期。学习单片机很重要的一点就是持之以恒。
学习单片机要使用循环学习法使之根深蒂固
笔者曾在其它刊物举办过《手把手教你学单片机》讲座,该讲座入门起点低,很多朋友觉得好学、易学,很快就能将讲座从头至尾学完、学懂,但过了几个月,在开发产品时对指令的具体作用就有些淡忘了。根据现代科学的研究,对只短暂学过一遍的知识,充其量只比浮光掠影稍好。因此,较好的方法是,过一段时间后(1~2个月)再重新做一遍,这样反复循环几次就能彻底弄懂消化,永不忘却。有道是:若人生能细看《水浒传》10遍,那么里面的故事内容、人物场情将永生不忘。
学习单片机要进行适当投资购买实验器材及书籍资料
单片机技术是一门含金量高的技术,一旦学会后,它给你带来的效益回报当然也高,无论是应聘求职还是自起炉灶开厂办公司,其前景是光明无限。因此在学习时要舍得适当投资购买必要的学习、实验器材,另外还要经常去科技图书店看看,购买一些适合自己学习、提高的书籍。总之,春天不播种哪来秋天的收获?考虑到学习成本,对初学者可采用“程序完成后软件仿真→单片机烧录程序→试验板通电实验”的方法(现在的快闪型单片机其程序可烧写1000次以上),这样整套实验器材(不包括PC机)只有几百元,对大部分已工作的爱好者来说都有这个能力承受。而经济条件较好的读者可考虑使用在线仿真器(ICE)进行实验,这样学习时直观性更好。
总之这里所谈的就是作者的亲身体验。我们希望以最实用的方法,最易入门的手法,将初学者领进单片机世界的大门里,使这些仅稍懂硬件原理的人通过实践能理解软件的作用,让他们知道在单片机组成的系统中硬件与软件的区分并不绝对,硬件能做的工作一般情况下软件也能完成,软件的功能也可用硬件替代。等初步学会了单片机软件设计后,可将通常由硬件完成的工作交由软件实现,这样,系统的体积、功耗、成本将大大降低,而功能得到提升与增强,使习惯于传统电路设计的人对单片机产生一种妙不可言的相见恨晚之感,感觉到真正找到了一种理想化的器件,真正感受、体会到现代单片微型计算机的强大作用,从而投身于单片机的领域中。只要你肯努力、下功夫、多实践,一定会成功的。
篇2:如何才能有效的学习单片机编程
1、整体了解
要知道单片机是什么?单片机有何用?单片机系统设计的流程是怎样的、需要掌握哪些辅助软件(当然就包括相应的编程语言)?怎样设计算法、写出程序?怎样烧录程序?单片机是怎样工作的?怎样让它能支配机器按照人的需要进行动作?
了解这些之后,我们的学习就有了目标和方向。
至于这些问题的解答,主要应该还是在图书馆或网上的各种资料中寻找!
2、探索
单片机很难学,是因为其内部结构、编程语言抽象,且实际应用中与其他电子技术和元器件知识相互关联,需结合起来一起设计进行开发。
所以,第二阶段要了解单片机的内部结构是怎样的?单片机开发经常会用到哪些电子技术和元器件知识?如何将一条条编程指令组合成一段段有效的程序?并不断尝试,变换各种不同的描述方法,烧录不同的程序观察比较运行结果,分析出现的现象及其原因。这将给你的学习带来很大帮助!并且,程序的成功烧录和运行,也能极大增强你的自信!
3、解密
之所以单片机能成为控制核心,设计出包罗万象的应用系统来,是因为开发者利用了单片机提供的种种功能及各种外设。
因此,第三阶段我们要掌握单片机的各种功能,再加上诸如传感器、模数转换、扫描显示、串行、中断的应用思维,结合更多的元器件、电子电路知识,逐个学习、体会实际的单片机系统的秘密。
4、远航
通过以上三个阶段,大家基本就可掌握单片机的应用了。但要设计出丰富的单片机系统,解决复杂的实际问题,还需要了解更多的外设知识及其与单片机的联系(如电动机、各类存储器、继电器、红外管等)。这些需要不断的学习和积累。有时候,接到一些开发任务,就需要你针对这个任务自觉地去搜集、学习相关知识,在实践中不断学习和提高。
5、总之
1)先通过各种文献资料了解基本结构,掌握必备的基础编程能力;
2)买开发板动手实践,遵从教学视频做相应的更深一步的了解;
3)试着设计算法,编写程序,烧录程序,运行,并分析结果;
4)对程序进行修改,同时观察运行结果的变化,进一步了解单片机的运行及控制原理,总结;
5)试着进行新的开发,在开发过程中发现并解决问题,分析总结相应元件的学习套路,才能不断进步!
单片机编程知识问答
1. C语言和汇编语言在开发单片机时各有哪些优缺点?
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。
而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。
如果对单片机C语言有兴趣,HOLTEK的单片机就有提供C编译器,可以到HOLTEK的网站免费下载使用。
2. C或汇编语言可以用于单片机,C++能吗?
答:在单片机开发中,主要是汇编和C,没有用C++的。
3. 搞单片机开发,一定要会C吗?
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。
而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。
此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。
4. 当开发一个较复杂而又开发时间短的项目时,用C还是用汇编开发好?
答:对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。如果对这些特性不了解,那调试起来就有的烦了,到头来可能还不如用汇编来的快。
5. 在教学中要用到8088和196芯片单片机教材,请问那里可以找到关于这方面的书或资料?
答:有关这方面的教材,大学里常用的一本是《IBM-PC汇编语言程序设计》清华大学出版社出版的,在网上以及书店都是可以找到的,另外网上还可以搜索到很多其他的教材如:《微机原理及汇编语言教程》(杨延双 张晓冬 等编著 )和《16/32 位微机原理、汇编语言及接口技术》(作者: 钟晓捷 陈涛 ,机械工业出版社 出版)等,可以在较大型的科技书店里查找或者直接从网上订购。
6. 初学者到底是应该先学C还是汇编?
答:对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础。
篇3:怎么才能有效学习计算机编程
学习计算机编程的建议
当然学习编程是一门苦差事,尤其是刚入门的时候,对着哪些它认识你,你不认识它的代码别提是多么痛苦的一件事情了,很多朋友可能受不了这种痛苦从而放弃了学习,因为很多人没有那个耐心和毅力。当然学习编程除了耐心和毅力之外还是需要一些方法和技巧的。
那么零基础该如何学习编程呢?首先自然是选择学习的编程语言了,计算机语言的种类繁多,但是大体可以分为机器语言,汇编语言,高级语言以及脚本语言。像是我们经常听到的C语言,java,易语言都是属于高级语言,像是php,javascript,jsp,asp.net就属于脚本语言了。
俗话说,书读百遍其义自见。编程也是一样,只有多打代码,才能从中找到规律。这里可能有的同学会问了,我都不会编代码,怎么才能多编写代码呢?其实,当我们跟着课程学习的时候,老师会给我们演示代码,一边看,一边就可以自己写代码,慢慢从中体会为什么这么编写。如果是想从事编程的同学,可以把写过的代码存到自己的文本文档里,这也就能知道我们的代码量,为以后找工作做准备。
没有基础的人的主要问题在于急躁和信心不足。编程起步时,总是会遇到困难,一个错误横在前面,很正常。有人用积极的态度对待,自己查书思考,或者请教别人,解决一个,长进一截;有人面对错误急躁烦恼,连连抱怨枯燥乏味。平常要用积极的话引导自己,多去谈长进,也要时常留意自己的进步。相信很多同学都喜欢和周围的人比,比来比去却唯独不看别人的努力,而总觉得别人都比自己强而丧失信心。
欢迎加入重庆中软卓越,我们携手谱写自己的未来!我们不生产技术,而是教育的传授者,更是it技术的搬运工。
学习编程的四大好处
1、强化逻辑思能力
写程序最重要的就是如何把大问题不断分割成小问题的过程,其中,小孩必须去思考如何把代码合理的安排在整个程序中,才能让程序流畅的处理输入、演算、直到输出,这对小孩对事物的逻辑分析能力会有极大的提升。
2、培养专注细心的学习习惯
除错,是每个写程序的人必经之事,不论大人小孩都没有例外。有时候只是少打了一个等号,或是在某一行的行尾少加了一个分号,就会造成程序大乱,更别说还有逻辑上分析问题时却忽略掉某种状况的陷阱。所以,学习写程式除错的过程中,绝对无法得过且过。能有效改正小孩马虎行事的毛病。
3、提高抽象思维能力
其实学写编程,就像学习第二外国语一样。如果说学外文是为了跟外国人沟通,学写编程就是学习怎么跟电脑沟通。有趣的是,你碰到老外不会说英文还可以比手画脚,跟电脑可不行。这表示孩子在学习的过程中,更需要一种把抽象化为具体的能力,好让不懂得思考的电脑,也能了解或表达抽象的事物。
4、提高知识整合能力
写程序说穿了,就是一堆电脑指令的排列组合。好比小学的时候我们查字典学汉字、学成语,之后学习如何利用习得的汉字、成语组成句子,进而撰写文章一样。程式中的基本指令就是汉字,写成可重复利用的 Function 或 Module 就像是成语,然而最终要完成一个有头有尾的程式时,则必须融会贯通,学以致用,确保程序在执行中不会出现矛盾的情形导致 Crash。
C++计算机编程语言的学习方法
1:知识构成
C++的知识总体来说,包括C语言结构化编程知识,面向对象部分和泛型编程也就是模板编程.总体来说,从语言的角度来看,学习C语言的结构化编程部分是容易的.因为这样的编程思想,通过多年数学函数的思维沉淀,是很容易接受的.所以,大多数人能学习好C部分,当然是否能用好,这是另外的话题了.但是,到了面向对象编程和模板(泛型)编程,很多初学者就死翘翘了,为什么呢?主要是思维体系的转变速度太快,很难短时间适应.
2:如何克服思维转变
要学习C++的面向对象编程和泛型编程,转变你看待世界的方法是一定的,但是,因为短时间引入了太多的概念,比如:封装,继承,多态,重载,虚函数等.就让很多人止步了.但是,这些知识才是C++的核心所在,如果这些知识不通过,就不能算你学好了C++.怎么办呢?
(1)你遇到的困难是所有人都曾经遇到的苦难,所以不要怀疑你自己.
(2)有时候,如果一个知识点不懂,并且已经花费了你很多时间,那么先跳过.
(3)无论如何,不管你接受到什么度,都一定要从头到尾的学完,这我们可以称为:初学.
(4)在初学的基础上,再次克服困难
(5)一定要用你学习的知识去编程,只有实践及不断的强化,才能让你真正理解.
(6)学会思考生活,应用现实生活中的工程方法去理解C++的语言设计思想.
篇4:怎么才能有效学习java编程
学习java编程的建议
1明确面向对象的范畴
我们必须明确一个大方向,也就是说现在面向对象的编程范畴。尽管人工智能曾经有所浪潮(看看Borland为什么有Turbo Prolog),但未来5-工业界广泛承认并接受的将是面向对象式的编程。
工业界目前最流行的面向对象编程语言就是C++和Java。所以基本上锁定这两个方向就可以了。而且完全可以同时掌握。
2掌握Java的精华特性
掌握Java的精华特性的同时,一定要知道为什么。比如,Interface和multi-thread。用interface是更好的多继承的模型,而多线程则是设计到语言一级的重要特性。要完全理解interface是为什么,用多线程又有几种常用的编程模型。
3开始进行设计
理解了语言的特性是为什么了之后,就可以试着上升到设计这个层次,毕竟学习语言是要用的。目前比较好的开发模式是采用自定向下的面向对象的设计,加上MVC的模式(你可以看一下我介绍的关于MVC的内容)。首先要找出最顶层的对象(这往往是最难的),然后一层一层往下递归,记住每次应符合7+/-2的原则,因为我们人的短记忆就是这样。一般有图形用户界面的应从界面开始设计。
4学习设计模式
有了基本设计模型后,可以学一些设计模式(Design Pattern)。这是目前证明很有效的。比如体系结构模式(Layering分层,Pipe/Filter管道或过滤器),设计模式(有很多,比如对象池Object Pool、缓冲池Cache等),编程模式(比如Copy-on-Write)。
懂了这些模式之后,就会对系统的整体结构有很好的把握,而学术上也有倾向一个系统完全可以由各种模式组合而成。前面提到的MT实际上就有好几种模式,掌握后就不用自己花很多时间去试了。另外一个很重要的领域就是并行和分布式计算领域,大概有20种左右。
5进行编程实践
接下来就不能纸上谈兵了,最好的方法其实是实践。一般教科书上的例子并不能算是实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能是你自己越来越迷糊。
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的,比如在我的实践当中,我曾经学习过一个很经典的例子就是用Java实现的HotDraw(源自SmallTalk),你可以用rolemodel或hotdraw在搜索引擎上找一下,我记不大清楚了。好象是个网站,上面有原代码和一些基本设计的文档。
另一个来源可以到是个不错的文档基地。从HotDraw上我学到了什么是Framework,以及如何用rolemodel的方式来构造,这样我就可以应用到其他的地方。顺便说一句,这个例子你绝对不会觉得小,只会觉得大,并且他还是真正的商用的Framework。
零基础怎么学Java
理解Java思想
Java是一门面向对象编程语言。向对象编程是Java最核心的思想,这也是区分和C等其他编程语言的一个显著特征。掌握面一门语言,首先得掌握它的思想,思想决定高度。这就和我们学习语文和英语一样,汉语学拼音,英语学音标。抓住了核心,学习起来就事半功倍。
弄清基本概念
作为一门语言,Java肯定有着丰富而又简单的概念。弄清这些基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别与联系,分别有那些应用。有些同学打开电脑就照着书本敲代码,根本没有想过这些代码中用到了哪些知识点,更谈不上理解了,这样是没有任何效果的。
多练习
只理解了Java的基本概念是远远不止的,还要知道怎么去使用。刚开始,你可能会觉得Java中那么多东西怎么也记不住,就连写一个小小的入门级程序都要涉及到好多东西。但是,当你亲手在键盘上敲了几遍之后,你就会觉得之前的那些问题都不是问题了。
学会帮助看文档与源代码
Java是一门开放源代码的编程语言。利用网络可以下载官方的帮助文档,当你不知道一个东西怎么用时,你可以打开帮助文档,你的问题一下就解决了。如果还不能解决的话,打开搜索引擎,输入你的问题,你一定会找到答案的。如果你想弄懂Java底层的原理的话,可以去网上下载对应的源代码。看了源代码之后,你会发现Java的世界是多么的奇妙,也会提高你Java编程的水平。
掌握一种好的而且适合自己的学习方法很重要。有些同学在学习Java的过程中会陷入误区,下面将给大家列出初学者容易进入的误区。
学习java编程的注意事项
盲目追求速度,不重代码质量
速度很重要,但代码质量更重要。一个在追求速度而不注重代码质量的环境下完成的项目,肯定是会有很多问题的,后期要花更多的人力物力来弥补,得不偿失。
没有团队精神,过于自我
一个项目不可能由一个人来独立完成,而是由团队里不同角色的人来共同合作完成的。个人的力量是渺小的,团队的力量是无穷的。当你的队友遇到问题时,如果你能解决,你要不吝帮助。同样,你有问题时,你的队友也会及时帮助你。
没有开源精神
一门技术,如果它是开源的话,它就会变得越来越成熟。当你写了一段团队里都能通用的程序时,你可以告诉你的团队,节省开发的时间,也创造了别人给你提出问题的环境,让你的代码更加完善。
给你的代码写上必要的注释也是非常重要的,好多人写程序时都不愿意写注释,给的理由是没必要或者是时间太紧,试想一下,如果当你正在阅读或者修改一段没有注释的代码时候,你是不是会觉得弄懂它的意思很难,当然你可以花更多的时间去弄懂它,但如果你加了注释的话,就完全没有必要花费更多的时间了。
总之,Java是一门容易上手的编程语言,但想要融会贯通,除了掌握良好的学习方法之外,努力是必不可少的。学习java要对自己有充分的信心,调整学习方法和态度。
篇5:如何才能系统有效的学习编程
学习基本构造,并用真正的问题测试
如果你使用相应的书籍或某种形式的教程学习编程语言,那么现在你可以通过它们来学习了。
此时,你会觉得正在阅读的书或上的课程并没有你刚开始认为的那么神秘。
现在你要做的是熟悉所学编程语言的每个基本结构,然后使用这些构造编写一些代码。
你需要尽可能实际地尝试和思考将所学的东西与问题和应用程序联系起来,当你将技能应用到实际问题的时候,这样才能更好地理解和记住这些知识。
下面是大多数编程语言所包含的一些基本结构:
- 能够输出到屏幕上
- 基本的数学能力
- 作为一个变量存储信息
- 组织代码成函数,方法,或模块
- 调用函数或方法
- 布尔逻辑评估的性能
- 分支条件语句(if / else)
- 循环语句
如何才能有效的学习单片机编程(精选5篇)




