矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: 电子初学者

我该如何学单片机

[复制链接]
     
发表于 2019-2-20 20:41:16 | 显示全部楼层
做个实体的东西学的快,遇到哪块学哪块
回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 20:47:32 | 显示全部楼层
必须写足够代码量,才会有感觉,这是一个苦力活,没有任何捷径可走。

回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 20:49:12 | 显示全部楼层
要学游泳必须下水,在实践中学习。
回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 20:59:57 | 显示全部楼层
想想小时候是怎么学会走路的
先学汇编是先学爬,再学C语言是再学走

汇编隐藏了很多C语言的底层原理
天资聪慧的也可以上来站站就学走,有自知之明的人还是会从底层学起的,以前看C语言如看天书呀
回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 21:07:56 | 显示全部楼层
电子初学者 发表于 2019-2-20 20:01
说实话,我看过别人的代码,有些大概能明白什么意思,但是别人为何这么写,就不明白

在这之前,首先要明确两个问题。

1、任何电路都可以用数学表述

2、除了对电路的表述,我们还可以用纯数学做一些其它计算

所以,用单片机做一个事情,首先你要明确怎么做这个事情。但你都说可以自己画方框图流程图了,我觉得你很明确啊,那么接下来就是把你的流程图用编程语言写出来就行啦,任何编程语言都是这样的,不管是 C,还是小朋友用的图形编程语言。

举个荔枝,前几天有坛友想用模拟电路做几个小时级别的定时器,大家都劝他用单片机做,但他还是想不用单片机,用比如数字电路也行 我帮他设计了一个用数字电路做的,然后 --- 这个设计,就是用单片机解决这个问题的思路,每一个 74(40) 逻辑芯片和电路都能和单片机的代码对应起来。

所以你的问题就是反过来,把你构思的流程,用编程语言写出来,就这样。至于人家为什么那么写?管他呢。

电路的形式
185046h2hjbgic04b20ccb.png


代码的形式,两者是等效的
205921w3bnu40fcccu4rr2.png
回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 21:16:15 | 显示全部楼层
流小新星 发表于 2019-2-20 20:59
想想小时候是怎么学会走路的
先学汇编是先学爬,再学C语言是再学走

汇编隐藏了很多C语言的底层原理
天资聪慧的也可以上来站站就学走,有自知之明的人还是会从底层学起的,以前看C语言如看天书呀


小朋友们用的图形编程语言,是比 C 跟高级的语言,也就是说和汇编距离更远。

那么这算是啥,先学飞么


所以我说过很多次,很多业余爱好者对单片机敬而远之,那些成天叫嚣汇编的就是罪魁祸首之一。看看 Arduino,不到 10 岁的小朋友都可以玩得一个遛,有问题么?

有,最大的问题就是没让小朋友一开始就学爬,直接飞上天就行


timg4RLU2W6L.jpg

timg.jpg
回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 21:22:46 | 显示全部楼层
本帖最后由 流小新星 于 2019-2-20 21:24 编辑

图形编程语言是板砖砌的房子,C语言是砌墙的板砖,汇编是烧板砖的泥巴,没的比呀
回复 支持 1 反对 0

使用道具 举报

     
发表于 2019-2-20 21:58:16 | 显示全部楼层
针对楼主的情况,我觉得首先要找一本C语言的书看,这是基础,绕不开。
其次,买一块开发板,对照例程,练习几个例子就行了。
回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 21:59:02 | 显示全部楼层
泥巴和板砖的比喻很好,很形象

但如今人们起房子,不管是房地产大佬比如思聪他老豆起个摩天大夏,还是我回老家宅基地上盖个小楼,我们会自己烧泥巴做砖,自己炼钢浇梁柱么

用更接近本坛的荔枝就是,不管是矿坛的爱好者,还是世界顶级电器厂比如美的松下西门子...,做个小玩意也好生产个家电比如冰箱洗衣机啥的也好,会自己绕个电阻,做个电容么?

