怎样学习51单片机?
开发板的话就选 郭天祥的
淘宝上很多的
也不贵
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.别小家子气,买本书几十块都舍不得,
你还学个P。为了省钱看电子书,浪费的
时间绝对 超过书的价值。当然如果查资
料,只能看PDF。
3.学习新的开发软件时,一定要看帮助手
册。买的书不够全面。刚接触一个软件,
什么都不 懂,就盲目的问东问西,让人
看起来很幼稚。 4.不要蜻蜓点水,得过且
过,细微之处往往体现实力。 5.把时髦的
先要有点数电基础
学习51单片机要做那些准备工作?
第一阶段:1、学习C程序设计,数模电,单片机原理与技术;2、学习Keil C51编辑、编译环境;3、学习利用proteus等仿真软件进行电路、单片机程序仿真,可从网上下载仿真实例;(对学习51单片机有事半功倍的好处)第二阶段:1、购买51单片机开发板,照着开发板给的例程做实验;2、进一步学习各种元器件、各种...
51单片机的 怎么学 最快
学习单片机的步骤 当前的单片机种类很多,但是 51 是最基础的,因此单片机的学习最好也是从 51 开始,不仅容易上手,而且相当实用。然而 51 单片机毕竟过于基础,后来的很多单片机在功能上都有很大的扩展,因此按照我们实验室多数人的路线接下来大多数人会学习 AVR 单片机, AVR 单片机在功能上较 51 有很大提升,集成了 A...
单片机的学习方法
经过以上三个步骤的学习之后,对于51单片机的开发基本上就算入门了。而对于其他类型的单片机,如飞思卡尔单片机,LPC2148 ARM7单片机,PIC16F887等,虽然每个系列的功能不一样,但是最基本的编程思想还是一样的,不同的可能就是编译器,程序下载的软件等差别,所以有了51单片机的开发基础之后,学习其他...
学习51单片机,应该先学什么?
你好,一是必须得有较好的C语言基础,如果是汇编语言非常熟练的话也行.二是买一个单片机开发板,淘宝上有很多.三是弄本关于51单片机应用的书,然后在网上看51单片机的介绍.四是天天拿着电脑调试开发板赠送的程序,一定想清楚来龙去脉.五是动手焊接一些外部电路吧.o(∩_∩)o 希望回答对你有所帮助 ...
针对51单片机的学习,大家有什么好的方法?
第三,要有C语言基础,把C语言学一下,只需要学一下前面的几种循环语句和数组,指针了解一下就可以了,其它的等用的时候再学效果会好一些 第四,在网上也要多找一些资料,常见的有,51单片机开发100例,还有郭老师的那些视频 最后就是要多下功夫,多写代码,多调试,等你把开发板上的资源学得差不...
如何才能快速的学习ARM单片机。我有51的基础
或是基于嵌入式网络数据库的开发等等。二、嵌入式系统的分层与专业的分类。嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础...
51单片机应该掌握哪些?
1.基本要掌握哪些型号的单片机首先说明一点,现在的像ATMEL,SST,STC,PHILIPS等等大多数单片机都是51内核,所以说你学会一样就行了,要说具体型号像AT89S52,STC89C51等等都可以,它是的区别只是内部资源不一样,也就是说功能多少的问题,但指令完全兼容.2.要会哪些编程语言?老大,你学哪个系列的单片机,那就会相应的汇编就...
我是个初学者学习51单片机要从那里开始,请高手一点!。
先要对51有一个系统的了解,结构,管脚定义,指令集等。再买一个51 单片机开发板,通过例程学习应该很快就掌握了。不明白的话可以交流。
51单片机包括哪几个部分?
51单片机包含的主要功能部件包括:CPU、RAM、ROM、I\/O口、T\/C、中断源的中断控制系统和全双工UART(通用异步接收发送器)的串行I\/O口。其中:CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:...
想学好51单片机,是不是要先学习汇编语言?
就这些问题我来给你一个合理的解答,如有不对望请见谅!首先,学好单片机不是说学好一门语言(汇编语言)就行的。汇编语言是我们在掌握和了解了单片机的工作原理后,对单片机进行软件开发的工具。想学好51单片机,你必须对单片机的结构和工作原理了如指掌,然后是对特殊功能寄存器的编程(即用汇编语言或C...
俞供风痛: 要想学好单片机,仅仅靠老师讲,上课听的,你是学不好的,最多也是学个基本,达不到精通,要想学精通的话,必须要实践,要用单片机做项目,等做完一两个项目后,你才能更深入的了解单片机,单片机是一门很深的学问,要是能学精通以后就靠它吃饭就已经足够了.
易县18867307230: 51单片机学习 - ?
俞供风痛: 1. 学单片机建议从51单片机学起,先学汇编,再学C51语言. 2. 学第二种单片机,你可以直接学C语言,而没必要非得慢慢地学习汇编来掌握,因为你已经掌握了51单片机的汇编,没必要非得再学其它单片机的汇编,除非你时间很充足,或者是你想把基础打得更扎实. 3. VB好好学,建议把串口通信上位机程序多看看,社会上这些东西用得很多. 4. 当你在用单片机做数据采集时,你一定不要忘了数据处理,比如加数字滤波器,无非就是用单片机程序加上相应的判断,忽略采集某一部分不可取的值,但是建议先去遇见问题再去针对问题解决问题,我所讲的数字滤波器可能不是你所想的那个概念. 5. 对数学不会要求太高的,不过那些课学好了总归是有好处的.
易县18867307230: 如何学习51单片机 - ?
俞供风痛: 就基本上掌握51了推荐一本书《MCS-51/,汇编也有了一定基础,再看《8051系列单片机C程序设计完全手册》学习C51编程,看懂了;96系列单片机原理及应用》先看这本书,看懂了对51单片机的硬件基本就熟悉了
易县18867307230: 学习51单片机,如何起步? - ?
俞供风痛: 新手学习单片机,往往感觉到不好入门,无从下手.学习单片机过程,是一项理论与实践并重的过程,只看书不实践,或是只重视模仿,不重视理论的学习,是无法学习好单片机的,单片机的学习需要理论和动手,要学会抓住单片机的精髓,如...
易县18867307230: 51单片机如何入门? - ?
俞供风痛: 入门快不快要看你有没有一定的基础,比如电子电路知识,0基础的话确实是有点难.零基础的话建议:1,学习电子元器件基础2,学习模拟电子电路基础3,学习数字电路基础4,熟悉51单片机硬件结构5,学习编程语言 上面的学完了就入门了 ,我不建议买51单片机开发实验板来学习,开始学就是要增加自己的动手能力,动手才了解电路,排除故障,得到经验,制作一个51单片机最小系统是很简单的,再加个8位流水灯,就可以学了,然后再加按键,和流水灯一起学,这样硬件制作也学会,编程也学会,循序渐进才有进步,不要想着一步登天.有空和我交流交流,我也在学51单片机.
易县18867307230: 怎样学习51系列单片机啊?应该从哪点开始入手? - ?
俞供风痛: 买一本书,买一个51学习板,学习板子上的器件,自己写程序,一般是从点亮LED灯开始的,就是I/O口操作,然后是定时器,中断和串口通讯
易县18867307230: 如何自学51单片机 - ?
俞供风痛: 自学的话重在于实践,自己开始搭建一个单片机的最小系统,然后找本单片机的编程的教程,反复编程调试,从最简单的程序开始,逐渐加大难度. 1. 开始搭建最小系统,弄懂电路原理,软件可以从最简单的流水灯程序开始; 2. 然后进阶的话,依据教程搭建外围的一些电路,自己编写程序,反复调试; 3. 开始自己做一些系统了,从各个模块搭建到系统联调,多做一些系统就成高手了; 4. 如果条件不允许,自己在proteus上面依据教程仿真,能学习指令和编程规则,但是很实际还是有点差别. 5. 切记死报个课本学习,这样根本没有一点进步! 如果觉得满意就采纳吧!
易县18867307230: 51单片机技术如何学习我刚接触这方面的知道,请问如何快速入门 ?
俞供风痛: 51的话,你可以用电脑软件仿真,或者直接看书.关于51的书很多的.本身最好要有有电路和C语言的知识,或者汇编的知识. 最主要的就是看书.然后联系.学会一样单片机,其实其他的单片机都是差不多的,你可以也可以买个板子练下.
易县18867307230: 如何自学单片机 - ?
俞供风痛: 当前的单片机种类很多,但是 51 是最基础的,因此单片机的学习最好也是从 51 开始,不仅容易上手,而且相当实用.新手学习时注意以下几点:1、学习理论知识,书的话新手建议看看__王云51单片机教程,结合书带的视频一起看好理解;王云的单片机视频网上到处都有.2、最好有一个开发板,在开发板上从最简单的功能开始实现,比如做一个流水灯、蜂鸣器音乐盒等; 3、实现简单的功能后,开始尝试更复杂的程序,例如LCD显示、数字时钟、串口通信、中断控制等;4、在上述功能均可以实现之后,可以组合实现,做一个多功能的单片机系统了;5、如果对硬件熟悉,可以自己尝试做一个单片机开发板!
易县18867307230: 单片机学习如何入门? - ?
俞供风痛: 想学好单片机其实并不困难,单片机是一门实践性非常强的的学科,学习时要理论与实践并重量,现在网上学习单片机的资料比较多,你可到有关单片机的论坛上找找,再次就是有准备必要的学习单片机的一些基本的装备,电脑你肯定有,哪就...