如何自学单片机编程
当前的单片机种类很多,但是 51 是最基础的,因此单片机的学习最好也是从 51 开始,不仅容易上手,而且相当实用。新手学习时注意以下几点:
1、学习理论知识,书的话新手建议看看__王云51单片机教程,结合书带的视频一起看好理解;王云的单片机视频网上到处都有。
2、最好有一个开发板,在开发板上从最简单的功能开始实现,比如做一个流水灯、蜂鸣器音乐盒等;
3、实现简单的功能后,开始尝试更复杂的程序,例如LCD显示、数字时钟、串口通信、中断控制等;
4、在上述功能均可以实现之后,可以组合实现,做一个多功能的单片机系统了;
5、如果对硬件熟悉,可以自己尝试做一个单片机开发板!
难吗?不难,就像用英语表示自己要说的话一样简单!
我在学校课程上掌握51单片机,然后自学掌握AVR,在工作之余又自学了80C196单片机,然后只用几天就入门了LPC2103——关键是方法,如果方法得当,任何单片机都难不倒你。
学习单片机的基础:
数字电路和模拟电路:这两样是核心,必须的。
汇编语言程序设计和C语言程序设计(针对任何单片机):也是核心,必须的。
数学:你会发现数学在单片机中的分量不小。
英语:这个有点让人纠结,毕竟单片机是外国生产的,看单片机的资料很多都是英文的(还好,没有日语或者德语版本的……)。
开始学习单片机时,需要准备的材料:
电脑:自己有一台最好,而且要带串口和并口。
开发板:学习单片机的平台,根据你学习的单片机来选择开发板。
教材:强烈建议使用纸质的书本教材——你会发现这和看电子书的感觉和效率不一样!
编译环境:编写单片机程序需要的软件平台。
下载线、仿真器:根据需要来选择,但是都要完成将程序写入单片机的任务。
关于自学单片机:
自学完全可行,当然没有专业指导的情况下自学单片机可能会走不少弯路和误区,所以多上网看看别人的程序。
最后,强调一点:不要照搬别人的程序,要有自己的特色!
其实不是单片机难学,而是不知道怎么入门。请大家记住一句话“单片机不是学出来的,而是玩出来的”。下面结合自己自学单片机的体会,和大家一起来“玩”单片机。准备好了吗?我现在开始教大家如何学习单片机。
第一步:先读通一本教材
唉!?太没创意了吧,还要看书?不错,第一步还是要通读一遍教材,这样我们才能站在巨人的肩膀上。读了一遍什么感觉,一个字晕。着很正常,不然你就看不到这篇文章。很多人在晕了之后就泄气了,或者换教材,接着晕,直至晕倒。不过,现在告诉大家我们要向酒鬼学习,晕了不要紧,嘴上一直说“没醉”,至少有可以多喝半斤。所以信心很重要。
第二:晕着脑袋实践
第一步我们已经晕了,其实,我们是在似醉非醉,似醒非醒的最高境界。趁着这么好的感觉(这种感觉是多少武林高手梦寐以求的),赶快练上几路拳脚。
首先要选好兵器。找一款功能多,教程详细,技术支持好的单片机开发板,吴鉴鹰单片机开发板是主流,适合学习。软件建议用Keil c51,硬件要有pc机和开发板,开发板要求有流水灯、数码管、独立按键、矩阵键盘、ad转换、液晶屏、蜂鸣器,这就差不多了。软件网上有的是,下一个,还是免费的。pc机没有可以先用下同学的。开发板大概在200元左右,这比请朋友吃饭便宜多了。在想想将来我们要靠他来闯荡江湖,这又算得了什么呢?
好!兵器选好了,那就练把!提醒大家一句,降龙十八掌也是从扎马步练起的。即便我们比郭靖聪明,也要先练马步,想想黄蓉就知道了。现在就从最基本的流水灯开始,试着先控制一个发光管,慢慢的变换花样,做出自己的个性来。是不是特有成就感,是不是不吃饭都不知道饿。现在已经有点着迷了吧(个别人除外)。
第三:带着问题解决问题
在实践中我们有很多现象解释不了,怎么办?是自己慢慢参悟呢,还是向高手请教?建议先自己参悟,实在不行在向高手请教,这是记忆最深刻,效果最好的办法。但不要参悟的时间太长,否则会削减我们刚建立起来的信心;事事都问,记忆就不深刻,成不了自己的东西,就像练武,只学到了招式,没学到内功。如果这一步能过关,哈哈,相信你已经被单片机迷住了。
第四步:自我修养,不断提高
达到着一步,不论是技术水平,学习方法,还是心理素质都达到一定的境界了,已经入门了。俗话说师傅领进门,修行在个人。到了这一步,下来就要看个人的努力和悟性怎样了,能否创造出自己的“黯然销魂掌”,那要看个人的修为了。
答:手中应该有开发板或者自己画的电路板,STM32系列的单片机。我们要看看电路图,都留出了哪些IO和哪些功能比如AD或者串口,都接了什么。假如是开发板的话可以看开发板的资料。当你需要使用STM32某些功能,而51实现不了的时候,那STM32自然不需要学习,你会直接去寻找STM32某方面的使用方法。比如要用spi...
答:使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该...
答:快速学会单片机编程先以51为基础开始会很快;零基础除了要学单片机知识还要要学的辅助科目有 1,汇编语言,c语言 2,电路,数字电路,模拟电路 3,接口技术,传感器技术 4,一些常用的相关芯片 5,相关的数学知识 6,软件操作知识 7,自动控制原理 快速入门看下郭天祥老师的C51单片机C语言教程+数字电路这里入门后...
答:入门快不快要看你有没有一定的基础,比如电子电路知识,0基础的话确实是有点难。零基础的话建议:1,学习电子元器件基础 2,学习模拟电子电路基础 3,学习数字电路基础 4,熟悉51单片机硬件结构 5,学习编程语言 上面的学完了就入门了 ,我不建议买51单片机开发实验板来学习,开始学就是要增加自己的...
答:then else, 还是PLC的A AN JNB,指令的组成部分以及表示的含义需要理解明白;3、了解几种寻址方式。单片机非常依赖,对于PLC来说,多了解对于复杂的编程有帮助。4、了解数据格式,注意高低位分布,这个很重要,尤其是和第三方通讯的时候。5、了解几个常用的寄存器和存储区域。比如DB,M,I,Q等。
答:由于单片机编程时必须要明确每一条指令执行完毕后会有什么样的结果,弄清实际运行后的结果是否与设想的结果相符,因此,仿真功能对于单片机的学习和开发可以起到很重要的帮助作用。3.编程器或者下载线 其用途是将代码写入单片机芯片内部。对于学习者来说,有了仿真机也可暂时不配编程器或下载线,因为有了...
答:3、针对单片机以外的硬件控制子程序或函数。比如8个8位的LED数码管,如何扫描控制其显示内容,如何采集单片机系统中的哪个按键被按下了等。这部份软件就需要你去了解单片机最常用的外围电路的工作原理后才能理解。总之,需要有一定的硬件基础才能读懂单片机的C语言,至于方法:1、系统的学习单片机的基本结构和...
答:4.4 修改一个略为复杂的程序并下载 第五课 单片机硬件知识学习 5.1 芯片硬件知识学习 5.2 最小系统硬件知识学习 第六课 程序设计训练 6.1 方波信号发生器 6.2 彩灯控制器 。。。至此,你已经入门了,以后就可以按现在的教材循序渐进了。切记,理论联系实际。
答:中学学的东西太少了。这个首先你物理的电学要学得不错。 但是也仅仅是基本了。首先,单片机要编程,你要学习C语言, 但是不要学太深入,C语言高级的地方,你在入门的阶段几乎用不到,学会简单语法即可。接下来你应该买一本51单片机的书,然后去网上找视频教程,有好几位老师说的都不错。先依葫芦画...
答:效率要求特别高时,也需要使用汇编语言完成。二、怎么学好单片机编程单片机的编程并不简单,一个完整程序的形成需要有C语言知识以及编程逻辑,编程逻辑决定一个程序是否优秀,是单片机编程一个很重要的问题,只有通过多阅读大神的优秀代码和多动手编写的时候才能一点一点的积累。在学习单片机编程的过程中,...