如何学习单片机

作者&投稿:陈没石 (若有异议请与网页底部的电邮联系)
如何学好单片机?~

1、熟悉单片机的原理,结构;
2、学好数电,模电,为设计电路打好基础;
3、熟练使用C语言,多学习别人的程序;
4、对操作系统原理有一定的了解;
5、Protel至少要有点基础;
6、要实际动手调试电路的能力。


学习单片机的步骤

当前的单片机种类很多,但是 51 是最基础的,因此单片机的学习最好也是从 51 开始,不仅容易上手,而且相当实用。然而 51 单片机毕竟过于基础,后来的很多单片机在功能上都有很大的扩展,因此按照我们实验室多数人的路线接下来大多数人会学习 AVR 单片机, AVR 单片机在功能上较 51 有很大提升,集成了 A/D 、快速 PWM 等很多实用的功能,而且和很多大型的单片机在功能上有很多类似之处,因此如果以后还想掌握其他单片机 AVR 无疑是一个很好的跳板。

学习的过程

学习单片机最终要的是当然是练,我所说的学习跟课堂上的单片机学习不同,我以前也看过一些单片机教材,有些教材讲的是单片机的工作原理和内部结构,这些东西对于我们暂时并不需要,等以后开课的时候在学习好了。现在要学习的是暂时抛开内部结构原理不谈,如何能用单片机写一些简单的小程序,是从实用性的角度出发,网上有一种说法称之为先实践后理论的学习方法。

因此我的观点如下,单片机的硬件结构首先要有一个基本的了解,最起码要知道各引脚的功能、区别,能自己动手搭一个单片机的最小系统,然后就可以直接从程序入手,程序最好还是用 C 语言编程,从简单的跑马灯做起,逐渐深入,陆续可以做一些数码管、液晶、 DS1302 、 DS18B20 等电子元器件的应用,在深入就可以结合一些具体实例扩展一些中断、串口通讯等功能。还有一点要声明的是单片机里用到的 C 语言其实很有限,课堂上学习 C++ 的很大一部分内容在初期单片机编程中都用不到,因此没必要因为觉的自己的 C 语言基础不是很好而对单片机望而止步!

学习的工具

软件方面方面, 51 单片机用的是 KEIL 软件,这个软件在学校图书馆软件下载和其他网站上都有,具体用法自己查找相关资料, AVR 的软件就比较多了,我用的是 CVAVR ,另外还有 ICCAVR 等多款编译软件,这要看个人喜好了,建议有了一定的 51 基础再学。另外就是烧写软件,烧写软件的作用就是将编译器生成的 HEX 文件烧写至单片机里,这要配合下载线实用,如果有并口的话最好用并口下载线,软件最好用广州双龙的 SLISP 软件,如果是笔记本没有并口的话则要自己买一个下载器了,名称为 USBASP ,网上电子市场有卖 20 块钱左右,软件会随光盘自带。

硬件方面,首先是要有单片机,对于单片机有一点要注意, 51 单片机最好买 89S51 、 89S52 这两种型号,上面我所说的烧写程序是 ISP 方式,这两种单片机支持 ISP 下载,所以如果买其他型号的烧写程序可能会不太方便, AVR 单片机常用的就是 ATmega16L 其它型号的区别也不是很大,甚至有些兼容。至于单片机开发板,目前的价格都很贵,从一百到几百不等,不过像上次学校里广告的那个六十多块钱的最好还是免了,没什么作用。能买一块当然好,没有的话也不要紧,自己动手买个电路板搭一下也很方便,引出 ISP 接口,烧写程序十分容易,然后将 I/O 口引出扩展也很方便。

学习单片机的其它几个注意点:

