![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
51单片机学习记录
文章平均质量分 72
基于bilibili江协科技51单片机入门教程-2020版 程序全程纯手打 从零开始入门的学习记录
CC Cian
慢慢进步
展开
-
红外遥控(借助外部中断实现红外接收)
NEC编码:对红外高低电平等的规则部分按键的编码示例最后会多一个上升沿来结束设计思路:定义三个状态(0、1、2),状态0为最初状态,状态1为start开始状态,状态2开始接收数据,如果是状态0则开始计时并使状态变为1,为状态1时获取计时器时间,通过时间判断得到的命令,若为start信号,则使状态变为2,获取定时器时间并让定时器重新从零开始,通过定时器的时间判断获得的数据,最后获取数据成功后进行验证。最主要的还是时序图部分,知道NEC编码对高低电平的标准使什么。原创 2024-01-29 20:03:57 · 1497 阅读 · 0 评论 -
AD/DA(模数数模转换)
模数转换,即Analog-to-Digital Converter,常称ADC,是指将连续变量的模拟信号转换为离散的数字信号的器件,比如将模温度感器产生的电信号转为控制芯片能处理的数字信号0101,这样ADC就建立了模拟世界的传感器和数字世界的信号处理与数据转换的联系。反之,能把数字信号转换为模拟信号的电路称为数模转换器 (Digital to Analog Converter,简称为DAC或D/A转换器)这里以两个老器件学习上升沿写入,下降沿输出。原创 2024-01-28 19:45:23 · 1643 阅读 · 1 评论 -
直流电机驱动(马达)
点击的负载较大,直接接在单片机I/O口上无法驱动,所以需要驱动电路用于控制电机的速度,通过改变供电、断电,利用电感特性来控制速度。注意: 不能使用滑动变阻器来实现,长时间的高电流会导致电位器烧毁,使用小电阻也会因为高电流发热烧毁。原创 2024-01-28 13:58:56 · 862 阅读 · 0 评论 -
LCD1602详解
注意:与ASCII码表所对应的数据不完全一致。原创 2024-01-27 21:47:30 · 930 阅读 · 0 评论 -
DS18B20温度传感器
完整电路(引脚名称不同、功能一样)例子。原创 2024-01-27 17:33:42 · 2531 阅读 · 0 评论 -
AT24C02(I2C总线)
介绍AT24C02和I2C总线规则,通过定时器代替delay函数消抖、消影。实现使用AT24C02写取数据、秒表案例RAM在没有电源时数据易丢失,可以快速存取。ROM在没有电源时数据不易丢失,存储速度不快,刚开始只能读取数据不能写入,随着发展现在已经可以写入数据、删除数据和读取数据了。官方电路图完整电路图引脚内部结构框图发送一个字节接收一个字节发送应答与接收应答。原创 2024-01-26 21:23:09 · 1798 阅读 · 1 评论 -
51蜂鸣器以及使用
有源无源蜂鸣器的外观基本一致不好分辨,需要提前了解。原创 2024-01-25 17:32:48 · 914 阅读 · 0 评论 -
DS1302时钟(实现时钟案例)
地址/命令 字节作用5、4、3、2、1用于确定要读写的地址。原创 2024-01-24 17:35:45 · 880 阅读 · 1 评论 -
LED点阵屏
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。按像素一般使用8的倍数,因为一个字节8位,可以充分利用内存引脚解释OE output enable,引脚使能,给低电平是74HC595可以输出RCLK register clock,寄存器时钟SRCLR 串行清空SRCLK 串行时钟SER 串行数据QH’ 用于级联sfr:声明寄存器所在地址sbit: 对寄存器的单个位进行声明。原创 2024-01-22 22:39:31 · 331 阅读 · 0 评论 -
串口通信(通过stc模拟与电脑通信)
差分信号即通过两根线的电压差与地线比较。原创 2024-01-22 17:11:24 · 1086 阅读 · 0 评论 -
51单片机定时器(控制流水灯和简易时钟案例)
了解定时器的原理以及使用定时器的相关知识很多,重点是寄存器管理的几个与中断相连接的开关,还有中断函数中不要放置太需要运算时间过长的程序,原创 2024-01-21 19:30:03 · 1864 阅读 · 1 评论 -
矩阵键盘以及简易密码验证
介绍矩阵键盘,并通过LCD1602来检测矩阵键盘的使用原理与数码管差不多,矩阵按键是先确定行,再确定列,而需要实现和独立按键一样的效果就需要按键与按键的赋值操作快速进行(扫描),达到近似于独立按键的效果,和数码管独立显示数据的原理一样,都是通过快速扫描达到效果看独立按键与矩阵按键的官方模块图可以看出原理一样,将每四个按键的一端用一个I/O口控制,即四个I/O口控制行,四个I/O口控制列。行给0选中,列若给0则此行此列这个按键处于按下状态。按键一般都是低电平驱动。原创 2024-01-21 15:24:50 · 554 阅读 · 1 评论 -
模块化以及LCD1602调试工具
介绍模块化以及LCD1602的使用方法和其api的使用简单点讲,就是把不同功能的代码放在不同独立的.c文件当中,以便于我们查找修改,也可以提高代码的复用。LCD1602官方模组如下本质相当于是一个简易显示屏,大小为16*2的,可以用于显示字符数字,可以通过其对我们的操作进行验证。原创 2024-01-20 21:04:40 · 371 阅读 · 0 评论 -
数码管介绍与使用
可以利用代码执行速度非常快的特性,使数码管之间的显示切换时间非常短,以人眼观察不到的速度达到动态显示的效果,但是这样会有一个问题,就是快速的切换(位选和段选)导致数码管的显示会错乱,对此我们还需要进行一个操作,消影操作,原理就是,我们在(位选 段选 位选 段选)时,由于速度过快,会导致前面段选显示到后面的位选这类问题导致显示错乱,所以我们要在每次位选段选操作后进行延时操作并暂时。可以缩减引脚操作,通过上面的引脚来控制哪一块亮,再由下面的引脚来控制所选择的数组,单片机使用的就是四位一体的数码管。原创 2024-01-20 15:41:40 · 1347 阅读 · 0 评论 -
独立按键控制led灯
介绍使用按键控制led,了解按键模块对于独立按键这块,需要注意按键按下时为低电平,默认为高电平,不是按一下变一下,再就是要注意按键消抖,使用的延时时间要相对应。原创 2024-01-19 18:58:02 · 869 阅读 · 1 评论 -
LED流水灯(位运算)
实现led流水灯的效果,进一步了解led模块与代码书写主要是要注意溢出问题,还有移位运算之间的区别。原创 2024-01-19 16:41:39 · 658 阅读 · 1 评论 -
点亮LED灯(包括延时函数即原理)
介绍相关的基础代码书写以及理解头文件的引入使用低电平需要生成.hex文件才可以供单片机使用要在stc选择正确的单片机型号。原创 2024-01-18 20:11:38 · 1157 阅读 · 0 评论 -
keil5与STC-ISP的安装
注意,在为keil选择安装目录时,需要提前准备好空文件夹,不然文件会散落。也尽量不要使用中文命名。首先进入软件官网:https://www.keil.com/进入官网:http://stcmcudata.com/keil5是用于书写单片机代码的软件。然后在软件选择相应的单片机型号。然后点击download如图。选择要安装的版本即可。原创 2024-01-18 16:05:48 · 763 阅读 · 1 评论 -
51单片机介绍
51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。原创 2024-01-18 16:05:01 · 384 阅读 · 1 评论