和初学者谈谈如何学好单片机编程技术

当今时代,是一个新技术层出不穷的时代。在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机 智能控制系统所取代。大部分的高等工科学校都已开设了单片机课程。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。过去习惯于传统电子领域的工程师、技术员正面临着全新的挑战,如不能在较短时间内学会单片机,势必会被时代所遗弃,只有勇敢地面对现实,挑战自我,加强学习,争取在较短的时间内将单片机技术融会贯通,才能跟上时代的步伐。

但是,许多的学习者(包括在校学生),他们总不得要领,从一开始学习时的热情高涨,到最后的沮丧放弃,使得大家对单片机产生了既爱又怕的感觉。

学习单片机并不象学习传统数字电路或模拟电路那样比较直观,原因是除了“硬件”之外还存在一个“软件”的因素。正是这个“软件”因素的存在,使得许多初学者怎么也弄不懂单片机的工作过程,他们怎么也不明白为什么将几个数送来送去,就能控制一盏灯亮/灭?能控制一个电机变速?由此对单片机产生一种“神奇”、“敬畏”甚至“恐惧”感,阻碍了学习单片机的热情与兴趣,这就有社会上“单片机难学”一说。

笔者多年来与众多的电子爱好者、在校学生打过交道,深知他们学习单片机中碰到的难处,况且作者本人也是从一位电子爱好者成长为工程师的,此过程自然少不了学习、探索、实践、进步这样一条规律,因此深切地知道,学单片机难,主要是不得要领,难以入门。一旦找到学习的捷径,入了门,能初步掌握编程技术并产生实际效果,那么必然信心大增。接下来,再向新的深度、广度进军时,心里也不那么焦虑,比较坦然了,能够一步一个脚印下去扩展自己的知识面。这里根据笔者的经验谈谈学习方法、技巧及如何在较短时间内学会单片机。

学习单片机的最有效方法是理论与实践并重

对一个初学单片机的人来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,能够产生什么实际效果,那么也许用不了几天就会觉得枯燥乏味而半途而废。所以学习与实践结合是一个好方法,边学习、边演练,循序渐进,这样用不了几次就能将用到的指令理解、吃透、扎根于脑海,甚至“根深蒂固”。也就是说,当你此次学习完某几条指令后(一次数量不求多,只求懂),接下去就该做实验了,通过实验,使你感受刚才的指令产生了控制效果,眼睛看得见(灯光)、耳朵听得到(声音),更能深刻理解指令是怎样转化成信号去控制电子产品的。说句过分的话,单片机与其说是学出来的,还不如说是做实验练出来的,何况做实验本身也是一种学习过程。因此边学边练的学习方法,效果特别好,许多读者经3~6个月的学习已能开发简单的产品了(如霓红灯广告牌控制、累加计数器等)。

学习单片机要合理安排学习时间持之以恒

学习单片机可不能“三天打鱼、二天晒网” ,要有持之以恒的毅力与决心,学习完几条指令后,就应及时做实验,融会贯通,而不要等几天或几个星期有时间后再做实验,这样效果不好甚至前学后忘。另外要有打“持久战” 的心理准备,不要兴趣来时学上几天,无兴趣时凉上几星期。学习单片机很重要的一点就是持之以恒。

学习单片机要使用循环学习法使之根深蒂固

笔者曾在其它刊物举办过《手把手教你学单片机》讲座,该讲座入门起点低,很多朋友觉得好学、易学,很快就能将讲座从头至尾学完、学懂,但过了几个月,在开发产品时对指令的具体作用就有些淡忘了。根据现代科学的研究,对只短暂学过一遍的知识,充其量只比浮光掠影稍好。因此,较好的方法是,过一段时间后(1~2个月)再重新做一遍,这样反复循环几次就能彻底弄懂消化,永不忘却。有道是:若人生能细看《水浒传》10遍,那么里面的故事内容、人物场情将永生不忘。

学习单片机要进行适当投资购买实验器材及书籍资料

单片机技术是一门含金量高的技术,一旦学会后,它给你带来的效益回报当然也高,无论是应聘求职还是自起炉灶开厂办公司,其前景是光明无限。因此在学习时要舍得适当投资购买必要的学习、实验器材,另外还要经常去科技图书店看看,购买一些适合自己学习、提高的书籍。总之,春天不播种哪来秋天的收获?考虑到学习成本,对初学者可采用“程序完成后软件仿真→单片机烧录程序→试验板通电实验”的方法(现在的快闪型单片机其程序可烧写1000次以上),这样整套实验器材(不包括PC机)只有几百元,对大部分已工作的爱好者来说都有这个能力承受。而经济条件较好的读者可考虑使用在线仿真器(ICE)进行实验,这样学习时直观性更好。

总之这里所谈的就是作者的亲身体验。我们希望以最实用的方法,最易入门的手法,将初学者领进单片机世界的大门里,使这些仅稍懂硬件原理的人通过实践能理解软件的作用,让他们知道在单片机组成的系统中硬件与软件的区分并不绝对,硬件能做的工作一般情况下软件也能完成,软件的功能也可用硬件替代。等初步学会了单片机软件设计后,可将通常由硬件完成的工作交由软件实现,这样,系统的体积、功耗、成本将大大降低,而功能得到提升与增强,使习惯于传统电路设计的人对单片机产生一种妙不可言的相见恨晚之感,感觉到真正找到了一种理想化的器件,真正感受、体会到现代单片微型计算机的强大作用,从而投身于单片机的领域中。只要你肯努力、下功夫、多实践,一定会成功的。祝你成功。且学且珍惜,思考人生,思考以后要走的路。想走IT路线 的朋友,请往这边看,这里绝对有你感兴趣的。嵌入式、单片机、STM32、FPGA,电子,PCB等课程供你们选择。提升自我QQ:2825915309,电话:18336308250。郑州+深圳+广州一体学习!资料官网: www.edu118.com