道理是一样的,这叫做社会分工。现时代决定了,大多数人可以直接从 C 语言学起,不需要管汇编那玩意。
回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 22:20:56 | 显示全部楼层
纯C语言二级C语言
回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 22:39:37 | 显示全部楼层
本帖最后由 壹法拉 于 2019-2-20 22:51 编辑

这个世界很奇妙,你会设计电路而不会编程;另一些人,会写程序,但不会设计电路,所以学习过单片机的人很多就是学着做别人的东西;否则,中国会出现好多奇奇怪怪的产品的!期待呀!

打开 KAIL 不知道做什么。是因为你心中没有目标;定下一个目标你就会动脑琢磨了,代码就一行行地出来了;然后再改来改去;这期间会遇到不可思议,莫名其妙的 BUG ; 反复验证;达到目的;

如果你想把这些劳动成果变成产品,那么还有一个问题,加密!
回复 支持 反对

使用道具 举报

     
发表于 2019-2-20 23:05:12 来自手机 | 显示全部楼层
先参考和弄懂别人的程序,再尝试改一下
回复 支持 反对

使用道具 举报

     
发表于 2019-2-21 08:46:51 | 显示全部楼层
washu 发表于 2019-2-20 21:16
小朋友们用的图形编程语言,是比 C 跟高级的语言,也就是说和汇编距离更远。

那么这算是啥,先学飞 ...

先学飞的人着陆与摔没有区别!

并不是不赞同学习C语言,而是要看自己的理解能力,从基础的汇编开始去理解C

如果自己学汇编遇到坑绕着走就算了,而别人学时就喜欢填这样的坑,坚持填几个就变成好走的大道了!
回复 支持 反对

使用道具 举报

     
发表于 2019-2-21 15:02:34 | 显示全部楼层
本帖最后由 washu 于 2019-2-21 15:04 编辑
流小新星 发表于 2019-2-21 08:46
先学飞的人着陆与摔没有区别!

并不是不赞同学习C语言,而是要看自己的理解能力,从基础的汇编开始去理解 ...


那你准备自己种稻子养猪呢,还是自己绕电阻?社会分工决定了,99.99999% 的人可以一辈子飞在天上的时候,你还忽悠人家学汇编,这叫做浪费社会资源!

这个社会有种职业叫做码农,他们的工作就是写程序。不管是 Windows 这样的操作系统,还是手机上的 App,它们背后就是一堆码农在敲键盘,这是一种职业,而其中比较优秀的可能掌握几门编程语言,比如 Python,Ruby,Java...,比较一般的就是那种毕业二十年还只会 C++ 的了   我忽悠过好几个纯码农玩单片机,人家电路基础都没有的,就是平时喜欢动手做点什么而已,买个 AVR 芯片买条编程线回来,看看单片机手册,几天就玩得熟溜,根本也不需要买什么单片机学习板。

反例就是矿坛上的电子爱好者,成天被忽悠买 51 学习板,学汇编,折腾几年也没玩上单片机

这说明什么?

1、学习高级语言压根不需要汇编基础,而且世界上绝大多数以编程为职业(码农)的人也从不学汇编这玩意,一开始就是 C,Python,Ruby,Java...

2、掌握一门编程语言但不懂电路的,学会用单片机的难度远小于懂电路但不会编程语言的

回复 支持 1 反对 0

使用道具 举报

     
发表于 2019-2-21 15:21:32 | 显示全部楼层
washu 发表于 2019-2-21 15:02
那你准备自己种稻子养猪呢,还是自己绕电阻?社会分工决定了,99.99999% 的人可以一辈子飞在天上的时候 ...

越低级语言,对数学和器件熟悉程度要求越高。绕不过坎只能一直迂回。
高级语言很多是模块调用,只管用不要管底层是如何调用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-30 09:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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