单片机学习步骤及心得

发布者:学富五车最新更新时间:2015-03-27 来源: diangon关键字:单片机  学习步骤  心得 手机看文章 扫描二维码
随时随地手机看文章
一、前言

  很多单片机初学者在与我交流的时候总是的一句话是我现在是单片机初学者,我怎样才能更快的学好单片机,学习单片机有市场不,对于这个问题现在就我自己如何学单片机,如何入门,如何熟练,整个过程谈谈自己的想法。先说说单片机,现在用的比较多的的MCS-51的单片机(但是考虑到成本及引脚资源在实际开发中用的单片机型号不一),它的学习资料非常多,且学习成本非常低,如果你听说企业里用的是什么什么芯片,但是不知道,你问过没有,那个仿真器需要多少钱,51单片机对于智能控制入门来说是非常好的,一线下载程序,ARM太神秘,PLC太高贵,想来想去还是51。那怎样才能更快更好的学好单片机呢?单片机这门课是一项非常重视动手实践的科目,而且单片机也是一门集计算机编程与电子技术为一身的学科,如果你是单片机高手,那么说明你也是计算机编程和电子技术高手。

  二、学习单片机时候一定要看书

  不能总是看书,但是学习它首先必须得看书,那这不很矛盾。因为从书中你需要大概了解单片机各个功能寄存器(比如引脚控制寄存器、定时、中断、串口相关寄存器),控制单片机的核心是用程序去控制单片机的各个功能寄存器,给寄存器赋值二进制数据0或者1,这样一来对于引脚寄存器单片机可以根据二进制数据0和1输出高低电平控制外部设备,对于内部资源寄存器,单片机也通过二进制数据0和1使用单片机内部的功能。比如单片机引脚寄存器P1,语句P1=0xfe;(MOV P1,#0FEH)。说明现在控制单片机P1口的第一个引脚输出低电平,其他引脚输出高电平。比如中断中断允许寄存器IE,语句IE=0x81;(MOV IE,#81H) 则说明控制中断打开总开关和外部中断0的子开关。至于看书,只需大概了解单片机各管脚、各个特殊功能寄存器都是干什么的?能实现什么样的功能?这个非常重要,这也许是看书的最主要的目的。第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。通过接下来的实验就可以非常感观的认识,在这个过程一定要花时间,学习程序不能硬背,但是学习寄存器一定要下功夫,理解他的功能所在。推荐一本书,就这一本就足够了,书名是《例说8051》有汇编语言和C语言版本的,非常强悍的一本书,但是我用一个五一放假的时间看完了这本书,看完后,觉得自己已经是单片机高手了。书中图文并茂,内容安排紧张有序,并非市面上很多说教的技术文档式的书,什么学完概念,学指令,学完指令学接口,学完接口才知道,原来学习单片机是学天书。根据书本的安排循序渐进的看完前两章,然后一定是实践,一定是实践啊,这是非常关键的一步,在战场上上纸上谈兵的列子很多,在学习单片机也一样,很多相关专业的研究生甚至博士生直到毕业都不清楚单片机的IO口的分布,不知道分布谈何说开发呢?更有一些所谓的单片机高手只停留在编程,以为了买了一块高级学习板,练习完了里面所有的程序,感觉自己排第二没人敢拍第一,觉得下一步不知道如何学习单片机了。殊不知,他们中的很多人到最后单片机LED的电阻加多大都不清楚更不用说单片机的引脚分布,你说,如果这样去开发那不是“草菅人命”啊。不是纸上谈兵是什么啊。

  三、学习单片机准备什么所以啊?

  学习单片机看书不够,实践也要从实际出发,现在的技术太模块了,什么都可以模块,模块的到最后,技术人员都成了只会用了,祖先的留下的知识,基础的知识该知道还是一定要知道的啊。 毕竟学习单片机的最终目的是开发,是通过创造智能控制的实物,体现自己的价值。关于实践有两种方法可以选择一种方法:购买一块51单片机的实验板,不要求功能太的,对于初学者来功能非常多的那种板子,上面有很多东西你这辈子都用不着,更有实验板为了增加功能,降低成本,实验板上到处用的是贴片元件,双面布线,越复杂就越有水平,好像他们在设计的时候就想着,学习单片机只要根据我的提示下载程序就可以了,更有甚者将下载器和集成了实验板上。很多初学者学完单片机还认为,原来单片机不是一块芯片,是老教材上经常提到的使用已经不到的单板机。我觉得初学单片机有这几个模块就够了,(来源:http://www.diangon.com)剩下的得自己去开发。流水灯、数码管、键盘、蜂鸣器、串口通讯、AD等这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。设计的电路的时候必须要学习下PCB板设计软件,毕竟现在做开发要产品批量化还得电脑辅助设计啊,手工的效率太低了。但是在学习的过程中建议自己动手焊接。在焊接前一定要了解电路连接,网上随便搜索可以找到很多电路原理图,但是都不一定都能用,所以建议备一块面包板,有了它你在焊接电路前就可以先测试下了。如果在面包板上测试成功,后来的焊接你就志在必得了,如果失败,大不了重新再找一个。只要过了第一关,后面的路就好走,万事起步难。方法二:你身边如果有单片机入门者,动手能力比较强,请他帮忙,搭个简单的单片机最下电路,哪怕是控制一个LED工作的电路。对于他们来说,做个单片机的最小系统板是轻而易举,而对于初学者可就难多,这中间的一层窗户纸破了就什么都简单了。因为只有对硬件了解了,才能熟练运用。只有知道程序是和下载到单片机内部的,才会清楚为什么要写单片机程序,这个动力来自于哪里,来至于心里有底。单片机编程就是与单片机对话,如果不知道对方谁,有没有再听,你还会有说话的激情吗。当然了如果没有这样的人,还是那句话,在网上多找几个最小电路电路原理图,在面包板上焊接就可以了。当然了这个也不会的,那建议你一定要买一块实验板,以后单片机的学习实验及项目测试验都用的上。

  四、如何迈入单片机开发世界

  有了单片机实验板你就要多练习,最好是自己有台电脑,少下载几部电影,少网络游戏,把实验板和电脑连好,安装上必备的软件,下载参考程序,并修改参考程序,从最简单的交通灯实验做起,等你发现你能控制交通灯,并了解交通的软硬设计的时候你已经入门了,你会发现单片机是多么迷人的东西啊,这不是在学习知识,而是在提升自我的价值。用途那么广的交通的设计都不在话下了,你还会觉得你没有学到东西吗。还会觉得自己什么都不会吗?计算机编程、电子技术的专业知识都用上了啊。当你编写的程序按你的意愿实现时,你比做什么事都开心,那种学习的收获感和成就感还有充实感是非常难得的。然后让数码管亮起来显示你所需要的数字。这两部分会了以后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就这样学习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,这其中你会找你之前学过的编程的书,还有数电模电的书,你会发现原来之前学的知识还是有用的。遇到不懂再去找以前学过的书本查阅这才是 “温故而知新,可以为师矣”的大道理啊。知识必须用于现实生活中,解决实际问题,用单片机设计个简易的家电定时器、红外遥控器什么,这样才能发挥它的作用,好好想想,上了这么多年大学,探索了那么久,犹豫徘徊,天天上课,在课堂上学到了什么?是不是为了期末60分的考试而忙碌,侥幸靠了90分,很高兴啊,在别人面前吹自己专业知识如何如何学习的好,殊不知,大学考试不像高中考试啊,那了奖学金又怎样。但是下学期开学回来一想,所学的知识已经忘记的一干二净。学到什么了?为什么要推荐学习单片机,因为单片机是工科生学的,集合计算机编程电子技术及多门控制语言为一体的学科,与其说学习是在学习单片机,不如说是在学习一个大学科。 五、学习单片机是汇编编程还是C语言编程 关于用汇编和C语言编程的问题。这个问题困恼很多人,可能主要是学校教学和部分教材的教育引导引起的吧,大一开了C语言编程,没等学生知道到底C语言有什么实际的用途,马上其他的语言一起来过来了。即使是开始了专门的单片机课程,但是课程的内容与技术文档很相识,指令很多,但是完整的不多,所以学完了也不知道,到底为什么要学习编程。很多同学大一就开设了C语言的课,我也上过,但是那时候就是天天几乘几,几加几啊,求个阶乘啊,用C语言去解决小学数学问题,每周两次上机,对着书本不停的敲打,下课了也不知道自己到底掌握了什么,掌握了这个有什么用途。学完了有什么用?如果在面试的时候,老板问,你学过编程吗,你脑子里马上是什么“C语言,VC什么VB。很多,什么C语言是基础是面向工程的,什么VC是高级面向对象的”,但是老板又问,你能将你所学习的C语言应用到实际中不,比如设计一个定时报警器的C语言。这下傻了,学校里没有学过啊。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,模块化管理编程方便,移植性强,适合编写大程序。如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言。虽然很多人是从汇编语言开始接触单片机的,但是写小程序汇编语言还是简单的,如果要实现一些算法,那汇编语言就不简单了。虽说C语言编译以后代码量明显比汇编长,而且执行效率也没有汇编语言高,但是在以前单片机开发中芯片工艺的限制,及单片机主频的限制,很多单片机内部存储器小的可伶,主频也小得可伶。但是现在不一样了,芯片内部的存储器根不不在乎这点差别。主频也越来越高。 那汇编语言是不是不学了呢?不是的,一定要学习,有两方面首先入门单片机的时候要用汇编语言,它的语法简单。第二如果你要做单片机的程序的高级设计师,那汇编语言是非掌握不可的,很多像高级单片机ARM都是汇编语言作为引导代码的,还有就是很多新出品的单片机起先也是先有汇编语言编译器之后才有C语言编译器。所以,我觉得对于单片机学习汇编语言入门,C语言精通,汇编语言再精通。最后,对于单片机的学习,入门为先,入门了以后就要去关注市场,关注企业,企业需要什么样的人才,我想有了基础以后在面试之前了解下企业所需要的单片机类型,很快就上手了,毕竟学习是相同的。预祝还在徘徊或则之前接触过单片机的初学者提前入门。

关键字:单片机  学习步骤  心得 引用地址:单片机学习步骤及心得

上一篇:工程师分享的单片机学习步骤
下一篇:学习单片机的八大步骤

推荐阅读最新更新时间:2024-03-16 13:56

基于CH375的LPT-USB打印机驱动器的设计
1 引言   本课题来源于北京普析通用公司。 由于该公司现有光谱仪器的单机版(如1810和T6等)采用的是并行口打印技术,而随着USB打印机技术的逐渐普及,并行口打印机越来越少,有些用户原有的打印机只是USB接口而非并行口,因此现有仪器对打印机的支持不能适应用户需要。为了使该公司的并行口仪器直接和USB打印机相连,笔者设计了一种LPT-USB打印机驱动器,实现并口仪器与USB打印机的连接。   笔者利用单片机和USB总线接口器件实现LPT-USB打印机驱动器的设计。利用该设计将能够实现并行打印口数据在USB打印机上的直接打印,克服了有些并口仪器必须连接并口打印机才能打印的弊端,极大地方便了用户的使用。 2 CH375的特点及工
[单片机]
基于ATmega16单片机的干式变压器智能温度控制器
简介:先容一种由ATmega16单片机构成的干式变压器智能 控制器。该控制器可同时检测4路温度,误差小于±0.5℃,现场运行稳定;用户可通 过人机接口控制变压器冷却风机启、停,设定报警及跳闸阀值。    1工作原理 温控仪由温度监测、信号处理、输出控制三部分组成。系统框图如图1所示,它通过预埋在变压器三相绕组中的三只铂电阻传感器获取绕组温度值,经信号调理电路处理后直接送进控制器的A/D转换输进端。微控制器根据信号数据及设定的各种控制参数,按照嵌进的软件控制规律执行计算与处理,自动显示变压器绕组的温度值、输出相应的控制信号、控制风机的启停,并根据当前状态输出正常、报警和跳闸信号等,同时将各种数据通过RS-485传到上位机实现集中
[单片机]
基于ATmega16<font color='red'>单片机</font>的干式变压器智能温度控制器
STM32F1xx单片机使用固件库时串口打印乱码的解决办法
有时STM32F1系列单片机在配置完串口之后进行打印时,会出现打印乱码的问题,此时有可能是以下几种情况引起: 1. 串口工具所选择的波特率和单片机设置的波特率不一致,请认真排查波特率问题; 2. 串口的TX、RX管脚可能接触或焊接不好,请排查硬件问题; 3. 程序中使用的晶振频率值和外部实际使用的晶振值不一致,可按以下方法进行修改解决。 根据外部晶振,若使用的是25M,那么将 stm32f10x.h 做如下修改,(启动文件使用的是startup_stm32f10x_cl.s)就能解决问题。
[单片机]
先进汽车仪表板及车身控制设计要领
  今日的汽车已迈向智能化与环保化的设计时代,在智能方面透过数字电子技术来提升汽车的安全性与舒适性,并环保方面透过油电混合及电动车等设计来达到节能省碳的目标。因此,今日汽车的电子化程度已愈来愈深,从信息娱乐、车身、安全到动力传动系统,利用电子组件来进行感测和操控的情况已深入汽车的各个角落。   在汽车电子的各个系统当中,往往需要采用微控制器(MCU)做为运作控制的核心,而汽车对电子系统的倚重,也刺激车用微控制器市场的快速成长。车用微控器涵盖8位、16位、32位等低、中、高阶产品等级,各有其适合的应用系统,大致如下:   8位MCU:主要应用于车体的各个次系统,包括风扇控制、空调控制、雨刷、天窗、车窗升降、低阶仪表板、集线
[汽车电子]
先进汽车仪表板及车身控制设计要领
如何使用Arduino IDE进行STM32开发
Arduino IDE一直都是专业级和业余爱好者常用的开发工具,提供简单易用的方法,来帮助初学者快速构建电子原型。但是,在某些情况下,你可能需要更多的控制和定制能力,因为只有这样你才能实现更高级的应用程序。在这种情况下,使用Arduino IDE去玩转STM32是一个不错的选择。 STM32是ST公司的一款MCU芯片,具有强大的处理能力、低功耗,适用于广泛的应用场景。得益于其强大的性能,越来越多的开发者开始使用STM32来开发各种类型的电子设备。现在,我们将介绍如何使用Arduino IDE玩转STM32。 第一步:安装STM32支持 与Arduino UNO等基于AVR单片机的板子相比,STM32并不被官方Arduino I
[单片机]
单片机实验--跑马灯
1.汇编语言的源代码如下: ORG 0000H;这个汇编程序实现的是跑马灯实验 JMP START ORG 0200H DELAY:MOV R1,#50;延时程序,延时0.5秒 DELAY0: MOV R2,#99 DELAY1: MOV R3,#49 DJNZ R3,$ DJNZ R2,DELAY1 DJNZ R1,DELAY0 RET ZX:MOV A, #0FEH ;正序点亮流水灯 L1:MOV P0, A RL A CALL DELAY MOV P2,#0FFH;把P2口写1, SETB C;置C为1 MOV C, P2.1;如果P2.1按下,则C的值为0, JNC J2;C的
[单片机]
教你在单片机上做插值算法
第一步:学你所学,不懂也得懂,最枯燥的数学公式来了 在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法。许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。 如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。这样的多项式称为拉格朗日(插值)多项式。 数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数。拉格朗日插值法最早被英国数学家爱德华·华林于1779年发现,不久后(1783年)由莱昂哈德·欧拉再次发现。1795年,拉格朗日在其著作《
[单片机]
教你在<font color='red'>单片机</font>上做插值算法
一种基于MCU内部Flash的在线仿真器设计方法
    摘要: 提出了一种基于MCU内部Flash的仿真器设计方法,并完成了设计和仿真。     关键词: 微控制器 在线仿真 开发系统 Flash SRAM 由于市场对MCU功能的要求总是不断变化和升级,MCU应用的领域也不断扩展,因此往往需要对最初的设计进行修改。Flash MCU与以往OTP/MASK MCU相比,最大的优点就在于可进行高达上万次的擦写操作,顺应了MCU功能不断修改的需求;另一方面,Flash MCU市场价格也在不断下降。因此,许多OEM已将Flash MCU用于产品的批量生产。对于Flash MCU,基于内部Flash的在线仿真器更接近于程序真实的运行特性,程序调
[缓冲存储]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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