51单片机
文章平均质量分 68
主要记录单片机的学习过程中所学到的知识及各种问题
Moonnnn.
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【51单片机学习】直流电机驱动(PWM)、AD/DA、红外遥控(外部中断)
单片机产生模拟变量的效果不是很好,但是很容易产生数字变量。频率控制高低电平变化的速度,如果频率很高则最终的效果会比较好,如果频率比较低,那么电机可能会出现抖动。精度越高,占空比调节越细致。下图所示依次为光敏电阻、热敏电阻、麦克风、扬声器。调制的目的是增强抗干扰性。这里的红外LED的波长是940nm,人眼不可见。有一种红外LED的波长是850nm,这种LED人眼可以看到微弱的红光,利用红外进行补光,例如监控摄像头在夜晚时周围亮的红光。原创 2025-08-23 22:50:58 · 1509 阅读 · 0 评论 -
【51单片机学习】AT24C02(I2C)、DS18B20(单总线)、LCD1602(液晶显示屏)
因为这里用不到写保护,所以引脚7直接接地了,如果需要的话可以接到I/O口或者开关上。VDD相当于VCC,VSS相当于GND。这里的引脚7是写使能,低电平使能,和写保护是同一个意思。同步:有同步的时钟线SCL。半双工:SDA只有一根线,还要负责来回通信,只能分时复用同一根线。数据应答:在发送一个字节数据之后,要求对方给出应答,用来判断是否发送成功。0.96寸的OLED屏幕:屏幕小且像素密度高,128×64的像素点。原创 2025-08-21 21:32:07 · 888 阅读 · 0 评论 -
【51单片机学习】定时器、串口、LED点阵屏、DS1302实时时钟、蜂鸣器
TXD:Tansmit Exchange Data 发送端RXD:Receive Exchange Data 接收端VCC可以不接,GND一定要连接。当二者都有独立电源进行供电时,VCC可以不接。VGA接口与串口外观类似,但是它有3排15个针,主要用于传输视频,电脑和投影仪可以连接VGA接口、电脑和主机显示屏也可以连接VGA接口。下图所示是标准的9针接口的串口,串口只能用来传送数据。原创 2025-08-14 22:40:21 · 1197 阅读 · 0 评论 -
【51单片机学习】模块化编程、LCD1602调试工具、矩阵键盘
调试的方法有很多,比如串口、数码管、液晶屏等,LCD1602调试起来比较方便,数码管也可以用来调试,但缺点是需要不断的扫描,一旦扫描的不及时数码管就会闪烁,而且显示的内容有限,串口调试是通过串口将数据发送到电脑上,通过电脑观察,缺点是在调试的时候需要连接电脑不断使用电脑进行观察。在使用LCD1602调试时会与数码管和三个LED冲突,但不影响其他引脚。原创 2025-07-19 20:18:47 · 218 阅读 · 0 评论 -
【51单片机学习】LED、独立按键
VCC经过限流电阻连接到LED的正极,通过控制引脚的高低电平来控制LED的亮灭,单片机的TTL电平,高电平是5V低电平时0V,单片机输出高电平LED不点亮,输出低电平LED点亮。贴片电阻的读数方式单片机称为MCU,其内部集成了一个CPU,寄存器是一种特殊的存储器,八个分为一组,相当于按钮,每个寄存器都有一根线经过驱动器连接到I/O口,CPU可以通过程序直接访问寄存器,写1对应高电平,写0对应低电平,此时高低电平的问题就转化为了配置P2口的寄存器问题。原创 2025-07-19 14:50:39 · 747 阅读 · 0 评论 -
【51单片机】串口通信
通信三大协议:SPI、UART、IIC。原创 2025-06-22 18:24:10 · 451 阅读 · 0 评论 -
【单片机期末】汇编试卷
DPTR是16位的,所以寻址范围是64KBR1是8位的,只能寻址256访问内部ROM只能用MOVC指令一个指令周期是时钟周期的1/1212个时钟周期是一个机器周期单指令周期是指一个机器周期T = 1 / f内部RAM可以位寻址的一共16个字节工作寄存器一共32个字节中断优先级的优先级一样时,有默认查询顺序方式2→3位自动重装载6MHz ~ 2us51单片机有5个中断51单片机高电平复位,所以正常工作时应该是低电平。原创 2025-06-10 22:47:20 · 1585 阅读 · 0 评论 -
【单片机期末】接口及应用
【考点】存储类型data是低128字节code是ROMidata是高128字节pdata是外部RAM可以用R0 R1寻址的,也叫页xdata是外部RAM,可以用DPTR寻址或总线扩展其中data、code、idata、pdata、xdata均为字节类型的,bdata是对位寻址的【考点】数据类型char是单字节,unsigned char是无符号单字节int是双字节,是有符号的,即有正负【考点】中断服务程序的写法返回值必须是 void 类型,传递参数也必须是 void 类型。原创 2025-06-10 21:40:42 · 597 阅读 · 0 评论 -
【单片机期末】串行口循环缓冲区发送
如果往串行口内发送了数据,那么会导致中断再次产生,如果没有往串行口里发送数据,则主程序中就不会再次产生中断。回环的目的是让头和尾相接,因为能实现回环,所以可以实现缓冲区不停地被重复利用,相当于是一个无穷大的缓冲区。单片机的程序可以分为两种:主程序和中断服务程序,其中主程序可以被中断服务程序打断。串行口循环缓冲区的方式非常难理解,这是一个主程序和中断服务程序相互交织的过程。如果要送出7个数字,就将UARTSave_Index从5变成7。一个字节 = 8位,单片机是10位的UART。原创 2025-06-06 18:35:24 · 797 阅读 · 0 评论 -
【单片机期末】单片机系统设计
系统状态字不同,代表系统处于不同的状态。不要轻易浪费资源。题目:根据上述描述定义系统的状态变量,状态时间变了、各种状态变量、按键变量以及按键功能敞亮定义,例#define xx_State 0x011.系统状态变量声明2.状态时间变量声明3.系统状态常量定义(实际考察对于宏定义的理解以及应用)4.按键相关变量定义5.按键常量定义。原创 2025-06-06 11:54:17 · 641 阅读 · 0 评论 -
51单片机最小系统
按下接通,抬起断开。单片机的电从VCC—GND,USB的电从VBUS—VGND,插上USB以后CH340就有电了,它通过VBUS供电,CH340有电后计算机上可以识别出来CH340生成的串行口。自锁按键按下后,VCC和VBUS连通,GND和VGND也横向连通,此时单片机有电,可以正常工作。原创 2025-02-25 20:09:32 · 2650 阅读 · 0 评论 -
【51单片机学习】静态数码管显示、动态数码管显示
LED的阴极连接到一个端口上是共阴极连接,称为共阴极数码管。LED的阳极连接到一个端口上是共阳极连接,称为共阳极数码管。段选:就是控制数码管的各个段(如a、b、c等段)是否点亮,以显示不同数字、字母等内容。位选:用于多位数码管中,选择让哪一位数码管进行显示。共阴极数码管,COM表示公共端,想选择哪一个数码管则在哪一个数码管的COM端给低电平0即可。共阴极数码管给阳码 1-亮 0-灭,共阳极数码管给阴码 1-灭 0-亮。原创 2025-02-20 21:51:00 · 4476 阅读 · 0 评论 -
实现LED流水灯的几种方法
通过不断给P1中不同的IO口置低电平,从而达到LED流水灯的效果。原创 2025-02-18 20:02:58 · 818 阅读 · 0 评论 -
单片机基础模块——串口通讯模块
并行通信:数据的各位同时在多根数据线上发送或接收。串行通信:数据的各位同时在一根数据线上逐位发送和接收。并行通信的特点:控制简单,传输速度快;由于传输线较多,适用于短距离通信。串行通信的特点:控制复杂,传输速度慢;只需要一根数据线,适用于远距离通信。原创 2025-01-25 15:21:46 · 912 阅读 · 0 评论 -
单片机基础模块——超声波模块
知道发射和接收部分的输入端和输出端与单片机哪个引脚相连即可。原创 2025-01-24 19:26:43 · 1187 阅读 · 0 评论 -
单片机基础模块——PCF8591模块
在I2C总线上通常有一个主设备和多个从设备,当从设备处于空闲状态时,上拉电阻将其拉至高电平。D6用来判断是否允许A/D转换,0 - 不允许模拟输出 1 - 允许模拟输出。重点知道AIN0-AIN3 A0-A2 SDA SCL AOUT即可。需要注意的是,这一次读取的数据是上一次转换完成的数据。最后一位,0 - 写W 1 - 读R。这两个代码蓝桥杯官方会给出,会用即可。这两个代码蓝桥杯官方会给出,会用即可。这两个代码蓝桥杯官方会给出,会用即可。将模拟量转换为数字量。原创 2025-01-23 14:34:38 · 861 阅读 · 0 评论 -
单片机基础模块——AT24C20模块
在蓝桥杯中WP不使能。原创 2025-01-24 16:29:24 · 832 阅读 · 0 评论 -
单片机基础模块——DS18B20模块
例:[注意]只能比较整数,不含小数位通过访问报警标志位来判断是否报警。改变精度时,只改R1和R0即可,其他位保持不变。1100 1111 代码: [注意]用STC-ISP生成定时器函数时,定时器时钟需要选择1T或12T,二者的区别在于,例如,1T执行需要1us那么12T执行需要1/12us,但是执行一个机械周期需要1us,若此时选择12T,则需要手动乘以12,这样时序才能对得上。代码: 5.2 写时序代码: [补充] 控制器写1时序时为什么没有写1us的延时与写时序类似。代码:原创 2025-01-21 19:07:43 · 788 阅读 · 0 评论 -
单片机基础模块——DS1302模块
DS1302是DALLAS公司推出的滑流充电,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和国年的天数可自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:(1)RES(复位),(2)I/O(数据线),(3)SCLK(串行时钟)。原创 2025-01-19 20:51:47 · 1282 阅读 · 0 评论 -
单片机大模板框架
/定时器中断0打开。用STC-ISP生成定时器代码后需再加入两行代码。原创 2025-01-18 22:24:01 · 326 阅读 · 0 评论 -
单片机基础模块——数码管模块
共阳极数码管:0-亮1-灭共阴极数码管:0-灭1-亮编码推导该单片机中所用的是共阳极数码管,即0亮1灭按照的顺序写出。原创 2025-01-18 20:57:59 · 675 阅读 · 0 评论 -
单片机基础模块——按键模块
但是仿真里没有STC15F2K60S2这个芯片,使用AT89C52代替,该芯片没有P4端口,所以仿真与实物有区别,通过开关J5A和J5B来选择是独立键盘还是矩阵键盘。不止使用了P3寄存器,还用了P4寄存器。关闭J5A——独立键盘。关闭J5B——矩阵键盘。原创 2025-01-18 17:28:44 · 361 阅读 · 0 评论 -
单片机基础模块——LED模块
VCC——高电平——1以若要使二极管导通则需在另一侧输入0,所以需要在Q1处输入0P0口相当于数据准备区,例如从P00口输入数据0即P00=0,然后需要将锁存器开启,若想将锁存器开启则LE应为1即Y4C为1,从右往左推,取反后经过或门,则Y4和WR均为0WR——J13在蓝桥杯中默认接地即为0根据[补充]中译码器知识可知,当P25=0,P26=0,P27=1时Y4=0,此时锁存器使能,P00的数据可以输入进去。原创 2025-01-18 15:19:18 · 742 阅读 · 0 评论 -
单片机开发板实物图及原理图
2.原理图原创 2025-01-17 23:50:54 · 1038 阅读 · 0 评论
分享