电子电气方面的经典书籍有哪些值得推荐?

关注者
1,791
被浏览
1,488,964

19 个回答

作为电气的学生,要读的书很多,要学的专业课也很多,经典书籍也蛮多。

PS:这些教材的电子版,同学们可以去这里

特百度网盘,百度网盘搜索,百度云盘

搜搜试试

1. 基础之书——邱老的《电路》


许多学校的教材也是用的这本,各大电气名校考研的电路原理指定参考教材基本都有邱老的这本书。


电路(第五版)(邱关源).pdf_免费高速下载

2. 王兆安、刘进军主编《电力电子技术》 同样也是许多高校的指定教材。


电力电子技术(5版 .pdf_免费高速下载
电力电子技术王兆安第五版课后习题答案.pdf_免费高速下载


3.《信号与系统(第2版)(英文版)》是 美国麻省理工学院(MIT)的经典教材之一 ,绝对值得反反复阅读的一本书。

[奥本海姆]信号与系统(第二版)中文版..pdf_免费高速下载

4.

这是一本国际知名的经典教材 ,第一版出版距今己50余年《工程电磁场(第7版)(英文版)》基本概念讲述清晰,注重物理概念,淡化公式推导,强调自主学习图文并茂;每章后面配有大量习题。文笔流畅、可读性好,是电气工程和相关专业大学本科电磁场课程的理想教材或参考书。

5. 童诗白的《模拟电子技术基础》

童诗白(1920~2005),中国电子学学科和课程建设的主要奠基人。主编和参加编写的电子技术方面的教材12套;在国内率先开出了“电子技术基础”、“电子技术课程设计”、“电子电路故障诊断理论基础”、“现代电子学及实验”“模拟电子技术基础”等课程。


《模拟电子技术基础+童诗白+第四版》.pdf_免费高速下载

6. 《C程序设计语言》 Brian W. Kernighan / Dennis M. Ritchie 这本书又称为 R&K C,还有谁能比C语言之父对C语言更有发言权的呢?推荐看英文版。你会惊讶于在短短不到200页的篇幅内,这两位牛人将C语言描述的这么清晰。即使不专门学C语言的人也可以拿出来翻翻。

C程序设计语言(第2版·新版).pdf_免费高速下载

7.这本电机学也蛮经典的

8. 怎么可能少了陈伯时老先生的这本 电拖呢?

电力拖动自动控制系统

9. 还有

@欧阳芃

推荐的这本书。

数字设计原理与实践 第四版(john F.Wakerly ).pdf

新浪微盘快到期了,要下载的赶紧的。

————————————————————————————————————————

补充

10. Analysis and Design of Analog Integrated Circuits


这本书被称为 模电领域的圣经 。此书是UC Berkeley的电子工程系为EE140和EE240专门指定的教材,可以说是汇聚了该校的精华,berkeley之精华乃硅谷之精华,硅谷之精华乃IC之精华。阅读此书(英文版),你一定能体会到作者思维之严谨、论证之严密,条理之清晰。该书的一大亮点就是把bipolar和CMOS作为counterpart很好地结合在了一起讲,能带给读者完整的晶体管级IC的概念。

Analysis And Design Of Analog Integrated Circuits.pdf_免费高速下载

11. Design of Analog CMOS Integrated Circuits 模拟CMOS集成电路设计 作者B.RazavI

这本书在国内的拥趸很多,最大的特色在于书中计算复杂的小信号模型使用了不少巧妙、近似的方法,经常让人有拍案叫绝的冲动。这大概是因为Razavi 教授的老本行是射频电路,所以特别注重小信号的计算和寄生电容的影响。如果读者把书中的小信号模型全部计算一遍,就会感受到模拟IC的乐趣所在。

[模拟CMOS集成电路设计].Design.Of.Analog.CMOS.Integrated.Circuits.pdf_免费高速下载

第一阶段(专业基础类)

1.电路

电路理论是电气工程学科的基石,国内有分量的电路理论教材只有如下三本,无出其右。

  • 电路(作者:邱关源)
  • 电路原理 (作者: 江缉光 / 刘秀成 )
  • 电路原理(第2版)(作者: 周守昌 )

2.电磁场

3.自动控制原理

4.线性代数

5.电机学

6.电子技术

7.信号与系统

8.语言程序类

9.硬件类

第二阶段(专业类)

1.电力系统及其自动化类

2.电力电子与电力拖动类

(以下为控制类书籍,控制撑起电力电子半边天)

  • 工程控制论(钱学森)
  • 线性系统理论(郑大钟)
  • 现代控制理论( 张嗣瀛
  • 智能控制理论与技术( 孙增圻
  • 现代控制理论( 刘豹
  • 现代控制理论(俞立)
  • 控制论——概念、方法与应用( 万百五 / 韩崇昭 / 蔡远利
  • 现代控制理论与方法概论( 董景新
  • 现代控制理论与工程( 王积伟
  • Modern Control Theory
  • Linear Systems
  • Digital control of dynamic systems
  • Nonlinear Systems

3.电机与电器类

4.电工理论新技术类

5.高电压与绝缘技术类

6.建筑电气类

第三阶段

第四阶段

谢邀。

简单说说自己知道的一些可以EE方面称得上经典的书籍。

《C++ Primer》 Lippman,S.B :CPP经典书籍,或许和EE不是直接相关,但是EEer应该没有不学C or C++的吧?大一的时候看了一些,可惜后来可耻地没看完。

《Signals and Systems》 Alan V. Oppenheim :奥本海姆的《信号与系统》,《信号与系统》奠基型的经典教材。话说MIT OpenCourse上还有Opphenheim这门公开课的视频,讲得真心是好(关键讲得是一点儿不难,竟然会让你产生“Math is so easy"的感觉,大师毕竟大师),推荐去看(不过视频是Youtube的,如果要看,你懂的)。

PS:多谢

@林奕思

提醒,网易公开课上有Signals and Systems的视频,大家如果有兴趣可以去看:

麻省理工学院公开课:信号与系统:模拟与数字信号处理

《Discrete-Time Signal Processing》 Alan V. Oppenheim :奥本海姆另一经典教材,《数字信号处理》必备参考书(貌似一老师说这算Oppenheim成名作)。

《Modern Electronic Communication》 Beasley, Jeffrey S .:通信经典教材。2012年出到第九版了,让你想到了曼昆的经济学系列书籍么?

《Computer Organization and Design The Hardware/Software Interface》 David A.Patterson, John L.Hennessy :包含很多体系结构的内容,memory,DRAM,SRAM,Cache,单周期,流水线,etc.

《Probability random variables and stochastic processes》 Athanasios Papoulis :随机过程佳作,已经出到第N版了,而且据说每版都有较大不同,不是新瓶装老酒。

这个问题,怎么说呢,要看研究方向的吧。

我是做继保的,继保讲真,是结合了很多学科的知识的集大成者(我个人是这么认为的)。

so结合继保方向来说说呗。(还望各位大神批评指正,我看书不多)

==========================================================================

1. 电力系统分析

这个不用说了,学电力系统及其自动化专业的都要学,这个要是不学的话,怎么去找正常状态和不正常状态以及故障状态的差异,保护原理的构成就无从谈起了。

电分的话,推荐这么几个版本(以编者为例,因为它们的名字都太相似了)。

1)陈珩(稳态)+李光琦(暂态)版本

2)何仰赞版本

3)夏道止版本

进阶版

现代电力系统分析 ——王锡凡编 这本是研究生的课本,很经典,难度挺大的。

2. 电机学

不用多说吧,这门课是必须要学好的

我大三的时候是这两本结合的看的

1)汤蕴缪版本

2)阎治安版本


3.电力系统继电保护

1)张保会,尹项根版本

2)贺家李版本

进阶版本

新型继电保护和故障测距的原理与技术 葛耀中编

4. 高压电网继电保护——朱声石编 主要讲的是线路保护

5.大型 发电机变压器 内部 故障 分析与继电保护——王维俭 设备保护

6.大电网技术——王梅义编 讲的事故案例

毛遂自荐

很多人纠结于专业,纠结于某种技能,可能你跑偏了,我想把你拉回来,所以我出合订本,看看再说!

更更更,生命不止,更新不已 (2022-6-14)...

最近人工智能突然火爆,大家要密切关注,个人认为2023是人工智能元年,点下面链接有个AI的测试入口,可以试用下,支持1对1聊天、VSCode、Idea插件(辅助编程)、浏览器插件等。


【更新履历】

  • 2022-6-14 增加 电子电路入门篇 第十八~二十一节
  • 2022-6-14 增加 职业规划篇 入职注意事项
  • 2022-5-26 增加 电子入门篇 第一节 十~十六小节
  • 2022-5-25 增加 管理运营创业篇 第三节 创业
  • 2022-5-25 增加 软件篇 前言 第一节
  • 2022-5-25 增加 管理运营创业篇 第一~第五节
  • 2022-5-25 增加 机械设计篇 第一节 第二节
  • 2022-5-25 增加 青少年思维训练篇 第七小节
  • 2022-5-25 增加 开发设计篇 第一节
  • 2022-5-25 增加 单片机篇 第四~第七节
  • 2022-5-25 增加 电子入门篇 第十七节
  • 2022-5-24 修改 电子入门篇 第一节 七、电阻
  • 2022-5-24 修改 电子入门篇 第三节 变压器
  • 2022-5-13 增加 电子入门篇 第十五节 LC震荡,电容电感组成震荡电路
  • 2022-5-13 增加 电子入门篇 第十六节 一张图就明白什么是上拉电阻与下拉电阻

【知乎向导概述】

  • 知乎有了目录功能,我会把所有的精华文章都整理到这里;
  • 本篇文章是为祖孙三代准备的,少年入门,青年应用,老年娱乐;
  • 如果你时间实在有限,就只看这篇文章了,会不断修订更新;
  • 如果你是为了学点东西,建议用电脑浏览器阅读,如果你是为了看着好玩可以用手机。

向导文章的价值?

  • 自己局限、经历、经验范围内,尽量输出有价值内容。
  • 个人认知能到什么层次,我就会真实输出什么层次的内容。
  • 向导个人所有知乎文章也是为自己的小孩准备的,请自行确认!
如果长时间电子/单片机不入门建议参加向导组织的训练营,对未毕业的学生两种参与方式:
1、 做向导助理,具体看目录最下面 招聘助理事宜 ,免费学习, 2、 不做助理,参加训练营是600元学习费用(仅对学生优惠),基本也就是相当于公益了。
已经工作的朋友不再免费,收取适当费用,看看这个 向导:向导电子单片机编程技术半公益训练营(A25版)

一、前言

大家说好才是真的好, 谷歌、必应、百度搜索“电子入门”关键词,首位或者除去广告位就是知乎向导 ,网友只收藏不赞同,但还是暴露了 ☺



知乎文章目录结构不好, 新建文档博客 ,欢迎参观考察...

不是作者多高明,而是把基础和工作结合起来,能够实用化的教程太少了,大部分高高在上,不是我们普通人能理解的,抛砖引玉,希望越来越多年轻人参与科普,为大多数人服务,而不是仅仅为天才写文章。

经常有人说,应试教育固化影响小孩的创造力,所以进行各种素质教育,教育改革。

个人观点,实际上是因为近代西方占据了先发优势,导致盲目照搬非常多的东西,不管年轻人理解不理解,先把公式定理演算等等挪过来再说,这就导致了基础知识与学术知识实际上是脱节的。应试教育不是大问题,而是要把课程编排明白了,让小孩把该懂得道理能够读懂,不行就用一本书解释一个道理,而不是一句话带过,让大家猜,懂了才能自行总结方法,才能进展快。

基础不牢,地动山摇。

很多人理解错了这句话的意思, 基础不是学习浅显的公式、定理,而是对事物本质、事物机理的把握。

让小孩、初学者最能直观理解事物本质的方法本来是中国人的传统艺能, 但是被各种忽悠带歪了。

  • 从整体上认知事物 (道生一,一生二,二生三,三生万物)
  • 类比法认知事物 (君子生非异也,善假于物也)

所以向导喜欢用框架学习法和类比学习法,这是我发明创造的吗?这根本就不应该是什么高明的东西,而仅是捡老祖宗留下的一点牙慧而已。就是我们从小学到高中每天在学的经典书籍,天天在背诵和考试,甚至一月一大考,一周一小考,每天都考考,都烤糊了,这样也好,起码是硬灌到脑子里了,实际我们差的仅仅是一点,是不变通,不动脑,不总结。

读荀子的书,照本宣科,不知变通,善假于物仅仅就是理解为利用工具,但是大家读了这么多书,仔细考虑下诸子百家写文章,最喜欢用的方式是什么?

北冥有鱼,其名为鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也;怒而飞,其翼若垂天之云。是鸟也,海运则将徙于南冥。南冥者,天池也。

庄子说的真的只是一只大鸟?

看到有鱼,很多同学都觉得怎么做了好吃,但是,鲲之大,一锅炖不下 ☺

燕雀安知鸿鹄之志,说的真的是燕子和鸿鹄?

庄周梦蝶,蝴蝶是什么?

全部是借物喻人,我们为什么不能反过来,借人喻物呢?

  • 单片机不就是个人吗
  • 电路不也是个人吗

单片机是没有手脚的大脑(电脑)、电路的电源是心脏和血液,传感器是人的五感...

万事万物皆可借用,或类比、或反证、或寄情、或劝学...

论证下:

为了让更多迷糊的同学真正明白什么叫做善假于物,向导脸也不要了,向导借着三大引擎吹嘘宣传自己,这也叫做善假于物,都学着点:) 我这脸皮还是薄,起码有个实证。

大家不是还见过各种蹭名人照片的,也是假于物,这叫做恶假于物,坑蒙拐骗,都是套路!

君不见歪门邪道蹭照片,朝如专家暮成渣,

君不见不讲武德下飞机,鼻青脸肿惨兮兮...

真希望同学们犹如鸿鹄,而非池鱼,鲲鹏一日同风起,扶摇直上九万里。


图 18

控制心理风险,避免被PUA和精神控制

读到这里的年轻人记住一句话,从此以后,记得任何人对你说了一句话,你读到了一个句子、一个段落。 不要觉得多高明,而是问问自己,他为什么这样说,为什么这样写,为什么这样演,为什么这样对待别人,每次你都反复问自己这一句就好了。

再重复一遍,

不断追问,他为什么这样说,为什么这样写,为什么这样做?

不断这样追问自己,你的思维高度很快会提升两个层次,然后你会与众不同,你会脱颖而出!

与众不同 是在社会上生存的一项优势技能!

如果你不相信自己,特别是金钱至上的环境中,极容易受到欺骗与诱惑。失去金钱是小事,精神被控制,失去心理健康更可怕。

太多的手段可以欺骗年轻人,所以一再强调要控制风险试错。

当你感觉到很不正常的事情,可能与你的三观产生激烈冲突时,它可能真的是不正常和欺骗的东西,这个时候先否定而不是全盘接受。你接受了就立刻成仙成佛了?最好的办法是脑子休息下,第二天再去考虑它的正确性。晚一天不会失去什么,都失去多少年了,也不差这一天,冷静下来你可能会得到完全不一样的结论。

人生不如意十之八九,有些人会利用你的不如意对你进行精神控制和欺骗。

再重复一遍:

不断追问,他为什么这样说,为什么这样写,为什么这样做?
不断追问,他这样做是为了私利,还是为了大多数人好,他真的有资格对其他人指手画脚吗?他说是为了我好,是为了我的私欲,还是为了公义?

你觉得赚了大便宜的事情,可能是陷阱的开端,人赚不到能力之外的钱,天上没有掉馅饼的事情。

还是拿我自己为例,我无法猜透其他人在想什么,但是我知道我自己在想什么!

向导努力的更文,也必然有私心,我可以获得更多人的认可,满足自己的虚荣心(好为人师,这也是大部分人的秉性,俺也一样),或许后期粉丝多了,能获得金钱收益,让生活更轻松些,利益驱动自然努力。 要么满足虚荣心,要么有实际利益,无利不起早不是。

在这个过程中,我会失去休息时间,我会死大量脑细胞,但是我知道这些失去是值得的,也是有必要的,有失才有得,不失去些东西换来的必然是浮萍,也不那么可靠。

就是这么啰嗦,我觉得前言部分是更重要的。你可以不选择继续看下去,对我也没什么损失,少了与一位懒汉的交集而已。知乎的名言,关我何事,关你何事!自行联想,俺是文化人,从不吐脏字。

不要唯技术论,选择和格局比会一点技术的技能更重要。

你得到一些东西,你必然会失去一些东西,能量是守恒的。
如果你自己觉得没有失什么,可能隐性成本会更高,要么失去的是时间,要么失去的是亲情、爱情,要么失去的是健康、失去成功的基石、失去前进的勇气、失去抗挫折的能力,哪一个都比明面的金钱更贵重,你失去的是无价之宝

所以看起来多么伟光正的人物,我们可以向他学习正向的任何东西,但是永远不要迷信他,人本来就是善恶同体的动物,一辈子能够把自己的恶压制到一定程度,不让它盖过你的善良,这就是好人了。

宁可自大莫自卑,失去自信如坠深渊。

二、年轻人的误区

费力不讨好的错误认知与完美主义的笼子

以下几张图片,觉得比较有用,就当送给年轻人的福利。

1、韧性比聪明更重要

找到一条路先上去,先站到高处,无论是爬上去的还是飞上去的,然后你再回头看那条路是捷径,而不是每条路你都去尝试一遍。

任何动物都是趋利避害,走捷径的,但是捷径大家都会走,所以路窄且拥挤,有一条大道竖着几面墙,但 实际上每面墙仅有一毫米厚,用头撞也可以毫无伤害的撞过去 ,但是大部分看一眼就绕道走所谓的捷径了。

无论做生意或者学习提升,你不是碰到一个1mm的墙,而是十几二十个,我们要需要的就是撞过去, 而不是绕道而行,这才是最快的路径



2、失败是成功之母,控制风险的试错是唯一的路







我们的很多所谓的“权威”、“老师”,说实话真把我们给教错了。没有整体观,没有系统观,只说一些片面的东西。说白了,他们如果真的有的话,成就不仅仅局限于此,我想说大部分人是被引到一条岔路了,我们尊重老师的引导,但不要迷信他!

君不见万千学子天上来,冲进水沟不复回。

君不见蹉跎岁月悲白发,朝如青丝暮成雪。

世界上没有完美的东西,你却在追求她,此女只有天上有,你这是要上天的节奏。☺

人的本性引导你做 完美主义者 ,但是这样做的结果会让你 完美的失败 ! 我们的目标是 做不完美的成功者 ,而不是完美的失败者!

以上两句话请重复记忆一万遍!!!

3、怎样去学习,大项目、小项目,首先是做个完整的东西出来,能用就好,开始不要追求细节,不要过度优化,先完整再追求完美,这样兴趣不会丢失,有成就感,也能获得持续的动力!



4、外面世界很大,我要去闯一闯

实际上年轻人都有出人头地、走南闯北的理想,但是大部分人陷入一个误区,以为闯荡一番就一定能行。

实际上你自身的资源在哪里,你就应该在哪里 ,家里人脉较广,你跑到一个陌生的地域从头开始,非常难。

但对于家庭条件不好的同学,闯荡一下未尝不可,凡事要动脑,而不是过河随大流。

如果比较恋家的同学,建议是找寻当地不远的地级市资源,慢慢发展就好了。总是追求北上广,可能得不偿失。

