找回密码
 立即注册

QQ登录

只需一步,快速开始

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

怎样才能学好51单片机,并能真正的做出东西。

  [复制链接]
跳转到指定楼层
楼主
ID:386826 发表于 2018-8-21 15:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样才能学好51单片机,总感觉自己都学得差不多了,但是每次上手就又不懂了,看了好多例程,能看懂,但是到自己编程的时候就不会了,是不是学习方法有问题,求各位大神指导。

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

使用道具 举报

来自 2#
ID:388197 发表于 2018-8-21 22:11 | 只看该作者
我以前上学的时候觉得单片机里的寄存器很难记,花了不少时间,其实根本没必要去记,也记不住,记住在哪本技术资料里能查到就行,要用的时候再去查,时间长了,常用的自然记住了,不用的..记了也白记.

学单片机得多动手,建议买点洞洞板面包板电阻电容二极管,三极管MOS管74系列,LM324 LM358 DC-DC降压升压等等之类的常用芯片,分立元件可以去某宝上买混装的,电阻电容三极管各买一斤,可以玩很长时间,培养阅读DATASHEET的能力,多用实物来学习,多尝试不同的方法,一个案例可能有几种方法来实现,学习板不用太贵的,甚至完全可以不买.可以考虑自己用洞洞板焊一个,最小系统电路图网上到处都是.仿真软件必不可少,适当使用可以少走弯路,但是不能完全依赖于仿真软件,有些问题是仿真软件无法仿真的(如干扰导致单片机程序跑飞).二者结合起来用,每次当出现实物与仿真软件效果不一样的时候,一定要想尽一切办法去解决它.只有这样,才会有进步.
      

评分

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

查看全部评分

回复

使用道具 举报

来自 3#
ID:388768 发表于 2018-8-22 09:20 | 只看该作者
1、用文字描述自己需要的功能(假设功能大于2) 2、拆分出各个功能,用文字描述每个功能是如何实现的 3、完成各个功能的程序,并做好测试,对于我来说,如果了解单片机的工作方式,那么编写程序其实就是把汉语翻译成汇编语言。 4、修改每个功能模块的程序,尽量让程序简短,并且预留好和其他功能衔接的功能(接口、变量等) 5、合并简单功能模块,复杂功能逐一合并,每次合并做好程序备份,以便纠错 6、如果上述工作做的足够好,那么可以直接得到想要的结果,我的程序往往都是写完了就可以用,这是建立在部分模块程序的完美基础之上的。 如果是设计了独一无二的作品,比如说我的立方光(我是独立设计的原理和程序,不管是新版还是旧版),那就在第一条补充一条:构思,这需要你对单片机很了解,预想如何实现,会遇到什么样的问题,以及解决的方案。立方光我构思了2个月,真正做实物的时间,只有一周。等到了新版立方光问世,我也是用了三周构思,一周做实物。

评分

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

查看全部评分

回复

使用道具 举报

来自 4#
ID:389197 发表于 2018-8-23 11:27 | 只看该作者
做东西前有先规划,有个整体思路在脑海里
1、用文字描述自己需要的功能(假设功能大于2)
2、拆分出各个功能,用文字描述每个功能是如何实现的
3、完成各个功能的程序,并做好测试,对于我来说,如果了解单片机的工作方式,那么编写程序其实就是把汉语翻译成汇编语言。
4、修改每个功能模块的程序,尽量让程序简短,并且预留好和其他功能衔接的功能(接口、变量等)
5、合并简单功能模块,复杂功能逐一合并,每次合并做好程序备份,以便纠错
6、如果上述工作做的足够好,那么可以直接得到想要的结果

评分

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

查看全部评分

回复

使用道具 举报

来自 5#
ID:308903 发表于 2018-8-24 16:49 | 只看该作者
我目前是刚才长期处于你的这个状态中跳出来了一只脚;
首先,单片机,你要想到真正的去做一个东西,发自内心的迫切的..... (目前,已行成这个心态)

其次,行成自己的编程风格 (我目前正处于这个状态,正在摸索)

怎么形成?

1.自我尝试就是 对着范例程序,一个字一个字的打下来,开发板仿真。

2.然后,在范例上,根据自己的想法,改变代码,看看是否可以实现。
这个时候,能实现,说明,思路是对的,不能实现,就思考,找答案,翻找各种类似程序,找异同点,理解思路。

3.以前不明白,为啥各种单片机的范例程序都差不多。现在的感悟是: 简单的程序,可以巩固,强化,理清,自己的编程思维。

借鉴,吴哥的第一篇文章(第一节:吴坚鸿谈初学单片机的误区。)
4.额,还在前面三步..... 同勉同勉



评分

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

查看全部评分

回复

使用道具 举报

6#
ID:387076 发表于 2018-8-21 20:50 | 只看该作者
学单片机,最重要的是实践。
学完一些例程,不要偷懒,自己按自己编程的思路写一遍,加深记忆。
另外,有些芯片的datasheet等是不用记的,需要使用时再查资料。
要搞通例程中语句的内容。

评分

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

查看全部评分

回复

使用道具 举报

7#
ID:366559 发表于 2018-8-21 21:49 | 只看该作者
把例程搭一遍写一遍,没条件就在Proteus里面做,看怎么运行的;理解每一句语句的意义与用途,然后尝试在例程的基础上做一点扩展。
还有很多,懒得写了。
PS:我是用AVR的,听说51可以位操作,这样的话51对C语言基础的要求还低一点。

评分

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

查看全部评分

回复

使用道具 举报

