三个步骤学好单片机编程设计

发布者:温柔浪漫最新更新时间:2017-11-12 来源: eefocus关键字:单片机  编程设计 手机看文章 扫描二维码
随时随地手机看文章

作为一名电子技术从业人员,你学过单片机吗?你会运用单片机吗?我想你一定学过,但不一定会运用。因为学习单片机比学习其他学科需要付出更多的努力和代价,不仅要学习理论知识还要练习实际操作,而且主要是在实际操作中才能真正学到单片机技术。此外,学习单片机还需要投入一定的学习成本,随着你学习知识的扩展成本还会增加。学习单片机的动机不外乎有四种:一是为兴趣爱好而学,二是为专业而学;三是为饭碗而学;四是在工作中被逼而学。不管是哪种动机,因主修专业的不同以及电子基础的深浅不同,对于不同的人可能采用不同的学习方法,根据笔者的亲身学习经验和教授徒弟学习的感受,提出笔者的学习方法和步骤。
第一步:基础理论知识学习
基础理论知识包括模拟电路、数字电路和C语言知识。模拟电路和数字电路属于抽象学科,要把它学好还得费点精神。在你学习单片机之前,觉得模拟电路和数字电路基础不好的话,不要急着学习单片机,应该先回顾所学过的模拟电路和数字电路知识,为学习单片机加强基础。否则,你的单片机学习之路不仅会很艰难和漫长,还可能半途而废。笔者始终认为,扎实的电子技术基础是学好单片机的关键,直接影响单片机学习入门的快慢。有些同学觉得单片机很难,越学越复杂,最后学不下去了。有的同学看书时似乎明白了,可是动起手来却一塌糊涂,究其原因就是电子技术基础没有打好,首先被表面知识给困惑了。
单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。相反,基础不好,这个看不懂那个也弄不明白,越学问题越多,越学越没有信心。如果你觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。理解了这些知识之后再去看看单片机的结构和原理,我想你会大彻大悟,信心倍增。
模拟电路是电子技术最基础的学科,她让你知道什么是电阻、电容、电感、二极管、三极管、场效应管、放大器等等以及它们的工作原理和在电路中的作用,这是学习电子技术必须掌握的基础知识。一般是先学习模拟电路再去学习数字电路。扎实的模拟电路基础不仅让你容易看懂别人设计的电路,而且让你的设计的电路更可靠,提高产品质量。
C语言知识并不难,没有任何编程基础的人都可以学,在我看来,初中生、高中生、中专生、大学生都能学会。当然,数学基础好、逻辑思维好的人学起来相对轻松一些。C语言需要掌握的知识就那么3个条件判断语句、3个循环语句、3个跳转语句和1个开关语句。别小看这10个语句,用他们组合形成的逻辑要多复杂有多复杂。学习时要一条语句一条语句的学,学一条活用一条,全部学过用过这些关键语句后,相信你的C基础建立了。
当基础打好以后,你会感觉到单片机不再难学了,而且越学越起劲。当单片机乖乖的依照你的逻辑思维和算法去执行指令,实现预期控制效果的时候,成就感会让你信心十足、夜以续日、废寝忘食的投入到单片机的世界里。可以这么说,扎实的电子技术基础和C语言基础能增强学习单片机信心,较快掌握单片机技术。
第二步:单片机实践
这是真正学习单片机的过程,既让人兴奋又让人疲惫,既让人无奈又让人不服,既让人孤独又让人充实,既让人气愤又让人欣慰,既有失落感又有成就感。。。其中的酸甜苦辣只有学过的人深有体会。思想上要有刻苦学习的决心,硬件上要有一套完整的学习开发工具,软件上要注重理论和实践相结合。
1.有刻苦学习的决心
首先,明确学习目的。先认真回答两个问题:我学单片机来做什么?需要多长时间把它学会?这是你学单片机的动力。没有动力,我想你坚持不了多久。其次,端正学习心态。单片机学习过程是枯燥乏味、孤独寂寞的过程。要知道,学习知识没有捷径,只有循序渐进,脚踏实地,一步一个脚印,才能学到真功夫。再次,要多动脑勤动手。单片机的学习具有很强的实践性,是一门很注重实际动手操作的技术学科。不动手实践你是学不会单片机的。最后,虚心交流。在单片机学习过程中每个人都会遇到无数不能解决的问题,需要你向有经验的过来人虚心求教,否则,一味的自己埋头摸索会走许多弯路,浪费很多时间。
2.有一套完整的学习开发工具
学习单片机是需要成本的。必须有一台电脑、一块单片机开发板(如果开发板不能直接下载程序代码的话还得需要一个编程器)、一套视频教程、一本单片机教材和一本C语言教材。电脑是用来编写和编译程序,并将程序代码下载到单片机上;开发板用来运行单片机程序,验证实际效果;视频教程就是手把手教你单片机开发环境的使用、单片机编程和调试。对于单片机初学者来说,视频教程必须看,要不然,哪怕把教材看了几遍,还是不知道如何下手,尤其是院校里的单片机教材,学了之后,面对真正的单片机时可能还是束手无策;单片机教材和C语言教材是理论学习资料,备忘备查。不要为了节约成本不用开发板而光用Protur软件仿真调试,这和纸上谈兵没什么区别。
3. 要注重理论和实践相结合
单片机C语言编程理论知识并不深奥,光看书不动手也能明白。但在实际编程的时候就没那么简单了。一个程序的形成不仅需要有C语言知识,更多需要融入你个人的编程思路和算法。编程思路和算法决定一个程序的优劣,是单片机编程的大问题,只有在实际动手编写的时候才会有深切的感悟。一个程序能否按照你的意愿正常运行就要看你的思路和算法是否正确、合理。如果程序不正常则要反复调试(检查、修改思路和算法),直到成功。这个过程耗时、费脑、疲精神,意志不坚强者往往被绊倒在这里半途而废。
学习编写程序应该按照以下过程学习,效果会更好。看到例程题目先试着构思自己的编程思路,然后再看教材或视频教程里的代码,研究人家的编程思路,注意与自己思路的差异;接下来就照搬人家的思路亲自动手编写这个程序,领会其中每一条语句的作用;对有疑问的地方试着按照自己的思路修改程序,比较程序运行效果,领会其中的奥妙。每一个例程都坚持按照这个过程学习,你很快会找到编程的感觉,取其精华去其糟粕,久而久之会形成你独特的编程思想。当然,刚开始,看别人的程序源代码就像看天书一样,只要硬着头皮看,看到不懂的关键字和语句就翻书查阅、对照。只要能坚持下来,学习收获会事半功倍。(http://www.eadianqi.com版权所有)在实践过程中不仅要学会别人的例程,还要在别人的程序上改进和拓展,让程序产生更强大的功能。同时,还要懂得通过查阅芯片数据手册(DATASHEET)里有关芯片命令和数据的读写时序来核对别人例程的可靠性,如果你觉得例程不可靠就把它修改过来,成为是你自己的程序。不仅如此,自己应该经常找些项目来做,以巩固所学的知识和积累更多的经验。
第三步:单片机硬件设计
当编写自己的程序信手拈来、阅读别人的程序能够发现问题的时候,说明你的单片机编程水平相当不错了。接下来就应该研究的硬件了。硬件设计包括电路原理设计和PCB板设计。学习做硬件要比学习做软件麻烦,成本更高,周期更长。但是,学习单片机的最终目的是做产品开发----软件和硬件相结合形成完整的控制系统。所以,做硬件也是学习单片机技术的一个必学内容。
电路原理设计涉及到各种芯片的应用,而这些芯片外围电路的设计、典型应用电路和与单片机的连接等在芯片数据手册(DATASHEET)都能找到答案,前提是要看得懂全英文的数据手册。否则,照搬别人的设计永远落在别人的后面,你做的产品就没有创意。电子技术领域的第一手资料(DATASHEET)都是英文,从第一手资料里你所获得的知识可能是在教科书、网络文档和课外读物等所没有的知识。虽然有些资料也都是在DATASHEET的基础上撰写的,但内容不全面,甚至存在翻译上的遗漏和错误。当然,阅读DATASHEET需要具备一定的英文阅读能力,这也是阻碍单片机学习者晋级的绊脚石。良好的英文阅读能力能让你在单片机技术知识的海洋里自由遨游。
做PCB板就比较简单了。只要懂得使用Protel软件或 AltimDesigner软件就没问题了。但要想做的板子布局美观、布线合理还得费一番功夫了。
娴熟的单片机C语言编程、会使用Protel软件或 AltimDesigner软件设计PCB板和具备一定的英文阅读能力,你就是一个遇强则强的单片机高手了。

关键字:单片机  编程设计 引用地址:三个步骤学好单片机编程设计

上一篇:单片机编程应用技巧问答
下一篇:单片机编程遇到的10个问题

推荐阅读最新更新时间:2024-03-16 15:44

SimpleLink MCU平台全面解析!TI究竟为物联网(IoT)带来一个什么惊喜?
根据IHS Markit的最新数据显示,截至2020年,全球联网设备的数量将达到307亿个,而这个数字将在2025年增长至754亿个。全球联网设备的爆炸式增长不仅为市场带来了新的机遇,也为其未来的发展提出了更多挑战。基于这一现状,贝恩咨询(Bain & Company)对超过170位来自物联网(IoT)和分析解决方案企业的高管以及超过500位意图部署IoT解决方案的高管进行了采访。下面就随网络通信小编一起来了解一下相关内容吧。  根据IHS Markit的最新数据显示,截至2020年,全球联网设备的数量将达到307亿个,而这个数字将在2025年增长至754亿个。全球联网设备的爆炸式增长不仅为市场带来了新的机遇,也为其未来的发展提
[网络通信]
基于单片机的工业顺序控制
掌握工业顺序控制程序的简单编程,中断的使用。 实验内容 1.实验原理图: 2.实验内容 8032的P1.0—P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,高电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,低电平启动。P3.3为外故障输入模拟开关,P3.3为0时不断告警。P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。 3、实验说明 实验中用外部中断0,编中断服务程序的关键是: (1)保护进入中断时的状态,并在退出中断之前恢复进入状态。 (2)必须在中断程序中设定是否允许中断重入,即设置EX0位。 一般中断程序进入时应保护PSW、ACC以及中断程序使用但非其专用的寄存器
[单片机]
基于<font color='red'>单片机</font>的工业顺序控制
打造单片机控光码电子锁
几天前看《我爱发霉》,看到一个光码电子锁,于是产生了一个改变现在普通的钥匙锁的想法。由于原版太耗孔方兄,我就做了一个简单的光敏电阻识别开锁。【安全系数小,但就算是破译出解锁端光发出的频率也无法开锁,因为光敏电阻感受的阻值不一样照样无法开锁,根据这点,对开锁端LED的亮度在每次开锁后改变,只有开锁端的LED同步】 可以随便改密码,改密方法:可以在代码里更改光发出的间隔闪烁次数以及间隔时间。这里我将这个设置成:亮 →0.5秒→灭→1秒→亮→1.1秒→灭 ← 循环为了提高安全,也可以做一个一次性密码,由时钟定时后随机改变后同步。本次用到的是开发板,载STC89C52,(材料备齐自己做一个最小系统) 首先我们取出光敏电阻
[单片机]
打造<font color='red'>单片机</font>控光码电子锁
51单片机应用之无线通讯模块NRF24L01+
本教程关于NRF24L01+的内容十分详细,对于大家的学习和调试及其有帮助 内含详细教程: 单片机源程序如下: 接下来我们写发送程序: //********************************** // NRF24L01+模块发射程序 // 用8个LED调试 // Txz001 2012.05.16 //********************************** #include reg52.h typedef unsigned char uchar; //将无符号字节类型重定义为uchar typedef unsigned int uint; //将无符号整数类型重定义为Uint
[单片机]
51<font color='red'>单片机</font>应用之无线通讯模块NRF24L01+
51单片机秒表C程序
本程序所用的原理图下载: 点这里 ,单片机芯片使用的stc89c52;电路找到相应部分即可.这是一整个单片机开发板的电路图其他的忽略. 本程序的keil工程下载: http://www.51hei.com/f/miaobiao.rar 以下是通过测试的源代码: /* *功能:用定时器0实现秒表,实现60秒定时,精确度为1毫秒 * 利用key1独立按键实现定时器的启动和停止, * 利用key2独立按键实现秒表的清零; *日期:2013-03-24 *作者:徐冉 *注意事项:若打开两个定时器时,必须使用两个定时器, * 否则两个定时器都不工作!!! **/ /**********stc89C52-RC 51hei单片机实验板
[单片机]
学习51单片机必写的几个程序
51单片机偶完全自学的,因为想学的时候离学校开课还早得很。 学完了单片机,现在学校课也开完了,收获很大。现将偶学习经验写出来,供大家交流。 1、因为有了C语言和汇编语言的基础,加上模电学得不错。微机原理也上了。所以我只花了半天的时间把51的引脚功能和内部结构搞清楚了。偶认为学51重要的就是搞清内部结构和地址空间。 2、仅用了几个小时简单看了一下51的汇编指令和C语法。 我个人认为学习程序语言的语法规则是很简单的,且各种语言之间都有共通的地方,有了汇编和某种高级语言的基础学其它语言应该能很快上手。 3、直接编程练习,软件硬件实现。 我的第一个程序是跑马灯程序。 这个会让你熟悉端口的用法,普通流程控制。当然是C语言写一个,汇
[单片机]
学习51<font color='red'>单片机</font>必写的几个程序
汽车MCU研究:“缺芯”大环境下国产供应商寻求自主替代
产能集中、疫情反复,MCU缺货情况暂难缓解 MCU是用于汽车控制的核心芯片,应用范围涉及车身动力、行车控制、信息娱乐、辅助驾驶等。 MCU芯片市场成熟,格局较为稳定,恩智浦、英飞凌、瑞萨电子、意法半导体、德州仪器长期占据全球汽车MCU市场TOP5的位置。2020年全球车规级MCU市场CR7(由国际大厂占据)市场占有率超过95%。 汽车MCU规格多,制程技术多为40/45/65纳米,产线营运成本高,因此恩智浦、瑞萨、英飞凌、德州仪器及微芯科技等IDM厂多采取晶圆委外代工策略。而车规级MCU代工领域集中度较高,全球70%的汽车MCU都由台积电生产,但是MCU芯片整体的产能只占到了台积电全部产能的3%。 2020年受疫情影
[汽车电子]
汽车<font color='red'>MCU</font>研究:“缺芯”大环境下国产供应商寻求自主替代
采用二维模糊控制器和C8051单片机实现室内自然采光系统的设计
1、 引言 从远古的篝火、油灯到蜡烛、白炽灯,再到今天千家万户的荧光灯,人类已经基本适应了人工光源的室内照明环境。但是由于千万年来的环境影响,自然光仍然是人类最习惯、感觉最舒适的光源,自然采光一直受到建筑师和照明设计师的高度重视。当今社会建筑的节能环保需求更对自然采光照明提出了进一步的要求。《建筑采光设计标准》 中的国家技术经济政策指出: 建筑设计要充分利用天然光,创造良好的光环境。 对室内照明自然采光的研究具有重要的意义: (1) 资料表明,照明用电占整个商业建筑能耗的25 - 40% ,而自然采光在特定的情况下可以节省52% 的照明用电,大大节约了能源。 (2) 相关研究表明,人在自然光条件下工作,可以增加满意度和提高工作
[单片机]
采用二维模糊控制器和C8051<font color='red'>单片机</font>实现室内自然采光系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved