‘壹’ 学习51单片机,应该先学什么
应该先学习数字电路基础和模拟电路基础,然后用一款单片机入门,可以是STC系列的任何一款
‘贰’ 学习51单片机,应该先学什么
你好,
一是必须得有较好的C语言基础,如果是汇编语言非常熟练的话也行.
二是买一个单片机开发板,淘宝上有很多.
三是弄本关于51单片机应用的书,然后在网上看51单片机的介绍.
四是天天拿着电脑调试开发板赠送的程序,一定想清楚来龙去脉.
五是动手焊接一些外部电路吧.
o(∩_∩)o
希望回答对你有所帮助
‘叁’ 怎样学习51单片机
单片机学习如何入门LUOKUI很多搞电子类行业的朋友都梦想自己成为搞硬件的高手,然而搞硬件难就难在没有头绪,学习硬件技术找到一个合适的入手点是最重要的。比较流行的硬件技术有数字系统设计、模拟电路系统设计、射频电路系统设计以及以上三类的混合。模拟与射频的设计入门门槛比较高而且市场份额比较小,因此学习硬件技术从数字电路入手是最容易而且是最具基础性的,而数字电路的设计又以单片机的学习为基础,学习单片机不仅仅是学习一项技术,更重要的是建立起一种数字系统设计的概念,为以后学习其他高档数字器件以及模拟、射频电路打下基础。现在单片机的主流仍然是8位单片机(例如MCS51、AVR、PIC、NEC、瑞萨系列)以及少数16位单片机(例如MSP430、凌阳系列)。在学校的单片机教学中,几乎都是以MCS51为主。但实际应用中却不是这样,在国外的DIY爱好者中,PIC单片机是最流行的;在国内,AVR单片机非常火。所以我要先谈谈单片机学习的两种路子。其一是传统的稳扎稳打型:从MCS51的汇编语言设计以及硬件电路设计开始入手,汇编语言程序设计熟悉了之后(这大概需要半年至一年的时间),对MCS51的内部硬件构成也有了很深的理解,这时再学习51单片机C语言设计(因为实际的大工程不可能用汇编完成),51的资源很有可能不够用,就要换用其他型号的单片机(例如AVR、430)。这种路子的优点在于基础厚实,MCS51的汇编语言运用熟练之后,学习其他单片机会很容易上手。但从汇编向C语言的思维转变是一个比较痛苦的过程。其二是自顶向下型:选定一种实际工程中比较实用的单片机,直接学习怎样使用C语言来开发它,在较短的时间内掌握对其IO口、定时器、中断的操作,然后再慢慢了解芯片内部的硬件构成细节。这种路子的优点有很多:初入门时不需要花比较长的时间去学习单片机内部硬件构成结构之类很枯燥的东西,只要明白C语言的变量与单片机的IO口等模块的寄存器、一个函数与单片机的一项功能、顺序语句与单片机的顺序输出、条件语句与单片机的输入输出间条件关系、循环语句与单片机的反复型输出是怎样映射的就可以完成很多范例项目的开发,可以保持住学习的兴趣;可以直接学习实际工程中用得到的东西,不必完成从MCS51向其他单片机的转变。我推荐大多数的,尤其是已经参加工作的初学者朋友,走第二种路子,而且推荐大家采用AVR系列单片机中的ATmega16来入门。因为AVR相比51和其他单片机有诸多优点。首先是最小系统设计容易,只需要连接电源、焊接晶振就可以工作,尤其是对时钟精度要求不太高的话晶振都可以省去,因为AVR带有内部RC振荡器,相比之下51单片机需要外接上电复位电路(AVR内部自带这个电路而且性能比51的RC复位要好)、EA/VPP引脚要上拉、P0口要上拉等等,光建立最小系统就是很麻烦的一件事。其次很多概念初学者理解起来更容易,AVR的时钟源(晶振、内部RC等)不经过分频直接提供给CPU使用,例如AVR外接10MHz的晶振其CPU的时钟周期就是1/10MHz=0.1uS,而51的时钟源要12分频后提供给CPU,12MHz的晶振对应的CPU时钟频率是1MHz,这一点尤其是在计算定时器相关的设置时AVR非常方便。第三,相比例如PIC、430等其他单片机,AVR既具有简单的、可以自制的ISP下载线和Jtag仿真器,又有DIP直插的封装形式,而且网络上AVR有关的中文资料非常多,尤其是有Atmel公司官方翻译的中文技术文档,大大方便初学者的入门。.第四,AVR的C语言编程与教科书上学习的C语言语法是几乎一样的,不像51的C语言,一些bit、srf之类的变量定义在教科书中是找不到的,在更高层次的ARM、DSP的C语言中也是没有那样用的,仅仅是51独有的用法,尤其是bit变量的用法很“汇编化”,会给后续的嵌入式系统的程序设计形成不好的思维模式。而AVR的设计很入嵌入式系统设计的主流,有利于后续的发展。说了这么多“空洞”的东西,我们说点比较实在的吧,我也是初学者过来的,比较了解初学者的心理,恨不得你给他制定出第一步、第二步、第三步该干什么,那我就按照这个模式讲一下:Step1,准备万用板三块,查找Jtag、ISP的电路,焊接,用掉两块板;剩下的一块用来焊接AVR的最小系统。Step2,在ATmega16的一个8位IO口上焊接8个LED(注意要串接220欧姆限流电阻哦)。Step3,写一个流水灯的小程序。
‘肆’ 怎么学习51单片机如何入门
早了,起码要学了数电和模电以后,尤其是数电
‘伍’ 51单片机,难不难学啊
51算是单片机里好学的了,在中国用的很广泛,所以网上、书店里可寻到的资料也很多,这一点对入门和提高尤为重要!在购买书籍资料这方面建议多多考虑清华大学出版社、北航出版社和国防科技大学出版社的,这几个出版社的书讲得比较好,而且很少出现错误。网站嘛,建议多去ednchina逛逛。最好在QQ里多加一些单片机方面的群,平时与大家交流交流进步会很快的!
希望我的回答对你有所帮助!最后祝你顺利学会!
‘陆’ 怎样自学单片机
我单片机也是自学的,不过我不太会说话,简单说一下吧。
最重要的一个呢就是要有兴趣,如果自己是没有什么兴趣的,那就别学了。
有兴趣,但没基础并不是什么问题。
首先一个,数电的一些基本知识,逻辑,高低电平,触发器,简单的时序电路。这些都要会。
还有模电,(元增民的书很好)简单的就可以了,现在不是设计电路。上拉,下拉,二极管,三极管,放大,运放,AD,DA转换,了解一下这些,要知道这些是怎么一回事。
C语言,可以直接学一下标准C,推荐谭浩强的《c语言程序设计》,入门容易,也系统些。然后学C51,很容易了。也可以两样一起学,把标准C作为工具书来查,比较推荐这个。
C语言的重要性不用说,但汇编也是同样重要的。所以还要学一下汇编,可能刚开始看汇编很乱,不过可以先用C语言写,C熟悉了,再用汇编来写,把自己之前写的C程序写成汇编的。
还有常用常见的一些芯片器件要会用,比如说时钟芯片,测温芯片,锁存器,译码器,串行转并行,并行转串行等这些,这些在初学单片机时都会学到的,对以后也是很有用的。
其实,以上那些知识,数电,模电,C语言,汇编可以一起来,你用到哪些,就去学哪些,现学现在用,最重要的是多动手,多写程序,多思考,不懂的自己想想,想不明白就问别人。
板子的话我学的时候自己是学有买板子的,一个是用仿真软件,一个是去学校的实验室,不过我知道天祥的板子做得很好,相信你也会知道网上有郭天祥十天学会单片机的视频。当然啦,十天学会那是不可能的,不过他的板子确实很好,虽然贵了一点,但不一定说就一定要买他的板子。网上有一些是他的那板子的改进版,就是加进了其它的模块和功能,也可以考虑,因为我自己没买过,链接就给不了你了。你可以自己上去看一下,看评论好的买。
记住,不要自己闭门造车,那样是不可能学会的。一定要多动手,实践才是最重要的。而且要脚踏实地。等自己觉得有些上手了,我觉得你可以经常在网络知道留意这方面的问题,帮人家解决一些问题(不是写程序),帮助别人的同时其实你自己也是在进步的,别人遇到的问题说不定也是你以后会遇到的。然后自己做一些小东西出来,比如说做一个时钟啊,或是时钟加测温的。简单的防盗,或是做一个万用表,等等这些,都是很好用的。
‘柒’ 有关51单片机的学习
有了这些基础你学起来相当快了,先做一个最小系统,再一步步地在最小系统上加一些外扩设备,这样才能一步步地练会。别买人家现成的开发板,那样,你什么也学不会,除了编了几个没有用的程序。
书就不用买了,你去网络文库下吧,那里大部分经典的书都有!要先看讲解汇编的,再看看C的
‘捌’ 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招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了
是否可以解决您的问题?
‘玖’ 学习51单片机,如何起步
新手学习单片机,往往感觉到不好入门,无从下手。学习单片机过程,是一项理论与实践并重的过程,只看书不实践,或是只重视模仿,不重视理论的学习,是无法学习好单片机的,单片机的学习需要理论和动手,要学会抓住单片机的精髓,如定时器和中断,多看书、多上网查资料、多记录学习心得、看到别人遇到的问题,有能力帮助别人解决问题就多帮助,帮助的过程也是自己学习提高的过程。我相信每个人只要多加练习,假以时日,都可以成为一个精通单片机的能手!
一、新手学习单片机的步骤:
1、学习理论知识,了解单片机的基本原理、寄存器、中断、定时器等的基本概念;
2、最好有一个开发板,在开发板上从最简单的功能开始实现,比如做一个流水灯、蜂鸣器音乐盒等;
3、实现简单的功能后,开始尝试更复杂的程序,例如LCD显示、数字时钟、串口通信、中断控制等;
4、在上述功能均可以实现之后,可以组合实现,做一个多功能的单片机系统了;
5、如果对硬件熟悉,可以自己尝试做一个单片机开发板!
二、新手学习单片机的步骤:
1、理论是指导,要了解单片机的基本原理;
2、理论不是全部,需要动手去探索;
3、实际动手做出一个成品才是检验自己学习的理论是否正确的唯一标准
4、网上很多论坛,还有网络知道等,不会的先思考,自己找找原因。实在找不到的,多提问。
总之,新手学习单片机在持之以恒,不要一时兴起学习一下,遇到困难就退缩。
51单片机超声波DIY
‘拾’ 51单片机要学到什么程度才能找到工作啊
①51单片机仅仅作为2个月左右的单片机入门型号。
②51单片机作为嵌入式学习的起点,与后面一贯相同的是看芯片手册,看寄存器、通信协议等等。
③无论是51还是ARM(Cortex-M),重要的都不是玩转芯片本身,而是与一些板载外设联合起来实现项目需求,所以仅会玩芯片本身,进步是非常小的,找工作没任何优势。
④然后入门STM32,学习几个RTOS(uCOS、FreeRTOS),再尽量往物联网方向靠(学习RT-Thread、AliOS、LiteOS),现在找单片机工作,绝大多数都要求有蓝牙、Wi-Fi、Zigbee、NB-Iot、Lora等开发经验。
⑤单学51找到工作的概率 < 5%,即使真找到了,你的平台、待遇可想而知是非常糟糕的。
⑥若无意走嵌入式路线,更建议走互联网方向(前端、Java啥的),嵌入式行业门槛确实高,相比来说互联网方向简单粗暴。