8#
ID:296831 发表于 2018-8-21 23:11 | 只看该作者
只能说看书的时候对照照着程序,这样理解会快些,然后仿真,先模仿后推广呗,谁也不是天才嘛,重要的是要有自己的想法,别被框住了。

评分

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

查看全部评分

回复

使用道具 举报

9#
ID:386381 发表于 2018-8-22 00:28 来自手机 | 只看该作者
那是因为你的c语言没有学好,像这种情况下就先主攻C了,想做个项目就按照他的语法一步一步的实现。

评分

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

查看全部评分

回复

使用道具 举报

10#
ID:388741 发表于 2018-8-22 06:16 | 只看该作者
自己动手慢慢做一遍就会了
回复

使用道具 举报

11#
ID:277550 发表于 2018-8-22 08:48 | 只看该作者

加油,烧写坏数个MCU、做数十个电路板
回复

使用道具 举报

12#
ID:388760 发表于 2018-8-22 08:59 | 只看该作者
主要是你想学硬件还是软件,当然无论硬件还是软件,都要多动手,带着一定的项目目的去学习去实验,就看几个例程,体会不可能太深了。简单点说就是先搞个开发板,然后先简单例程,然后再复杂点的,循序渐进,肯定会成功的

评分

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

查看全部评分

回复

使用道具 举报

13#
ID:388655 发表于 2018-8-22 09:30 | 只看该作者
我觉得自己看例程后一定要亲手去实验一下,仿真或者是上实物板子,可以自己尝试修改代码,再结合板子观察现象,这样可以理解的更透彻,希望对你有所帮助

评分

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

查看全部评分

回复

使用道具 举报

14#
ID:299493 发表于 2018-8-22 09:45 | 只看该作者
建议先看例程弄清楚每一步在做什么,然后自己跟着例程写一次,然后再自己不看别人的例程,自己回想例程的原理自己编写,这样就能自己慢慢开始自己写例程了。最后就是一定要坚持。

评分

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

查看全部评分

回复

使用道具 举报

15#
ID:388785 发表于 2018-8-22 09:55 | 只看该作者
书看的再多,也不如亲手实践,实践跟学习结合,找到其中的乐趣,51就不那么枯燥了

评分

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

查看全部评分

回复

使用道具 举报

16#
ID:370231 发表于 2018-8-22 11:17 | 只看该作者
做个收音机吧,在论坛里下载的,在这里给看看[attach]139552[/attach

51黑论坛_程序.rar

153.81 KB, 下载次数: 4

评分

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

查看全部评分

回复

使用道具 举报

17#
ID:389206 发表于 2018-8-23 11:38 | 只看该作者
做一个简单的项目
回复

使用道具 举报

18#
ID:385372 发表于 2018-8-23 13:03 来自手机 | 只看该作者
还是要有一定的电子电工基础的

评分

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

查看全部评分

回复

使用道具 举报

19#
ID:389275 发表于 2018-8-23 14:30 | 只看该作者
单片机得多动手,建议买点洞洞板面包板电阻电容二极管,三极管MOS管74系列,LM324 LM358 DC-DC降压升压等等之类的常用芯片,分立元件可以去某宝上买混装的,电阻电容三极管各买一斤,可

评分

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

查看全部评分

回复

使用道具 举报

20#
ID:389272 发表于 2018-8-23 14:36 | 只看该作者
买个开发板,练习,然后网上找喜欢的项目自己做,从简单的开始,多动手多花时间

评分

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

查看全部评分

回复

使用道具 举报

21#
ID:389229 发表于 2018-8-23 15:15 | 只看该作者
买块开发板从简单的开始调试就好
回复

使用道具 举报

22#
ID:389275 发表于 2018-8-23 16:02 | 只看该作者
单片机得多动手,建议买点洞洞板面包板电阻电容二极管,三极管MOS管74系列,LM324 LM358 DC-DC降压升压等等之类的常用芯片,分立元件可以去某宝上买混装的,电阻电容三极管各买一斤,可

评分

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

查看全部评分

回复

使用道具 举报

23#
ID:379740 发表于 2018-8-23 16:34 | 只看该作者
学会编程语言,自己动手做
回复

使用道具 举报

24#
ID:389097 发表于 2018-8-23 22:39 来自手机 | 只看该作者
除了学习理论知识外,还要付诸于应用。网上买块51单片机开发板,然后将自己所学的设计一个小项目写出程序,生成烧录文件烧进开发板看效果。动手做多几个实例,就进步得快。理论与实践相结合。单单学习理论知识,没用起来,一下子就忘了。反复运用起来,才是真的学会了。果断买块开发板,边学边模拟。我就是这样学起来的。

评分

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

查看全部评分

回复

使用道具 举报

25#
ID:389458 发表于 2018-8-23 23:34 | 只看该作者
先预设一到两个功能项目,对应项目编写程序,完成后进行调试修改完善程序,后续再增加功能,从单一到多功能,从简单到复杂,循序渐进,同时可以仿照成熟的案例模拟训练,这样进步会快一点。

评分

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

查看全部评分

回复

使用道具 举报

26#
ID:381818 发表于 2018-8-24 09:32 | 只看该作者
刚做完一个基于nRF24L01P的无线通信的项目,使用AVR的mega328做的,之前并没有学过,你要学会的是51的寄存器映射,晶振,I/O,中断,定时器,串口,SPI,I2C。这些学会,其他的8位单片机也一定可以难不倒你,32的话你还是买一块开发板按着视频教程学吧,加油

评分

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

查看全部评分

回复

使用道具 举报

27#
ID:320525 发表于 2018-8-24 16:03 | 只看该作者
建议先用开发板学习 然后做一些电子设计 可以提高兴趣 在制作中学习 在学习中进步

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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