标题: 大家一开始是怎么学单片机的? [打印本页]

作者: 一个杰    时间: 2019-11-3 14:41
标题: 大家一开始是怎么学单片机的?
大佬们,我是刚刚入门阶段的学生狗,看着别人、书上编的单片机程序挺简单,但是自己看到题目就不知道怎么入手了。大家一开始是怎么学的呢?求教导,感谢!

作者: 谢小康4    时间: 2019-11-3 14:41
看着这个帖子比较新,我也分享我的学习经验吧。
首先学习单片机离不开实际操作的,动手做是必不可少的。实际上书上给的代码确实是非常简单,郭天祥写的那本书前面几个例程一点一点的教会你怎么做一个流水灯,后面的数码管学习、定时器、按键、这些都是一步步的引导你去做一个万年历(可以通过按键改时间)。书上不太会把完整的项目代码给你写出来,但是这正是作者的用意,想要你自己用点心思去把学到的知识融会贯通。
首先你要反思为什么看上去很简单的东西,真正用到的时候就不会了,这就是在学习的过程中没有落到实处,出现幻觉了,以为会了。新手学习,有人带比较好,多和比你经验多的前辈唠唠嗑,学习学习别人的思路。
看到题目,你首先要分析问题,哪些是你学过的,那些是不会的,不会的我需要怎么把这个问题解决了?去网上找资料、问学长还是怎么的?学习要慢慢的来,谁也不是一蹴而就就能学的非常好的,慢慢的自己独立解决了某一些项目之后,像你这种迷茫的问题,我觉得就不会再问了。
作者: 海盗船    时间: 2019-11-3 19:21
看郭天祥的书,很容易看懂,适合初学
作者: zjjhtony    时间: 2019-11-3 19:37
选定一个单片机类型,如51(at89c51 or 其他),pic单片机,AVR单片机,STM8单片机。
1)准备对应单片机的教程,可以是书籍,或电子挡的。认真学习下,最好能大致看下这个单片机的寄存器工作
2)网上下载对应的范例程序。
3)对于51单片机,pic单片机,avr单片机部分芯片型号有proteus可以仿真软件功能。
4)某宝去买一块对于的开发版,附带对于的烧录工具,最好是有DIY套件能自己焊接的。
调试范例程序,下载看功能是否正常,修改范例程序,看功能是否正常。
自己编写程序,看对于的功能是否正常,慢慢地你就会了,再选择其他单片机,发现你都能学会。
作者: angmall    时间: 2019-11-3 21:34
个人给你一些建议
1、c语言是开发的基础,这个必须掌握熟练个人推荐书籍谭浩强的《c语言基础》
2、学习单板机的话我建议stc51入门,可以买一个普中的学习板价格大约在60元左右,附带资料比较全面
3、视频个人推荐郭天祥和金沙滩工作室的视频      讲解的比较详细
4、然后就是多加练习,有什么不懂的可以在论坛里发帖或者加论坛的QQ群去里面问

作者: 无奇之圣    时间: 2019-11-3 22:01
1.熟悉基本的模拟电路。底层编程离不开硬件,所以对硬件电路要有基本的了解
作者: 无奇之圣    时间: 2019-11-3 22:04
1.熟悉硬件电路
2.看平台的教学视频
3.自己尝试写一遍代码,然后debug
4.总结做过的每一个项目
作者: 君莫问归期    时间: 2019-11-4 10:24
建议要有一定的C语言基础,因为现在所有8/16/32位都是使用C语言。其次,如果看书看题不知道如何入手,可以找些教学视频,比较容易理解和接受
作者: 慢慢思考    时间: 2019-11-4 11:59
   面包板自建电路,玩灯,各种灯,包括数码管、点阵都是自己做,各种数据传输也是用灯包括I2C的数据传输也是用的LED灯来一步一步检验数据传输编程的正确性,很直观。各种灯玩通了,基本也就进门了。这个也是最便宜的玩法。
    当然,前提是要有电路基础,这个中学水平就够了。
    各种器件的应用,得要看懂规格书特别是其基本原理,不然只能抄程序就没意思了。
作者: fabric    时间: 2019-11-4 12:40
楼主,我跟你的情况一样。初学。现在在论坛里瞎逛,看能不能找到方向先。先买一套单片机的板子。自己焊接试试。