另外就是不要多个城市切换工作,好不容易积累的资源,因为距离疏远,又要从头再来。

上面以上错误,我全部犯过,本来要去月球,我去火星先溜了个圈,然后还要回到原点,教训惨痛,引以为戒!

5、知道自己不知道是进阶的开始,觉得自己无所不能,在座都是垃圾, 你在山巅...

但是我要告诉大家,一定要辩证看下图。

  • 骨头里就是要有这种在座都是垃圾的傻傻的精神,行动上要控制风险试错,戒骄戒躁。
  • 自信很重要,这是成功的基石,失掉自信,更是万劫不复,战略上蔑视敌人,战术上重视敌人,敌人可能是自己!
  • 人不可有傲气,但不能无傲骨。
  • 把战胜自己的战术也要练到极致!




三、减压与思维重建

我慢慢明白了 为什么 不快乐 ,因为我 总是期待一个结果 。看一本书,期待它让我变得深刻;吃饭游泳,期待它让我一斤斤瘦下来;发一条微信,期待它被回复;对别人好,期待被回待以好;写一个故事说一个心情期待被关注,被安慰;参加一个活动期待换来充实丰富的经历。这些预设的期待如果实现了,我长舒一口气,如果没实现呢,就自怨自艾。可是小时候也是同一个我,用一个下午的时间看蚂蚁搬家,等石头开花。小时候不期待结果,小时候哭笑都不打折。
——玛德《允许自己虚度时光》

向导个人的理解:

努力的人生很精彩,但是努力不是为了必须有结果,找到自己的兴趣,去做感兴趣的事,无论有没有结果,都不是在虚度光阴。

假设所有人都理解你,你得有多普通!
如果你被黑暗敲打,恰恰说明你是光明本身!

向导:人生疑惑第一解

向导:控制风险(轻仓、备份、买保险)的试错是最好的成长方法

向导:思维的要诀--打造自己的模式




【葵花宝典】

少年,我看你骨骼清奇,是个练武奇才,赠你几本武林秘籍,

秘籍:电子电路基础入门资料

秘籍在手,天上地下唯尔独尊,破茧成蝶指日可待。



世人皆畏远山崎,平路打墙鬼立起,

大笑三声梯云纵,我生由我不由你!



这个葵花宝典本来在最下面,现在把它提前,是鉴于知乎很多学生,急需好的电子电路基础资料、课程衔接知识。

个人也写了一本电子书,但是没写完,没有完整版,写完的已经全部放出来了,不是敝帚自珍也不是为了收费,而是时间有限...

世界上最实用的电子入门教程V1.9

链接: 文件分享 密码:9h87u7

除了训练营的课程,这本电子书后续的文章大部分都在知乎专栏和本篇文章了,请翻看向导的各个专栏。


以下个人编写的电子电路入门课是针对零基础、非专业,或者长期困于牛角尖的电子爱好者,虽然是电专业但是被深奥的理论及公式绕晕的朋友准备的。

高手或者专业领域的朋友自行略过,也可以看看开拓下思路,用于家中小孩的电路入门课。这个有自信,市面没有比这个更好的了。☺

【电子电路入门篇】

声明下: 类比是辅助理解而不是准确理解,类比学习方式也是费曼极力推崇的一种方式,实际这是国外许多入门课程的基本写法(参见最下面的推荐书籍、网络课程),国内很多专业工程师也已经开始这么做。早期的科学家都是从类比开始认知自然事物,然后猜测其运行原理,形成模型和公式,类比法先入门,然后与课本、专业书籍对比参考(必不可少),你自然能够分辨偏差在哪里,类比了解了基本的专业术语,然后再找严格的定义,这样是进展最快的,希望以下内容能够为长期不入门电学的朋友开一扇窗。

初中、高中、大学电路课程衔接有问题,最关键的问题是入门阶段的书籍写得过于艰深了,基本上就是在半空中写,也就是一个名词还没解释清楚,到了下个章节立刻就应用这个名词,甚至完全没有铺垫就用专业名词推导公式或者解释专业名词,犹如用文言文解释 甲骨文 ,这样能鼓捣懂的要么是天才,要么就是毅力超强的家伙们,自行花费大量时间去涉猎、补充基础知识,然后才能初步掌握电路原理,并且因为学习不系统,没有整体认知导致存在各种缺陷,进展缓慢。

个人认为电路基础课程的教学设计有些倒置了,非常晦涩难懂。

现在鼓捣电路的很多是半路出家的和尚...



也是没法子,因为基本找不到合适的各阶段的理论书籍。

下面是我写的电子入门课,尝试改变下课程思路,自荐下。

电子类文章整理到两个专栏:

年轻人的福利,拓展阅读:

第一节 电 电流 电压 电路 基本电子元件

一、电与水

一般我们把电子知识想复杂了, 实际电就可以理解为是水, 电的特性和水的特性是类似的,因为电是看不见的,所以我们理解起来有困难。

二、电流与 电流表

这个是水流量计( 1单位流量= 1吨/小时=1T/H)



这个是电流表(安培 1A= 1库伦/秒)



电流表实际就可以看成是水流量表,

就是计算水的流量,电的流量的意思。

我们水管中流出了多少水,很容易理解,

实际电在电线中流动,可以看成水的流动是一样的 。

三、电压与 电压表

这个是水压表



这个是电压表



我们可以认为水压表测量水对水管的压力,

电压表是测量电对电线的压力。

水是从水压高的地方流到水压低的地方,

补充:关于高低处水压与电压类比及电流大小,另外写了一篇: 向导:电压与水压 电流大小与电流速度 (觉得比较重要,直接在下面详述了)

神图一张!



高处的压力(水压/电压)更高,还是更低?

从上图可以看出,最大压力集中在容器底部,每个水口处水压是更上面的水柱形成的。

另外,大家注意左侧串联电池是倒置的,一般我们习惯画法是电池正极向上,电池反转后正好可以对应左图,所以底部压力最大(电压最高)

大部分讲电子的书中有一个概念是讲解模糊的,就是 电流大小 ,看起来四个字很简单,但是这里极度容易让人误解。

  1. 大部分人认为 电流大 是类似于粗水管可以放的水量大, 电流小 只能是涓涓细流。
  2. 这样理解不能说错,但是容易让人跑偏,实际上电流大还有另一种情况,就是 电流速度快 ,这样是更容易贴近电流原本定义的理解。单位时间内流过的水(电)多了,自然水流、电流也可以说大了。

假设我们铺设一个固定口径的管道(水管、电阻器),这个时候注意,要用第二种情况理解电流大小, 电流速度大,电流大,速度小,电流小。压力大,电流速度大,电流大。

右侧图几个放水口的口径都是固定的,所以压力大,水流速度快、水流大。

左侧图,为什么底部电压越高,灯泡越亮?是因为,压力大,电流速度快,短时间内通过灯泡的电子多,电流大,越亮,电压低,反之亦然!

注意:以上分析基于电线、出水口口径固定(阻力固定),可以认为电线、出水口无电阻(超导体)、水阻。当电线有电阻时,就会出现电压降低,电线越长,电阻越大,电压越低。

电流总是从电压高的地方流到电压低的地方。 总结一下 :

  • 电可以认为是看不见的水
  • 电压类似于水压
  • 电流类似于水流

四、水路与电路 水路图与电路图



大鱼吃小鱼,小鱼吃虾,虾吃水,水落石出;

小溪入大河,大河入江,江入海,海阔天空!

读下去,云山雾罩的你可能会拨云见日,神清气爽...

水到处流动 形成小河、小溪之类。 电到处流动,形成什么,就是电路。 水走的路是水路,电路这样就好理解了 水路图 家装用的



电路图



不要把电路图当中的东西看复杂了 , 我们看水路图 实际就是一个个水阀、洗衣机、热水器之类的。 电路图中每个元件、设备、也就是类似于那些水路中的设备,

无非是一个用水来驱动、控制,一个用电的。

总结一下:

  • 水路 水走的路
  • 电路 电走的路

电路图中有很多元件,

我们可以把很多元件看成水路中的很多元件就容易理解。

五、二极管

二极管 实际是单向阀门, 意思就是说 水只能从一头进另一头出 。 二极管就是这么个作用,它只能从一边过来的电能通过,

从另一边过来的实际就过不去,记得电看成是水。



这个就是二极管的符合,很形象,右边有个竖杠,很明显,从左边来的电能流到右边,从右边来的就被挡到了。左边来挡片冲开,右边来抵死。



二极管在电路中的特性与水路中的单向阀基本原理一致。

加强理解: 向导:3.1 二极管 水类比动画

二极管 实物图



下面以油路单向阀为例也是一样的。



单向阀就是这样的,进油口看成进水口推动球可以把阀门顶开,然后就从出油口出去了,反过来顶不开这就是单向阀。

六、三极管

三极管 实际是个小阀门控制大阀门的器件。



Ib 处的来点小水流(电流)顶开阀门 Ie 到Ic 这个大水管 就可以过很多水了。注意这个模型对应的是NPN型的三极管



加深理解: 向导:3.2 三极管 水类比动画



再来看一张图,下面这个图对应的是PNP型三极管



三极管 大家想着是一小段水柱顶着一个大水管的阀门,

这个小水柱水抽走越少阀门关闭越多,大水管流的水就越少。

(抽走的水越少,B点电压越高,EC电流越小)

当小水柱水被抽走越多阀门打开的越多,大水管水流越大,

(抽走的水越多,B点电压越低,EC电流越大)

这个可以对应常见的共基极PNP型电源控制开关



这样小水柱就可以控制大水流,这就是三极管的放大作用 ,

并不是小水柱突然变大了,

而是一边是小水池连到小水柱控制,

另一边还有个大水池连到大水管供水。

这就是双电源供电一个大水池,一个小水池。

小水流控制大水流 就实现了,这实际就是三极管放大作用 。

三极管不是凭空把电放大了,而是说: 小的电信号(小水流)

把另一个通路的大电流的阀门打开了,

后面的器件能够感受到这个大电流, 所以是放大了。

对电来说 实际有两个电源供电的 一个是小电源 一个是大电源

咱们的收音机,实际就是天线,接收到空气中的小电流,你可以理解为毛毛雨。 这个毛毛雨到了三极管的一个脚上打开阀门,

电池供电通过另外两个脚流动,再打开一个后面的三极管,

一级级的这样不断打开,一般收音机最早的时候是三管收音机、六管收音机,

就是这么个意思一直到这个水流大到能够推动喇叭就发声了。 打开一个三向阀 再打开一个 。。。

过大水流 三极管放大就完成了

看看下面的收音机电路图,是不是一下子就理解了:)

再深入一点理解三极管看这个链接:

向导:1.13 电路基础--三极管





绿色是信号,是从天线来的电信号,往后,实际到了第一个三极管的后级,再往后传递的都是电池提供的电流(蓝色),并且蓝色的电池电流,只有大小变化,都是从上往下流的。

关于三极管大坝结构参考下这个链接:

向导:一张图就明白什么是上拉电阻与下拉电阻

下面就是三极管符号:



NPN 表示实际就是这个水管只能从C 流到E端 ,PNP 就是水从E流到C端(看箭头方向)

七、电阻

电阻实际是粗细不同的水管

为了让水流的小一点,慢一点,这样后面的器件,不至于受到大电流冲击搞坏了 。



电阻无方向,电阻就是阻碍电的流动,

你可以想象一个水管里有水垢,水垢越多,电阻越大 水阻越大。

这里电阻结合三极管理解下: 向导:3.4 电阻 三极管多级放大原理 水类比动图

直接放下面,容易阅读

电阻与水阻

电阻是粗细不同的水管

电阻的作用是限流限压,大小不同的河道、水渠作用是一致的,让有限的水流通过。

后面的水路需要多大的水流,我们就需要给它提供多大的水流。

后面的电路需要多大的电流,我们就需要给它提供多大的电流。

最简单的实现方式就是增加电阻控制。

电阻的水类比动图

三极管如果通过的电流太大,会造成三极管烧毁,河道如果水流太大,会造成溃坝。



没有水阻(电阻)的情况

参考: 向导:3.2 三极管 水类比动画

所以我们增加水阻,这样就限制了水流的大小,看动图:



如果电阻仅仅做到这个,就是大材小用了,如果把电阻和三极管结合在一起,形成一个简单的三极管电路,我们会看到神奇的现象。

下面会解决一个课本上总让人迷糊的问题,就是为什么三极管CE极主通道打开了,C极电压还降低了,为什么三极管B极和C极电压变化是反比的关系(B大 C小,B小 C大)。

认识下,我们的水路三极管:



先看三极管截止时,电阻为三极管做了什么。



因为三极管是截止的,所以C极的地方形成个小水池,完全阻挡了电池来的水流,所以最终水流积累到灌满,无法流动,这时候水池四壁的水压和水泵(电池)的出口压力一样。

以上水路对应的电路:



如果CE完全打开,水阻足够大,这个小水池的水很快释放掉,因为水阻(电阻)的作用,微小水的水流对小水池四壁的压力无限趋向于0,也就是C极电压为零。

注意观察,这个时候B极来的控制水流(绿色)足够大,完全推动滑块将三极管主通道打开。



这里引出一个问题,三极管有电压放大的作用,B极电压变化控制C极电压变化,C电压变化的范围是受到C极电阻的大小影响的,如果B极电压变化速度过快,电阻的作用会导致C极小水池的无法灌满,那么C极电压会达不到需要的电压。

以上水路图对应的电路图:



划重点:B极的电流变化是控制C极小水池的变化,C极小水池的状态就会反映出B极的变化。

实验发现发现很难控制滑块的运动,水流的速度和大小很难控制,电阻只加C极的不行,多次测试最终再增加三个电阻,如下图:

电阻是什么?电阻就是大小不同的通道(管道)。

下面把电路进行拓展,三极管和电阻组成的放大电路基本原理,我们通过类比理解它!

三极管一级放大动图



如果没有绿色电信号,实际上以上电路就是靠R1 R2 为三极管建立静态工作点,实际上就是让C B极提前灌上一些水,让开关正好处于半开的中间状态,再来控制信号时,C极的水流变化正好反映出B极的控制电流变化。

对应的电路图:



到此我们解决了一个三极管电路和电阻的相互作用,但是我们用两个三极管组合成两级放大电路才更好玩。

三极管多级放大动图



划重点: 第二个三极管B极的电流是主通道(电池)电流分出来的,

而不是原始的绿色信号,原始电流变化控制第二级自身的电流大小变化。

然后是第三级、第四极不断放大,组成多级放大电路。

以上很关键,解决三极管电路中第二个比较容易迷糊的问题,就是信号传递的到底是什么?

原始信号可能是无线电波、传感器信号、外部控制信号等等,第二级开始,实际上B极的信号已经变成了自身通过电阻限流的一条通道的电流变化!!!

对应的电路图:



继续理解:

三极管C极是关键

对于NPN型三极管 C极的变化是关键,我们经常觉得理解了,实际上还是不行,细节程度不够,这就是很多电子工程师经过大量实践之后才能顿悟一些基本原理,所以真正理解内涵,才能真正理解电路,似通非通、半懂不懂实际上还是没有入门。



R1 下方 C极小水池是关键,B极水流的动态变化控制C极小水池的变化 ,实际上B极因为信号非常弱,100倍放大的真正理解是,B极 1mV 变化 C极100mV 也就是0.1V变化,三极管放大是小信号放大,而不是B 1V C 100V,这种三极管基本上不存在,所以需要多级三极管组合才能获取到我们需要的信号。

另外要注意R1上端的电流电压变化是不受B极控制的,这也是电阻的作用 只要电阻足够大 一端的信号变化,对另一端的影响就很小 所以我们经常看到电路中10K、4.7K之类的上拉下拉电阻,它不影响电源,只影响信号,这里又出现了新名词,需要解释!

上拉电阻与下拉电阻

关于上拉电阻,下拉电阻真正的内涵可以参考:

向导:一张图就明白什么是上拉电阻与下拉电阻



另一个名词也出现了,继续解释,电压符号是V 单位是伏特(V)1V=1000mV, 它类似于我们说的锅炉压力、压力表

水压力符号?_39符号大全
水压力符号?
①水压代表水的压力,压力单位为帕斯卡(简称帕),符号为Pa,
②由于Pa太小,工程上常用其倍数单位MPa(兆帕)来表示
③1MPa=1×10∧6Pa,
④1MPa=10kgf/cm2,
⑤0.1MPa=10mH2O,
⑥1kgf/cm2=10mH2O
式中kgf/cm2是公斤,1MPa(兆帕)的水压就相当于10公斤水压。



电压伏特这个单位刚刚好,我们大部分时候用它,但是小电流信号可能是mV uV,1V=1000mV=1000000uV,这里提前了解。下面是电压表是不是与上面的压力表类似:)



水流与电流很类似,有部分朋友不建议用水类比,实际上个人认为类比的方法不对,我们类比是为了解决初学者建立初始印象的过程,实际任何流体都有共性,水流、电流宏观是一种理解、微观又是另一种理解,能解决部分问题就是好方法。例如牛顿的部分定律不一定符合现代科学,但是在某个范围领域内就是解决问题的最佳最快的方法。学习中不要以偏概全, 没有统一的定理公式,只有适合于某个领域、某种情况、某个时间段、某个空间的定理和公式。

到这里我们理解三极管放大了吗?还有问题,C极变化上面用动图解释了一遍,但是还是有个模糊的问题。看下图,这是我初学电路时深恶痛绝的一张图:)



上过高中的同学对正玄波图形不陌生,但是又很陌生,以前我认为填鸭式很不好,但是随着年龄增长发现这是当教育资源受限时的最好方法,因为我们学习阶段被填鸭式的灌输了,一位老师面对一堆学生,先让大家有了基本的素养,但是突破就要靠个人了,填鸭没有领进门但是起码是给了我们梯子,很简单的说,当我们说起正玄波,没法为小学生讲的太细,因为没有这个梯子,基本知识积累不够。如果我们能把它和实际结合起来,越来越多的年轻教师能够理论与实践结合,让同学们理解起来更快些,这样最好,也是我们不断写入门知识的初衷。

啰嗦了,继续



正玄波是二维图形,实际上要用三维图解释会更清楚,

我曾经尝试用动图解释信号放大,但是个人对动图的制作也是刚刚突破,原始的动图比较简陋,会继续调整尽量更形象些。

参考理解: 向导:1.13 电路基础--三极管

电阻的符号



八、电容

电容,就是水桶、水缸。

存储电的容器,存水的是水缸,存电的是电容。还有一种电容是漏斗、筛网,用来过滤的。

加深理解: 向导:3.3 电容 水类比动画 开局一只碗...

因为后面的元件需要是稳定的水流, 你可以这样想象我们拿着水桶往水缸里倒水的时候,水面上起的水花是很大的,这样的水花,对后面的器件是有损伤的。 假设你在水缸的底部开个洞,接个水管,不管水面怎么起浪花,水管的水是稳定的,

这就是电容, 就是个水缸,存水的 。

筛沙子的过滤网,让细沙过去,粗砂留下来,这个网是另一种电容。

杂乱的水波(电波、频率快或慢)被筛掉,剩下的是后端电路能用的电波信号。

更新补充---20220428

