找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机学习遇到瓶颈,求前辈们解惑。

  [复制链接]
跳转到指定楼层
楼主
ID:346981 发表于 2018-6-8 22:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    入门几个月,视频教程基本上都看完了(51的单片机),学习了一些基本模块的使用,能独立做几个小项目了。    但是项目越大,功能越多越复杂,调用的模块越多或者是使用一些比较复杂的模块,就会有一种无从下手的感觉,不知道如何实现,

    好像是编程逻辑过不去,有针对性的学习资源吗?我该怎么办呢?
    求前辈们解惑,万分感谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

来自 2#
ID:348162 发表于 2018-6-9 13:36 | 只看该作者
这其实是因人而宜,有的人喜欢看视频,认为视频学习相对比较简单(因为是人讲啊),还有一种人是喜欢看书(我觉得我这章看懂了我就跳过了)。         下面的建议假设题主有一定C语言的基础。初步确定学习目标:是学习简单便宜的51呢,还是学习简单但是性价比已经不算太高的,但是功能强大稳定可靠的avr,还是物美价廉的stm32,或者ARM9(可以跑系统了),再往上x86什么的如果是学8位的单片机,推荐一款仿真软件proteus,支持的芯片很多比如atmel的最新版本是8.2,但是破解不大完全,不需要买硬件,写好的程序可以直接在电脑上运行,还可以与keil联调,推荐版本7.9或者7.8可以先学51,51是单片机的鼻祖,图书馆找本51的基础书来看,挑那种薄薄的,带有较多的例子的,花个一两天的时间看一下,然后按照书上的写个点亮LED,尝试写下串口,中断的程序,驱动一下数码管之类的(当然程序在proteus下都可以直接运行的)。如果想深入51,后面可以忽略。也可以先学AVR(我们做航模飞控很多就是用的额Avr,现在atmega系列的48比较便宜才5块钱一片)(感谢@刘杨的提醒,avr不知有atmega还有atiny和at90)。avr与51的区别不多说,学习前期可以借助仿真软件proteus,然后照着书上的例子写一些程序。中间datasheet很重要,前期可以看中文,但是一定要养成看英文datasheet的习惯。如果想继续停在avr上,那就可以尝试移植硬实时操作系统ucos等,这里推荐一本书《深入浅出avr》,里面的例子讲的挺简单的 学习8位单片机之后,学习ARM相对会容易很多(也可以直接上arm,本人不反对,但是我确实看到很多上我们学校的tm4c123g(一款TI的demo板)的课,因为零基础而听不懂的),然后可以学习STM32了

评分

参与人数 1黑币 +8 收起 理由
没事转转 + 8 感谢!

查看全部评分

回复

使用道具 举报

来自 3#
ID:347711 发表于 2018-6-9 14:53 | 只看该作者
学射箭,你得去拉弓,整天只摆造型肯定不行;学游泳,你得下水扑腾,整天在岸上做模仿活动不行;学开车,你得坐车上去开,坐沙发上肯定学不会。同样的道理,学单片机,整天盯着单片机看肯定不行,你也必须得亲自动手去练。 没有不下水就学会游泳成为游泳健将的,没有不到车上练就能成为赛车手的,这点大家都清楚,可为什么总是那么多人学单片机的时候,总是要抱着一本书看呢。第一,我们小学中学甚至大学的学习模式都是如此,学什么东西主要都是靠看书;第二,很多人想实践不太清楚该怎么去实践。

评分

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

查看全部评分

回复

使用道具 举报

来自 4#
ID:343322 发表于 2018-6-9 15:35 | 只看该作者
多做一些单片机工程,熟练掌握应用,还有就是内部电路知识也要熟练掌握,模电数电都要了解,只有熟悉内部工作原理才会有得心应手的感觉

评分

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

查看全部评分

回复

使用道具 举报

5#
ID:155507 发表于 2018-6-9 10:23 | 只看该作者
基础理论知识包括模拟电路、数字电路和C语言知识。模拟电路和数字电路属于抽象学科,要把它学好还得费点精神。在你学习单片机之前,觉得模拟电路和数字电路基础不好的话,不要急着学习单片机,应该先回顾所学过的模拟电路和数字电路知识,为学习单片机加强基础。否则,你的单片机学习之路不仅会很艰难和漫长,还可能半途而废。笔者始终认为,扎实的电子技术基础是学好单片机的关键,直接影响单片机学习入门的快慢。有些同学觉得单片机很难,越学越复杂,最后学不下去了。有的同学看书时似乎明白了,可是动起手来却一塌糊涂,究其原因就是电子技术基础没有打好,首先被表面知识给困惑了。

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

学习编写程序应该按照以下过程学习,效果会更好。看到例程题目先试着构思自己的编程思路,然后再看教材或视频教程里的代码,研究人家的编程思路,注意与自己思路的差异;接下来就照搬人家的思路亲自动手编写这个程序,领会其中每一条语句的作用;对有疑问的地方试着按照自己的思路修改程序,比较程序运行效果,领会其中的奥妙。每一个例程都坚持按照这个过程学习,你很快会找到编程的感觉,取其精华去其糟粕,久而久之会形成你独特的编程思想。当然,刚开始,看别人的程序源代码就像看天书一样,只要硬着头皮看,看到不懂的关键字和语句就翻书查阅、对照。只要能坚持下来,学习收获会事半功倍。在实践过程中不仅要学会别人的例程,还要在别人的程序上改进和拓展,让程序产生更强大的功能。同时,还要懂得通过查阅芯片数据手册(DATASHEET)里有关芯片命令和数据的读写时序来核对别人例程的可靠性,如果你觉得例程不可靠就把它修改过来,成为是你自己的程序。不仅如此,自己应该经常找些项目来做,以巩固所学的知识和积累更多的经验。