作者: dw772    时间: 2019-11-4 12:41
建议从实践入手,先买一块简单的板子。熟悉板子上周边元件(要看懂板子的电路原理图),点亮一个灯你就进入单片机世界了
作者: dcr1105    时间: 2019-11-4 13:07
1.学好C语言
2.买开发板,一个一个操作学习
3.看周立功,郭天祥的书,视频
4.泡论坛
5....
作者: qq2660206749    时间: 2019-11-4 14:34
跟着资深工程师边学边做,才是最实在的。当然还要自己努力看书
作者: zcpionner    时间: 2019-11-4 16:00
可以和师兄多交流,让师兄直接带你会快很多
作者: bojue35091    时间: 2019-11-4 17:07
买了快正点原子的开发板  对着教程学习
作者: lrkeji1982    时间: 2019-11-4 18:05
我也是初学单片机,多年前学过51汇编,能写简单的程序,现在学C51,点亮第一个LED费了些功夫,主要是对C不了解,格式不对,对照例程,一条一条语句的核对,连标点符号的半角、全角都照搬,终于点亮了第一个LED ,后面的学习进度就要快很多了。所以,一个实验板是少不了的,一个教程,照着例程,理解了语句的意思就好学了。
作者: 肥嘟嘟H左卫门    时间: 2019-11-4 20:08
单片机主要注重电路设计和程序设计两部分。电路设计就是熟能生巧,没事就在仿真软件上画画图;程序最开始要自己写的话还是很困难的,需要打基础,先看懂别人的程序,再模仿,直到最后自己也可以编写。
作者: 累不死的狗    时间: 2019-11-4 23:37
前期疯狂抄程序,中期疯狂写程序,后期疯狂看课本
作者: man1234567    时间: 2019-11-5 11:50
书上的真的是很简单的,但是必须过,因为那个是基础,没有这些零碎是组不出大件的。
兴趣高+动手勤,然后就靠天收了,想达顶尖光靠勤奋是呵呵的,就象你没可能随便找个孩子勤学苦练就一定可以成为世界冠军一样。做,必有成,但期望值要合理才是。
最后:不勤奋,只有呵呵。
作者: zzcacan    时间: 2019-11-5 13:08
看普中的视频,并且也看郭天祥的书,一定要自己仿写,刚开始可以照着例程照葫芦画瓢,后面一定要有自己的思考去写
作者: 火锅低端局    时间: 2019-11-5 14:25
我由于我用的是英文版的,英语肯定要懂一丢丢,看英语书,哈哈!后面就学画图,学代码,学着学着就会点了。
作者: 1092648746    时间: 2019-11-5 14:34
新手学单片机,一开始确实会有很多不懂的,这是因为你的C语言和电路基础知识没有跟上导致的。只有花时间去研究分析,你才能有所进步。学习没有捷径,还是多花时间去学习比较好,最好能找个前辈指导你,听听别人是怎么说的,时间长了自然就上手了
作者: 狗肉天涯    时间: 2019-11-5 15:26
这个问题要分为几个部分来回答
1.作为刚入门的同学来讲,不要急于求成,首先要搞清楚自己玩单片机是朝硬件方向走,还是说纯粹写软件程序。只有抓住要发展的方向,才能有直接的目标去学习。
2.硬件作为单片机的组成部分,上手是比较慢的,需要反复的去练习已经很完善的硬件电路例子,通过对实例的练习,加强基础知识的应用方向。比如:如何画电路原理图,规范自己的画图习惯。画完电路图,如何去纠错等
3.对于软件的话,首先需要建立基本的编程能力,多学习C语言。对编程有一定的理解之后,需要按照已经有的硬件程序,反复去理解,练习,以更好的对程序如何匹配硬件作出理解。等等一系列过程。
最后,也如其他大佬们说的那样,玩单片机,动手是无法避免的,无论硬件或者软件都是需要多动手。多学习别人成功的例子有助于提高理解。
作者: CZ1    时间: 2019-11-5 16:28
学习单片机之前是学过C语言基础的,所以基本的控制I/O口是很简单的没有什么难以理解的,学完c语言基础后就买了普中的52开发板大概就50到60人名币吧,很便宜的后来也发现没必要买太贵的板子,后面能力提高之后呢很多都是自己搭外设的。学习单片机的控制呢是跟着郭天祥的视频学的,他的视频还是比较容易看懂的,整体思路比较好,而且学习这个东西呢一定要一步一步来才能够学好一定要能耐住寂寞。前期实验都是教你控制I/O口的,比较重要的是iic和isp协议还有就是温度传感器的通信协议(由于是一根线的所以我就叫他单总线协议),这一些协议比较难,建议从单总线,iic,isp的顺序学习。自己拿到一个项目做的时候呢如果是完全蒙蔽就画逻辑框图,一步一步的看,去修改自己的逻辑。首先第一步做什么,然后做什么(推荐一个逻辑框图软件Mindjet)。还有你要明白是你看不懂题目意思还是你不懂单片机的操作。前者列逻辑框图,后者说明你单片机基础很差。