水要通过池塘、湖泊,首先需要灌满它才能过得去。所以这部分水(电能)可以被这些容器保存下来,这是电容的储能作用,另外很明显,无论前面的水流多么湍急,到了湖泊就要先灌满它,湖泊开口再向下游流水,自然流水就缓慢一些,所以它也有缓冲的作用。大波浪到了湖泊变平稳,实际变成了小波浪,波的形状都变了,这就是过滤的作用,只允许特定的波通过。

所以电容在电路中是储能、缓冲、减压、过滤器件。

  • 储能器件 对应电解电容
  • 缓冲过滤器件 对应耦合电容
  • 漏斗 对应滤波电容

同一颗电容在电路中摆放的位置不同,作用不同,也就是在这个电路中它主要起漏斗的租用,但是在另外的电路中,它就是做储能了。

九、电感

电感可以对应于电容来理解,电容是盛电的容器,电感其实应该叫做磁容,或者叫磁缸,

拓展阅读:

首先发现的是电磁感应,所以先给他起了个名字叫做电感,实际上它就是能够存储磁能的容器。

这些磁能的变化会引起电能的变化,然后利用这种特性放到电路中,做成变压器、滤波电感之类(也是个筛子,筛去一定的电波)。

十、电线 接插件 插座




各种线材、插座等等,这也是一种电子器件,无非是太简单,大家都忽略,起到用来连接其他电子器件的作用。

十一、发光二极管


首先它是个二极管,如果电正接发光,反接就不发光。

发光二极管寿命不是想象的那样长,有两个问题会导致发光二极管寿命缩短。它是易损件。

  1. 发热,设计电路时,给它过高的电流,热量散发不出去。
  2. 设计电路时,给它过高的电压,导致击穿。

所以二极管要串上个电阻使用。


发光二极管符号如下:


上面图中实物二极管,长的引脚为正极,短的为负极(横杠为负)

实际来说,各种元件的符号有很多种,每个国家可能都不一样,后来国际上有几个通用的标准。

规定了一些常见元件的符号。具体拿到电路图会发现稍微有点差异。一定记得符号在维修应用中不关键(设计关键,因为设计的标准化、统一化会大量减少出错的情况),关键是符号代表的实物是什么。

发光二极管就是你给它供电(供水),它内部被玻璃或者塑料包裹的东西吃饱了就发光了。

十二、 灯泡

灯泡逐渐被发光二极管替代了。


灯泡的符号,不过现在用的很少,汽车电路中还有在用,逐步会被淘汰掉的。


相比较LED(发光二极管)灯来说,太耗电了。

十三、 场效应管

场效应管和三极管类似,但是三极管有放大作用,基本上场效应管就只有开关作用,三极管是小电流控制大电流、大电压,场效应管是小电压控制大电流、大电压。也是一个小开关控制大通路的元件。

这个场效应管用什么比喻呢?地雷。并且这个地雷是地面稍微振动就炸的地雷。

撞针很小的力就能引发爆炸。

左边雷,右边管,放在一起也挺和谐的。第三个是符号(G级就是撞针,稍微有点电压 DS就通了,可以过大电流。 再细节的东西讲电路的时候一并说明)


场效应管常用符号:


十四、继电器

我们学过变压器,知道一边过电,另一边就能感应到电,但是记得没有,中间是有个过程的,就是过电,产生磁场,磁场传导过去另一边才产生电流。

继电器利用了这个磁场,不传递过去,而是变成磁场后,把铁片吸过来,接触到另一边的铁片,这样相当于我们用手把开关关上,他使用电把开关关上的。

实际上继电器也是小电压小电流控制大电压大电流的器件,线圈上过用很小的电压电流,就可以把触点吸合,触点这个铁片做的很大就可以过非常大的电流电压。所以继电器用在强电电路非常多。

没有三极管、场效应管前,曾经是继电器的天下,及时是现在,继电器也是常用器件。

写到这里发现,动画演示还是很不错的,既然是做电子书,我用ppt重新制作一个动画的参考。一并发出。

继电器也就是个开关,和场效应管没有太大的不同,只是应用的场合不一样,个头太大了,另外触点的吸合释放,线圈的寿命都有限,所以用在不常开关的地方,再就是体积可以允许比较大的场合,电力设备,汽车上,工厂设备上。手机上一定就用的非常少了。两个继电器的个头可能比手机还大。这个时候继电器不用,场效应管就大显身手了(主要是手机类用的电也不多,可以用小器件了)。


两个引脚是接线圈的(其实就是细铜线浸泡上绝缘漆后绕圈),另外两个接触点。

也是小开关控制大通路,这个通路可以非常宽。但是开关的速度不快。(继电器这种属于机械电子器件)场效应管、三极管属于半导体电子器件。

十五、光耦

光耦又是一个开关,继电器是电生磁吸合触点,光耦是电生光(发光二极管)这个光照到一个接收器件,然后光又生电(有点想到子生孙,孙生子,无穷匮也),这个电就是控制三极管那个小电流。

猜测下,光耦的组成,一个发光二极管,一个接收光的器件+一个三极管组成的。光耦的完整说法是光电耦合器。耦合就是传导的近义词。

所以符号就有意思了:


这个接收部分没画出来,就在6脚接的内部。这是一种光耦。


十六、晶振

晶体振荡器,有点像音乐的节拍,但是节拍这个东西大部分人又不了解,再举个例子就是脉搏、心脏起搏器。就是每隔一段时间跳动一次。

那么从上面例子我们看出晶振做什么用了,就是给一个标准的拍子。大家按照这个拍子跳舞。

心跳一分钟就是80次,假设这样跳动会是什么的。一会40次,一会100次,一回200次。阎王爷要来收人了。我们的比较复杂的电路可以看成一个人,心跳不正常,那么这个电路工作也不正常。

电路的发展也像动植物进化史,单细胞动物、多细胞动物、脊椎动物、人。

单个元件的电路、并列元件的电路、集成电路、带存储和大脑的电路、电脑、机器人。

晶振就是为带大脑的电路配备的起搏器。


晶振符号如下:


总结

  • 电就是水 看不见的水
  • 电压类似于水压
  • 电流类似于水流
  • 水走的路是水路,电走的路是电路
  • 二极管是单向阀
  • 三极管是小阀门控制大阀门的器件,三极管放大是小电流控制大电流而不是凭空把小水流变为大电流
  • 多个三极管的组合犹如一级一级的大坝,逐渐抬高水位或者降低水位
  • 电阻是粗细不同的管道
  • 电容是盛放电能的容器
  • 电感是盛放磁能的容器

这样你再看电路图很快就能理解了,第一节入门完成后,第二节会把直流电、交流电搞清楚,保证几节课就可以基本入门电子电路。

本节课结束。


第二节 交流电 直流电 交流变直流

为了继续降低理解难度,每节课增加视频讲解:

本课视频讲解--知乎视频

一、 什么是交流电?什么是直流电?



我们看上面的插座,想象成两个水的出口。

我们接上个U型水管,两头分别接到插口上。

一会水将从左边出口流出,从右边出口回去,

一会从右边出口流出从左边回去。

这样的来回流动是一秒钟的时间内变化了50次。

并且水量的大小也是变化的。

具体变化过程第一个方向时从没有水慢慢变大到最大,然后逐渐减小到没有(百分之一秒内完成),这个时候注意,水管换了方向再逐渐变大到最大再逐渐减小到没有(另一个百分之一秒)。我们学习中一般画个正弦图形对应了这种变化。减小到最小就到了x周,x轴下方的图形实际是代表换了方向(50分之一秒内做完这个变化,1秒内50次这种变换)。





图中两个100分之一秒分别来了两个方向的电流, 50分之一秒(0.02秒) 两个电流波动都跑完了,正好是一个周期,0.01秒(百分之一)是半个周期,也就是一个方向的一段变化的交流电流通过,另百分之一秒换方向的交流电流返回。

这个水的变化,就是电的变化, 这个电就是交流电。

如果我们在这个U型的水管上,装上个单向阀门,

水只能从左边流到右边,反过来不行,

那么这个时候水管中流动的电,可以看成是直流电。

直流电和交流电定义中唯一的区别, 直流电是一个方向的,交流电不止一个方向的。

这个区别是作者发现和自定义的,
注意和课本相印证,
很多说方向大小不变是直流电,
作者的异议是随着电池电量减少仍然是直流电
另外一个大小变化的脉动直流电都是断续的,
也称为直流电;
交流电一般认为是大小方向周期变化的,
但是大小不成周期变化,
方向成周期变化的交流电也有。
一般课本是给出个可以容易分析的特例来学习,
公式容易导出,
但我们生活在一个混沌的世界,
各种电磁波是杂乱的,
即使人们用于控制电器的各种电形式
也是多种多样的,
所以不要太死板的去理解。
这些东西先不要细究,
当任何理论细究之后你会发现,
你必须是爱因斯坦水准才能做做区分,
借用一句名言,你太认真你就输了!
容易成强迫症+所谓的疯子天才,
但是这样的人物自身的命运往往是可悲的。

二、 为什么要把交流电变成直流电,怎么改变?

现在知道交流电和直流电差别,

交流电是不稳定的,水量有大有小,方向也不固定。

我们很多家用电器,需要的是:

水量、水压、 方向都是一定的水(电)。

世界上没有新东西,

人们只能去发现,而不能去创造。

所谓的创造其实是又发现了世界隐藏的秘密而已。

人们发现稳定的直流电才好控制。

那么电路设计中,第一个动作就是把发电厂送过来的交流电(交流水) 变成直流的。

简单实现就是一个单向阀(二极管);

一个水缸(电容) 实现交流变直流。



D1 就是个二极管(单向阀门) C1 就是个电容(水缸) 从D1 左边插口1来的水能够过去,然后流过水缸 (来的水时大时小)

给电容(水缸灌满水后)继续往下流。所以有一定的水位。

电容的充电和放电_百度文库电容的充电和放电_百度文库电容的充电和放电_百度文库

过段时间,从插口2倒着流过来的水,经过R1 ,D1 往插口1流动时

被D1这个阀门挡住了, 就不流动了 。

这样只有从插口1来的水 可以流到后面供给用水的设备。

从插口2来的被阻住了。

但是这个时候因为在水缸里存储到一定程度,电容开始放电, 继续往下流,放电时间一直维持到第一次的情况,二极管又通了再给电容充电,所以电容上端的水位是维持到一定程度的。这样水就是稳定的,并且只有一个方向往后流。但是交流电变化很快(1秒50次)所以电容只放水一点点接着又充满。

对后面的设备来说损失了一半的水,所以效率低 ,只有一半的 直流电流 流到了后面。



后来发明了全桥电路解决了只有一半电流的问题,无论从1 或2口来的水都流到了后面。

AC2就是发电机出来的交流电,AC2上下两端相当于插座的两个口。 AM1 是一个电流表(水量表)VM1是一个电压表(水压表)观察下接法, AM1是串在电路(水路)中的,VM1是并接在灯泡两端的。

从1口(AC2上端)来的电经过D1--> 灯泡--> D3 流回2口(下端);注意电先是没有,然后变大,电压也相应变大一直到220伏,然后再逐渐减小到没有,电压归零。 从2口(AC2下端)来的电经过D2--> 灯泡--> D4 流回到1口。注意换方向,但是大小变化也是从0到220v然后再到0。 这个过程1秒变化50次,就是家用电 50Hz(赫兹)的来历(一秒钟来回50次)。

赫兹就是每秒变化的次数。

大家看电从 1口来的时候,只能经过D1,不能经过D4 为什么?

是因为二极管都是单向阀,二极管上有竖杠的一端是负极,

电只能从正极流到负极,所以D4 负极对着1口所以流不过去。

下面这个更形象(注意不是50HZ,因为太快,频率设定为100mhz,这样人眼能看清楚)



100mhz=0.1hz hz是1秒变化次数 0.1就是10秒变化一次,方向变化一次完成要10秒,单方向5秒 我们看灯泡上下两端箭头,发现电流只能从上往下流了,

这就是全桥的作用,

把两个方向的交流电,变成了一个方向的直流电。

这样所有的水都能流到后面去了,给后面的设备供电(供水)。

三、 全桥的应用

正极,负极,说法实际上是:电或水只能从压力高的地方流到压力低的地方。

压力高的地方是正,压力低的地方是负。

另外电和水是类似的,比如水车是需要流动的水来驱动的。

家用电器、灯泡也需要流动的电驱动。

假设水不流动了(小河上游 下游 水压一样)水车是不动的。

电也是一样, 假设电池没电了,

电池两端电压一样了,电路中(水管中)就没有了流动的电流,

那么灯泡就不亮了,设备也不工作了,(这样可以理解上面那个半桥电路中 从2端过来不通的电,就是无用的电,损耗在线路中了)

无论直流电,交流电,都是在不断流动的电。

因为发电厂来的电都是交流电 ,家用电器相当一大部分都是需要直流电,

手机 、电视、 平板、 电脑所以这些需要直流电的设备里面都有这套全桥整流电路。

这个全桥很多在充电器中,电视就直接在电视机内部了。

以前的灯泡、 电饭锅、 电风扇是直接用的交流电,就不需要半桥或者全桥转换电路了。

这是充电器



这是充电器中的全桥 圈中二极管



总结

  • 交流电是个方向大小变化的电,
  • 直流电只有一个方向大小可能变化(脉动直流电)也可能一样。
  • 电的变化流动可以看成水的变化流动。
  • 这里的半桥电路,全桥电路就是仅仅为了把交流电变成直流电。
  • 后面设备用什么电,我们就想办法提供什么电。

如果觉得有用给点个赞,或者评论下,让更多的人受益。感谢!


第三节 基本电路之交流电路与变压器

一、最简单的交流电路

观察下面电路,其中插座就是我们家里面的220的插座,灯泡是老式的钨丝灯泡

对不起,我不认识什么是钨丝灯泡:) 看图说话...





上图的灯泡 当来电的时候 实际上是时明时暗的 途中箭头代表电流的方向 电流(水流)的方向是变化的 ~ 这个符号 代表是交流电

电线(水管)中的交流电是这样变化的,

当插座口1来电流向插座口2时,开始的水时一点也没有的,水管的水开始慢慢变多,一直到灌满水管,然后再慢慢变少,变到没有,

这个时候从插口1不来电了,而是从插座口2来电(来水)从插口1流回,也是开始是一点没有,然后慢慢变多,灌满水管后再慢慢变少,最后水又没有了。

1流到2,2流到1,这种供水的方式不断进行,就如上图所示,因为水是时大时小的 所以灯泡也就时明时暗。

这样的变化1秒钟50次,所以我们看到灯泡就不是明暗变化了,因为变得很快。

为什么不是像水管供水那样,来水一样大,而是来水时大时小,方向还来回变化?

这是因为发电厂的发电机决定的,发电机产生的电就是这样变化的,这就是交流发电机。交流发电机因为设计简单,成本低,所以大家都用交流发电机发电。还有一个原因就是这样的交流电传输距离很远。

下面是交流发电机的模型,红色、白色的物体是两块磁铁 铁环旋转就发出电了 铁环转的角度不同 受到的磁力就不一样 所以发出的电大小不一样 转过半圈时 电的方向会变化 这样不断旋转 方向变化 大小变化的电就发出来了 然后通过电线可以给灯泡供电 神奇的发电机!



注意:这个线圈,箭头基本上转到向左时,线圈中电流一个方向,向右时,电流是另一个方向,线圈越是垂直(穿过线圈的磁越多)电流越大,越是水平(穿过线圈的磁越少)电流越小

二、 变压器

从发电厂发出来的电,为了能够传输的远,都会是10多万伏的高压电。

想象水压越大,是不是水通过水管会流的越远,是一样的道理。

但是10万伏的高压电是没法家用的,家里的电器设备220伏的 110伏的,或者更小的。

这就要用到变压器







变压器说穿了很简单,不要想复杂了,变压,就是把前面的电压变成后面使用的高的或低的电压



用铜线在一个铁圈一边绕上几圈(红线) 在另一边绕上几圈(绿线)

红圈中交流电来的时候(可以想成水),铁芯就有了磁场(可以想成油),磁场在这个环里转动,绿色线里就有了水的流动。

红色的圈数如果比绿色的圈数多那么就降压,反过来就升压

这就是变压器升降压 电生磁 磁生电。

因为常用所以下面先介绍下,避免接错线:

电线杆上四根线 一般是三根火线,一根中线,这是三相电(三相四线)

任何两个火线接出来是380伏电,任何一根火线和中线接出来是220伏电。

具体是怎么回事,后续再讲。

另外380伏 220伏电都属于能电死人的,如果不专业,就不要乱接,我们这个教程后续主要针对弱电(36V 以下)对人较为安全的电。

以上两种电属于强电,一般专业电工操作,他们的防护措施比较好,

这里讲一个原则,技术懂就是懂,不能不懂装懂,因为你是骗不了技术的,他总会在你认为正确的时候给你下套,让你栽跟头,做技术越踏实越好

不懂就问,不懂就不要先操作,等学会了再做不迟,特别是针对有危险的强电作业,不懂不做不可耻,不懂装懂很要命,不要因为别人一句话伤自尊了就冒冒失失不顾安全进行作业,

回他一句,有本事你去,做个马扎看热闹即可!

为什么变压器圈数多就升压?圈数少就降压?扩展阅读下面链接

向导:3.6 变压器 怎样通俗的理解变压原理?

为了阅读方便,直接写在下面:

变压器

能量不灭,存在的仍然存在,只是存在的形式变了。

变压器 是电能与磁能互换能量的器件。

变压器模型

  • 电流过初级的电能通道,磁能通道能够产生磁能
  • 大小变化的电能产生磁能,大小不变的电能不能产生磁能
  • 磁能流过磁能通道,次级的电能通道产生电能
  • 大小变化的磁能产生电能,大小不变的磁能不能产生电能
  • 初级、次级环形电线,实际上就是上节课的电感或者电感的组合



变压器符号



变压器流体动图

经过前面的水类比,实际上到这一节课,我们可以脱离水这个概念,可以用流体来表示能量,水流、电流、磁通(磁流),都是流体,他们都是能量的流动和表现形式,这些流体存储和产生动力,对应的是水能、电能、磁能、风能等等。

注意,虽然提到流体概念,但是本系列课程并没有严格按照流体动力学作图,仍然是用流体类比的方式,所有的动图只是解决表象的一个类比模型,不表示严格的动力学内容,仅用于电学入门时的理解。待电学入门后可以自行修正模型。

变压器,从字面意思,先解决两个问题,就是变压器是如何变压的。

  1. 电能、磁能是怎样传递的?
  2. 低的电压,如何升高到高的电压?
  3. 高的电压,如何降低为低的电压?

先看第一个动图,解决第一个问题,电能、磁能如何传递:



初级电流,经过环形的电线,电线中间的磁能通道产生磁流(磁场产生磁通,绿色),磁流经过次级的两个环形电线,电线内部都产生电流。

解决第二个问题,变压器如何升高电压:

如果把次级的电线a和b连起来,那么初级假设是1V,次级就能够变成2V。变压器抬高电压。

原因是初级一个线圈(环形电线),次级有A、B两个线圈,把a、b两点连起来实际上类似于我们把两个电池串联起来,就是两个电池的总电压。

实际上,A线圈、B线圈就是两节电池,无非是存储的电能时间非常短,不能长时间保存,电池就可以长时间保存(电能转换为化学能存下来)。





解决第三个问题,变压器如何降低电压:

