51单片机的学习笔记
51单片机的学习及其关联知识
开始前的一段话:
求知欲是人类进步的源泉,每接触一项新的知识就像是一滴墨滴在了宣纸上,向着四周疯狂扩散,这种极度的求知欲深深地刺激着我,撕裂我的思维向四周辐射,贪婪地、疯狂地汲取着接触到的每一项知识,这种知识爆炸的感觉带给我成瘾的快感!
对于单片机的起步,始于我小时候的梦想,我想有高度智能的科技、机械围绕着我的生活,我想拥有一个高度智能的工厂,想要无数无数乃至我甚至不知如何形容的科技,我痴迷着这些技术,我疯狂的汲取各种知识,每一次突破一个新的知识面就像是进入一个未知的宇宙!偶然间,我发现我我的梦想可以从两个两个方面入手:
- 软件层面的技术:编程,人工智能等
- 硬件层面的技术:机械,电路开发等
于是我有了方向,向着我想要的极力冲刺!
我于2022.11.21日凌晨开始了51单片机的学习,从茫然无知,到那一滴墨滴在了宣纸上,围绕着单片机开始的知识爆炸让我无比亢奋!从一块小小的51单片机,知识开始爆炸开来,我从未接触过的领域,芯片,电路,逻辑……无数的知识冲刷着我的大脑,无法抑制的激动,发现未知的知识宇宙,我疯狂的汲取着无穷无尽的知识,感叹着人类智慧的结晶!
越是学习,越是发觉自己的无知,知识是无穷无尽的,我永远不可能学完,真的太多太多了!
人生的价值是集体利益,这些伟大的知识我无论学习多少,若不能将其贡献出来,则是对知识、对智慧、对人类乃至对我人生意义的亵渎!
我将尽可能的将我所学的一切,用通俗易懂的语言描述出来,为同样渴望知识、同样有着疯狂求知欲的人们尽一份绵薄之力!
如果你也有着相同的想法,同样渴望知识并为此痴迷,欢迎加入!
如开头所述,求知欲是人类进步的源泉,所以在此,请允许我以探索者尊称各位渴望知识的道友,并欢迎您加入到我们,您可以在本页底部找到我的联系方式,因某些原因,建议您使用Telegram进行交流。
注意:由于我是边学习边完善文章,所以文章可能存在大量错误,我个人的力量有限,恳请各位探索者开放交流、互换知识,以集体的力量弥补个人的缺陷
我使用的单片机
品牌:普中(PRECHIN)
型号:普中51-实验版
官方教程:https://www.bilibili.com/video/BV1RB4y1i71i
在官方教程中,介绍了该开发板的部分元器件:
名称 | 作用 | 备注 |
---|---|---|
4位一体数码管 | 数字显示 | 两个4位一体共阴数码管 |
LCD1602液晶屏 | 用于简单内容显示 | 开发板提供了LCD1602/9648/12864/TFT接口 |
8*8LED矩阵 | 常应用于LED广告牌等 | 在矩阵旁边提供了编号J24的GND/OE/VCC三针引脚,跳线帽短接OE/VCC可以关闭矩阵节省电源(OE我搜索出来的解释为输出使能控制信号,还请大佬科普补充一下,谢谢) |
LED流水灯 | 可以用于心形流水灯表白(误) | 该开发板提供了8个流水灯 |
74HC595A芯片 | 该芯片用于扩展开发板IO口,驱动8*8点阵 | 专业名称高速 CMOS 8 位串行移位寄存器其具体资料后续将专门设立电路知识栏目进行解释 |
4*4键盘 | 计算器啥的,挺实用 | 普普通通 |
红外接受 | 红外遥控嘛,套餐给了遥控器 | NEC解码 |
DS18B20温度传感器 | 略 | 略 |
NRF24L01扩展接口 | 该扩展接口可以用于扩展2.4G无线通信模块 | 相当NICE的远程通信,几百米的遥控器? |
ASM1117稳压芯片 | 提供3.3V稳定电压 | 如视频中所述,大部分传感器为3.3V,所以嘛… |
CH340C芯片 | 用于USB转TTL通信,该芯片内置晶振 | 该板设计了4个引脚,分别是UTX->P30,RTX->P31,该设计十分优秀!在需要使用串口调试模块时,可以将U/RTX针脚接到模块对应引脚,直接使用开发板MicroUSB进行调试,大赞! |
晶振临时科普栏
因我在学习过程中,对晶振的求知难度较大,特此临时记录!
晶振,全称石英晶体振荡器,英文名(quartz oscillator)
石英晶振具有高精度高稳度的特性,十分适合用于数字电路的时钟,是数字电路的心脏!
时钟这个概念比较抽象,我尝试将其描述的更加朴素一些:
在计算机中,关和开分别可以代表0和1,在最最原始的逻辑电路中,还没有晶振时,可以通过人工控制开关实现逻辑电路的控制,比如异或门
A开关 | B开关 | 计算结果 |
---|---|---|
关 | 关 | 0 |
开 | 关 | 1 |
关 | 开 | 1 |
开 | 开 | 0 |
于是我们可以通过这种简单逻辑的叠加,做出一些复杂的计算,如加法:x+y
设定,检测到A开B关一次设定x数值增加1,A关B开y数值增加1,那么我们要计算3+2,则需要进行一下操作:
给出X值 | 给出B值 |
---|---|
A开B关重复3次 | A关B开重复2次 |
由此可以看出,哪怕是及其简单的逻辑处理,也需要非常庞大的开关操作量。
因此,懒得一批的人类找到了晶振这玩意儿,晶振的原理解释起来有些许复杂,在此我们只需了解,晶振在电路板中工作的原理即可:
晶振可以在一定时间内以一定频率发出脉冲,脉冲一词仍有一些难以理解,而有些资料中对此的描述为高低电平的转换,对于一个初学者来说,最讨厌的无非就是看到这些难以理解的名词,在此我将其解释的更加直白一些,不过低电平并不等于0V,低电平只是一个相对较低的电压:
低电平:0V电压
高电平:5V电压
那么脉冲(高低电平转换)在电路中则是,打开开关:低电平(0V=没电)转换为高电平(5V=来电了),于是,就如我们上文所述,这就像是打开了A开关,利用晶振的这种脉冲,我们便可以在一定时间内实现一定次数的自动开关操作。
如果你仔细阅读并理解了,便会发现这真的是一个十分伟大的发明!从此让人类走上了废物(bushi)的道路,躺平~
文章亦是我的笔记,先暂时记录到这里,仍在学习总结中