1 .理论与实践并重
对一个初学单片机的人来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,也许用不了几天就会觉得枯燥乏味以致半途而废。所以学习与实践结合是一个好方法,边学习、边演练,循序渐进,这样用不了几次就能将所用到的指令理解、吃透、扎根于脑海,甚至 “ 根深蒂固 ” 。也就是说,当你学习完几条指令后 ( 一次数量不求多,只求懂 ) ,接下去就该做实验了,通过实验,使你感受到刚才的指令产生的控制效果,眼睛看得见 ( 灯光 ) 、耳朵听得到 ( 声音 ) ,更能深刻理解指令是怎样转化成信号去实现控制的,通过实验看到自己所学的成果不仅有一种成就感也能提升你对单片机的兴趣。说句实在话,单片机与其说是学出来的,还不如说是做实验练出来的,何况做实验本身也是一种学习过程。因此边学边练的学习方法,效果特别好。
2 .合理安排时间持之以恒
学习单片机不能 “ 三天打鱼、两天晒网 ” ,要有持之以恒的毅力与决 4 心。学习完几条指令后,就应及时做实验,融汇贯通,而不要等几天或几个星期之后再做实验,这样效果不好甚至前学后忘。另外要有打 “ 持久战 ” 的心理准备,不要兴趣来时学上几天,无兴趣时凉上几星期。学习单片机很重要的一点就是持之以恒。

3 .遇到问题耐心检查

单片机有软硬件两方面的内容,有时一个程序怎么调都不出效果,然而从理论分析却又是对的,这是就要仔细找原因了,学习单片机经常碰到很多问题,有时一两天都不能解决,这是就要有耐心,从底层找起,相信每找出一个错误都会有一个新的收获。切不可轻言放弃!!!
4 .对只短暂学过一遍的知识,充其量只比浮光掠影稍好。因此,较好的方法是过一段时间后 (1-2 个月 ) 再重新学一遍,学过的知识要经常运用,这样反复循环几次就能彻底弄懂消化,永不忘却。
5 .要进行适当投资购买实验器材及书籍资料
单片机技术含金量高,一旦学会后,给你带来的效益当然也高,无论是应聘求职还是自起炉灶开厂办公司,其前景都光明无限。因此在学习时要舍得适当投资购买必要的学习、实验器材。另外还要经常去科技图书店看看,购买一些适合自己学习、提高的书籍。一本好的书籍真的很重要,可以随时翻阅,随时补充不懂或遗忘的知识。



学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或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招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了

一、分析如下
1、启蒙阶段
学习电路基础和模电数电,做一些诸如电机正反转的电路,做功放、电源等小制作,了解个大概
2、学习微机原理
学习8086,这对了解计算机结构是不可或缺的,慢慢接触汇编编程 。
3、汇编语言学习单片机
学习51单片机,学习汇编语言,差不多学三个月后,掌握了基本语法和单片机寄存器功能,就做一些实物。
4、进阶
放弃仿真学习单片机的方式,转而学习实物。多查资料,比如说,74HC245,因为有前几步打下的基础,电路图一看就懂,剩下的就是焊接实物测试了。应该可以在很短的时间内,可以完成硬件测试。

二、拓展资料
关于单片机
1、单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
2、单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
3、单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等

首先有一本能供你入门的单片机书籍,对单片机的内部结构,各个功能,定义需有个大致的了解,心里有个概念。
其次需要一块学习板供你动手做练习之用,一般初学者从51系列的单片机开始学习,单片机是一门实践性比较强的技术,若你会做一些串口通信,流水灯之类的实验了,那么说明对单片机基本入门。
接着可以尝试着接触其他类型的单片机,在之前基础的铺垫下,应该学着自己编写代码,做一些小产品~~~~~~
循序渐进~~~~目前单片机应用领域相当广泛,学会单片机会让你受益匪浅~~~只要你喜欢单片机这一门技术,并潜心学习,一定会终身受用!
若有需要,上海灵训IT教育 单片机培训中心 随时欢迎你~~~

到图书馆或书店买先买一些比较容易入门的单片机方面的书。然后等有基础以后可以自己做东西,这样比较容易上手。

买个开发板,边看书边实验,程序最好从C入手,比较流行

网上看教程,很多


我是一个单片机爱好者,初中都没有毕业,更不懂C语言,单片机硬件精通,汇编...
到了32位单片机就几乎不可能用汇编做项目了,只好学C语言,没跟你吹的意思,一周上手,一个月开始做项目,不是谁聪明,因为有功底,学起来没什么困难。当你用了C,感觉真爽。代码效率已经不是很大问题了,必要时可以嵌入汇编。说了一大堆,从零(其实你不是零)开始学习C语言单片机,有什么好的起步...

学单片机必须学汇编语言吗,还是学好c语言就足够了
单片机要做工程的话还是用c好,用汇编太复杂。c要100行的在汇编里面要300-500行。。。我已经学了c语言(不是专门用来编单片机的)然后学的单片机汇编,下学期还要开单片机c语言,足见c还是更加适用于单片机。我们现在做的单片机课程设计很多人用汇编编不出来的用c就很容易。先学c,汇编大致了解一下就...