时间: 2024-10-19 17:18:57

和初学者谈谈如何学好单片机编程技术的相关文章

单片机与单片机编程

单片机就是片上计算机,广义的计算机可以理解为CPU+内存,那么单片机就是把CPU和内存封装在一块的芯片.它不同于我们习惯上认识的计算机,由于不带外设和封装性,它已经高度电子元器件化. 电子元器件,通俗的讲就是电路板上密密麻麻带有管脚的各种原件,电子原件通过贴片或直插的方式固定在电路板上.原件的正方向通常是使标记在上或左上的一个方位,在正方向的情况下,划出U形,按照先后顺序,从1开始为管脚编号. 单片机的管脚是其强大功能的本质,通过把预先写好的程序烧到单片机中运行,就可以随性所欲地控制单片机管脚的

网络编程技术

                                                     网络编程技术 Java 网络编程 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机进行通讯. 网络编程中有两个主要的问题: 1.如何准确地定位网络上一台或多台主机. 2.找到主机后如何可靠高效地进行数据传输. 目前较为流行的网络编程模型是客户端/服务器(C/S)结构. 即通信双方一方作为服务器等待客户提出请求并予以相应.客户则在需要服务时向服务器提出申请. 服务器始终运行,

学好英语要从多方面入手,语法就是一个方面,本篇经验将从大的方面宏观地谈谈如何学好英语语法

学好英语要从多方面入手,语法就是一个方面,本篇经验将从大的方面宏观地谈谈如何学好英语语法. 方法/步骤 1 对于一个初学者来说,刚开始不应过度在意语法. 这就好比小孩走路,没有必要掌握技巧,需要的只是多多尝试,慢慢地就有了感觉,然后平衡能力就好了,随着年龄的增长可以学习如何走得好看.其实学英语也是如此,刚开始要多读,多说,学任何语言都要有一个模仿的过程. 2 有了一定的阅读量和词汇量之后,也就是说你有了一定的积累,然后就可以看看语法了,刚开始看一些简单的语法,再回想一下你读过的一些东西,仔细想这

编程技术日新月异,TAOCP经典永驻

1968年,C语言还未出现,鼠标刚刚问世,ARPAnet还在酝酿之中. 2017年,编程语言多达几百种,PC走进千家万户,ARPAnet已经退役十多年. 1968年,有一套关于编程的图书出版了第1卷. 2017年,这套书仍然是科技领域的经典. 这就是<计算机程序设计艺术>. <计算机程序设计艺术>简写为TAOCP. 1962年,编程界先驱高德纳开始写作<计算机程序设计艺术>.他原本只打算写12章,谁知道一写就是几十年,一本书变成了一部"史诗". 19

计算机编程技术蓝图

目录: 0 硬件 1 基本概念 2 操作系统 3 编程技术  4 软件工程 5 高效的程序员 6 编程实践   自己主要关注2个方面,硬件方向的单片机(如何与各种硬件外设交互)和软件方向的计算机图形学(专注于图形图像的生成).其他还关心linux,网络. 从0开始 :) 0 硬件 对于一个计算机硬件,我们需要从哪些方面了解呢?以下是个列表(链接待整理). 模块 硬件 编程方面 接口方式 衡量指标 研究方向 处理器 pc,notebook,phone 线程 intel: Socket 478 ,L

编程技术网站收集

孟宪会之精彩世界http://dotnet.aspx.cc/最新网络技术,大量ASP.NET.C#.VB.NET.XML.ADO.NET.SVG.dotnet技术 中文c#技术站http://www.chinacs.net/涉及.NET网站资源,基础知识,代码收集 博客园http://www.cnblogs.com/专注于.NET技术 ccBoy的.NET 资源站点http://www.dotnettools.org/记录作者本人点点滴滴的WebLog和.NET Tools资源列表. 博客堂 h

【高并发】学好并发编程,关键是要理解这三个核心问题

写在前面 写[高并发专题]有一段时间了,一些读者朋友留言说,并发编程很难,学习了很多的知识,但是在实际工作中却无从下手.对于一个线上产生的并发问题,又不知产生这个问题的原因究竟是什么.对于并发编程,感觉上似乎是掌握了,但是真正用起来却不是那么回事! 其实,造成这种现象的本质原因就是没有透彻的理解并发编程的精髓,而学好并发编程的关键是需要弄懂三个核心问题:分工.同步和互斥. 分工 比较官方的解释为:分工就是将一个比较大的任务,拆分成多个大小合适的任务,交给合适的线程去完成,强调的是性能. 如果你还

C#网络编程技术FastSocket实战项目演练

一.FastSocket课程介绍 .NET框架虽然微软提供了socket通信的类库,但是还有很多事情要自己处理,比如TCP协议需要处理分包.组包.粘包.维护连接列表等,UDP协议需要处理丢包.乱序,而且对于多连接并发,还要自己处理多线程等等.本期分享课程阿笨给大家带来的是来源于github开源Socket通信中间件:FastSocket,目的就是把大家从繁琐的网络编程技术中彻底地解放和释放出来. 阿笨只想安安静静的学习下网络编程技术Socket后,将学习的成果直接灵活的运用到自己的实际项目中去.

利用JSP编程技术实现一个简单的购物车程序

实验二   JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP中数据库编程方法: 二.实验要求 : 利用JSP编程技术实现一个简单的购物车程序,具体要求如下. (1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息. (2)编写一个JSP程序来处理用户提交的登录信息,如果用户名为本小组成员的名字且密码为对应的学号时,采用J