找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7896|回复: 104
打印 上一主题 下一主题
收起左侧

怎样学好单片机呢

  [复制链接]
跳转到指定楼层
楼主
ID:296585 发表于 2018-3-25 10:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己也学一段时间了,但还是不会。有什么建议怎么学单片机

评分

参与人数 3黑币 +3 收起 理由
vironicaguo + 1
cuifuzhang + 1 赞一个!
wcwt560 + 1 很给力!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

来自 2#
ID:195836 发表于 2018-3-25 13:49 | 只看该作者
哇,看了楼上的一些回复头有点大,如果当初我这么学可能会被瞎到吧,虽然说得有道理。
楼主的问题是,已经自学过一段时间,但是觉得还是什么都不会。正好昨天有个同学跟我联系,想学单片机,他的想法是先去看微机原理这本书。这本书主要讲的是汇编语言,是原理,而不是应用。在我们学校,微机原理是必修课,大家都上过,但是真正会单片机的人不多。
原理、基础、电学知识固然重要,但是对于一个还没有入门的同学,拿着个出来,可能就直接吓退了。因此,如果入门有困难,就暂时抛开原理,谈应用。

所以,我的建议是,买一块开发板,直接跟着开发板学。当你点亮了led,用对了数码管,测量了距离并且显示到液晶显示屏上的时候,这一步步的成就感会推动你往前面走的。这个时候,你要记住,原理、电学很重要(但不是必要的,也就是说其实你不会也同样能实现这些功能,如果你只是玩玩而已就够了,如果你先深入挖掘还是需要的)。这一步我觉得还不算入门,但是你起码知道了单片机是什么,大概怎么用,还可以出去吹吹牛。
另外对于C语言,我个人只会for while if,别的我基本都不会。但是我目前发现编程中真正的难点是通讯协议,时序,特别是用到了&,~,|,这些东西的时候。难的是你如果实现你想要的功能,而语法上for while if足够用了。因此,大可不必纠结于C语言,先入了单片机的门,再慢慢来补。

当年去学习一个东西的时候,如果你太过纠结于他的铺垫知识,这种知识是很多的,你会花很多精力去学,最后反而害怕起来了。如果是之前在学校学过,而且很熟练自然很好,如果没有,先上路后面再补吧

评分

参与人数 1黑币 +60 收起 理由
admin + 60 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

来自 3#
ID:223788 发表于 2018-3-25 22:52 | 只看该作者
首先,你得先学会C语言的基本逻辑运算;
其次,如果有条件的话就买一个单片机开发板(会有附带一些学习的资料),或者自己买几个单片机,焊一个单片机最小系统(因为每做成一件事情就会给自己带来一点动力,然后学习兴趣才会越来越大!这样学起来会很有成就感,这是每个人都想要得到的东西!)
从最简单的 LED 灯的亮灭开始, 再到 流水灯,然后再继续一点点的加大难度 (如果学习能力比较好的话,一周就可以做出一个遥控小车。)
先从小的方面学起,千万不要不会走路就想要跑,这样遇到了难题决解不了很容易挫败自己的自信心!!
加油吧 ~

评分

参与人数 1黑币 +60 收起 理由
admin + 60 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

来自 4#
ID:136106 发表于 2018-3-30 15:11 | 只看该作者
1、最重要的就是实践:买一块开发板(也叫学习板),也可以叫会单片机的人帮你搭一块,在看书和看视频学习之余,要多写程序去验证,要多根据学习板的电路来写程序,特别需要注意的是:*要学会自己写程序,看书看视频的过程中学习人家的编程思路,通过多实践多敲代码来形成自己的单片机编程思路*。好多人成天看书看视频,然后去跟着书本或是视频中人家的步骤来照敲,到自己去写代码的时候根本不知道该怎么写。所以说要多实践,多自己写代码,形成自己的单片机编程思路;

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:227622 发表于 2018-3-25 10:22 | 只看该作者
我的建议是,先学习一下c/c++的语法结构,(如果已经学过的跳过这一步),懂得一些简单的语法和概念,例如声明头文件,各种循环语句,switch语句等等,在单片机编程中都是用地比较多的,然后,开始了解单片机的结构,知道什么是定时器,什么是机器时钟等等这些硬件知识,了解各种IO的作用和异同,这时就有了一些基础准备,然后就是实践了,从一些简单的事例开始,例如流水灯,蜂鸣器等等,多看看别人的例子,学会后要自己进行修改,灵活运用,基础知识掌握后,可以接触一些电机的驱动等等的,PWN波的控制,然后就综合所学的知识,尝试参加一些小项目的制作,从中肯定会有所收获,对单片机有更进一步的了解。

评分

