软件工程师学习硬件原理图--第一讲看懂GPIO和门电路(弱智学前班儿童系列)

开篇引言:

开这个的原因是因为,对于一个从小搞软件,除了电容,电阻,还有用过蓝福电池、奥迪双钻电池的我,真一直都搞求不懂这些硬件原理图,所以对于FPGA工程师来说,至少你得会看原理图吧,原理图都不会看,那写个锤子的程序哟,还怎么分配管教,就像学单片机的童鞋一样,单片机只知道写流水灯,电路不会,那也顶个肺。有很多人就说,去看模电,数电,跟着做做就会了,然而书本上面讲的都是什么基尔霍夫定理,这顶个毛用,我们就只要看懂原理图,你叫我们绕这么一大圈子,岂不是浪费我们时间,得力不讨好。
我一直不是希望自己会画多少层的板,这些有专门的硬件工程师做,但是,至少原理图会得看,而且每次我想搜一搜什么Alti design,这些PCB的视频教学,都将这个软件怎么用,不讲解为毛这里要这么画。所以,经过重重摸索,我决定对此开设一个专题讲解,针对软件工程师如何学习原理图,最终实现能够看懂原理图就是我们的目的了。

欢迎专业的硬件工程师点评补充指导!

1. 最简单的3.3V点亮小灯

在这里插入图片描述
如上图
如果我们输出电平为1,就3.3V,就可以点亮LED。
在这里插入图片描述
如上图
如果我们不关闭按键,此时没有电流,MCU连接的点就是3.3V。
一旦开关按下,电流导通,此点的电压就是0.
所以,我们就可以通过输入的此点的电压是0还是3.3v(1)来判断开关是否按下。

下面我们可以看看实际的电路原理图
在这里插入图片描述
想让LED点亮,我们就让nLED1输出低电平,这样就有电流流过了。
通过搜索nLED1,我们就可以搜索到,接到了GPF4这个引脚
在这里插入图片描述

如何设置为输出引脚呢?我们需要找到对应的芯片手册,查看该引脚GPF4,怎么配置。
在这里插入图片描述
可以看到,我们配置为01,就是output.

- 三极管

在这里插入图片描述
口诀:箭头朝内 PNP,导通电压顺箭头过

三极管有截止、放大、饱和三种工作状态,我们通常用截止区、饱和区。
记住:总之是箭头的始端比末端高 0.7V 就可以导通三极管的 e 极和 c 极。否则视作断路。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
三极管的用法特点,关键点在于 b 极(基极)和 e 级(发射极)之间的电压情况,对于PNP 而言,e 极电压只要高于 b 级 0.7V 以上,这个三极管 e 级和 c 级之间就可以顺利导通。也就是说,控制端在 b 和 e 之间,被控制端是 e 和 c 之间。同理,NPN 型三极管的导通电压是 b 极比 e 极高 0.7V,总之是箭头的始端比末端高 0.7V 就可以导通三极管的 e 极和 c 极。
三极管基极通过一个 10K 的电阻接到了单片机的一个 IO口上,假定是 P1.0,发射极直接接到 5V 的电源上,集电极接了一个 LED 小灯,并且串联了一个 1K 的限流电阻最终接到了电源负极 GND 上。

如果 P1.0 由我们的程序给一个高电平 1,那么基极 b 和发射极 e 都是 5V,也就是说 e到 b 不会产生一个 0.7V 的压降,这个时候,发射极和集电极也就不会导通,那么竖着看这个电路在三极管处是断开的,没有电流通过,LED2 小灯也就不会亮。如果程序给 P1.0 一个低电平 0,这时 e 极还是 5V,于是 e 和 b 之间产生了压差,三极管 e 和 b 之间也就导通了,三极管 e 和 b 之间大概有 0.7V 的压降,那还有(5-0.7)V 的电压会在电阻 R47 上。这个时候,e 和 c 之间也会导通了,那么 LED 小灯本身有 2V 的压降,三极管本身 e 和 c 之间大概有 0.2V的压降,我们忽略不计。那么在 R41 上就会有大概 3V 的压降,可以计算出来,这条支路的电流大概是 3mA,可以成功点亮 LED。
参考了:
https://blog.csdn.net/kk_01110001b/article/details/80543536

上拉电阻就是给悬空状态一个高电压状态
下拉电阻就是给悬空状态一个低电压状态

所以我们就知道下图,我们就知道这是一个上拉电阻了

在这里插入图片描述
下图是一个下拉电阻
在这里插入图片描述

新唐n76e003是一种单片机芯片,sample code是为了帮助开发者了解和使用该芯片而提供的示例代码。如果您觉得无法理解这些示例代码,可以考虑以下几个方面来解决问题。 首先,可以查阅新唐n76e003的技术文档和用户手册,里面通常会提供关于代码的详细说明和解释。这些文档会介绍芯片的硬件结构、寄存器功能以及对应的代码示例,帮助您更好地理解每一部分的代码。 其次,可以尝试逐句分析代码。将代码一行一行地进行分析,理解每个变量的含义、每个函数的作用以及它们之间的调用关系。如果有不熟悉的函数或者宏定义,可以在文档中查找相关信息。 同时,可以参考其他开发者的经验和分享。在互联网上有很多技术社区和论坛,可以寻找和新唐n76e003相关的讨论,在这些平台上提问并寻求帮助。其他开发者可能会分享对于sample code的解读和使用方法,这对于理解代码会有很大帮助。 最后,可以尝试自己进行实验和调试。针对某个具体的功能点,可以在代码中加入一些调试打印语句,观察执行结果,并对照文档和代码逻辑进行分析。这样可以更好地理解代码的执行流程和各个模块之间的关系,从而解决代码看不的问题。 总而言之,对于理解新唐n76e003的sample code,可以结合技术文档、分析代码、参考他人经验以及实际操作等方式,逐步解决问题。过程中需要耐心和坚持,并不断学习和积累经验,以提升对该芯片的理解和应用能力。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值