很简单,我们把次级、初级互换,这样初级有2V的电压,送到次级,因为次级只有一个线圈,磁能再磁能通道中只有这么多,只有一个线圈基础传递能量(次级线圈)。自然电压降低一半变成了1V



所以经常我们听到的匝数比(圈数比)=电压比,实际就是每圈就是一个电池,电池串联越多,自然电压越高。

最终变压器的动图



高压包



当圈数比 1:100 1:1000 甚至1:1000时,初级1V 次级可能达到10000V,这种变压器叫做高压包

但是这里注意几个问题,我们用的闪光灯、电警棍、打火机点火的装置,都是这种高压包。

很多朋友听到1000V、10000V(1万伏特),是认为很恐怖的电压,认为触之必死,但这几种高压包不是这样,次级虽然电压比较高,但是因为圈数多,并且线圈用的铜线线径特别细,所以阻抗大,电流小,总的能量不大(电压X电流),所以例如电警棍虽然让人得到痛击,但一般不会对人造成大的伤害,就是因为总能量小的缘故,但是变电站的高压输电就是电压和电流都很大,这就是非常危险的电压了。

第四节 电路识图

一、 电路图

把元器件放在电路中去识别功能,比单独学元器件的特性,进展更快。这节课我们开始了解电路原理图(简称电路图)

世界上原本没有图,画的人多了,总结出些规律,然后就形成了所谓的图纸。实际上开始有了电子元器件,直接就是焊焊连连,没有什么所谓的电路图、电路板。使用过程中发现,稳定性非常差,所以就为这些元器件做了个支架,就是电路板(PCB)。然后为了明白工作原理,每个元件又给造了各种符号,在纸上连起来就形成了电路图。

有了个人计算机后,把纸上的电路图绘制到了电脑上,就是我们现在用的电路图(电路原理图)各种符号不统一,国际化标准组织就开始规划把各种电子元件的符号标准化,就形成了我们现在看到的标准电路符号。但是各个国家、各个厂家甚至各位工程师都不服,都觉得用自己的电路符号最好,所以还是能够看到各种五花八门的符号代表各种元器件。

这给我识别电路图带来了麻烦,我们也就是拿到一种电路图来开讲,别的就要依靠自己触类旁通了。

首先我们学习电路知识,一定要记得什么是细枝末节,什么是重点。 所有炫技的技巧性东西是细致末节,原理、流程、规则是重要技能。技能和技巧不是一个东西,学会了技能,你会自行总结出各种技巧,但是你仅会几种技巧,稍微变通一下,然后就蒙圈,这就不是正道。

能够画一个电路图不是重点,能够明白这个电路图是为什么这样画出来的是重点。

二、网络标号(电线的名字)

大量的书籍把一些概念默认为大家都是懂得,细究起来,每个概念对初学者来说都是大问题。 每个名词、每个概念都需要一本书来澄清它,为什么会有这个名词,它用来做什么的,在不同的场合应该怎么表示,那些地方这个名词的用法不对可能造成问题...

作者水平有限,在不忽悠的前提下,能就自己的理解将最基本的概念上讲清楚,尽量让大家知其然知其所以然。

那么我们从网络标号开始。



看上面这个电路,左边是个交流电源,右边是个灯泡,大家说这个简单,但是我们是不是遗漏了点什么?

红蓝两根线跳出来:“把我们当什么了,没有我们把电源和灯泡连起来,电怎么通过去,怒气值满格!”

稍安勿躁,稍安勿躁,现在就开始讲你们。

我们看到实际这个电路上下还有两根线,在计算机中怎么表示它?

电路中的线很多,远远不止这两根,当所有线都连起来后,感觉就是密密麻麻的网了,所以电路中把这些连线叫做网络。

不要拿村长不当干部,蚊子再小也是肉,一个东西存在就有名字才行。

计算机没有那么聪明,线不给它取个名字,计算机是不认识的,每一根线都要取名字。

这个名字就是网络标号。

实际上这个网络标号的名称是随便起的,上面这根线叫做王二狗,下面那根线叫做 三妮子 都行。



这个时候一大批专家的砖头就给我飞过来了,俗不可耐,庸俗,低级,写到书上怎么能够叫做二狗。



怕了你们了,我改。



L N 就是这两根线的网络标号,就是给线起了个名称。但是,人还是比较懒的,一张复杂的电路图那么多线,一根根的起个名字? 实际上不用, 计算机绘图 软件会自动起名,如果你不给他个名字,它自动生成 AC1-1 AC1-2 ...

计算机绘图软件中的电路图每根线都有自己的名字:网络标号。

三、 端口

当一张图纸画不下电路,需要两张或者更多张,但是这两张电路图的线路是连接在一起的,怎么办? 第一张图与第二张图,需要连线的电路尾端放上一个端口符号,代表这两张图的线路是连在一起的。



VBUS 这就是一个端口,代表两张电路图这根线实际上是连在一起的。

总结

  • 网络标号是一张电路图中线路(电线、连线)的名称。
  • 端口号是多张电路图为了能够标明连在一起的符号。

第五节 电路图中元器件的名字

一、位号 (电子元件在电路中的名字)

上一节我们知道连线都需要名字,每个元件(电子元器件的简称,电子零件的通俗叫法)当然也要有自己的名字,这个就是元件的位号。

标准化才能传播广泛,利于沟通交流。

标准化组织这个是又跳了出来,给出了大部分元件命名的标准方法:

  • R:电阻
  • C:电容
  • L:电感
  • Q:晶体管三极管 场效应管
  • D:二极管
  • J: 插座
  • U:IC(集成电路)
  • F:保险丝
  • 其他各归其位

上一节课我们已经说过,各门派对标准化组织不服,所以一定范围内的使用不一定使用这种命名规则,但是大同小异,注意区分。 大家一定要记得一个原则,规则是人定义的,没有放之四海而皆准的规则,很多时候变通是必须的。

容易钻牛角尖的地方是,我学的集成电路的命名是U1、U2...,为什么你的就是IC1、IC2... 你一定是错了!

这种想法是不对的,这就是盲目崇拜权威,世界上根本没有权威的说法,都只能是某个特定领域、某个特定时期的掌握某种规则的人,一旦跨出他的领域或者跨时代都不一定正确。

学以致用,两种名称,只是名与号的区别,最关键的还都是那个人,我们了解的是这个人的秉性,而不是这个人挂了多少头衔。

风暴降生丹妮莉丝,铁王座的继承人, 安达尔 人和先民的合法女王,七国守护者,龙之母,大草原上的 卡丽熙 ,弥林女王,不焚者,解放者--龙母 《权利的游戏》

称号虽多,都是龙母这个人!

位号就是电子元器件的名称简写+序号

已经说过计算机没那么聪明,所以一组电路图中每个电子元器件都要有唯一的名称才能识别,那么:

电阻,我们知道它的名字就是,R1、R2、R3... 电容, C1、C2... C10001; 其他类似

位号又称为元件位号,英文是:Designator 但这个仅仅是Altium Desiger(AD) Altium公司的定义,其他绘制电路图的公司不一定是这个名称。因为目前大学中使用AD教学的比较多,所以我们后续原理图、PCB一些知识也以AD为模板。

位号我们要记得代表的是元器件唯一的名字就好了。

二、 综合说明 端口号 网络标号 位号



  • 黄色标签 FLOW DC5V 等都是端口号;
  • 蓝色字体 U15、F4、R18、D27... 是元件位号;
  • 棕色字体 PD7、DC5V、GND、485B、485A... 是网络标号;

第六节 图形 符号 符号库

一、 实物转化为图形

不应该让规则限制思维!

下面是三极管的符号



假设我们是三极管的发明人,开始的符号一定是这样的吗?

实物是存在的,下面是三极管的样子:



我们看第一个图形,三条腿的三极管,我不管课本上的三极管符合是怎样画的,大家想象下,如果自己画这个三极管的符号怎么完成它?

下面是我画的:



符号这个东西,先入为主,大家觉得太low,但是我们仔细想一下,假设是三极管的发明人画出这个来,就会被惊为天人。其实还是一个圈三个爪。

实际上我们拿到其他人的电路板(PCB),有时候没有电路图,还真的就是用这种画法来分析电路。





我们用万用表量测一下线路通断,找到几个主要元件的连接线路,然后随手绘制图形符号,位置、几个爪(引脚)排列清楚,能够练上即可。

二、 图形转为符号,符号形成文件库

图形标准化,就形成了我们现在看到的各种电子元器件的符号。

参考电子元件符号大全

前面已经说过,实际上各厂家不服气武林盟主(标准化组织),所以山头林立,宗门众多,符号也是千差万别。但是实物的种类是大同小异的,抄来抄去,一家公司的创立,有可能是另一家公司的骨干出走,然后形成两个公司。

所以不同符号、不同名称的电子元器件功能是一样的很多。

有了一定的标准符号后,我们用手绘制很麻烦,最后又是到了用电脑软件绘制,例如Altium designer、cadence、pads、lceda、kicad、autocad...

每家也是各有风格,对初学者来说,从两方面来学习比较好,一个是找资料最多的,另外一个是你所在公司正在用的。这样学习过程中可以从网上很快找到资料,或者问问周边的同事朋友可以很快的进行下去。

大部分从入门到放弃最根本的原因是碰到问题卡住,然后获得不了解决方案,最终导致无法完成所预想的目标,然后放弃!

实际就是要找到方法进行下去,无论是那种,自学能成就自学,不能自学就找老师带,最关键问题就是学习过程不能长时间卡住。

很多教授的学习方法是错的,学习王阳明的格物致志,格竹子?

首先对自己要明确,王阳明的家庭是衣食无忧的,他坐在那里格竹子,饿不死,我们难道坐在那里饿了啃竹子,你快变成大熊猫算了。

我的专栏首页文章就是教大家不要太钻牛角尖,钻牛角尖也是有条件的,变通着往下进行,想尽各种办法学下去,哪怕不完美的进行下去,而不是卡住不得寸进,先种竹子换钱再啃竹子比较好。

符号有了,各种软件为了我们画图方便,把各种电子元器件的符号集中起来,放到一个文件中,这个文件就叫做原理图库,实际全称应该叫做电路图符号库或者原理图符号库。这样后续我们画电路图时,直接从这个文件调出符号来,就没必要一个个画了。



有了 原理图库 ,我们把各个元件放到原理图中,然后连起线来,放上各种端口、网络标号、给元件起个唯一的名称,实际就完成了我们的电路图绘制。



第七节 封装 电路板 模块化

一、 封装是什么

不知道封装是什么,鳖孙都要笑了。



I see,I see。 我明白了。

就是 乌龟壳 啊!

因为各种电子元器件,内部暴露在外,容易损伤,也不容易包装、运输、使用,所以很多厂家经过多年的探索,把各种电子元器件外面用一些绝缘非绝缘材料包裹起来。就是封装。

基本的封装材料有金属,陶瓷,塑料。

不同的封装形式还给起来不同的名字,大部分是根据外形尺寸区别的:

封装的分类

具体各大引擎搜索“封装”,我们课程是索引大于解释,方向路线为主,知道从哪里获取资料就够了。

二、 电路板 封装库

我们经常听到PCB这个词,去搜索也能知道大概,印刷电路板的意思。

电路板给各个电子元器件一个骨架,不至于连在一起东倒西歪,类似于楼盘的地基。

早期的电路板是各种孔,因为原先的电子元器件都是带金属引脚的,这样装在电路板中,再焊接上就很牢固。

后来发现,这种金属引脚的电子元件,组装困难,很多时候必须人工操作,效率很低。后来发明了 贴片工艺

电子元件的封装从直插件变成了贴片件。从此有了SMT的说法,叫做表面贴装技术。

SMT就是把贴片的电子元器件焊接到电路板上的技术。现在有了专门的工厂来协助我们把这些贴片的元件焊接好(从PCB加工成PCBA,下面有解释),这个工厂就简称SMT工厂。

直插电子元器件(直插元件)



贴片电子元器件(贴片元件 贴片封装形式的元件)



SMT 贴片完成的电路板



到这里我们发现个问题,原理图的符号和电路板上的器件符号怎么不一样?

是真的不一样,为了让电路图的符号和电路板的符号对应起来。

画电路板图时,需要再建一个单独的文件,叫做PCB封装库(电路板封装库、电路板封装符号库)

这个库里面存放的都是PCB用的电路符号,约定俗成的叫法就是封装库。



把封装库的符号,放到电路板绘图区域,再用线连起来,就是绘制的PCB板图,可以发到PCB加工厂制作出来。

然后我们再去找SMT加工厂,将采购的元件和pcb提供给他们,帮我们加工成焊上元件的电路板。

PCB焊上元件后有个专门的名称,叫做 PCBA (A是组装的意思,实际就是组装好的PCB,组装好的电路板)

三、 模块化

功能单一或者可以重复利用的PCBA,可以单独拿来用,稳定可靠,就是电路模块。

wifi模块、电源模块、功放模块等等



第八节 维修工具之万用表

、 万用表

为什么叫做万用表?它可能有的功能如下:

  • 测量电阻
  • 测量电压
  • 测量电流
  • 测量电容值
  • 测量二极管状态
  • 测量通断
  • 测量三极管放大倍数
  • 测量温度
  • 最新型号的万用表表甚至能测量波形和频率 ...

、 基本原则

首先要明确,万用表所有的测量值都是拿来对比的。举个例子,一个人身高1.6米,如果没有参照物,这个1.6米其他人是不知道多高的,要么有尺子这个测量基准,要么有其他人与他的身高进行对比。类似的,万用表各个档位会测量出来不同的值,这些值实际上都有参照、都有基准可以进行对比。要么与其他产品测量值进行对比,要么有标准的其他测量电表进行对比,或者就以前的测量经验进行对比。

所以说好的维修方法,就是尝试与对比出来的,必须先明确这一点。

下图是常用的 数字万用表 模型:



下图简要介绍万用表的组成:



、 PCBA

对电子产品来说,我们主要用万用表量测PCBA和其他电线电路。

3.1. 地基

我们以Arduino Uno电路板举例,是一位意大利教授为了让学生更容易的学好电子技术做的一款开源产品。



一般产品都是有外壳的,原因是为了保护里面的电路板和电子元件避免损坏,如果不带外壳就是上图的样子。

完美主义者说,产品怎么能没外壳呢?伟大的中国人民就给他做了个壳套上,然后作为产品出售(某宝搜索 Arduino Uno 外壳)。



作为电子设计师,自然就不在意有没有壳了,我们都喜欢裸奔。



一般这样的裸板有个专业名称统一叫做 PCBA (PCB+A,Printed Circuit Board +Assembly),PCB是印刷电路板,PCBA是组装完成后的PCB组件。Assembly是组装的意思。

PCB是电子产品的地基,在这个地基上铺设管道,盖房子(焊接上电子元器件)。

PCB 3D演示图:



PCB 2D预览图:



PCB 设计图:



PCB是在一块 绝缘材料 上,粘上铜皮,像arduino上下面都有铜皮,设计时我们画图一般用红色作为顶面铜皮,蓝色作为底面铜皮,这是为了作区分,实际铜皮的颜色都是铜的颜色(偏黄铜色)。



然后经过一系列加工过程,在铜板上刻出(腐蚀出)铜线来,在pcb(电路板)上的铜线就是电线。



我们看到pcb大部分是绿色的,也有蓝色、棕红、黑色等,是在pcb铜线上面又刷了一层保护漆,是漆的颜色。

我们维修时,测量大部分时候是测量的这些铜线。或者焊在铜皮上的电子元器件的引脚。





、电压档的测量原理与实用技巧

电压档的使用条件是下面两个:

  • 不要超过电压档的测量量程
  • 电路板需要供电

4.1. 连通器

我们还是以水类比电。 管道形状不同,但是不影响水位的高低,最终水位会趋向一致。 粗管道,阻力小,水流大;细管道,阻力大,水流小。 一个 连通器 的各个管道的顶点水位都相等。如果连通器所有管道的顶部都密封,给水施加足够的压力,那么一个连通器的所有的位置水压都近似于相等。



把这些管道换成粗细不同的电线(电路),原理一致。 电阻小的电线(电路),电流大;电阻大的电线(电路)电流小。

电路就类似于密封的连通器的管道。如果这个电路只是用电线连接(电阻接近0)那么这根电线上无论分多少条支路,电压处处相等。



4.2. 供电

我们说要为连通器加压,才能量到水压,同样要为电路加压,才能量到电压。如果上图这个板子是电池供电,就是用电池给他加压,如果是外接直流电源,那就是直流电源加压。

测量电压,就是测量这些管道的压力。如果一个电路板上不加电,它是没有电压的,类似于我们的新房子,虽然有水管,但是不供水,是没有水压的。

维修或者产品测试阶段,常用的供电设备是可调直流稳压电源(DC Power Supply)



对于 Arduino 板子来说它还可以用USB线接电脑供电。



4.3. 直流电压档与交流电压档



家用电220V是交流,电池供电手机充电器出来的5V都是直流电,量电池电压要用直流电压档,量220V,要用交流电压档,红黑表笔的插口位置都是如图的位置。

测量电压,实际上还是可以用连通器类比表示就容易明白。



黑表笔找到电路板的公共点(地),红表笔测量任意位置(不超过万用表量程就可以) 可以直接读出电压(电路板通电时),电压测量实际就是黑表笔/红表笔接地,然后量测裸露的其他





依照图示测量,我们得到一个 5.030V 的电压。

  • 我们表盘转到了 直流电压 档(V-) 20档的位置,只要我们测量的电压不超过 20V 就会显示正常数值。
  • 给电路板供电12.06V
  • 黑表笔放到了地的位置(注意是一个裸露的漏出铜的孔上)
  • 红表笔量测一个元件的中间脚位置(实际是个稳压集成电路,中间脚输出5V)



电子比较难于入门的一个很大的原因是,每当我们要去理解一个名词或者一个基本原理时,会带出一连串的问题和新名词。

比如说到了这里,可能会有如下问题:

  1. 为什么电路板供电12V,测量出来的是5V
  2. 为什么电源是12.06V,而不是12V
  3. 为什么量出来的是5.030V,不是5V
  4. 为什么红表笔去量测而不是黑表笔去量
  5. 为什么黑表笔接地而不是红表笔接地
  6. 为什么万用表上有四个插孔,连接的是最右边的两个插孔?
  7. 供电电源是怎样调电压的,它是怎样供电的,为什么能提供12V? ...

五、二极管的测量原理与实用技巧

二极管档与电压档测量是作者个人维修时的首选方法。



直接参考下面三个链接:

向导:二极管档测量法--视频说明

向导:第六节 电子学习 二极管档测量法 细讲

向导:第四节(4.4) 维修技巧 电路图识图

每个电子元件的电流电压是有范围限制的,

如果给它过大的电流、电压就会导致损坏。

也就是功率(电流乘以电压)超标。

六、维修起步

基本维修方法有如下几种(依照使用频率排序)

  • 替换法
  • 电压法
  • 二极管档测量法(作者自创)
  • 电阻法
  • 电流法
  • 对比测量法
  • 其他万用表档位检测
  • 假信号接入
  • 示波器测量法
  • 逻辑分析仪检测法
  • 专用设备检测法
  • 仿真模拟检测
  • ...

实际来说,掌握前三种方法, 90%以上的故障已经可以轻松排除,2~4 可仅用万用表即可进行检查维修。

人身安全保护

  • 安全第一
  • 置位法(拆装器件 固定位置放置)
  • 隔离防护
  • 顺序操作
  • 保持良好习惯

