‘壹’ 单片机怎么学
一定要多动手,多编程,多看一些例子,不要死看书,从实验中体会书中的意思。
可以看我的博客,里有一些关于单片机的文章
http://blog.sina.com.cn/ddlovetechnology
‘贰’ 学习单片机怎么入门
循序渐近,一点点吃透学习,方法如下:
1、选择一本好教材,建议《51单片机轻松入门
基于STC15W4K系列》这本,内容新,讲解透彻,有配套视频可辅助参考,不管是初学入门还是已经懂得单片机皮毛,满足所有需求。
2、有了书就要理解意思,所以要吃透教材,看不懂也不要紧,多看,多问,在问题中寻找学习方向。
3、选择配套产品,不要在乎板子的资源多少,推荐吴鉴鹰的单片机,开发板性价比高;软件建议用Keilc51,硬件要有pc机和开发板,开发板要求有流水灯、数码管、独立按键、矩阵键盘、ad转换、液晶屏、蜂鸣器,这就差不多了。其它不明白的就网上找视频找教程,总会有解答的东西。
4、操练起来,从最基本的流水灯开始,试着先控制一个发光管,慢慢的变换花样,做出自己的个性来。
5、带着问题解决问题,一开始先不要找人请教,自己试,这样记忆最深刻,也最有效果,但也不要钻牛角尖,实在不行就问,要不刚建立起来的那点想法就打击没有了。
6、当技术水平,学习方法,心理素质都达到一定的境界了,就算入门了,接下来就要看个人的努力和悟性怎样了,当然在学习单片机的过程中必须遵循一定的原则,坚守住一定的底线,这样才能用最少的经历,在最短的时间内获得大的进步。
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
‘叁’ 怎样自学单片机
我单片机也是自学的,不过我不太会说话,简单说一下吧。
最重要的一个呢就是要有兴趣,如果自己是没有什么兴趣的,那就别学了。
有兴趣,但没基础并不是什么问题。
首先一个,数电的一些基本知识,逻辑,高低电平,触发器,简单的时序电路。这些都要会。
还有模电,(元增民的书很好)简单的就可以了,现在不是设计电路。上拉,下拉,二极管,三极管,放大,运放,AD,DA转换,了解一下这些,要知道这些是怎么一回事。
C语言,可以直接学一下标准C,推荐谭浩强的《c语言程序设计》,入门容易,也系统些。然后学C51,很容易了。也可以两样一起学,把标准C作为工具书来查,比较推荐这个。
C语言的重要性不用说,但汇编也是同样重要的。所以还要学一下汇编,可能刚开始看汇编很乱,不过可以先用C语言写,C熟悉了,再用汇编来写,把自己之前写的C程序写成汇编的。
还有常用常见的一些芯片器件要会用,比如说时钟芯片,测温芯片,锁存器,译码器,串行转并行,并行转串行等这些,这些在初学单片机时都会学到的,对以后也是很有用的。
其实,以上那些知识,数电,模电,C语言,汇编可以一起来,你用到哪些,就去学哪些,现学现在用,最重要的是多动手,多写程序,多思考,不懂的自己想想,想不明白就问别人。
板子的话我学的时候自己是学有买板子的,一个是用仿真软件,一个是去学校的实验室,不过我知道天祥的板子做得很好,相信你也会知道网上有郭天祥十天学会单片机的视频。当然啦,十天学会那是不可能的,不过他的板子确实很好,虽然贵了一点,但不一定说就一定要买他的板子。网上有一些是他的那板子的改进版,就是加进了其它的模块和功能,也可以考虑,因为我自己没买过,链接就给不了你了。你可以自己上去看一下,看评论好的买。
记住,不要自己闭门造车,那样是不可能学会的。一定要多动手,实践才是最重要的。而且要脚踏实地。等自己觉得有些上手了,我觉得你可以经常在网络知道留意这方面的问题,帮人家解决一些问题(不是写程序),帮助别人的同时其实你自己也是在进步的,别人遇到的问题说不定也是你以后会遇到的。然后自己做一些小东西出来,比如说做一个时钟啊,或是时钟加测温的。简单的防盗,或是做一个万用表,等等这些,都是很好用的。
‘肆’ 怎样学好单片机
我自己的经验是多动手制作,多多尝试。不必抱着书本死肯。下面是前辈给的学习步骤与重点,希望对你有帮助
学习单片机的八大步骤
学习使用单片机就是理解单片机硬件结构,在汇编或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招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。顺便说一句,MSP430单片机的技术支持是非常好的,负责任的工程师大虾会在关键时候,挺身而出,使你化险为夷。
‘伍’ 如何自学单片机
当前的单片机种类很多,但是 51 是最基础的,因此单片机的学习最好也是从 51 开始,不仅容易上手,而且相当实用。新手学习时注意以下几点:
1、学习理论知识,书的话新手建议看看__王云51单片机教程,结合书带的视频一起看好理解;王云的单片机视频网上到处都有。
2、最好有一个开发板,在开发板上从最简单的功能开始实现,比如做一个流水灯、蜂鸣器音乐盒等;
3、实现简单的功能后,开始尝试更复杂的程序,例如LCD显示、数字时钟、串口通信、中断控制等;
4、在上述功能均可以实现之后,可以组合实现,做一个多功能的单片机系统了;
5、如果对硬件熟悉,可以自己尝试做一个单片机开发板!
‘陆’ 怎么学习单片机
一、启蒙阶段
学习电路基础和模电数电,做一些诸如电机正反转的电路,做功放、电源等小制作,了解个大概。
二、学习微机原理
学习8086,这对了解计算机结构是不可或缺的,慢慢接触汇编编程 。
三、汇编语言学习单片机
学习51单片机,学习汇编语言,差不多学三个月后,掌握了基本语法和单片机寄存器功能,就做一些实物。
四、进阶
放弃仿真学习单片机的方式,转而学习实物。多查资料,比如说,74HC245,因为有前几步打下的基础,电路图一看就懂,剩下的就是焊接实物测试了。应该可以在很短的时间内,可以完成硬件测试。
拓展资料
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等 。
‘柒’ 单片机从零开始怎么学
第一阶段:是先浏览教科书里的硬件部分,大至了解单片机的硬件结构。如ROM、RAM、地址、I/O口等,以及看一些厂家的MCU资料(Data Sheet),来加强MCU所提供各项资源的印象。呵呵,还是得先看书。看不懂的就问老师,问知道的人。可以理解,我以前在学校也是对单片机一点儿也不理解,其实简单点的说单片机就是一块集成芯片,但是不同的地方就是可以通过编程来改变其引脚的电平高低。大二学了数电没有?学过数点你就会理解高低电平的含义。另外,大一的时候学过计算机基础了吧。你可以用计算机的原理来理解单片机。比如说 ROM 其实就像计算机的硬盘一样,是用来装东西的,装你运行的程序。
第二阶段:就是了解二进位数字、十六进位数和软件方面的内容。尽管有很多高级语言可用于单片机的编程,但我觉得初学还是以汇编语言为好,更有利于和硬件结合,掌握硬件结构。知道汇编语言、机器语言、指令、 程序等概念后,从MOV指令开始,学习汇编语言和编程,在此如51的MCU汇编语言系统有11条指令,简单又好理解它们怎样和硬件联系,更有助于一般学习单片机的指令整合与运用.因此其方法可先了 解几条基本的MOV指令和它的机器语言,大致建立起单片机的硬件和软件概念,来知道单片机的硬件是由指令控制指挥的。
第三阶段按照编程环境的使用手册,熟悉使用编程环境。现在的编程环境一般都和电脑相连,只要具备基本电脑知识的人都可很快掌握操作步骤。
第四阶段是依靠实验板,学习掌握单片机的汇编语言指令系统和简单编程。同时和前面所学硬件知识结合组装,起到主学软件,巩固硬件的双重作用。
开始 时可用别人编的简单程式在实验板上进行验证、分析,主要是熟悉该学习方法,在应用方面主要针对单片机I/O各项接口的使用,如A/D,D/A,PWM输出的应用,LCD与VFD的控制,以及如何规范各项串行输出入口的通讯协定等,对其所控制的各项元器件须先分析驱动能力,如电流电压问题等。
汇编语言熟悉后,建议尽快学习C语言的编程,毕竟C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化 程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件 开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
另外,我觉得一开始很多的概念可能你都不怎么理解的,光看书也难理解,还得多问人,还有找一样好的仿真软件,一定要会用。在学指令的时候一条一条的验证,那样才会理解。
就比如一个非常简单的 REG 0000H
AJMP 30H
MOV 20H #05H
END
看看仿真软件的寄存器,内部数据存储器里面的数据有什么改变。当你看到20H单元上的值变成了5,你就知道 MOV 20H #05H 的含义。但是光看书,可能就理解不出来。
‘捌’ 单片机要怎么学
正如你所说实践最重要,实践就应有相应的硬件条件,可以先买一个便宜的单片机开发板,功能较齐全的可能要几百元,便宜一点的只要几十元,可以到淘宝网上去买,很便宜,100~200元的功能就很多了而且附送光盘中带有大量的例程和学习资料,功能较简单一点的只有几十元。可以在开发板上运行别人已经写好的程序,然后再学习分析一下这些程序,在别人的程序基础上作一些修改在开发板上运行,以后再逐渐过渡到独立写一些程序。
使用汇编的麻烦在于它的可读性和可维护性,特别当程序没有很好的标注的时候,代码的可重用性也比较低,如果使用C 的话可以很好的解决这些问题,用C 编写的程序因为C 语言很好的结构性和模块化,更容易阅读和维护,而且由于
模块化,用C 语言编写的程序有很好的可移植性,功能化的代码能够很方便的从一个工程移植到另一个工程从而减少了开发时间用C 编写程序比汇编更符合人们的思考习惯,开发者可以更专心的考虑算法而不是考虑一些细节问题,这样就减少了开发和调试的时间,使用像C 这样的语言程序员不必十分熟系处理器的运算过程这意味着对新的处理器也能很快上手不必知道处理器的具体内部结构,使得用C 编写的程序比汇编程序有更好的可移植性很多处理器支持C 编译器。所有这些并不说明汇编语言就没了立足之地,很多系统特别是实时时钟系统都是用C 和汇编语言联合编程,对时钟要求很严格时使用汇编语言成了唯一的方法,除此之外,建议硬件接口的操作都应该用C 来编程。C 的特点就是可以使你尽量少地对硬件进行操作,是一种功能性和结构性很强的语言。
‘玖’ 如何学习单片机
很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。
先说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么样才能更快的学会单片机这门课。单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。
有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。
总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。
步骤:1.找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。(三天)
2.找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。(我当初就买了中国开发板网一个单片机开发板,二十天就搞定了,你可以去试试。网址如下:http://www.kaifaban.com/html/2006111423012559.html)
3.自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。 (十天)
4.自己完全设计具有个人风格的电路,产品,。。。你已经是高手了。 。。。。
看到了吗?下功夫一个多月你就能成为高手,我就讲这么多了,学不学得会,下不下得了功夫就看你的了