作者: 张x小呀    时间: 2019-11-5 18:15
刚开始学习的时arduino学习了一点时间之后,开始学习C语言,然后才开始学习的单片机。arduino可以当作是玩玩,但是C语言必须要学好,在学习单片机的时候会费城容易,然后单片机里边又以定时器计数器为重点,同时还有算法又以pid为重点
作者: 111111111110    时间: 2019-11-5 18:46
怎么叫“学了”单片机呢?我们学校是这样的,给你一个题目,自己想办法做出来。大家都不知道怎么做,上网查别人的报告,又没有可以直接用的,就拿很多份材料来对比,只有理解了题目,会把文本要求转化为实际过程,分模块处理,每一小模块应该有什么内容,实现什么,功能,模块之间的联系是怎样的……总之就是一个把理论化实际的功课。功底就是C语言基础,知道简单的C语言基础能把题做出来。
作者: 爱吾如泽    时间: 2019-11-5 21:28
学习单片机,首先要看懂电路图,一味地写代码是没用的。
作者: 爱吾如泽    时间: 2019-11-5 21:30
然后要模仿书上的程序,熟悉单片机的程序步骤,很快就能找出其规律,形成自己的习惯
作者: 121361061    时间: 2019-11-5 23:28
买个开发板,然后看着视频学,再按照思路自己敲一遍
作者: 适得府君书    时间: 2019-11-6 09:20
一个字“玩”。只要你有想学的兴趣。要想学会是不难的。
不过前提是要有一定的C语言基础,这样学起来更容易些。
学习是学习如何实现的思路,而不是内容。
动手去做,把教程的例程跟着做一遍。
看。多看一下别人写的代码。理解每一步,每一句代码存在的意义。
用,要学会使用例程,这并不是抄袭。
作者: 一个杰    时间: 2019-11-6 13:15
1092648746 发表于 2019-11-5 14:34
新手学单片机,一开始确实会有很多不懂的,这是因为你的C语言和电路基础知识没有跟上导致的。只有花时间去 ...

好的!受教了!
作者: 一个杰    时间: 2019-11-6 13:17
海盗船 发表于 2019-11-3 19:21
看郭天祥的书,很容易看懂,适合初学

我们学的是陈景波的,感觉不错,但是师傅说有的代码会比较繁琐。
作者: 一个杰    时间: 2019-11-6 13:18
zjjhtony 发表于 2019-11-3 19:37
选定一个单片机类型,如51(at89c51 or 其他),pic单片机,AVR单片机,STM8单片机。
1)准备对应单片机的 ...

嗯嗯
作者: 一个杰    时间: 2019-11-6 13:19
无奇之圣 发表于 2019-11-3 22:04
1.熟悉硬件电路
2.看平台的教学视频
3.自己尝试写一遍代码,然后debug

好的!受教了!
作者: 一个杰    时间: 2019-11-6 13:20
君莫问归期 发表于 2019-11-4 10:24
建议要有一定的C语言基础,因为现在所有8/16/32位都是使用C语言。其次,如果看书看题不知道如何入手,可以 ...

嗯嗯,现在看书上的例子,慢慢编倒是有点头绪了
作者: 一个杰    时间: 2019-11-6 13:23
适得府君书 发表于 2019-11-6 09:20
一个字“玩”。只要你有想学的兴趣。要想学会是不难的。
不过前提是要有一定的C语言基础,这样学起来更容 ...

嗯,赞同!
作者: 一个杰    时间: 2019-11-6 13:25
海盗船 发表于 2019-11-3 19:21
看郭天祥的书,很容易看懂,适合初学

好的!
作者: 一个杰    时间: 2019-11-6 13:31
fabric 发表于 2019-11-4 12:40
楼主,我跟你的情况一样。初学。现在在论坛里瞎逛,看能不能找到方向先。先买一套单片机的板子。自己焊接试 ...

我们用陈景波的书,感觉解释的很清楚,只是有的代码会比较繁琐。但是总体效果我感觉还不错。
作者: 545338711    时间: 2019-11-6 14:24
看书结合视频的讲解理解起来应该会更容易,
作者: 1179911799    时间: 2019-11-7 00:52
第一步c语言  语言基础一定要学好
作者: 1179911799    时间: 2019-11-7 00:57
第一步学习c语言  c语言是基础         第二步看书和视频学习基础知识    第三步根据书的章节敲代码,刚开始可以照着代码直接敲,多敲几次会记住的      第四步看一些关于单片机应用的实例然后自己动手操作
作者: 13144088433    时间: 2019-11-7 11:36
把课本的代码打进去,能实现课本的功能了,再改代码,实现自己想要的功能




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1