设备保护

  • 功率电流保护法
  • 防静电击穿
  • 防高压损坏

维修基本常识

  • 拆装拍照、记录
  • 顺序检查 (电源 晶振 复位 功能模块)
  • 先易后难
  • 分清左右 (左坏右好)
  • 分清颜色 (红正 黑负)
  • 分清标识 (采用习惯性标准标识)

一般认为,电子维修需要很多知识,然后许多人看到复杂的电路板、机器,首先是不敢动手了,因为看到的都是不懂的东西,人是这样的,对陌生的东西是抗拒的。其实这个想法是错误的,许多人会修电脑,换主板、换内存、换硬盘。实际这就是 替换法 ,无非是这个替换的元件更小而已。

基本的检测步骤是, 用电压法判断故障范围 ,确定一个大范围的某一块出了问题。然后 用精细的二极管档法、电阻法 确定更小的位置。 如果在工厂的话,有更简单的方法是对比测量法,对比好的设备判断不良的设备情况。

仅就维修来说,会基本的电路图,甚至不懂电路,也可以维修,最大的困难有以下几点,导致大部分人无法入门维修。

心理作用

  • 带电的就会死人,不敢动手
  • 解决办法,要了解什么是安全电压、安全电流,另外就是断电维修是安全的。
  • 怕损坏设备,不敢动手
  • 解决办法,新手应该有自知之明,从便宜的设备、板子开始练手。玩具、不超过百元的电子设备...

真实困难

  • 最大的问题是,手生,没练习过焊接,犹如医生拿手术刀手抖,这不是在维修,这会扩大故障,解决办法,找废旧板子,多练习,无其他更好的办法。

七、 维修的基本原理与方法

家里的门把手坏了,怎么办,更换! 门锁坏掉怎么办,暴力拆掉,或者卸开螺丝,维修锁芯。

维修这个词,实际上发明者深刻理解了维修的内涵,维护和修理,东西没坏之前的维护保养很关键,坏掉后,就只能修理了。

类比法是无处不在的,也是快速理解一样技能的好方法,我们看看电路板的类比:





我们可以看到电路板就类似于一个工厂,该有的都有。

如果电路板上的压力容器(电容)坏掉,我可以直接换掉,因为就是几角几块钱,但是工厂的压力容器,几万、几十万、几百万,我能够直接更换吗?

另外就是工厂的设备就是大型的了,人可以到里面去修理,电子元器件都是小型化、微型化的,实在爬不到里面去,如果能爬进去...

所以 电子维修基本方法 与生活中的维修技能一致:

  • 更换
  • 完全坏掉,无法维修,直接更换;
  • 疏通
  • 堵住的管道,进行疏通;
  • 连接
  • 断掉的管道,连接好;
  • 堵漏
  • 泄漏的管道、设备,进行堵漏

电子技术中,有两个经常听到的名词,开路与短路。

大家猜猜对应上面四个情况的那些?

  • 开路,实际就是需要连接的断掉的管道,断掉的通路,完全堵住的管道也是这个情况,就是管路不通,电路不通。
  • 短路,是泄漏,需要进行堵漏,泄漏比较严重,犹如溃坝,这就是完全短路,一般出现在主通路,也就是电源通路,主管道出现大泄漏。

总结

  • 电子维修的方法是:更换、疏通、连接与堵漏。
  • 开路是管路、电路、电线断掉。
  • 短路是管路、电路泄漏。

第九节 电流保护

实施维修前,把电流保护调整好,刚好让设备工作。

上一节已经提到,下面详述。



上图是直流稳压电源,

左边两个旋钮就是调整电流的,全部左旋到底,碰触红色和黑色的夹子,

CC这个红灯会亮,这个时候左边显示的就是短路保护电流。

慢慢调整这两个旋钮增大这个电流值,

下面给几个典型电流值:

右边显示的是电压,

24V <0.300 A

12V <0.500 A

3.3V 5V 9V <0.700 A

这几个是经验值(小功率设备,手机、平板、控制板、机顶盒等)

实际上我们如果是在工厂,工程师会给出这个这个标准的电流电压。

我们应用时,就从最小电流开始调起,右旋刚刚不过流即可。

这样如果设备中有元件损坏导致过流(漏水)或者我们线接反了,

不会烧坏其他元件。

另外 电压设置必须是设备所允许的电压,而不是自己随意调一个,

一般都是标准的,在插座或插头上都有标注。

第十节 通俗理解无线电波发送接收基本原理

无线电波的发现不可置疑的伟大,但是它看不见、摸不着,是我们学习电子技术的一道难关。

  • 电台、电视台、基站负责无线电波的发射
  • 收音机、电视机、手机负责无线电波的接收

我们以最基本也是最原始的电台和收音机来理解无线电波的发射接收原理。

一、无线电波的发射

首先我们从两种波开始说明

  • 声波
  • 载波

我们说话发出声音,是一种音频波,转换成电台能够使用的信号,就是音频信号。

载波很多人就迷糊了,这是个什么玩意?

载波这个术语起的非常好,一个形象的比喻它是我们的高铁车厢



载波是高铁动车,音频信号是人。



蓝色为音频信号,实际音频非常杂乱的信号,这里用了一个标准的10hz正弦波表示。

黄色为载波,是100khz的正弦波信号。

载波实际上电台的频率,如果我们听过收音机,播音员会讲这里是调幅XXXkhz 中央人民广播电台,这里是调频89Mhz 山东人民广播电台,这里举例,频率不一定对 。

中央人民广播电台的载波, 装载中央台主持人声波的动车。

青岛电台的载波,装载青岛台主持人声波的动车。

实际上载波就对应着电台说的这个频率。

为了区分不同的电台,当然每个电台都用不同的载波(不同的动车)才行。

这样中央人民广播电台假设它的频率是540khz,那么这个电台的载波就是540khz,再把播音员的声音信号叠加到这个频率上。

会变成以下的样子:



红色的就是载波叠加上蓝色信号(声音)的样子,注意因为电路设计的原因实际上黄色和蓝色信号应该看上面一个动图,很规律的信号,现在变了是因为电路反射造成的。





看左图,左图调幅,右图调频先不管它

现在我们把声音信号和电台的载波频率叠加在一起(专业名词是调幅),通过天线发射出去,就是无线电波的发送!

注意观察红色的动图,大的波动是随着声音信号变化的,快的波动是按照载波变化的。

载波信号实际上是音频+载波,正好载波外边缘的变化就是我们的声音信号。



更复杂的电台框架图是下面这个



为什么我们看电台电路这么复杂?实际上是工程师研究电路碰到各种问题,不得已才把电路复杂化。

  • 发射距离不够怎么办,需要增大功率
  • 声波与载波串入干扰怎么办?
  • 怎么把两个波混叠在一起?
  • 话筒输入有杂音怎么办?



这里我们不学习复杂的发射电路,主要是明白,电路基础原理就是载波+声波,通过特定的电路混合后发射到空中。

二、无线电波的接收

大家考虑下,如果你明白了无线电发射的原理,现在发射器有了,你来发明接收器的话,怎么办?

人要喝水,刚好老天还是想让你活,天上起了乌云,要下雨了,以前我们类比过,雨水就可以认为是无线电波,你怎么接到雨水活下来?

无论想各种办法,第一步就是找到个 容器 ,能够盛水。

雨水落在容器中,是杂乱无章的,叮叮当当响个不停。假设这个雨水有规律的敲击盆子。你就会得到规律的信号:

  • 当当当停一秒,再当当当,再停一秒,这是一种信号,
  • 当当停一秒,再当当,这是另一种信号。

这就是最先实现的电报接收机,摩尔电码。

声音也是规律的,你不会没有间隔,没有顿挫,没有高低吧!

上面说的载波,更是非常规律的频率信号。

我要找到一个容器,能够监控到这个规律信号,剩下的就好办了。



最早的收音机,防止敌人挖地道破城,装个罐子听声。

无线电波的接收容器是天线,它以某种方式接收无线电波(电场/磁场能量),但是你不用它,能量自然就消耗掉。

雨水敲击盆(鼓)你会明显察觉到盆(鼓)的振动,雨一旦停止,没有后续能量补充,振动也就慢慢减缓到消失。

天线这个容器负责接收无线电波,但是我们还要想办法把感受到的这个振动进行传递,最终传递到喇叭发声。

无线电波是电磁波的一种特殊应用,所以它当然符合电磁场的基本原理。

电磁场有点像锁链,想象下电台、电视台、基站往外发射锁链的样子:)



收心,继续...



现在我们知道了,空中的无线电波是到处飞舞的锁链,当磁场碰到天线,天线感受到的是磁场的能量,当电场碰到天线,天线感受到电场的能量。

电磁波往一个方向传递,电场运动产生了磁场,接着磁场运动又产生电场,一环套一环的传递。

我们大部分人只是把波想象成平面的东西,其实有更好的例子来说明电磁波的传递

电场、磁场很多时候表现的不是一根线、一个面,一个环,而是一个球、一个半球,我想用电场球、磁场球来表示。有些同学会说,一根线、一个面都难于理解了,形成球体不是更难于理解?



所谓波动,实际上就是被砸了个坑,这个坑被积压,自然会挤的其他地方变高变低。气球撞击最能形象的表示电磁波的传递,一个红色气球是磁场,一个蓝色气球是电场,红从上面砸向蓝球,蓝球当然会被压扁,压扁就会积压空间,变低变宽,变宽后自然积压其他磁场的空间,磁场球变高变窄,又砸向了另一个电场球,另一个球又变窄,空间球是一直存在的,它原本就在那里,只是其他空间球(场)积压它,然后某种东西感受到这种挤压,通过某种仪器测量了这种压力(电压表、压力表),或通过某种设备把这种不断的挤压变形转换为声音释放(喇叭)。





水是有形物质,看得见,电场、磁场看不见,分不清是介质传递还是本身存在,但是它就在那里,所以我们分析时就可以认为它存在,认为其有形。

所以在空中,就是有很多的电场球、磁场球相互积压然后就可以向四周传递能量,传递压力、传递震动。

三、天线

天线这个容器,就是可以感受到电场或磁场积压、撞击的器件!

参考 (提前,这里几篇文章非常好,大家可以移步学习):

天线是如何接收到电磁波的? - 知乎 zhihu.com/question/3280 天线是如何接收到电磁波的? - 宮非的回答 - 知乎 zhihu.com/question/3280 天线是如何接收到电磁波的? - ba5rw的回答 - 知乎 zhihu.com/question/3280

单一的天线,只是被动接收到电磁场(电磁波)信号,感受到这种振动,但是这个振动频率不同,不同频率的各种电磁波混叠在一起,我只想要需要的频率信号。这个时候就要用到LC振荡器把不同频率(振荡周期不同)的信号分开提取出来。

频率就是每秒变化的次数,雨水一秒敲打鼓十次,那么就是10hz,电磁波一秒敲打天线1000次,就是1khz频率的电磁信号。

实验中发现,电容和电感这个器件的组合,能够接收到空中的无线电波(电磁场)。并且有些频率的电磁波能够接收很多,有些就接收很少,有点像筛子,小颗粒能透过去,大颗粒过不去。



L 是电感(当然也可以叫“磁感”)C是电容器。

LC这两个器件组合,当某种频率的电磁波撞上这个电路后,会形成某种平衡的状态,就是电感把磁能放出来,转换成电能给电容充电,电容充饱后,把电能释放给电感充磁能。电感磁能饱了再释放出来。如果假设电容、电感、线路能够把这个能量完全相互转换,那么这种变化就永远停不下来,但是电感、电容、线路都会有电抗(容抗、感抗、阻抗的统称)会阻碍和消耗量,过一会如果没有这个频率的信号再进来,就会逐渐消耗掉。这个特定的频率是能够被LC电路完全接收,并来回传递(振荡起来、专业名词叫做谐振或者共振),其他频率的就消耗掉或者相互传递的能量很少。

我们这个时候实际上想想我可以设置个门槛电路,让能量到达一定程度的信号才能过去,

这样我们就抓出了一个特定频率的信号来。





门槛电路实际上就是利用了三极管是电流驱动型的器件,当电流不够(能量不够)是无法放大接收到的信号的。

到底LC电路能谐振的频率是多少?

有个公式



L是电感量,单位是H,C是电容,单位是F。

如果电台载波频率等于谐振频率,这个LC电路就能产生振荡,并且能够最大化的吸取这个频率的电磁波能量,然后把它传递到后面的电路,我们就接收到了电台,一般收音机L不变,调整电容(可变电容器)可变电容器就是收音机的选台旋钮。





B1 是天线 C1A C1B 是可变电容器 C1a C1b 是并联在可变电容器上的两个可调的电容器,用来微调电台信号范围(补偿电容)。

电路图的样子可能变化,但是核心就是LC 电感和电容组成的振荡电路(谐振电路)来选台。

到这一步,我们就能够知道,通过天线接收到被反复积压的电磁波信号,通过LC选出电台来,通过三极管放大选出的电台信号,往后继续放大再放大(中间还有个去掉载波的过程,叫做检波 这里不讲)到最后驱动喇叭发声。

第十一节 为什么电池电压一样 有些用不久(电压与电量的关系)

一个电池中你可以想象成有很多个管道组成的设备,太阳能就很形象。



这个太阳能假设为一个12V电池,

只要有一根管是满水,那么就可以到10~11V,

全部满水可以到13~15V。

把一半水放掉,还有12V左右。

所以你量一个电池,虽然看起来电压还够,但是电量不足,就是可放的水少了。

电压是点电位,也就是测量一个点的电压,其他管路电量不足,不代表单一管路的电压低。

电压的公式是U=I×R,电量的公式是Q=I×t,电压与电量的关系为:Q=U/R×t。

I 是电流,流过管路的电流(水流)和时间算出来电量。我们很多时候错误的观念是看水管、电线就是一根线、一根管,实际只要是把电线想成电缆(大管里装着多根管的管路)。

一个设备、单一总管道,实际上都是多路管道并联组成的。你才好理解电量(电的容量)。

实际上存电的电子器件都是这样的原理,

可以想象成很多可以存电的毛细管路(并接在一起)的设备。

电容、电池..

第十二节 为什么电子知识难于理解?或许本节能为你解惑

一、维度

知乎上经常讨论维度,零维、一维、二维、三维、四维...

我们的教科书和书籍资料、网络文章中经常出现各种电子电路的波形、频率、信号变换等等图形。

这两者有什么联系?

先简单说下维度,一般的说法:零维是一个点,一维是一根线,二维是一个面,三维是一个体。

四维两种说法,一种是在三维上再增加一个未知维度变成四维。 另一种说法是 三维上加上时间作为一个维度

很多人对四维是完全理解不了的,那个未知维度是个什么鬼?时间加三维这种四维概念又是什么?

见证奇迹的时刻到了 ,作者为大家抛出一个问题,大家明白了,就知道为什么电子知识难学难懂了!说不准,顺路把多维的概念也多少能够悟通一点。

首先来看个图:



那么问题来了,请问上面这个图形是几维图形?

二维?

三维?

错!错!错!

我们初中物理就开始学的交流电、正弦波是 四维图形

这就是为什么难!!!

因为现在大部分教程,在用二维计算的方式理解四维波形!

一开始我们就是站在了上帝的视角看这个交流波形的,横轴是时间, 划重点 !在时间上跑的不是一根线、一个点,而是 流体

下面论证下为什么是四维波形:

1、电流的概念(百度百科)

电流的强弱用电流强度来描述,电流强度是单位时间内通过导体某一 横截面 的电荷量,简称电流,用I表示。 电流强度是标量,习惯上常将正电荷的运动方向规定为电流的方向。 在导体中,电流的方向总是沿着电场方向从高电势处指向低电势处。 在国际单位制中,电流强度的单位是安培(A),它是SI制中的七个基本单位之一。

横截面是什么?面,二维!

2、周期

周期是一个汉语词汇,读音为zhōu qī,出自《敬斋古今黈》。若一组事件或现象按同样的顺序重复出现,则把完成这一组事件或现象的时间或空间间隔,称为周期。

一个周期累积的电流是多少?

举个简单例子,一个10米水管中有一段水柱,加上一个周期就是10米的水柱,最前面的水流和最后面的水流实际上不是一个时间出现的,出现最早的水到了最前面,100米的水那么就是10个周期了。

一段水柱是什么?体,一个一个面累积成了体积。 电类似。

3、那么上图横轴是时间,周期变换的正弦变化的交流电,我们研究的是什么?

三维的体加上一维的时间就是第二种四维概念,我们站在上帝的视角看到了电/水的存在与消失,生生死死!

二、视频理解

书上的正弦交流电:



但是,实际它是下面这样子的:



上面视频我想描述的是假设我们把电流看成一个面,在一个面上,开始随机出现一个粒子(这个粒子不真实存在,我们把能够给电线产生1V的压力的一堆电子类比为一个粒子),第二个面出现2个,以此类推到了能产生220V的粒子,然后再依次减少最后到0,这就是正弦交流电正半轴的变化。

它还可以是这样子的:



降维观察(二维,电流截面)



这样就完了吗?

我们还要考虑一个情况,电的传输速度是很快的,下面演示的是交流瞬间充满一段电线的情况,也就是我们观察一段电线,不是像上面的视频演示的,而是这一段电线,同时只有一点粒子,又同时增加、减少(下视频仅演示增加的部分)也就是正半周的一半,从0到220的过程。



电的传播速度决定了,我们观察电,瞬达,时间差都是空开、线路转换的设备造成的延迟,实际如果一根线从地球绕一圈,也是瞬达的。

速度决定了,电真的就是有、没有(多、少)问题,发电机一旦产生电,直连的电线上,处处与发电机一致才是对的。





大学生、研究生、博士研究的物理、电学是什么? 这里很明确的说,他们至少是研究 五维或者五维以上 的波形!(个人观点:当把本篇最上面正弦图看成四维的压缩图形,自然再增加任何方向的维度就是五维,如果不看成压缩的,五维实际是表示不出来的)



不是学生不聪明,而是我们一开始的教学就错了, 用一维、二维、三维的方式教授四维的知识 ,学生不晕才怪,寥寥数人能懂,也只是因为记忆力强,死记硬背一些公式来解题了。

所以四维概念并不难,难的是我们一开始就被带到沟里了。

希望以后的大学生再开始编制教材,多用图形、多用动图、多用三维软件分解分析,再加上现在的各种软件、动画、虚拟现实工具,让四度空间不再可怕!

思路对了,我们去改进教程,电学将会越来越简单!

难吗?当然难!

说不难,也不难,找对路,理解对了, 二维的问题找二维的妈处理 四维的问题找四维的爹处理, 跳出井口看天,广阔天地,大有作为!

第十三节 模拟数字转换(模数转换)

一、模拟信号与数字信号

模拟电信号(模拟信号)是什么?

模拟这个词不好,让人摸不着头脑,给他换个说法,连续信号就可以。脑电波、水流、风、油、压力、连续转动这些都是连续的信息,如果把这些信息全部用电信号来转换出来(这可能是模拟的原始解释,用电信号模拟连续自然界信息)。

数字信号就是一段段的水柱。用一段段的电信号模拟自然信息。

把连续的电信号变为独立的一个个的电信号,犹如连续的水流,变为一段段水柱提供给给后端设备,就是所谓的 模数转换

二、模拟电信号怎样变成数字信号

水流形成波浪,波浪有高有低,直接去测量波浪的高度比较困难。