最近在学习单片机,请各位给推荐一下学习单片机比较好的书籍...谢谢啦...
但关键的问题在于初学者往往不知道从何入手和更有效地掌握单片机的基本原理及应用的基础知识。编辑推荐 《51单片机应用与实践丛书•51单片机应用从零开始》丰富的附录可以作为读者对单片机学习和应用中的参考内容。《51单片机应用与实践丛书•51单片机应用从零开始》尽可能降低理论学习的枯燥性,...

电子研究生的学习计划!!很迷茫啊!!
楼主,我个人很赞同你的想法!1、正如楼主所说的无论是ARM、51等都只是工具,熟练了即可,说实话个人认为工具没有必要花很长时间去搞的很精,够用即可,除非以后从事这方面的研发工作 2、由于楼主已经有工作经验了,所以可以不用担心毕业的时候简历上的项目经验过少的问题,可以把重心放在解决问题的思路...

单片机的疑惑
http:\/\/www.mcufan.com\/scom.htm http:\/\/www.51c51.com\/cyuyan.htm http:\/\/www.laogu.com\/downtop.aspx 上面去搜搜看单片机的学习资料,都有入门级的 另外书店里面入门级的书也很多,可以买一本(北航出版的比较好)1.入门时先了解单片机的构造啊原理啊 2.如果没有实验板自己搭建单片机的最小...

最近想做自己的单片机系统,应该买些什么东西?
这个注意不知道是谁先提出来的,用面包板做单片机实验,我是从《爱上单片机》作者杜洋书上看到的,而且也做了实验了,还真不错,适合初学者。针对这个你需要买这几样东西(假设你已经有电脑了):面包板一块,面包板接线一堆(几十根),单片机一片(推荐用STC的),晶振(11.0592MHZ)一只,磁片电容...

医院里的电脑信息科的工作是怎么样的,专业是电子信息工程,才毕业没啥经...
也叫做信息科,主要是维护日常的设备,电脑打印机之类的。没有什么高难度的要求,基本大的维护都是有外包商的,有问题及时联系他们会来解决问题。其他的没有什么难度的。

单片机编程用什么语言
摘要:单片机编程是学习单片机的一个重要部分,编程关系到单片机能否正常运行,一般情况下,单片机的程序是用C语言编写的,不过不是传统C语言,而是变种后的C51语言;此外,启动部分、一些要求时效性特别强的部分会用汇编语言编程。学习单片机编程的时候,先要模仿例题,然后试着自己写,熟练了再看别人的编程...

单片机 嵌入式 底层 从零开始学习 推荐
还有应该学习嵌入式系统,如linux或者wince下的编程,这些对以后做应用的编程很有帮助,当然,如果做手机的话,那可以学习MTK、塞班、Android等操作系统,Android是以后发展的趋势,现在很热门,Android也是基于linux系统封装的,所以建议先学习下linux。还有,应该学习下单片机或者ARM或者MIPS,很多人说我没有...

电气工程及其自动化自大学期间到底该学些什么呢?
1、单片机:如果测控专业需要吃饭,那可以毫不夸张地说这就是的饭碗所在。测控专业的核心也正在此,如果想找一份好工作,想幸福地生活,单片机不能不精通。当然,此处默认是指课程中广泛学习的MCS-51系列单片机。(配套课程:《单片机基础》)2、Keil C:学习单片机除了课本上的汇编语言以外,很明显,更...

沂南县17364473905: 单片机学习方法
刘义小儿: 郭天祥曾说过,学习单片机,建议以下步骤: 1 、看书大概了解一下单片机结构,大概了解就行.不用都看懂,又不让你出书. 2 、用学习板练习编写程序,学单片机主要就是练编程序,遇到不会的再问人或查书. 3 、自己网上找些小电路类的资料练习设计外围电路.焊好后自己调试,熟悉过程. 4 、自己完全设计具有个人风格的电路、产品 … 你已经是高手了. 只要你有信心,做事能坚持到底,有不成功绝不放弃的强烈意志,那学个单片机对你来说就是件非常容易的事.

沂南县17364473905: 如何学习单片机? -
刘义小儿: 很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲. 先说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料...

