单片机入门学习一对一学习攻略!看完马上独立开发程序
大家好,我是华维单片编程的导师,今天给大家具体分享下关于51单片机的学习实践过程
以华维单片机学员入门教学为例,我们采用的基于STC 51单片机的实战项目教学。
下面我们来说下,初学者学单片机,从0到1的过程,手把手教你学单片机,从学员反馈来看,通过我们的教学,百分之九十九的学员一般会自己开发程序,从入门阶段,每个学员的情况不同,我这边大致讲解下,有兴趣的同学可以尝试下下。
华维单片机编程入门阶段,大致分为五个步骤
第一步:首先你得买一个开发板,在某宝买一个大致在一百左右的!假如你第一次学习,完全没有接触过,就买一个外设简单,价格一般的就好,你买复杂的,能用到资料少之又少
刚开始时按照例子程序自己实践一遍,熟悉单片机软件、下载器、开发板的使用,熟悉到一定程度之后自己更改软件代码实现自己想要的功能。
第二步:搭建单片机的基础开发环境,开发板到货后,立马安装Keil 软件,首先新建工程,完成控制LED 灯的程序,烧录程序,展示控制LED的效果。 简单的掌握单片机开发的整个流程。
这个过程完全可以零基础小白就可以上手,单片机初体验的同学也是可以做到的!
可以直接找我们华维单片机编程,指令搜索华维单片机编程找我们拿资源
第三步:学习单片机C语言。
C语言课程的内容比较多,也不难,对零基础的同学,融入算法和编程比较麻烦
如果真的要学习精通,学习指针,学习文件操作,对于0基础来说,可以很负责的告诉你,难于上青天!但是关于单片机开发基础你只要会如下就行
5条指令语句switch语句,if else语句,while语句,for语句,=赋值语句。
7个运算符+,-,*,/,|,&,!。
4个逻辑关系符||,&&,!=,==.
3个数据类型unsigned char, unsigned int, unsigned long。
3个进制相互转化,二进制,十六进制,十进制。
1个void函数。
1个一维数组code(或const) unsigned char array[]。
等你把这些基础知识学完以后,几乎可以完成任何单片机程序的编写。根本就不要学去C语言的高级用法,即使你用C语言的最基础的语句能够完成程序的编写,底层运行的机制是学习重中之重!
C语言是单片机开发必学的工具,具体入门教程可以跟华维单片机编程拿,这个教程是针对单片机开发定制的,可以无缝对接后续的单片机开发。
第四步:学习单片机的外设接口:
掌握GPIO输入输出、外部中断、串口、定时器等基本用法和驱动,能实现一些基本功能,大家按照下面的说明实现功能即可。
GPIO输入: 按键检测实验
GPIO输出: LED闪烁控制
外部中断: 外部中断检测按键
串口通讯: 和电脑通讯
定时器:完成精准的间隔1秒闪烁LED灯
第五步:项目实战
项目实战是学习的最重要的一个环节。能不能扎根单片机开发行业,就看你的实战项目经验
学习单片机的最终目的是做产品开发,软件和硬件相结合形成完整的控制系统,通过项目学习,能更好地开发验证所学知识,为以后独立开发产品打下基础。
华维单片机编程也给学员们提供了两套完整的实战项目,包括产品需求,硬件设计,软件开发,知识点也比较多(截图为一部分)
因为这两个实战项目是实打实的产品,算是比较接近企业开发需求的项目,帮助学员熟悉企业日常产品开发,简单来说,方便日后学员找工作!
最后总结,学习最初阶段都是模仿,需要不断的模仿学习,仔细品味其精髓,成为高手的过程,就是不断看,不断改,然后再自己重写的过程
学习单片机也是一样的,我们学完单片机的基础之后,就开始模仿别人做2-3个实战项目
独立完成简单项目,比如说智能小车,流水灯,作为初学者完全可以做到,完成后找个人带你学习资深项目 ,最后可以独立做产品开发了,扎根在这个行业!
学习单片机,只要大家用心学习实战项目,大家肯定可以学会单片机,对于想学习单 片机的伙伴们,需要有一个正确的学习路径规划,尽量少走弯路。
如果方法正确,基础打好以后,你会感觉到单片机不再难学了,而且越学越起劲。当单片机乖乖的依照你的逻辑思维和算法去执行指令,实现预期控制效果的时候,成就感会让你信心十足、夜以继日、废寝忘食的投入到单片机的世界里
想要一起学习单片机的朋友,评论”我要入门“,有惊喜,加入我们,就可以与导师一对一互动,快速成长
单片机是在实践中掌握的
许多的单片机学习者,他们总不得要领,从一开始学习时的热情高涨,到最后的沮丧放弃,使得大家对单片机产生了既爱又怕的感觉,在工作中和在校的同学的交流中,听到的最多的是“单片机太难了”。其实不是单片机难学,而是不知道怎么入门。请大家记住一句话“单片机不是学出来的,而是玩出来的”。
学习单片机看书不够,实践也要从实际出发,现在的技术太模块了,什么都可以模块,模块的到最后,技术人员都成了只会用了,祖先的留下的知识,基础的知识该知道还是一定要知道的啊。毕竟学习单片机的最终目的是开发,是通过创造智能控制的实物,体现自己的价值。
关于实践有两种方法可以选择一种方法:购买一块51单片机的实验板,不要求功能太的,对于初学者来功能非常多的那种板子,上面有很多东西你这辈子都用不着,更有实验板为了增加功能,降低成本,实验板上到处用的是贴片元件,双面布线,越复杂就越有水平,好像他们在设计的时候就想着,学习单片机只要根据我的提示下载程序就可以了,更有甚者将下载器和集成了实验板上。
很多初学者学完单片机还认为,原来单片机不是一块芯片,是老教材上经常提到的使用已经不到的单板机。我觉得初学单片机有这几个模块就够了,剩下的得自己去开发。流水灯、数码管、键盘、蜂鸣器、串口通讯、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语言精通,汇编语言再精通。最后,对于单片机的学习,入门为先,入门了以后就要去关注市场,关注企业,企业需要什么样的人才,我想有了基础以后在面试之前了解下企业所需要的单片机类型,很快就上手了,毕竟学习是相同的。预祝还在徘徊或则之前接触过单片机的初学者提前入门。
相关问答
单片机 原理及应用怎么学?学习单片机原理及应用可以从以下几个方面入手:首先,了解单片机的基本原理,包括内部结构、指令集、寄存器等。其次,学习单片机的编程语言,如C语言或汇编语...
求一篇 单片机 实训总结?[回答]鸡我知道也来新视野咯林肯在树林里啃单片机最小系统很简单啊,包括复位电路(可以使上电复位,也可以是按键和上电均有效的复位电路)、晶振...
“ 单片机 技术与应用”课程标准设计[回答]1原有教学大纲与新课标的差异原来使用的“单片机技术与应用”课程的教学大纲对知识点分解层层深入,便于学生由浅入深地学习相关知识。但是由于...
单片机 期末如何考试?在单片机期末考试中,通常会涉及到单片机的基本原理、编程语言、电路设计和实际应用等方面的知识。考试形式可能包括选择题、填空题、编程题和设计题等。考试内...
python可以 单片机 编程吗,怎么样?包括数十个简单入门案例,如LED控制、wifi控制、智能小车、PM2.5检测仪等。其中书中教程实例所搭配的实验开发板即为TPYBoard开发板。所以有了先进的软件、硬件...
如何快速学会stc15系列 单片机 ?我学单片机也有几年了,今天我谈谈如何高效地学习单片机。单片机是一门实用的技术,既然是一门技术就应该按其固有的规律去学习,不可急于求成。第一步就是要多实...
对 单片机 编程要用什么软件? 单片机 编程如何快速入门?你好,我就是做单片机嵌入式软件开发的,对于第一个问题,单片机开发一般都是用C语言,单片机的开发平台即编译器通用的有keil、IAR、eclipse等,现在eclipse也支...
学 单片机 能做什么?能从事什么工作?我之前有回答过类似的问题。可以翻看我之前的记录。单片机的应用很广泛,凡是我们能说的出来的电子产品,电气产品都离不开单片机的应用,比如我们普遍能见到一...
做 单片机 C语言编程,(就是给 单片机 编软件,用C语言)对C语言要掌握到什么程度?做单片机C语言编程,对C语言基础并没有特别高的要求,只要基本掌握C语言程序结构、关键字及其意义和用法、数据类型和作用域及定义与使用、算术及逻辑运算符用法...
单片机 和自动控制原理哪个简单?说实话,这两门课程都不简单,都要认真学才能把它学好!如果只是应付考试,只要不是特别懒惰,经常逃课、上课睡觉、玩手机刷抖音等,还是比较容易通过考试的。特...自...