波浪是高低变化的,高的位置抵达那根水管,这根水管中就有了水的流动,水管往后推开一个开关,后续的器件就知道了水位到了这里了。

电磁波(电波、电流)和水类似,一个容器内盛放这些东西,电流(电波)的堆积,电压变高(电位)到了某个位置,这个位置上的通道就能够感应到这个电压。这些管道理论上越多,能感知的精度就越高,但是不能无限制的铺设管道,花钱太多,所以先铺设12根管道吧。

水管1如果有了水流,证明蓄水池中的水位到了这里了,我们用个水槽来盛放这个水管来的水。并记录为1,这样的水槽也有12个,分别与12根水管相连接。



方框代表水槽,线代表水管。

所有水槽都灌满 我们获得一个数 111111111111 这是个二进制数。

我们用windows的计算器看看这个数多大。十进制数是4095,



如果所有水槽都是空的也算一个数 000000000000=0,

所以计量这个水波(水位)的高度,4095证明最高。

一般来说,如果是波动不大的水池,我们获得的数是最下面的有水 可能我们获得一个000000001111这样的数。

但是大波浪或者是杂乱的电磁波,撞击墙壁,不一定是先灌满那个水管,所以我们得到的数可能是

011101111110, 有1证明有这个能量,所以我们得到了一个从0~4095的12位的数字。

这个过程把波动的信号(专业名词叫做模拟量)转换为12位的数字信号(数字量)。

这就是模数转换( ADC -- Analog to Digital Converter)

我们建立了12根管道来测量模拟量,就是12位的ADC,用10根管道来测量模拟量,就是10位ADC。

能量是连续的,也就是水波不断的在撞击墙壁,我们就获得一连串的数字。

我们间隔固定的时间获取这个数字,这个间隔就是采样周期。

如果这个电信号(水波)最高电压是5V,但是这个5V的电压是波动的,也就是从0~5V不断变化。

这个电信号撞击墙壁,我们获得了0~4095个数。最高5V就是4095, 0V就是0.

那个2048 代表几V? x/5 =2048/4095 x=(5*2048)/4095 = 2.5006 V。

到了这里,我们再去学习单片机的ADC转换电路和程序,就容易理解了。

第十四节 框架法与类比法学电路

作者个人推崇框架学习法, 如何建立自己的认知体系?

一、框架法与类比法学电路

只有先对一套知识有个从整体上的认识,你才能知道学习的方向和目标,学习效率才能高!

  • 先了解框架再学习细节
  • 先整体后分区

前面几节课对电、电路我们有了初步的认知。到了这一节实际上就可以开始学习看完整一些的电路图。



人与人不一样,有些人看到上面的图,第一反应是太复杂了,这怎么学得会。有些人看到它,立刻高兴起来,终于可以学到新知识了。

类比法是向导的一大法宝, 万事万物皆可类比

  • 用有简单的类比复杂的
  • 用有趣的类比无趣的

电路图其实是个游戏地图,分析电路图实际在探索游戏的地图、各种设施。

部分同学突然精神了,聊这个谁也不困啊!





要打败敌人,你自己的基地都整不好,还战斗个什么劲。

有些同学玩起游戏来,各种骚操作,让我这个外行目瞪口呆,在我看来,这些操作比学电路是难上好几倍,卡Bug、什么犄角旮旯的宝贝都能挖到,能够重复砍某个地图的怪物好几年,换个怪也好啊,天天见面都成亲戚了,这么熟你怎么下的去手。



本节未完,待续...

第十五节 LC震荡,电容电感组成震荡电路

水锤泵/水车是电感,高处的蓄水池是电容,电容被打压注水,水有了势能然后放出来,电感再打上去,周而复始所谓震荡就出来了。



水的的流动是产生的是动能,水存储在高处或者加压在容器中或者纯粹有体积的水在容器中就有了势能,动能与势能的不断转换,就有了源源不断的动力来源!

再来两张图,水锤的自然现象






第十六节 一张图就明白什么是上拉电阻与下拉电阻



大坝左边是上拉,右边是下拉,船是信号,不提前把水位拉起来,信号过不去 !

二极管、 三极管 、 场效应管、运放等等半导体元件,通过信号都类似于过大坝,上拉实际就是把直流能量先施加上,抬高 电位 ,然后交流信号在这个基础上才能通过,不然能量不足,半导体都无法建立导通或者放大的条件。

输入的上拉是为了过第一个大坝,输出的上拉又要接着过另一个大坝,第一个的输出实际上是第二个的输入。

给低水位灌水的管道,叫做上拉电阻。

给高水位放水的管道,叫做下拉电阻。

多说一句,能量是一个聚集的过程,瞬间可以产生很小电流高电压的能量,看起来电压高但是能量不足,不足以打开通道,例如电流驱动型的三极管,所以给三极管基极建立所谓静态工作点的上拉下拉电阻不能太大要能够提供足够电流,而对于电压驱动型的场效应管需要较小的能量(电压够,电流uA)就能打开,这样可以上拉下拉较大的电阻,减少整体电路的功耗。

分析电路 初学者容易陷入的误区

第一个误区 ,只关注电流、电压,不关注能量是否足够:

电路分析最终通过能量分析会更清楚,只通过电流、电压、电抗分析会容易陷入误区。还是三极管为例子,它的基极本身就是类似于大坝,不抬高到一定水位,坝口位置都没到,信号来了自然过不去,上拉下拉先灌水(直流供电)到一定程度(分压到放大区中间电压位),然后再来小信号(uv mv级别)就可以放大100倍(1mv X 100 = 100mv=0.1V)变成较大的信号,再后一级的放大电路再放大10倍或者20倍(第二级大坝)变成1V~2V就可以轻松处理。

第二个误区 ,信号通道和供电通道混在一起理解:

信号通道和电源通道是分开的,电源通道一般是建立直流条件(所谓的静态工作点),信号通道是建立小能量信号路径,一般就是所说的交流信号、脉冲信号、无线信号通道。不管有没有信号, 直流电源供电通路先建立好,就是大量用上拉、下拉实现的 。编好口袋,静等信号进入。

三管收音机的三级大坝结构:)




开始纠偏,利用水类比模型与实际电磁场理论有偏差,但是入门阶段的类比恰恰可以作为对照进行纠偏即可,实际上如果用于有线的电路计算就把电流看成水流实际并没有多大影响,主要差别是无线传输、无线通讯、电磁场干扰、射频领域的计算时就必须以电磁场理论为主了,但是实在话,涉及到这些领域就是科研大神们的领域,大部分人终其一生也不会在这里深究, 如果只是作为一个应用工程师,水类比法足够,并且能够辅助解决大部分工程电路问题!如果是研究生、博士,那么另说。

翻译的一个系列文章第一篇,拓展纠偏:

静电 电是怎么来的

1. 摩擦起电

几个世纪前就发现, 某些类型的材料在相互摩擦后会神秘地相互吸引。例如, 在一块玻璃上摩擦一块丝绸后, 丝绸和玻璃往往会粘在一起:



image

  • Attraction 吸引力
  • Glass Rod 玻璃棒
  • Silk Cloth 丝绸

玻璃和丝绸并不是唯一已知具有这种行为的材料。碰过气球的人也发现它会粘到身上。另一种被早期实验者认为在摩擦后会表现出吸引力的材料是石蜡和羊毛布:



石蜡羊毛布

  • Wax 石蜡
  • Wool Cloth 羊毛布

相同的材料用布摩擦后, 总是相互排斥, 这种现象变得更加有趣:



同性相斥

  • Repulsion 排斥

当一块用丝绸摩擦过的玻璃与一块用羊毛摩擦过的蜡接触时, 这两种材料会相互吸引:



异性相吸

  • Attraction 吸引

此外, 人们发现任何在摩擦后表现出吸引或排斥特性的材料可以分为两个不同的类别:

  • 被玻璃吸引并被蜡排斥, 或被玻璃排斥被蜡吸引。
  • 没有发现会被玻璃、蜡吸引或排斥的材料, 对其中一种反应而不与另一种反应的材料。

观察摩擦过的布料,发现用两块丝绸摩擦两块玻璃后, 不仅玻璃片相互排斥, 而且丝绸也相互排斥。用于擦蜡的羊毛布也存在同样的现象:



同性相斥异性相吸

这一切真的很奇怪?这些物体都没有被摩擦明显改变, 但它们的行为肯定与摩擦前不同。让这些材料相互吸引或排斥的行为都是看不见的。

2. 电荷

一些实验者推测, 在摩擦过程中, 看不见的“流体”从一个物体转移到另一个物体, 这些“流体”能够在一定距离内产生力。查尔斯·杜菲 (Charles Dufay) 是早期的实验者之一, 他证明了通过将某些成对的物体摩擦会产生两种不同类型的行为: 吸引力和排斥力。假设的"流体"被称为 电荷

本杰明·富兰克林做了开创性的研究,得出这样的结论: 摩擦物体之间只有一种流体交换,而这两种不同的“电荷”只不过是一种流体的过剩或不足。在对蜡和羊毛进行实验后,富兰克林认为羊毛去除了光滑蜡中的一些看不见的液体,导致羊毛上的液体过多,蜡上的液体不足。由此产生的羊毛和蜡之间的液体含量差异产生一种吸引力,因为液体试图恢复两种材料之间以前的平衡。

假设存在这种单一的“液体”,通过摩擦得到或失去它,很好的解释了所观察到的行为: 这些材料在摩擦时规律的分为了两类,最重要的是,两种活性材料不变的吸引力可以证明相互摩擦总是分为相反的类别,换句话说,两种材料相互摩擦后,不存在都变成了只有吸引力或只有排斥力的一种类型。

3. 库伦

18世纪80年代, 法国物理学家查尔斯·库伦(Charles Coulomb)使用称为扭转天平的装置对两个带电物体之间产生的力进行了精确测量。库仑的工作成果最终形成了以他的名字命名的电荷单位"库仑". 如果两个“点”物体(没有明显表面积的假设物体)以 1 库仑的大小等量充电, 并且相距 1 米(约 1 码), 它们将产生约 90 亿牛顿(约 20 亿磅), 吸引或排斥取决于所涉及的电荷类型。"库仑"作为电荷的单位(根据点电荷之间产生的力)的实际定义是等于大约6,250,000,000,000,000,000个电子的过剩或不足。或者反过来说, 一个电子的电荷约为 0.00000000000000000016 库仑。由于一个电子是已知的最小的电荷载体, 因此电子的最后一个电荷数被定义为基本电荷。

4. 原子的组成

此后的实验表明, 所有物体都由称为原子的极小“构件”组成, 而这些原子又由称为粒子的较小组件组成。构成大多数原子的三种基本粒子称为质子、中子和电子。虽然大多数原子具有质子、中子和电子的组合, 但并非所有原子都有中子。一个例子是氢(Hydrogen-1)的氕同位素(1H1), 它是氢的最轻和最常见的形式, 只有一个质子和一个电子。原子太小而无法看到, 但如果我们能看到一个, 它可能看起来这样:



原子的组成

  • Electron 电子
  • Proton 质子
  • Neutron 中子

尽管一块材料中的每个原子都倾向于作为一个单元结合在一起, 但在电子与位于中间的质子和中子簇之间实际上有很多空白空间。

这个粗略的模型是元素碳的模型, 有六个质子、六个中子和六个电子。在任何原子中, 质子和中子都非常紧密地结合在一起, 这是一个重要的特性。原子中心的质子和中子紧密结合的团块称为原子核, 原子核中的质子数量决定了它的元素身份: 改变原子核中的质子数量, 就改变了原子核的类型。事实上, 如果你能从一个铅原子的原子核中去除三个质子, 你就实现了古代炼金术士制造金子的梦想!原子核中质子的紧密结合是化学元素稳定的原因, 也是炼金术士无法实现梦想的原因。

与质子相比, 中子对原子的化学性质和特性的影响要小得多, 尽管它们紧密结合在一起,很难添加到原子核中或从原子核中移除。如果增加或获得中子,原子仍然保持相同的化学特性,但其质量将略有变化,并可能获得奇怪的核属性,如放射性。

然而, 与质子或中子相比, 电子在原子中移动的空间要大得多。事实上, 它们可以从各自的位置上被击出,甚至完全离开原子!所需要的能量远低于驱逐原子核中的粒子所需的能量。如果发生这种情况, 原子仍然保留其化学特性, 但会出现不平衡的重要特性。电子和质子的独特之处在于它们在一定距离内相互吸引。正是这种距离上的吸引力导致了被摩擦物体之间的吸引力, 电子从它们原来的原子中脱离, 停留在另一个物体的原子周围。

电子倾向于在一定距离内排斥其他电子, 质子与其他质子也是如此。质子在原子核中结合在一起的原因是存在一种被称为强核力的更强大的力, 它仅在非常短的距离下有效。由于单个粒子之间的这种吸引/排斥行为, 电子和质子被认为具有相反的电荷。也就是说, 每个电子都带负电荷, 每个质子带正电荷。在一个原子内, 它们以相等的数量相互抵消, 因此原子内的净电荷为零。这就是为什么碳原子的图片有六个电子: 用来平衡原子核中六个质子的电荷。如果电子离开或额外的电子到达, 原子的净电荷将不平衡, 使原子作为一个整体“带电”, 导致它与附近的带电粒子和其他带电原子相互作用。中子既不被电子、质子吸引也不排斥,也不被其他中子所吸引和排斥,所以中子被归类为完全不带电荷。

电子到达或离开的过程正是当某些材料组合被摩擦时发生的: 来自一种材料的原子的电子被摩擦迫使离开它们各自的原子并转移到另一种材料的原子上。换句话说, 电子构成了本杰明富兰克林所假设的“流体”。

5. 什么是静电?

物体之间的这种“流体”(电子)不平衡的结果称为静电。之所以称为“静态”, 是因为移位的电子在从一种绝缘材料移动到另一种绝缘材料后往往保持静止。 在蜡和羊毛的情况下, 通过进一步的实验确定, 羊毛中的电子实际上转移到了蜡中的原子上, 这与富兰克林的猜想完全相反!但为了纪念富兰克林,指定蜡的电荷为“负”而羊毛的电荷为“正”。这是与常识有冲突的(我们一般认为多了点东西为正,但蜡多了电子带负电)。因此, 原子接收到多余电子的物体被称为带负电, 而原子缺少电子的物体被称为带正电。发现电“流体”的真正本质时, 富兰克林的电荷命名法已经非常成熟, 无法轻易更改, 因此一直沿用到今天。

迈克尔·法拉第 (Michael Faraday) 在1832年证明静电与电池或发电机产生的电相同。在大多数情况下, 静电是一种麻烦。因静电可能发生火灾或者损坏静电敏感的半导体电路。虽然可以生产由静电的高电压和低电流特性驱动的电机, 但这并不经济。静电的少数实际应用包括静电印刷、静电空气过滤器和高压范德格拉夫发电机。

6. 总结

  • 所有材料都是由称为原子的微小“积木”组成的。
  • 所有天然存在的原子都包含称为电子、质子和中子的粒子, 但氢的氚同位素除外。
  • 电子带有负 (-) 电荷。
  • 质子具有正(+)电荷。
  • 中子没有电荷。
  • 电子比质子或中子更容易从原子中脱离。
  • 原子核中质子的数量决定了它作为独特元素的身份。
  • 历史原因,得到电子的材料带负电,失去电子的材料带正电。

7. 参考

8. 总目录

后续章节待补充...



【单片机编程入门篇】

第一节 单片机是什么

目录

1.1 单片机是一座小县城(城镇、城市)



  • 单片机的引脚(pin)就是各个进出小城的路口。
  • 单片机内部的空间(ROM、RAM)就是小城的地盘、楼房。
  • 单片机总线是道路、河流、管道、电线。
  • 单片机运算器是供电公司、自来水公司、暖气公司、网络公司的各个管理部门、管理服务器。
  • 单片机的定时器是各家各户的闹钟、万年历、还有天上的太阳、月亮、春夏秋冬四季。
  • 单片机中断调度是交警部门完成的。

1.2 单片机还是座学校

以学校为例可以更好的类比单片机。



  • 单片机的引脚是学校的东南西北门(如果有四个门开的话)
  • 单片机的内部空间就是学校的地盘、教学楼、实验楼、操场等。
  • 单片机的总线、通道是各个楼道、走廊、人行道、水电线路。
  • 单片机的定时器就是上下课铃声控制。
  • 单片机的运算器是办公楼。
  • 单片机就是一幢楼房、一座学校、一座城市...
  • 它的行为与这些的运行规律并没有什么不同,只是微观化了。

1.3 单片机还是一个人

  • 眼耳口鼻舌就是单片机的接口
  • 大脑是单片机的运算器和控制器
  • 神经网络是单片机的总线
  • 生物钟是单片机的时钟
  • 心脏是单片机的供电系统

单片机可以类比为一个人,但是人身体内的器官运作也不是那么直观,所以作者更倾向于把单片机类比为学校。

1.4 单片机怎样才能正常工作起来

单片机是学校,它是怎样开始一天的工作的?

  • 初始化
  • 一大早,门卫师傅,打开大门,设好路障,这是学校大门口(路口)的第一步的准备工作,准备工作在编程中用初始化这个名词代替。对应到单片机的运行,叫做端口(接口)初始化。
  • 老师把教室门都打开,准备接收学生,这是内存的初始化。
  • 道路清扫完毕,这是总线的初始化。
  • 学生进入教室,初始化数据填充
  • 进入程序循环
  • 上课 授课 学习 下课一节课结束,然后再进入下一节课,重复这个过程,上完所有可能(六节课/七节课)
  • 释放资源
  • 放学,清空教室,关校门

总结

单片机是什么?

  • 单片机是一座小城(乡镇、县城、城市),也可以说是一个社区。
  • 单片机还可以是一座综合大楼、体育场馆、学校等等。
  • 不要被名词限制了你的思维,我们生活的地球也是一个单片机、一个星系又何尝不是,只是控制它的不是人,而是自然规律。

什么是单片机编程?

  • 编写单片机程序是让单片机工作在有序的状态,使其符合人的需求,所以说,有序即为程序,使之有序即为编程。

第二节 单片机学习框架

框架、框架,关于单片机的文章很多,但是学习框架凤毛麟角。 那么就集中在框架上先写写。

2.1 单片机主框架

在主目录曾经写过,因为这是第一节,那么我们重复下。



  • 单片机核心 当然是必不可少的,单片机就是将电脑所拥有的大部分硬件集成到一个芯片中,当然是精简过,但是也强悍的不得了。
  • 都将计算机集成了,我们考虑下,自然需要有些基础学习单片机才能进展快,所以要了解一些 模拟电路、数字电路 的基础知识,但是大家不要被这两个名词吓住了,针对单片机应用来说,我们仅学习其中 万分之一的基础知识 就好。
  • 当然单片机学习离不开单片机编程,早期学单片机很费劲,要学习汇编语言,机器语言,感谢C语言的发明人和拓展科学家吧!他们把问题简化,我们可以用中级语言C语言完成单片机编程, C语言是核心 ,这个要学会,现在甚至有些可以用高级语言或者图形化单片机编程,但是还不够实用化,C语言仍然是核心。
  • 我们用编写单片机软件来控制单片机硬件,所以软件环境、硬件环境都必不可少。软件环境包括编程平台(软件开发平台)和调试工具(串口调试助手、TCP/IP/UDP调试助手等等);硬件环境我们要准备单片机开发板和调试工具万用表、示波器、逻辑分析仪等。
  • 准备这些很麻烦,有些还比较贵,所以在公司内部和学校学习是最好的方式,另外现在有个神器- Proteus ,它包含了单片机编程平台、硬件仿真、硬件调试工具,作为初学者可以从proteus入手学习单片机,事半功倍。
  • 通讯协议是重点、重点、重点 !单片机核心与外部模块、芯片通讯,都要有通讯协议才行,要用几根线与外部连线,要发送什么数据...