参与人数 1黑币 +80 收起 理由
admin + 80 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:292824 发表于 2018-3-25 10:36 | 只看该作者
单片机属于入门非常简单的一门学科,往深了说,你得会电路,模电,会拼个单管,差分,运放,对信号整流,滤波,稳压之类的。还得数电,数电主要学会用一些芯片,看懂时序图之类。还要会C语言,最好再学一下汇编语言,主要锻炼模块化思想,会一些常见的算法,看懂程序。等等啊,要这么多的基础。
往简单的说,买一块开发板,照着视频做,也能会一些。
我现在大三,看法很粗浅,但我想:你说你只会个单片机,外围电路都不会,新的芯片就不会用,那算什么呢?

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:296615 发表于 2018-3-25 10:38 来自手机 | 只看该作者
我也是初学者,最好自己多动动手,做多了应该就能理解一点
回复

使用道具 举报

8#
ID:155507 发表于 2018-3-25 10:48 | 只看该作者
我始终认为,扎实的电子技术基础是学好单片机的关键,直接影响单片机学习入门的快慢。

有些人觉得单片机很难,越学越复杂,最后学不下去了。有的人看书时似乎明白了,可是动起手来却一塌糊涂,究其原因就是电子技术基础没有打好,首先被表面知识给困惑了。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

9#
ID:155507 发表于 2018-3-25 10:49 | 只看该作者
单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。相反,基础不好,这个看不懂那个也弄不明白,越学问题越多,越学越没有信心。如果你觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。理解了这些知识之后再去看看单片机的结构和原理,我想你会大彻大悟,信心倍增。
回复

使用道具 举报

10#
ID:155507 发表于 2018-3-25 10:49 | 只看该作者
模拟电路是电子技术最基础的学科,它让你知道什么是电阻、电容、电感、二极管、三极管、场效应管、放大器等等以及它们的工作原理和在电路中的作用,这是学习电子技术必须掌握的基础知识。一般是先学习模拟电路再去学习数字电路。扎实的模拟电路基础不仅让你容易看懂别人设计的电路,而且让你的设计的电路更可靠,提高产品质量。
回复

使用道具 举报

11#
ID:155507 发表于 2018-3-25 10:50 | 只看该作者
单片机的学习离不开编程,在所有的程序设计中C语言运用的最为广泛。C语言知识并不难,没有任何编程基础的人都可以学,在我看来,初中生、高中生、中专生、大学生都能学会。当然,数学基础好、逻辑思维好的人学起来相对轻松一些。C语言需要掌握的知识就那么3个条件判断语句、3个循环语句、3个跳转语句和1个开关语句。别小看这10个语句,用他们组合形成的逻辑要多复杂有多复杂。学习时要一条语句一条语句的学,学一条活用一条,全部学过用过这些关键语句后,相信你的C基础建立了。
回复

使用道具 举报

12#
ID:162136 发表于 2018-3-25 10:53 | 只看该作者
定一个目标,就是你要用单片机做什么。有了目标就有方向了。
回复

使用道具 举报

13#
ID:296639 发表于 2018-3-25 10:56 | 只看该作者
在网上看视频学习
回复

使用道具 举报

14#
ID:296645 发表于 2018-3-25 11:09 | 只看该作者
把每个寄存器,定时器,外部中断等
自己一个个整明白,然后自己在开发板上面修改例程看效果
最后,做一个小作品,例如做小车什么的就可以了,做实物是进步最快的

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

15#
ID:296658 发表于 2018-3-25 11:59 | 只看该作者
我建议多和老师交流,多看有关的书籍单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

16#
ID:200250 发表于 2018-3-25 12:55 | 只看该作者
建议先学C语言基础或单片机编程和C语言一起学,这两个方法是我认为最实在的方法,希望对你有用

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

17#
ID:296696 发表于 2018-3-25 13:06 | 只看该作者
主要得多做实验
回复

使用道具 举报

18#
ID:296700 发表于 2018-3-25 13:17 | 只看该作者
先学会编码语言,之后可以自学

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

19#
ID:296709 发表于 2018-3-25 14:04 | 只看该作者
单片机需要c语言的基础,如果想快一点,你得会用c语言编写几个代码,不用太深,基础的逻辑语言就行了。
之后主要是单片机的入门,网上有郭天祥的,可以看着学一下,关键是实操,不买一个单片机写写代码测试测试,真的很难学好的,主要就是一个逻辑的问题,单片机就像一个很小很简单的电脑,每个接口都有定义,所有的模块都需要先入门,在深度研究,其实只要入门了感兴趣了,成为大神不是梦

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

