51单片机
文章平均质量分 84
51单片机学习
夏子曦
这个作者很懒,什么都没留下…
展开
-
51单片机STC89C52RC——19.1 SG90舵机(伺服电机)
舵机只是我们通俗的叫法,它的本质是一个伺服电机,也可以叫做位置(角度)伺服驱动器。一般被应用在那些需要控制角度变化的系统中,可以方便的实现转动任意的角度,实现控制角度的变化。应用场景航模、智能小车的转向在很多的航模中,sg90舵机都被用于两翼的位置控制,从而实现航模的转向,倾斜之类的。因为航模本身的要求,需要尽量的控制航模的自重,而sg90舵机的重量本身就很轻,扭矩也大,所以能很好的满足要求。因为sg90舵机的精准角度控制,所以在很多的智能小车类中被用作转向控制。原创 2024-07-15 20:30:57 · 1334 阅读 · 0 评论 -
51单片机STC89C52RC——18.1 HC-SR04超声波测距
HC-SR04超声波测距模块提供2cm~400cm的测距功能,精度达3mm。原创 2024-07-14 20:08:46 · 911 阅读 · 0 评论 -
51单片机STC89C52RC——17.2 红外遥控数字加减、电机调速
红外遥控0,1,2,3 按键 对应hex为。详细了解红外遥控控制原理请参考《有关直流电机详细介绍请参考《电机的运转速度需要用到。模数数模AD/DA《原创 2024-07-13 12:14:50 · 310 阅读 · 0 评论 -
51单片机STC89C52RC——17.1 红外线遥控器
人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。光的波长和频率如下图红外遥控是利用红外光进行通信的设备,由红外LED将调制后的信号发出,由专用的红外接收头进行解调输出。通信方式:单工,异步红外LED波长940nm通信协议NEC标准通常我们说的红外遥控器是由键盘电路、红外编码电 路、电源电路和红外发射电路组成。原创 2024-07-13 11:19:55 · 766 阅读 · 0 评论 -
51单片机STC89C52RC——16.1 五线四相步进电机
步进电机可以理解为:是一个按照固定步幅运动的“小型机器”。它与普通电机不同点在于,普通电机可以持续旋转,而步进电机按照特定的步数或者角度来移动。它每次只能移动一定的距离或者旋转一定的角度,运动更像是按照固定的步伐一步一步地走。这种特性让步进电机在需要精确控制位置和速度的场景中非常有用,比如打印机、机器人、数控机床等。原创 2024-07-07 22:27:03 · 976 阅读 · 0 评论 -
51单片机STC89C52RC——15.1 AD/DA(模数数模)
AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号AD/DA转换打开了计算机与模拟信号的大门,极大的提高了计算机系统的应用范围,也为模拟信号数字化处理提供了可能。XPT2046是一款4线制电阻式触摸屏控制器,内含12位分辨率125KHz转换速率逐步逼近型A/D转换器。XPT2046支持从1.5V到5.25V的低电压I/0接口。原创 2024-07-06 22:41:11 · 979 阅读 · 0 评论 -
51单片机STC89C52RC——14.1 直流电机调速
直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转。直流电机主要由永磁体(定子)、线圈(转子)和换向器组成。除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等。原创 2024-07-05 22:45:13 · 1039 阅读 · 0 评论 -
51单片机STC89C52RC——13.1 温度传感器DS18B20
DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点测温范围:-55°C 到 +125°C通信接口:1-Wire(单总线)只需1个接口引脚即可通信其它特征:可形成总线结构、内置温度报警功能、可寄生供电。原创 2024-06-30 20:27:21 · 976 阅读 · 0 评论 -
51单片机STC89C52RC——12.1 数据存储芯片AT24C02
AT24C02是一个2K位串行CMOS E2PROM,内部含有256个8位字节,采用先进CMOS技术实质上减少了器件的功耗。AT24C02有一个8字节页写缓冲器,该器件通过IIC总线接口进行操作,有一个专门的写保护功能。原创 2024-06-29 10:02:24 · 1415 阅读 · 0 评论 -
51单片机STC89C52RC——10.1 LED呼吸灯
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称。原创 2024-06-28 18:39:11 · 575 阅读 · 0 评论 -
51单片机STC89C52RC——9.1 DS1302涓流充电计时芯片
/引脚定义//时钟针脚 输入. SCLK 用来同步串行接口上的数据动作.此管脚内部有一个//40kΩ(典型值)的下拉电阻连接到地//数据针脚 推挽输出.I/O 管脚是三线接口的双向数据管脚.此管脚内部有//一个 40kΩ(典型值)的下拉电阻连接到地//重置位针脚 CE信号在读写时必须保持高电平.此管脚内部有一个 40kΩ(典//型值)的下拉电阻连接到地. 注意:先前的数据手册修正把 CE当作//RST. 管脚的功能没有改变./*** 函 数:显示时间* 参 数:无* 返 回 值:无。原创 2024-06-26 20:36:01 · 685 阅读 · 0 评论 -
51单片机STC89C52RC——8.2 8*8 LED点阵模块(动态图像)
我们点亮一个LED,接下来我们将在8*8的矩阵中展示动态的图像。》,我们了解了如何点亮点阵的LED。原创 2024-06-25 21:05:32 · 538 阅读 · 0 评论 -
51单片机STC89C52RC——8.1 8*8 LED点阵模块(点亮一个LED)
在单片机系统中,操作任意寄存器或者某一位的数据时,必须给出其物理地址,又因为一个寄存器里有8位,所以位的数量是寄存器数量的8倍,单片机无法对所有位进行编码,故每8个寄存器中,只有一个是可以位寻址的。对不可位寻址的寄存器,若要只操作其中一位而不影响其它位时,可用“&=”、“|=”、“^=”的方法进行位操作。比如本节我们用到了下面几个,我们把针脚P34、P35、P36定义用对应申明,在使用时不在写针脚地址寄存器(当然也可以继续使用针脚,作用一样)。DP上的HEX=0x80=1000 0000(二进制)原创 2024-06-25 20:06:07 · 932 阅读 · 0 评论 -
51单片机STC89C52RC——7.1 串口通信
实现单片机串口与电脑串口工具进行数据通讯,原创 2024-06-24 20:36:44 · 1384 阅读 · 0 评论 -
51单片机STC89C52RC——6.3 定时器/计数器 实现计时功能(定时器+中断系统+LCD1602液晶显示器)
用定时器实现系统中断,计时信息显示在LCD1602上。原创 2024-06-22 22:04:00 · 830 阅读 · 0 评论 -
51单片机STC89C52RC——6.2 定时器
STC89C51RC/RD+系列单片机的定时器0和定时器1,与传统8051的定时器完全兼容,当在定时器1做波特率发生器时,定时器0可以当两个8位定时器用。STC89C51RC/RD+系列单片机内部设置的两个16位定时器/计数器TO和T1都具有计数方式和定时方式两种工作方式。对每个定时器/计数器(TO和T1),在特殊功能寄存器TMOD中都有一控制位―CT来选择TO或T1为定时器还是计数器。定时器/计数器的核心部件是一个加法(也有减法)的计数器,其本质是对脉冲进行计数。原创 2024-06-22 21:13:25 · 983 阅读 · 0 评论 -
51单片机STC89C52RC——6.1 中断系统
当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。微型机的中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,要求为它服务的时候,这就存在CPU优先响应哪一个中断源请求的问题。一个正在执行的低优先级中断能被高优先级中断所中断,但不能被另一个低优先级中断所中断,一直执行到结束,遇到返回指令RETI,返回主程序后再执行一条指令才能响应新的中断申请。原创 2024-06-22 20:38:54 · 1431 阅读 · 0 评论 -
51单片机STC89C52RC——5.1 LCD1602液晶显示屏
LCD ( Liquid Crystal Display 的简称)液晶显示器。能够同时显示16x2,32个字符,是一种专门用来显示字母、数字、符号等的点阵型液晶模块。LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。该显示屏的优点是耗电量低、体积小、辐射低。LCD1602主要用来显示数字、字母、图形以及少量自定义字符。原创 2024-06-22 09:48:15 · 1491 阅读 · 0 评论 -
51单片机STC89C52RC——4.1 矩阵按键(数码管显示按键值)
初学者:按键按下后就到通,针脚导通就是高电平(我最开始是这么理解的)。这种理解不是不正确,只是没结合实际电路分析我们按照初学者的逻辑来分析下假如S1按下P17和P13 此时是相同的电平。那么他们是同时处于高电平还是低电平呢?我们在程序中怎么去判定呢是S1按下的呢?这里要明白系统上电后针脚P10-P17都是低电平。那么P13和P17及时接通了也还是都处于低电平。原创 2024-06-21 23:06:15 · 1259 阅读 · 0 评论 -
51单片机STC89C52RC——3.2 数码管动态展示(多位动态)
让数码管在显示我们接着《原创 2024-06-19 21:11:07 · 1258 阅读 · 0 评论 -
51单片机STC89C52RC——3.1 数码管静态展示
让数码管在显示。原创 2024-06-19 19:58:14 · 1021 阅读 · 0 评论 -
51单片机STC89C52RC——2.4 三个独立按键模拟控制LED流水灯方向Plus
按下K1键LED流水向左移动按下K2键LED流水向右移动按下K3键LED流水停止(原位闪烁)原创 2024-06-16 10:48:32 · 418 阅读 · 0 评论 -
51单片机STC89C52RC——2.3 两个独立按键模拟控制LED流水灯方向
按下K1键LED流水向左移动按下K2键LED流水向右移动。原创 2024-06-16 09:42:30 · 564 阅读 · 0 评论 -
51单片机STC89C52RC——2.2 独立按键控制LED亮灭Plus
当独立K1按键按一下(立即松开),LED D1点亮。再按一下K1(立即松开)LED D1熄灭。与前一节《》当独立K1按键按下时LED D1 点亮,松开D1熄灭 效果不一样。原创 2024-06-16 08:48:43 · 515 阅读 · 0 评论 -
51单片机STC89C52RC——2.1 独立按键控制LED亮灭
轻触(还是要多用点力,不是手机屏幕那种轻触)按下就导通,引脚P30就是高电平0(比如:按下按键K1,此时电路就接通GND接地了)。如果我们要检查P3_0 处于高电平还是电平。我们也不用把按键的构造想太复杂 ,就当成一个普通的开关就好。我们用程序让引脚P3_0处于高电平,可以用 P3_0=0;这里我们一直去检测这个引脚的状态就可以了。松开时电路就断开,引脚P30是底电平1。P3_0 引脚对应是K2。原创 2024-06-15 20:54:34 · 595 阅读 · 0 评论 -
51单片机STC89C52RC——1.3 LED流水灯
如果只点亮D1一个,只需要将D1位置的bit位设置为0。这里我们是否觉得这样相同的代码虽然有利于阅读和理解,但是代码量却很大,我们需要优化。我这里用的STC8952RC芯片的频率是12MHz,指令集是STC-Y1。D3亮:1111 1011 (0xFB)D7亮:1011 1111 (0xBF)我们程序中要点亮的LED灯的位置如下图。D1亮:1111 1110 (0xFE)D4亮:1111 0111 (0xF7)D5亮:1110 1111 (0xEF)D8亮:0111 1111 (0x7F)原创 2024-06-15 16:00:27 · 879 阅读 · 2 评论 -
51单片机STC89C52RC——1.2 LED 闪烁
二进制是0000 0000。如果只点亮D1一个,只需要将D1位置的bit位设置为0。要实现闪烁,就需要LED 的电频 给一会为0在隔一会为1,就需要添加一个延时函数。我这里用的STC8952RC芯片的频率是12MHz,指令集是STC-Y1。将生成的函数 复制到自己代码中,适当修改即可。8个LED,全部点亮 每一bit位 都需要设置为0。这里需要选择合适的系统时钟频率和8051指令集。在STCAI——ISP中有个 软件延时计算器。我们程序中要点亮的LED灯的位置如下图。我们程序要用到的针脚如下图。原创 2024-06-15 12:07:02 · 293 阅读 · 0 评论 -
51单片机STC89C52RC——代码编译
1,勾选 “Create HEX file”2,编译原创 2024-06-15 10:13:06 · 258 阅读 · 0 评论 -
51单片机STC89C52RC——STCAI-ISP代码下载
我的单片机是STC89C52RC,串口是COM4(根据你的实际连接情况选择),当你将单片机用USB线连接到你的电脑后,最新版本的STCAI-ISP(V6.94E)会自动识别到串口。当界面显示操作成功,你的程序就已经成功下载到单片中运行了。按下电源开关重启单片机,STCAI-ISP工具会自动下载,原创 2024-06-15 10:02:52 · 630 阅读 · 0 评论 -
51单片机STC89C52RC——创建Keil项目
弹出选择文件夹对话框后,可以右键新建一个项目文件夹【文件夹名字可以随便取,自己看得懂就行,建议不要有特殊字符】,这样该项目的所有文件都在这个文件夹下。询问是否添加.A51到项目文件夹时,51项目和STM32项目我们都选择“否”。展开Target 1 右键“Source Group1”---添加项目文件。菜单---project--New uVision Project...需要选择 Software Packs---STM32F103T8。选择进入新建的文件夹后,输入项目名称【然后就可以畅快的写代码了。原创 2024-06-07 11:41:55 · 480 阅读 · 0 评论 -
51单片机STC89C52RC——1.1点亮一个LED
二进制是0000 0000。如果只点亮D1一个,只需要将D1位置的bit位设置为0。所以二进制就是1111 1110 ,对应十六进制就是FE。8个LED,全部点亮 每一bit位 都需要设置为0。我们程序中要点亮的LED灯的位置如下图。我们程序要用到的针脚如下图。原创 2024-06-07 13:41:25 · 319 阅读 · 0 评论