2.2 C语言框架



C语言,大家重点应该关注语言这两个字,汉语、英语都是语言。无非汉语英语是人说的话,C语言是机器人(电脑)说的话。

  • 程序 开发调试平台 (装在电脑上),电脑是什么?就是人脑,这个平台就是人脑的一段程序。
  • 容器 ?当然就是我们的大脑了。还有我们大脑内部的神经元、记忆区域。
  • 词、句子,我们说的话、记录的文字,都是有 词句 组成,C语言也不例外。
  • 语法规则 那么就清楚了,说话要有逻辑,别人才听得懂,这就是语法规则。
  • 输入、输出、内部运算 ,这就是对话的过程,有人跟你说话,你与计算机说话,计算机与你对话,这就是输入输出; 内部运算当然是想想再说,不能胡说八道:)
  • 函数库 ,就像我们翻译软件,把常用的符合一定语法句子记录下来,日积月累,后续我们直接调用就好,例如打字的搜狗输入法记录的常用短句,常用的英文句子...

第三节 编程语言框架与程序存储

目录

有序即为程序,使之有序即为编程!

有序即为程序,使之有序即为编程! 使某样东西有序的是人,那么就是程序员编程, 使之有序的是机器,那么就是机器人编程!还有几位可以让万物有序的,国内叫做神仙,有些国家称之为上帝... ;科学界对此有异议,称之为 自然

3.1 编程语言框架,看看C语言在哪里



  • 计算机是不认识什么代码的,它只对一个个的电子元器件组成的 开关 感兴趣
  • 电子开关除了芯片设计开发人员,对程序员来说太难懂了,所以把很多电子开关的组合用二进制代码组合在一起,形成 机器语言
  • 机器语言仍然晦涩难懂,只有少部分程序员可以掌握,再把机器语言包装,形成 汇编语言
  • 汇编语言与我们日常的对话语句不一致,比较反人类,把汇编语言包装形成中级语言,其中 C语言 是其中的佼佼者。
  • C语言适合于底层硬件编程,例如单片机,但是对大型程序捉襟见肘,再把C语言之类的中级语言包装形成C++、java、javascript、C#等等 高级语言
  • 高级语言让程序员队伍变得庞大起来,但是还是有很高的门槛, 图形化编程语言 的发展,更容易让人上手简单编程。梯形图、labview、儿童编程语言Scratch...

3.2 程序代码存储在哪里?



  • 编写好的程序代码存放在可以 长期存储的容器 中,就是我们的磁盘、固态硬盘、U盘、光盘(已接近淘汰)、磁盘阵列(服务器)等等
  • 长期存储的设备读写速度很慢,处理程序代码的CPU速度很快,所以在CPU与长期存储设备之间架起了一座桥梁作为缓冲区: 内存
  • 内存与CPU内部的寄存器交互数据, 寄存器 是参与CPU运算的最基本的容器

3.3 程序的组成犹如我们写文章



  • 人的语言是汉语、英语、俄语、法语等等,计算机的语言是C语言、java等等,语言都是有一些基本的字词组成的,计算机语言也不例外,计算机语言的字词叫做 关键字
  • 字词按照一定的语法规则排列形成句子,关键字按照语法规则排序形成 语句
  • 各种语句组合在一起可以反复使用,形成 函数
  • 函数或者语句组合在一起放到一个 文件 中。
  • 各种相互关联的程序文件形成一个 工程
  • 多个工程可以放在一个 工作区 内,利于查看和使用。

以文件形式存储程序代码,是目前流行的程序组织方式! 与文件能够抗衡的存储方式估计是表格记录,这是数据库的存储方式!

第四节 单片机学习方法与步骤

51单片机、AVR单片机(可以是 arduino )、stm32都是非常好的单片机学习路径。低中高单片机都是有大量的应用范围,只是分为不同的领域,工程、家用、军工等等。

目前三款单片机proteus都开始支持,那么学习单片机怎样开始?

A 找到一份合适的入门资料

  • 找到一份完整的工程示例代码,有书籍/视频/讲义/网络文章连载最好
  • 这个单片机项目工程是一步步建立起来的
  • 除了基本功能实现,最好调试工具容易获得,并做了讲解
  • 这款单片机市面上的资料比较多
  • 最好有硬件支持

B 准备一台电脑,学会基本工具的使用

  • 学会 proteus 的基本用法
  • 学会 keil 或者及其他编译器的用法(直接用 proteus 编辑、编译也可以,得学)
  • 如果开始不准备硬件环境,那么先把 proteus 一个软件学好即可
  • proteus 可以实现主流单片机的代码编辑、调试、仿真,一个软件全完成!

C 根据教程、一步步学习

  • 根据教程一步步实现代码,并能够在 proteus 进行调试仿真
  • 学习了解代码实现方式,C语言细节需要学习
  • 学习中逐步单片机基本架构
  • 先实现功能,再了解细节

D 准备硬件环境、深入学习

  • 将代码烧录到硬件,观察是否能够实现功能,判断与软件仿真的差异
  • 学会万用表、示波器的使用
  • 掌握基本接口电路的知识
  • 改变代码结构、功能,不断调试验证
  • 最后,搭建适合自己的单片机编程框架,例如时间片轮询法等等

不积跬步无以至千里,不积小流无以成江河,单片机学习可以高屋建瓴,加快进度,但地基不可或缺,技术类学习入门可以找技巧,提升唯有多学多练!

第五节 单片机程序框架



编写单片机类的程序,最核心、最重要的是上面的框架。

  • 硬件支持 :单片机
  • 软件框架
  • 初始化代码
  • 时钟配置
  • 定时器配置
  • 中断配置
  • 功能代码

通过此框架我们会明白,初始化代码是重中之重。实际初始化代码是初始化寄存器配置。

  • 时钟配置,是初始化时钟相关的寄存器配置
  • 定时器配置,是初始化定时器相关的寄存器配置
  • 中断配置,是初始化中断相关的寄存器配置

这里引申出一个重要概念, 寄存器

展示的时间到了,实际上寄存器就是一排开关,一排管道,一排过滤器。

如果寄存器的一位(一个开关)是红色的,代表这个这个位管理这个通道(每个色块)关闭,如果是绿色的代表这个通道打开,当寄存器1~5的一位都变成绿色,蓝色的电子才能通过,进入后续的电路通道。



编写单片机程序,实际大部分工作就是在配置这些通道。

  • 什么情况下打开通道,什么情况下关闭通道
  • 什么时间打开通道,什么时间关闭通道
  • 同时打开几条通道,关闭几条通道
  • 检查这个通道的状态,是关闭了还是开着

对以上措辞转换个说法:

  • 什么情况下打开寄存器的某位(置位),什么情况下关闭寄存器的某位(清零)
  • 什么时间打开寄存器某位(置位),什么时间关闭寄存器某位(清零)
  • 同时打开寄存器的多个位(置位),关闭寄存器多个位(清零)
  • 检查寄存器某位的状态(读取)

寄存器操作是优先于其他功能代码实现的 ,因为这些管道不打开,其他功能实现不了,例如我要控制某个单片机引脚输出电流/电压(变成高电平)首先要配置这个引脚的控制寄存器能够输出(实际也可以控制器关闭或者输入),部分单片机还可以控制其输出电流的大小,然后才能写代码控制引脚变为高电平。(部分51单片机内部做了这个动作,不用控制这个寄存器,可以直接控制读取引脚输出、输入)

//注意以下代码不是stc系列51的控制,是另一款51的配置方式,仅做参考 
//P4OE就是P4的控制寄存器 
//P4的第一个引脚设为输出,其他全部为输入引脚
P4OE |= 0B11111101; 
P4_1=1;  //P4_1 引脚输出高电平

单片机编程大约70~80%的工作是在控制寄存器操作(配置、读取)理解了寄存器的配置原理,懂点 基础 C语言,剩下的编程是水到渠成的工作。

寄存器和数字电路知识再参考下面的第一个链接:

你管这破玩意叫 CPU ? - 码农的荒岛求生的文章 - 知乎 码农的荒岛求生:你管这破玩意叫 CPU ?
你管这破玩意叫编程语言? - 码农的荒岛求生的文章 - 知乎 码农的荒岛求生:你管这破玩意叫编程语言?

因为开设单片机训练营用的单片机是STC89C52RC(硬件支持),所以用它为例将寄存器初始化配置。这样保持和课程一致,实际其他51类的单片机是类似的。选择此款单片机另一个初衷是它的程序完全可以无须改动或者需要极少的改动就可以在proteus运行,这样不用开发板我们也可以先开始学习单片机编程。

中文版规格书下载链接: stcmcudata.com/datashee

一、时钟配置(晶振选择)

个人喜欢用人来类比单片机。

第一个解决的问题就是时钟配置。

时钟就是脉搏、心跳,晶振就是心脏,心脏每秒跳动的次数就是频率。

单片机分为内部晶振和外部晶振,也就是说它可以有两个心脏,你可以选择只用一个,并且是心脏跳动的频率你可以选择,这个工作就是时钟配置。STC89C52 只支持外部晶振。

先看单片机实物:



再看它的外部晶振(外部心脏)



然后将他们组合成电路:



这个时候我们再来看电路图



这款产品没什么时钟寄存器配置,直接连上晶振就能用。另外注意,部分单片机时钟配置不是在程序中完成的,而是在编写程序前,在编辑器、下载软件中配置的。

二、定时器配置

目标正确配置定时器,能够让定时器间隔一定时间工作,
实现1ms定时。

STC89C52 三个定时器,定时器0、定时器1、定时器2。

学会一个定时器,其他定时器的配置类似,触类旁通,使用定时器0为例学习。

  • 定时器位于单片机内部
  • 定时器需要配置定时寄存器后才能使用
  • 初始化定时寄存器
  • 定时器中断程序处理
  • 定时器功能程序代码编写

初始化定时器的工作先后顺序?

  1. 选择那个定时器启用(0、1、2)
  2. 设定定时器的计数模式
  3. 配置定时器计数值
  4. 启动定时器
  5. 启用定时器中断
  6. 总中断开启

中文版规格书下载链接: stcmcudata.com/datashee (以下图片见189页)



总共TCON、TMOD、TL0、TL1、TH0、TH1, 6个寄存器参与了配置定时器0。

中文版规格书下载链接: stcmcudata.com/datashee (以下图片见190页)



很多时候,我们写规格书的工程师,都是理科人才,理科人才俗成“一根筋”(非贬义,不是这种特质,太灵活而不严谨也做不好技术),他是以自己的智力来衡量大部分人的智力,也就是跳跃式思维写东西,我们看上面简单的寄存器TCON表格,实际上就是不友好的表示方式,SFR name TCON 实际上上面已经说明了这是寄存器TCON 表格里又出现它,增加脑力损耗,应删掉,Address 88H 地址是寄存器集中在一块,每个寄存器都会分配个地址,但是对我们编程来说,基本上不用管它,所以这个也可以不列在这里。然后bit name 又写的太省了,bit应该是位名称(或者称位序号), name应该是功能名称,所以我给他改改。



所以我们看规格书的过程,是从庞杂的信息中提取有效的信息,辨别能力不是一开始就有的,而是我们不断在实践中建立的,所以初学者看规格书会看到头大,就是规格书不是入门书,而是工具书,需要你具备很多专业和边缘知识才能更好的理解,更容易获取到自己有用的信息。



向导推荐逆向学习法,先了解框架,然后先实现功能,倒查为什么这样能够实现。

最上面是写了单片机编程的核心框架,然后我们找到一个完整的程序,先看这个例子,它的实现,然后倒推。

  1. 下载STC-ISP stc系列单片机的烧写程序 stcmcudata.com/STCISP/s
  2. 它内部有示例代码,我们直接看
  3. 分析其示例代码,倒推寄存器设置的要求







//为了利于说明,我把大部分注释代码删除
#include "reg51.h"
typedef unsigned char BYTE;
typedef unsigned int WORD;
#define FOSC 11059200L
#define T1MS (65536-FOSC/12/1000)   //1ms timer calculation method in 12T mode
sbit TEST_LED = P1^0;               //work LED, flash once per second
WORD count;                         //1000 times counter
void tm0_isr() interrupt 1
    TL0 = T1MS;                     //reload timer0 low byte
    TH0 = T1MS >> 8;                //reload timer0 high byte
    if (count-- == 0)               //1ms * 1000 -> 1s
        count = 1000;               //reset counter
        TEST_LED = ! TEST_LED;      //work LED flash
void main()
    TMOD = 0x01;                    //set timer0 as mode1 (16-bit)
    TL0 = T1MS;                     //initial timer0 low byte
    TH0 = T1MS >> 8;                //initial timer0 high byte
    TR0 = 1;                        //timer0 start running(定时器0开始运行)
    ET0 = 1;                        //enable timer0 interrupt
    EA = 1;                         //open global interrupt switch
    count = 0;                      //initial counter
    while (1);                      //loop
}

看上面代码整个TCON 寄存器中,8个位,只用到了一个,TR0=1(启动定时器0,开始运行),其他未用,也就是说我们实现目标1ms定时,很多其他通道(寄存器位)不用去管它,它默认是开是关大部分时候不影响我们的程序运行。

下面逐一反推,定时器寄存器的配置方式

void main()
TMOD = 0x01; //set timer0 as mode1 (16-bit)
TL0 = T1MS; //initial timer0 low byte
TH0 = T1MS >> 8; //initial timer0 high byte
TR0 = 1; //timer0 start running(定时器0开始运行)
ET0 = 1; //enable timer0 interrupt
EA = 1; //open global interrupt switch
count = 0; //initial counter
while (1); //loop
}

以上是程序的主体(主程序),是单片机的灵魂,也是一个程序从出生活动到死亡的过程。

TMOD = 0x01;                    //set timer0 as mode1 (16-bit)
    TL0 = T1MS;                     //initial timer0 low byte
    TH0 = T1MS >> 8;                //initial timer0 high byte
    TR0 = 1;                        //timer0 start running(定时器0开始运行)
    ET0 = 1;                        //enable timer0 interrupt
    EA = 1;                         //open global interrupt switch

以上6句代码就是做了我们开始说的定时器初始化工作

  1. 选择那个定时器启用(0、1、2)
  2. 设定定时器的计数模式
  3. 配置定时器计数值
  4. 启动定时器
  5. 启用定时器中断
  6. 总中断开启

这一部分全部是寄存器的配置,有些单片机寄存器只能整个的控制,也就是处理一个8位的寄存器,要同时处理8个位,这款51单片机可以处理单个位,上面说的TR0我们看看在哪里。



TR0 在TCON寄存器的第四位,8位寄存器,实际就是8个通道,8个存储区域。每个存储区域只能存放0和1,0代表通道打开,1代表通道关闭。

看这里,寄存器1是怎么配置的,0000 0010 也就是关关关关 关关开关。



TR0=1 代表只是TCON第四位开,其他开关不管它。

规格书: stcmcudata.com/datashee (以下图片见190页)



类似的,现在我们把TMOD、TL0、TH0、ET0、EA都从规格书中找出来,看看它位于那个寄存器或者它是哪个寄存器。

规格书: stcmcudata.com/datashee (以下图片见191页)





注意这里设置TMOD和设置TR0的区别,TMOD是整个TMOD寄存器,TMOD=0x01(十六进制表示)=0b00000001 (二进制表示)这个8位寄存器所有的位通道都配置了,只是填充0还是填充1。TR0=1 只是TCON寄存器第四位填充1,打开一个通道,其他7个通道不管它。

TMOD = 0x01;                    //设置定时器0 作为16位模式 //set timer0 as mode1 (16-bit)

能设置16位模式,意味着也能设置8位模式、13位模式,这个位数越大,可以计数定时的范围越宽,意味着定时时间可以更长。

TL0 = T1MS;                     //initial timer0 low byte
TH0 = T1MS >> 8;                //initial timer0 high byte

上面两句作为一组来看,主要原因是TL0 TH0两个寄存器一般是同时使用的。

TH0 TL0 是定时器的两个计数容器,也就是计数寄存器,计算机、单片机一般以一个字节为单位,一个定时器计数寄存器实际上就是一个字节(8位)的容器,TH0 TL0 两个合起来就是两个字节(16位)的计数容器。



TH0 TL0 都是粮仓,粮食就是填充值,到了一定的数量,触发开关,证明计数完成。计数实际上和定时不分家的,假设我们的输送带匀速往里面送粮食,1秒送一颗粮食,计数到10颗就是10秒,所以定时器又叫做定时计数器。这样定时器可以同时完成两个工作。

实际上简单点我们从1数到10,大家尝试下就明白了,是需要时间的。

假设我们不是从空粮仓开始计数,而是里面已经灌满了半仓,那么我们填满粮仓的时间就减少一半。所以设定TL0 TH0的数值,就可以控制定时的时间。

这里有同学就奇怪了,TL0 =10,TH0=100;我理解,TL0=TIMS,TH0=TIMS>>8什么鬼?

#define FOSC 11059200L
#define T1MS (65536-FOSC/12/1000)
define 在C语言中我们经常翻译过来是“宏定义”,实际上这样的翻译可能造成误解,实际是替代、指代、起小名、起外号的意思。

张三的外号是二狗子,实际指代的是一个人。

11059200L 是张三,现在给这一串数字另起个名字二狗子 FOSC

FOSC 完全等于 11059200L,是一个东西。

同样的,T1MS和(65536-FOSC/12/1000)是一个东西,你愿意写前面好写的短名还是后面这一长串计算公式?是人都知道,简单好记最好。T1MS 仅仅就是起个外号,来代表后面的一串公式而已。

这样我们就知道,

  1. TL0 = TIMS 进行转换
  2. TL0 =(65536-FOSC/12/1000)
  3. TL0 = (65536-11059200L/12/1000)
  4. TL0 = 65536-921.6 = 64,614.4 ≈ 64614



/ 是C语言中除法的意思 11059200L 是个十进制长整型数,加上L是代表C语言中的一类数字,实际我们平常都是说的十进制数字 1 2 3...100.. 但是计算机要处理各种各样类型的数字,并且这些数字的长度、精度、进制类型都不用,所以用各种符号代替不同的数。

  • 0x01 代表十六进制的1
  • 0b00000001 代表二进制的1
  • 1 默认代表十进制的1

以上是进制表示

  • 整型 1、-1、25
  • 长整型 11059200L
  • 浮点数 11.15 、22.44446 (其实就是带小数的数字)
  • 布尔型 true/false 0/1
C语言中,整型常量和长整型常量,有什么区别?
C 数据类型 | 菜鸟教程

为什么计算机要分这么多的类型?

计算机、单片机实际上到现在还是没有那么智能,抽象能力还是比较差劲,如果你不写明确,它不认识这各种数字,不像人脑可以一眼分别。