20#
ID:295840 发表于 2018-3-26 15:48 | 只看该作者
单片机有软硬件两方面的内容,有时一个程序怎么调都不出效果,然而从理论分析却又是对的,这是就要仔细找原因了,学习单片机经常碰到很多问题,有时一两天都不能解决,这是就要有耐心,从底层找起,相信每找出一个错误都会有一个新的收获。切不可轻言放弃!!!
回复

使用道具 举报

21#
ID:295840 发表于 2018-3-26 15:49 | 只看该作者
在有数电c语言基础上,可以实践再去理解晦涩的理论。理论再指导掌握单片机。
回复

使用道具 举报

22#
ID:296405 发表于 2018-3-26 16:17 | 只看该作者
买一块开发板,直接跟着开发板学。实验一个一个恨着视频做,
回复

使用道具 举报

23#
ID:294886 发表于 2018-3-26 16:34 | 只看该作者
最好是有一块开发板,照着学,没那么枯燥,而且容易看到效果,这样就有兴趣一些!
回复

使用道具 举报

24#
ID:297362 发表于 2018-3-26 16:49 | 只看该作者
买一块单片机板子,实践是最好的学习途径
回复

使用道具 举报

25#
ID:297369 发表于 2018-3-26 16:56 | 只看该作者
多打代码
回复

使用道具 举报

26#
ID:297362 发表于 2018-3-26 17:04 | 只看该作者
给你一组入门实验,对照学习,多动手,很快会入门
回复

使用道具 举报

27#
ID:297376 发表于 2018-3-26 17:09 | 只看该作者
上网看视频啊,如果还在读书的话多问问老师和班里的大神。
回复

使用道具 举报

28#
ID:297386 发表于 2018-3-26 17:33 | 只看该作者
好吧,看了这么多虽然年龄可能没我的大,但是经验比我丰富的各位前辈的建议,我还是规规矩矩买个板子来吧,数模电确实感觉都忘完了。。。
回复

使用道具 举报

29#
ID:291753 发表于 2018-3-26 18:07 | 只看该作者
基础知识,在我们学习单片机的过程中十分重要。打好基础,就可以从一个点出发,逐渐触及其他知识。这也就是为什么网上有人认为先学好51单片机再去学arm会更好
回复

使用道具 举报

30#
ID:297392 发表于 2018-3-26 18:19 | 只看该作者
自己根据论坛里面的实例做几个吧
回复

使用道具 举报

31#
ID:297407 发表于 2018-3-26 18:25 | 只看该作者
在学校就去实验室,在社会就去培训
回复

使用道具 举报

32#
ID:297648 发表于 2018-3-27 10:23 | 只看该作者
我也是自学的,我觉得先看C然后在学硬件
回复

使用道具 举报

33#
ID:297711 发表于 2018-3-27 12:35 | 只看该作者
多去实践写代码,多逛论坛看官方文档
回复

使用道具 举报

34#
ID:297699 发表于 2018-3-27 13:03 | 只看该作者
先学好C语言,再买一块开发板看视频教程学习,从最基础的流水灯慢慢往上做。
回复

使用道具 举报

35#
ID:291568 发表于 2018-3-27 13:55 | 只看该作者
先买个板子,多看看郭天祥视频
回复

使用道具 举报

36#
ID:297750 发表于 2018-3-27 14:25 | 只看该作者
用心去学
回复

使用道具 举报

37#
ID:297748 发表于 2018-3-27 14:31 | 只看该作者
最简单的方法,就是视频,看原理图,看人家代码,自己尝试的写代码,一步一步来,急不得
回复

使用道具 举报

38#
ID:297769 发表于 2018-3-27 14:56 | 只看该作者
可以先分别简要学习硬件部分(数电,模电)和软件部分(C语言),基本了解后买块板子自己联系,教程从网上下载。
回复

使用道具 举报

39#
ID:297772 发表于 2018-3-27 15:08 | 只看该作者
你得先学会C语言的基本逻辑运算;
其次,如果有条件的话就买一个单片机开发板(会有附带一些学习的资料),或者自己买几个单片机,焊一个单片机最小系统(因为每做成一件事情就会给自己带来一点动力,然后学习兴趣才会越来越大!这样学起来会很有成就感,这是每个人都想要得到的东西!)
从最简单的 LED 灯的亮灭开始, 再到 流水灯,然后再继续一点点的加大难度 (如果学习能力比较好的话,一周就可以做出一个遥控小车。
回复

使用道具 举报

40#
ID:297773 发表于 2018-3-27 15:11 | 只看该作者
平时多熟悉程序,多动手,加油吧!
回复

使用道具 举报

41#
ID:297783 发表于 2018-3-27 15:27 | 只看该作者
先买一块开发板,然后多看看单片机的书,再去下载网上的视频跟着做,坚持就能学会的!!!加油啊!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表