评分

参与人数 1黑币 +5 收起 理由
没事转转 + 5 绝世好帖!

查看全部评分

回复

使用道具 举报

6#
ID:111634 发表于 2018-6-9 10:42 | 只看该作者
本帖最后由 zl2168 于 2018-6-9 10:44 编辑

给你介绍一本书,张志良编著的:《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行,可演示,可观测,程序语句条条有注解。


51单片机仿真设计实例教程仿真文件.rar (4.88 MB, 下载次数: 7)
51单片机仿真设计实例教程前言.rar (6.53 KB, 下载次数: 4)

评分

参与人数 2黑币 +10 收起 理由
lblb + 5 很给力!
没事转转 + 5 绝世好帖!

查看全部评分

回复

使用道具 举报

7#
ID:348074 发表于 2018-6-9 11:02 | 只看该作者
慢慢学,找点例程,我现在就在找例程- -
回复

使用道具 举报

8#
ID:348104 发表于 2018-6-9 11:45 | 只看该作者
编程逻辑要慢慢培养的,你可以先学习编程一些简单的程序,自己独立开发一些简单的小项目,孰能生巧,慢慢的就进一步学习,就能熟练编程自己想要的东西了。当然,书上的知识,必不可少,建议你看一些编程语言方面的书,或者C语言方面的书,当然,你学的是什么语言,你就看什么语言的书。学习一步一步扎实来,祝你成功。

评分

参与人数 2黑币 +23 收起 理由
admin + 20 回帖助人的奖励!
没事转转 + 3 赞一个!

查看全部评分

回复

使用道具 举报

9#
ID:346981 发表于 2018-6-9 12:28 | 只看该作者
angmall 发表于 2018-6-9 10:23
基础理论知识包括模拟电路、数字电路和C语言知识。模拟电路和数字电路属于抽象学科,要把它学好还得费点精 ...

非常感谢!
回复

使用道具 举报

10#
ID:346981 发表于 2018-6-9 12:29 | 只看该作者
zl2168 发表于 2018-6-9 10:42
给你介绍一本书,张志良编著的:《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社IS ...

非常感谢!
回复

使用道具 举报

11#
ID:346981 发表于 2018-6-9 12:34 | 只看该作者
咖啡先生 发表于 2018-6-9 11:45
编程逻辑要慢慢培养的,你可以先学习编程一些简单的程序,自己独立开发一些简单的小项目,孰能生巧,慢慢的 ...

谢谢!
回复

使用道具 举报

12#
ID:298123 发表于 2018-6-9 14:05 | 只看该作者
找个项目跟着做,就知道
回复

使用道具 举报

13#
ID:348202 发表于 2018-6-9 14:45 | 只看该作者
多看书
回复

使用道具 举报

14#
ID:348231 发表于 2018-6-9 15:29 | 只看该作者
b站了解一下
回复

使用道具 举报

15#
ID:348318 发表于 2018-6-9 17:05 | 只看该作者
其实基于单片机的一些简单系统,外围电路主要就是将一些现成器件与单片机的IO口相连,并不需要太多专业知识。找一些基础的书籍还是能看懂的,试着做一些简单的系统吧。这期间你会遇到专业感念,但并不需要掌握的很深入,以后专业课遇到的时候你会理解的更好的。 外围接口电路基本固定,豪无技术含量,汇编比c更简单,纯粹的顺序执行,单片机只是基础课,不用花太多时间
回复

使用道具 举报

16#
ID:154783 发表于 2018-6-9 20:42 | 只看该作者
参加一些比赛吧,像全国大学生电子设计竞赛,恩智浦智能车竞赛之类的,参加比赛会让你提升很快,
回复

使用道具 举报

17#
ID:348432 发表于 2018-6-9 21:08 | 只看该作者
虽然不懂,但是为你加油!
回复

使用道具 举报

18#
ID:348432 发表于 2018-6-9 21:08 | 只看该作者
为你加油哦!!我也在学习
回复

使用道具 举报

19#
ID:348448 发表于 2018-6-9 21:43 | 只看该作者
首先加深对单片机基础知识的掌握,其次学好c语言,才能融会贯通。
回复

使用道具 举报

20#
ID:348480 发表于 2018-6-9 22:33 | 只看该作者
多看书,不看书是学不懂的,看看网上的视频什么的
回复

使用道具 举报

21#
ID:348480 发表于 2018-6-9 22:34 | 只看该作者
多做项目,多看书,看视频。去自学网上都有的
回复

使用道具 举报

22#
ID:348486 发表于 2018-6-9 22:38 | 只看该作者
我当初就是多练  自己找项目去做  慢慢的就感觉到技巧了
回复

使用道具 举报

23#
ID:347124 发表于 2018-6-9 23:03 | 只看该作者
如果是在校学生 在课堂可以向老师多问问 课余时间可以多看看一些关于51单片机的书籍 努力总会有回报的 加油吧
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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