继续:

  • TL0 = 64614
  • 实际是不是64614 就能存到TL0中了呢?
  • 前面说过TL0 是一个字节的8位寄存器,8位最大能存的数是2的8次方-1=256-1=255
  • 这个时候计算机(实际上单片机的编译程序)在内部自动进行了一个转换,把存不了的数给舍弃了,怎么转换的?
  • 64614 是十进制数 为了好理解,我们把它转换为16进制数和二进制数(windows自带计算机就可以,到程序员模式)
  • 十六进制 FC66 二进制 1111 1100 0110 0110
  • TL0 只能存二进制的8位数据(16进制的两位数据,16进制一位可以直接对应4位二进制)
  • 实际上TL0 能存进去的就是二进制的0110 0110 也就是十六进制的66
  • 那么能存进去的十进制数是什么?102
  • 所以 TL0 = 64614 但是存到单片机中自动变成了 TL0 = 102





但是这不符合我们的设计要求,1ms定时,必须要存进64614个计数值,才能准确定时。

我只存了个102进去算怎么回事。这个时候就是需要16位定时器模式的原因。

就需要我们用两个寄存器 TH0 TL0的组合,现在我们不是把低8位存到TL0了,我们再把64614的高八位存到TH0就好了。怎么存?

因为TH0实际也是8位寄存器,所以用了>>这个符号,把T1MS右移8位,然后存进去,当我买说到右移,这又是二进制的运算。

  • 我们知道T1MS实际等于64614
  • 64614 = 0xFC66(十六进制写法)=0B1111110001100110(二进制写法)
  • 0xFC66 右移8位 实际上是十六进制右移2位 将FC移到66的位置 = 0x00FC
  • 0B1111110001100110 二级制右移8位 就是从第9~16个数字(0/1)每个都向右移动8位,前面补0.
  • 变成0B0000000011111100
  • 因为TH0 也只能存8位(低8位) 所以TH0=0B11111100=0xFC=252(十进制写法)





重点来了,当我们一旦说到“位”、“左移”、“右移”这个名词的时候,在单片机编程中,大部分时候我们说的是二级制数字,不要把它想成十进制了,这里就涉及到进制转换问题

进制一个关键概念就是用多少个字符来表示全部的数字,我们十进制是0~9,二进制只能用0和1来表示全体的数,八进制,只能用0~7来表示所有的数字,十六进制是0~9 再加上A、B、C、D、E、F来表示全部的数字。只能用有限的字母符号排列出来。以8进制为例子,117可以是个8进制数字,但是118不可能,因为8进制里面根本没有8这个符号,这样只能进位,变成了120 注意这个120不是十进制的120,是8进制的,两个进制的数写法相同但是大小不等,所以也就有了前面的说法,不同进制、不同类型的数计算机是不认识的。我描述了这一段人大体能够看明白,计算机、单片机它不明白。具体关于进制概念和换算参考下面链接:

二进制数系统
1.详解二进制,十进制,十六进制—聊聊计算机,靠谱学院,星月_哔哩哔哩_bilibili

认真看以上文字的话,到这里我们应该能够理解这三句C语言代码

TMOD = 0x01;                    //set timer0 as mode1 (16-bit)
    TL0 = T1MS;                     //initial timer0 low byte
    TH0 = T1MS >> 8;                //initial timer0 high byte
  • 设置定时器0 启用,并且设置为16位模式
  • 因为设置了16位模式,所以我们必须要用两个8位寄存器才能把计数值存完整
  • 所以我们用到了定时器0专用的两个计数寄存器 TH0 TL0
  • 把16位的计数数据低8位直接存到TL0中(T是定时器Timer首字母 L low 低的首字母 TL0就是低8位定时器0的寄存器 TH0同理)
  • 把16位的技术数据高8位先右移8位放到低字节位置,然后再装入TH0
  • 完成计数的初始值填入

以上三句话配置好了定时器0(1ms定时)

TR0 = 1;                        //timer0 start running(定时器0开始运行)
    ET0 = 1;                        //enable timer0 interrupt
    EA = 1;                         //open global interrupt switch
TR0=1; //启动定时器0  开始计数+1
ET0 =1 //允许定时器0 中断

1ms定时,T1MS代表的公式算出来就是64614 当这个数不断+1 ,加到65536时,专业术语叫做 溢出, 实际上是超出了TH0 TL0能存放的最大数,两个加起来是16位,16位最大能存放的数是2的16次方-1 )这个时候证明时间到了正好是1ms(每次+1 有单片机的晶振时钟脉冲决定,一个脉冲或者几个脉冲完成才能+1,一个脉冲的时间也确定了,也就确定这个计数值+1用的时间。

所以64614叫做计数初始值,不断+1,加了922个1后变成了65536,溢出,定时时间到,然后就会触发一个开关, 这个开关叫做定时器中断(设置了ET0 =1) 中断开关开启后,实际上就是允许一段独立中断代码,我们可以在这段代码中做自己想做的一部分工作了。



单片机中有很多中断,例如定时器0 、定时器1中断、 串口中断、看门狗中断... 所以设置了一个总中断开关 EA=1 代表的意思是所有中断都允许,符合一定条件就会到达专门的中断程序处理一段代码。

本例程序从外部看同时运行两段程序(并行执行,实际是时间片运行模式,暂时不要考虑这个细节)

  • 主程序,只有一个
  • 中断程序,可以是多个



关于中断,参考链接,后续会继续深入讲解

向导:M20 中断、定时器与程序存储方式

count=0 是初始化中唯一不是配置寄存器的代码。它是什么,专业术语讲是初始化变量。

初始化这个词有意思,看过电影《黑衣人》《明日之战》... 有个仪器洗脑的



清除记忆,从头再来,实际上电影中的设定作为“初始化”的定义就比较准确,清除记忆实际上也是分两种的,一个是完全清除,一张白纸,另一种是恢复原先的记忆,清除最新的记忆。

所以初始化

  • 清零 = 0
  • 设置中需要的原始数据 例如寄存器的填充计数值 T1MS

初始化在程序中是非常重要的步骤,为了保证程序能够按照设定的规则运行,一般程序运行起始就是初始化,我们打开电脑一个软件,每次都出现同样的一个弹窗画面,实际就是在运行初始化代码





本例主程序代码很简单,出现了while(1); 不要小看这一句,实际上程序大部分工作都是它完成的,只是我们这个例子没有做太多的工作,所以写的简单,实际上就是这一句,完整的写法是

这个是主程序,但是主程序没有做什么工作,我们这个例子是中断程序做了定时器的工作,主程序在空运行,就是我们开车停在哪里,发动机空转,只要不熄火就一直空转,但是不走。

第六节 最通俗的理解让人迷糊的“函数"

本节让我们把上学阶段学到的函数公式和计算机用的编程函数统一理解。明白编程用的函数在做什么,有什么用。

C 函数 | 菜鸟教程 (参考)

y=f(x)

初中阶段 对函数概念的定义:一般地,在一个变化过程中,如果有两个变量x与y,并且对于x的每一个确定的值,y都有唯一确定的值与之对应,那么我们就说x是自变量,y是x的函数。这是用 变量关系 描述的。
高中阶段 对函数概念的定义:设两个非空数集AB,如果按照某种确定的对应关系f,使得对于A中的任意一个数,在B中都有唯一确定的一个数f(x)与之对应,那么就称f:A --> B是一个函数。这是用 对应关系 描述的。
以上来自这里 乚丫丫:初高中对函数定义

数学很严谨,各种定义是深思熟虑后给出的一个说明文字。这种对于后续的科研领域、传承是很有用的。

但是

严谨的概念、定义、名词每一个都需要一本1000页打底的书,甚至几十本书才能把它讲明白,也就是说需要《说文解字》。

终其一生,一个人能把一个名词折腾明白,绝对是大师级人物。

所以我们上学阶段被灌输了大量的名词、定义,如果有同学听不懂,不明白,不算是什么问题,不需要对自己的智力产生太多怀疑,无非做题家更适应这样的思维模式。你的思维路径可能对生存更好用,例如“智商”和财商还真见不得孰高孰低,“智商”与情商也见不到谁高谁低,这里的“智商”仅限于解题,一种模式仅仅在特定的领域起效果,换个模式就得变通,不能生搬硬套。

别嫌我啰嗦,大部分人碰到稍微需要懂点脑筋的东西,第一反应是放弃,睡觉不香吗?

向导最擅长的是,复杂的概念,用最俗的来解释,见证奇迹的时刻到了:)

y=f(x)

  • x是一条怀孕的鲤鱼,y是一堆小鱼
  • y是一场车祸,x是坏刹车片
  • x是一枚戒指,y是女朋友...

z=f(x,y)

  • x是一个框,y是一堆乒乓球,z是装在框里的一堆乒乓球



有人会把计算机中的函数说的天马星空,神乎其神,实际计算机中编程用的函数和数学定义中的函数是极其统一的。

扔进()中一些东西x,产生等号左边的一些东西y,y和括号中的x是有关联的,因果!

计算机编程中把函数的写法改了改,以C语言为例。

//很标准的写法
int f(int x)
   return x;
}

扔到()里一些东西,扔进x吧,x在{}中做了一些活,x=3;return是返回的意思,实际上就是把一个扔进去的东西,变换后再扔出来,不变换也行。

//不标准的写法,为了理解其内涵
y=f(x)
}

我们上一节课已经学过int是整型数字(0,1,2,-1,-2,100 等等),也就是把一个整型数字x,扔到一个函数里面,在{}中经过一系列运算或者变换,最后把结果送出来。

返回类型 函数名(参数列表)
   运算语句1;
   运算语句2;
}

实际上函数就是用计算机算命的工具,算因果的。各种编程语言格式不一样,但作用是一样的,扔进去一个东西,出来一个东西,实际就是输入输出,我现在在写这篇关于函数的文章,扔进去各种文字、标点符号,然后出来就是一篇知乎文章。

用计算机方式来编程:

知乎格式  写文章(文字、公式、引用、标点)
   一通废话;
   吹牛打草稿;
   讲解函数定义;
   return  M50 最通俗的理解让人迷糊的“函数" 知乎文章一篇;
}

不要把计算机编程看得多高大上,实际上计算机编程是人类对自己大脑思考的拓展工具,用更简单的方式来决策一些事情,算算原因、结果。

现在大家可以返回去再看M40的主函数、中断函数。

向导:M40 定时器 中断程序形象化理解(第二课)

//中断函数
void tm0_isr() interrupt 1  
    TL0 = T1MS;                     //reload timer0 low byte
    TH0 = T1MS >> 8;                //reload timer0 high byte
    if (count-- == 0)               //1ms * 1000 -> 1s
        count = 1000;               //reset counter
        TEST_LED = ! TEST_LED;      //work LED flash
// 主函数
void main()
    TMOD = 0x01;                    //set timer0 as mode1 (16-bit)
    TL0 = T1MS;                     //initial timer0 low byte
    TH0 = T1MS >> 8;                //initial timer0 high byte
    TR0 = 1;                        //timer0 start running(定时器0开始运行)
    ET0 = 1;                        //enable timer0 interrupt
    EA = 1;                         //open global interrupt switch
    count = 0;                      //initial counter
    while (1);                      //loop
}

加个提示void 是不用返回什么,只干活不出结果(没有KPI指标,不用加班)。interrupt 1 是keil的专用写法,标识中断1的函数与其他中断分开,但是中断函数tm0_isr()和主函数main()是两个非常特殊的就是()里面没东西,他们两个是所有函数的母亲、父亲(女娲、上帝的角色),可以无中生有。

函数的写法虽然有变化,但你一定会明白它们准备做什么,保证你有豁然开朗的感觉!

第七节 单片机入门框架三 学习思路 代码结构 流程图与分析工具

程序灵活又机械 ,灵活是代码的排列组合千变万化,机械是单一句子、结构的写法一成不变。

浮于表面,我们要学习编程,学的是下面几个名词:

  • 变量
  • 函数
  • 语句/表达式(逻辑判断语句 赋值语句 数学计算语句等)
  • 数据类型
  • 数据
  • ...

深入机理,我们需要学的是:

  • 空间(存储器,寄存器,堆栈,函数,类,结构,数组,文件,工程,其他容器)
  • 时间(时间线,时间点,定时,计数,中断,标志)

实际上程序是一个物体(对象)在某个时间点、时间段内,移动或存储到某个空间,如此往复,生生不息。

以个人观点,编程核心是 时间和空间, 相信这个也不仅仅是编程,可能万事万物归结到根源都是这两个。

单片机编程?也是紧抓时间和空间,我们的理解会非常深刻,并且学起来会越来越轻松。

因为现在工作在用一款单片机,好坏不论,实际上我们真正开发过程中,很多时候不是你学了哪款单片机,就必须用哪款,而是看公司正在使用的通用芯片、成本、前期积累等等。

也就是我们要学习的是单片机和编程的基本原理,单片机的选择看实际应用需要。

时间有限,学以致用,把现在正在用的单片机进行说明和讲解下,工作写文两不误:)

实际上中微单片机我是第一次接触,把学习的过程罗列下,给大家提供一个学习思路。

  1. 来源:我获得了一份单片机的datasheet数据手册, CMS89FT6xx.pdf
  2. 目标:我需要用这款单片机开发一款小家电产品
  3. 怎么办?从看这份手册开始。
  4. 获取到这份手册是中微的单片机,找到 官方网站
  5. 根据网站介绍查找单片机:公司简介、选型手册、数据手册、例程、应用文档、编程工具等
  6. 下载工具,熟悉开发工具,装载例程,分析例程,倒查数据手册
  7. 针对一个完整例程,逐条语句注释、分析
  8. 倒查数据手册,熟悉此款单片机接口、框架、寄存器功能、各模块功能设置
  9. 单片机初始化代码重点查看
  10. 根据前期积累,改写代码实现功能
  11. ...

第4项 查找官方网站 =========================





第5项 关键资料 ==============================



第6项 开发工具 =================================



第7项 学习代码 分析代码 注释代码 =============================



第8项,寄存器功能,做了一张表(每个寄存器我都做了注释,公开版本拷贝时不能带注释)

【腾讯文档】中微单片机主要寄存器 -- 腾讯文档



学习单片机编程,看起来事无巨细的学习方式,可能到了后期进展最快!

以资深工程师孙工的说法是现在的源代码是脚踩脚扁(方言,遍地都是的意思),实际上现在我们获取一些资料特别是编程领域的,真的是随处可以获取。

对年轻人来说,无论是否是计算机或者软件专业,其实有基本的初高中学历, 不是学不懂的问题,而是学不学的问题。

以前资料匮乏,网络也不发达,很多新技术都是集中在少数人手里,现在各个大学都开课,我们也是世界工厂,优秀的工程师层出不穷,生活好了,愿意分享的越来越多。

摆在我们面前就是一个拦路虎,姓名叫懒虎。一个就是懒,两个字是很懒,其他都不是问题。

投胎没投好,怎么办,凉拌,没有可以选择的路, 唯学而已

我们学一样东西,是会碰到一系列障碍的,

  • 何处着手?
  • 名词不懂?
  • 工具不会?
  • 资料怎么找?
  • ...

没有其他好办法,一个个障碍都要突破。

何处着手 ?哪里都可以,一个视频,一段文字,一篇教程,先学起来再说。

名词不懂? 一个个词和关联的解释都去学,学着学着就懂了。

工具不会 ?那就从介绍的几个工具开始,keil、understand、proteus,cmsIDE等等

资料怎么找? 输入你目前掌握的名词,看到一篇文章,再从文章里提取不懂的关键词,继续搜索..

这篇主要以understand为例讲解单片机代码结构与流程图。

先看一张图,不用细究这个复杂的图,下面有详解:



上图是一张流程图(flow chart)

从上到下实际上一根时间线,在某个时间点上一些东西存放到某个位置。

最上面已经说过了,紧抓时间和空间,其他都是在此基础上建立的表象。

先看空间,为了照顾人这个动物,空间变换了个样子,以文件、显示器、键盘的样子出现。

我们说硬件是载体,实际上硬件中的存储空间是核心载体。

电脑<-->人脑 两个最重要的载体

电脑内部的空间,人脑的记忆空间,这是实际存储的地方。

编程步骤:

  1. 找到一款文本编辑软件(keil、understand、记事本、notepad++、vscode... )
  2. 建立一个空文件,取名main.c
  3. 在空文件内部,按照一定的格式写代码
  4. 代码编写完成,电脑把代码翻译成单片机/芯片/CPU能看懂的结构
  5. 依照这段代码顺序,电脑开始执行,做出各种动作
  6. 检查这些动作无误,转换为其他格式外发文件,保存分发。

我们看到3、4、5是代码处理过程,代码就是我们按照一定的格式排列的编写句子,因为能够被计算机/电脑编辑、解释、编译、执行。最原始的意思,代码是用符号、码表替代机器硬件的排列组合。现在我们说他是程序员写出来的源文件。代码市面上的解释都不够准确,我们通过实际写写可能感悟更深。

代码_百度百科

下面是一段源代码:

#include <cms.h>
void timer1(void)
    static bit is_it_time;// 一个变量(标志变量) 时间到了吗
    static unsigned int         timer  = 0;// 一个变量 计数定时器
    static bit result = 0;// 一个变量 结果
    if(!is_it_time)// 一个判断 时间到了吗?
        if(++timer > 200)// 一个判断 如果定时器计数超过200 
            timer = 0;// 定时器计数清零(重新等于0)
            is_it_time         = 1;// 时间到了标志设为1
    result        = 0;        // 结果标志等于0
        else// 一个判断 如果定时器计数没有超过200
    result= 1;        // 结果标志等于1;
void 定时计数(void)//这个和上面timer1函数是一样的仅为了做说明 用中文重写
    static bit 时间到了吗;
    static unsigned int         计数        = 0;
    static bit 结果        = 0;
    if(!时间到了吗)
        if(++计数 > 200)
            计数= 0;
            时间到了吗        = 1;
            结果= 0;
            结果= 1;
void main(void)
while(1)
timer1();
}



一图胜千言,代码可以转化为流程图,下面这个是timer1 {} 大括号内的代码转换为的图,这种图叫做流程图(flow chart),为了说明清晰,我把代码和流程图都简化。



分析上图,start是开始的意思,end是结束的意思,在开始和结束范围内,就是timer1这个代码段要去做的事情,这个代码段叫做函数。函数其实就是个空间容器,它存放的是一段可以反复使用的代码。

眼到之处,必有空间 (实际--所想之处,亦有空间,无时不在,无处不在)

空间要从两方面去看,

  • 宏观 ,就是代码结构、例如函数、数组、文件等等
  • 微观, 存储器、寄存器、堆栈、神经元?

文件这种空间容器中,我们可以写上多个函数这种空间容器(代码容器)。

函数有一个固定的结构,

参考 C 函数 | 菜鸟教程

C 语言中的函数定义的一般形式如下:

return_type function_name( parameter list )
   body of the function
}

在 C 语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:

  • 返回类型(return_type): 一个函数可以返回一个值。 return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void
  • 函数名称(function_name): 这是函数的实际名称。函数名和参数列表一起构成了函数签名。
  • 参数(parameter list): 参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。
  • 函数主体(body of the function): 函数主体包含一组定义函数执行任务的语句,C语言你可以认为是{}内的部分。

最简单的函数,只需要一个函数名即可,无返回类型和参数,例如我们上面代码定义的timer1 这个函数。

void 代表不存在,无效,占个位置,让电脑知道这个函数是没有返回值,没有参数的。

至于什么是返回值,什么是参数,用到时再讲。

void timer1(void)