沂南县17364473905: 怎么去学习单片机? -
刘义小儿: 怎么去学习单片机 学习理论知识,了解单片机的基本原理、寄存器、中断、定时器等的基本概念.最好有一个开发板,在开发板上从最简单的功能开始实现,比如做一个流水灯、蜂鸣器音乐盒等.实现简单的功能后,开始尝试更复杂的程序,例如LCD显示、数字时钟、串口通信、中断控制等.在上述功能均可以实现之后,可以组合实现,做一个多功能的单片机系统了.如果对硬件熟悉,可以自己尝试做一个单片机开发板.

沂南县17364473905: 怎么学好单片机
刘义小儿: 1. 学单片机建议从51单片机学起,先学汇编,再学C51语言. 2. 学第二种单片机,你可以直接学C语言,而没必要非得慢慢地学习汇编来掌握,因为你已经掌握了51单片机的汇编,没必要非得再学其它单片机的汇编,除非你时间很充足,或者是你想把基础打得更扎实. 3. VB好好学,建议把串口通信上位机程序多看看,社会上这些东西用得很多. 4. 当你在用单片机做数据采集时,你一定不要忘了数据处理,比如加数字滤波器,无非就是用单片机程序加上相应的判断,忽略采集某一部分不可取的值,但是建议先去遇见问题再去针对问题解决问题,我所讲的数字滤波器可能不是你所想的那个概念. 5. 对数学不会要求太高的,不过那些课学好了总归是有好处的.

沂南县17364473905: 怎样学好单片机教程?我是单片机爱好者,很想学好单片机,但是不知道
刘义小儿: 单片机已经无处不在,与我们生活更加相关并渗透入生活的方方面面.单片机的特点是小,也就是其集成的特性,其内部的结构是普通的计算机系统的简化.在增加一些外...

沂南县17364473905: 怎样学习单片机才是效率最高的?不同的人学习单片机会有不同的方法,
刘义小儿: 1、主要是多练习,多找案例练习,练习不要复制代码,自己手输,这样容易清楚的明白代码的问题. 2、要基本的模拟电路和数字电路,毕竟单片机离不开硬件支持. 3、如果用C语言写,对C语言的语法要有基础学起来会轻松些. 4、在网上买个开发板做练习,配上相应型号的单片机讲解书籍. 5、根据学的知识最后做的检测,设计或找电路图,自己画板,做个自己实用的小电子产品.

沂南县17364473905: 怎样才能学好单片机 -
刘义小儿: 你好,我学习单片机已经两年多了,尝试回答一下你的问题: 第一,在大学里学习,首先要注意的一点是切忌浮躁.不要看人家好像什么都很强就希望自已能一夜之间熬成高手,合抱之木,生于寸苗.如果你是大二的话,由于有了一定的计算机...

沂南县17364473905: 如何学单片机 -
刘义小儿: 就我个人的体会怎么样才能更快的学会单片机这门课.单片机这门课是一项非常重视动手实践的科目, 不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器, 而说明白点,我们使用单片机就...

沂南县17364473905: 怎么学习单片机?
刘义小儿: 建议编程方法学习单片机的C语言,首先你得自己买一块单片机板,淘宝网上都有得卖的,我用的教材是郭天祥的单片机,有配套的书籍教材.然后就是熟悉板的原理图和各个器件的原理了.原理图在买单片机的时候附带的光盘里面都会有的,各个器件的原理盘里应该也提到了一点,如果不懂,可以上网找一些相关资料看看,如“21IC电子网”,上面有很多的.然后就得编程了,先把程序和单片机电路之间的联系给看懂,最后就可以按照自己的意愿买点器件自己连接电路了,其实主要就是多写程序,多看器件的工作方式.一定要弄懂.如果有条件,可以自己尝试做个单片机最小系统啊,也不需要太多东西,流水灯,7段LED显示,下载与上电口就足够了,其他的就可以再做模块来连接就是了.

沂南县17364473905: 怎样学习单片机? -
刘义小儿: 单片机是一门非常注重动手的学科.这不同于我们在大学期间学习的英语、数学.所以首先你要有动手的精神,并且要付诸于实践.勤动手,多动脑.想明白再动手,然后在动手中不断完善自已的想法. 基于这样的想法,所以建议在学习时不妨...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网