C51单片机
文章平均质量分 63
从入门到捕蛇者说
这个作者很懒,什么都没留下…
展开
-
基于89C51单片机的智能语音拨号电话
模块介绍SIM卡模块把接收口插到单片机的发送口,单片机通过串口向SIM卡模块发送 AT 指令,让它打电话、发短信、甚至上网语音识别模块能够识别各个数字词条,识别拨号指令,把语音识别结果显示在 Oled 模块上Oled模块Oled 模块走的是 I2C 协议,用51单片机的软件模拟 I2C 协议驱动 Oled 屏幕语音模块配置数字 1 为 端口 B6 B7 B2 B3 : 0001,以此类推到数字9为1001,数字0为0000参考代码main.c#include "reg52.原创 2022-05-02 10:05:45 · 1992 阅读 · 0 评论 -
基于89C51单片机的温湿度数据管理系统
DHT11 温湿度传感器产品概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,应用领域:暖通空调;汽车;消费品;气象站;湿度调节器;除湿器;家电;医疗;自动控制特点相对湿度和温度测量全部校准,数字输出长期稳定性超长的信号传输距离:20米超低能耗:休眠4 引脚安装:可以买封装好的完全互换 : 直接出结果,不用转化数据传送逻辑只有一根数据线DATA,上官一号发送序列指令给DHT11模块,模块一次完整的数据传输为40bit,高位先出数据格式8bit湿度整原创 2022-04-13 16:36:52 · 1154 阅读 · 2 评论 -
基于89C51单片机的智能小车——07.语音识别切换寻迹避障跟随并Oled显示
语音模块配置模块配置网站:http://www.smartpi.cn/#/1.点击创建产品 -> 其他 -> 其他产品2.选择场景为 纯离线方案 ,选择模组为 SU-03T。3.填写产品信息4.根据需要进行Pin 脚配置,唤醒词自定义,离线命令词与应答语自定义,发音人配置,其他配置,然后点击生成新版本即可。5.点击产品列表 -> 选择刚刚生成的产品点击查看详情 -> 语音SDK -> 点击生成SDK6.生成SDK大概10~30分钟,生成完成后会发手机短原创 2022-04-12 09:55:26 · 1250 阅读 · 0 评论 -
基于89C51单片机的智能小车——06.测速小车
测速模块用途:广泛用于电机转速检测,脉冲计数,位置限位等。接线VCC 接电源正极3.3-5VGND 接电源负极DO TTL开关信号输出AO 此模块不起作用测试原理和单位换算轮子走一圈,经过一个周长,C = 2x3.14x半径= 3.14 x 直径(6.5cm)对应的码盘也转了一圈,码盘有20个格子,每经过一个格子,会遮挡(高电平)和不遮挡(低电平),那么一个脉冲就是走了 3.14 * 6.5 cm /20 = 1.0205CM定时器可以设计成一秒,统计脉冲数,一个脉冲就是1cm假设一原创 2022-04-09 14:44:15 · 2566 阅读 · 0 评论 -
基于89C51单片机的智能小车——05.摇头避障小车
开发所需添加的硬件PWM开发SG90PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%。总结:脉冲宽度调制通过占空比编码模拟信号占空比 一个周期内,高电平占据时长的百分比怎么控制舵机向黄色信号线“灌入”PWM原创 2022-04-09 10:50:50 · 4936 阅读 · 4 评论 -
基于89C51单片机的智能小车——04.跟随小车
红外壁障模块分析原理和寻线是一样的,寻线红外观朝下,跟随朝前跟随小车的原理左边跟随模块能返回红外,输出低电平,右边不能返回,输出高电平,说明物体在左边,需要左转右边跟随模块能返回红外,输出低电平,左边不能返回,输出高电平,说明物体在右边,需要右转编程实现分文件方式编程,函数声明的.h文件就不发出来啦。//main.c#include "motor.h"#include "delay.h"#include "reg52.h" sbit leftSensor = P2^5;sbit原创 2022-04-09 10:29:31 · 1416 阅读 · 1 评论 -
基于89C51单片机的智能小车——03.寻迹小车
循迹模块使用TCRT5000传感器的红外发射二极管不断发射红外线当发射出的红外线没有被反射回来或被反射回来但强度不够大时,红外接收管一直处于关断状态,此时模块的输出端为高电平,指示二极管一直处于熄灭状态被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,红外接收管饱和,此时模块的输出端为低电平,指示二极管被点亮总结就是一句话,没反射回来,D0输出高电平,灭灯接线方式VCC:接电源正极(3-5V)GND:接电源负极DO:TTL开关信号输出0、1AO:模拟信号输出(不同距离输出不原创 2022-04-09 10:11:22 · 3786 阅读 · 0 评论 -
基于89C51单片机的智能小车——02.进行小车PWM调速和转向
原理: 全速前进是LeftCon1A = 0; LeftCon1B = 1;完全停止是LeftCon1A = 0;LeftCon1B = 0;那么单位时间内,比如 20ms , 有 15ms 是全速前进,5ms 是完全停止,速度就会比 5ms 全速前进,15ms 完全停止获得的功率多,相应的速度更快!开发:借用PWM的舵机控制代码核心代码//main.cextern char speed;void main(){ Time0Init(); //UartInit(); while(1){原创 2022-04-09 09:59:46 · 3229 阅读 · 1 评论 -
基于89C51单片机的智能小车——01.让小车前后左右动起来
开发所需硬件电机模块开发L9110s接通VCC,GND 模块电源指示灯亮IA1输入高电平,IA1输入低电平,【OA1 OB1】电机正转;IA1输入低电平,IA1输入高电平,【OA1 OB1】电机反转;IA2输入高电平,IA2输入低电平,【OA2 OB2】电机正转;IA2输入低电平,IA2输入高电平,【OA2 OB2】电机反转;小车底盘硬件与51单片机的接线图编程实现让小车前后左右动起来//调试出小车前后左右控制#include "reg52.h"#include "intrin原创 2022-04-09 09:02:48 · 2280 阅读 · 1 评论 -
IIC协议及Oled显示屏模块的使用
IIC协议概述IIC全称Inter-Integrated Circuit (集成电路总线)是由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。IIC属于半双工同步通信方式特点简单性和有效性。由于接口直接在组件之上,因此IIC总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件多主控(multimastering)其中任何能够进行发送和接收的设备都可以成为主总线原创 2022-04-02 20:35:43 · 10935 阅读 · 1 评论 -
LCD1602的使用及显示
概述LCD1602(Liquid Crystal Display)是一种工业字符型液晶,能够同时显示 16×02 即 32 字符(16列两行)引脚说明第 1 脚: VSS 为电源地第 2 脚: VDD 接 5V 正电源第 3 脚: VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:R/W 为读写信号线,原创 2022-03-31 14:43:23 · 6147 阅读 · 0 评论 -
EC03-DNC4G通信模块的使用
模块使用说明基于串口AT指令的开发方式有两种工作模式,默认是透传模式,通过其他方式进入AT指令模式,后续有说明注意插卡不要出错,下图红色位置为SIM卡状态灯,亮才是正常公网IP的服务器地址借助花生壳软件注册花生壳账号下载花生壳软件设置一个TCP服务器内网穿透测试AT指令控制模块联网在测试之前,将电源、天线、SIM 卡、串口线等硬件连接好。打开串口连接4G模块,串口出产默认波特率是115200,可以自行根据用户手册修改进入AT指令模式,在串口助手内发送+++(原创 2022-03-30 19:00:10 · 1575 阅读 · 2 评论 -
Wifi模块-ESP-01s的使用
蓝牙,ESP-01s,Zigbee, NB-Iot等通信模块都是基于AT指令的设计AT指令简介AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。其对所传输的数据包大小有定义:即对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空原创 2022-03-28 19:45:54 · 9624 阅读 · 4 评论 -
89C51的串口通信
串口接线方式RXD:数据输入引脚,数据接受;STC89系列对应P3.0口TXD:数据发送引脚,数据发送;STC89系列对应P3.1口接线方式串口编程要素印象塑造输入/输出数据缓冲器都叫做SBUF, 都用99H地址码,但是是两个独立的8位寄存器代码体现为: 想要接收数据 char data = SBUF 想要发送数据 SBUF = data回忆UART是异步串行接口,通信双方使用时钟不同,因为双方硬件配置不同,但是需要约定通信速度,叫做波特率对于电脑来说,别人做好了软件,鼠标点点点就能配原创 2022-03-24 09:37:31 · 4586 阅读 · 1 评论 -
C51定时器的中断控制
定时器中断方式控制中断寄存器CPU能响应定时器0中断的条件:需要配置IE寄存器的bit1: ET0 bit7:EAET0中断允许要置1 ET0 = 1EA总中断要置1 EA = 1硬件内部设计逻辑如下图:/****************************************************************定时器中断控制LED每隔1秒亮灭一次*************************main中控制另外一个灯每个300ms亮灭一次,有点多线程的意思了原创 2022-03-23 09:18:19 · 2829 阅读 · 0 评论 -
基于89C51单片机的智能垃圾桶
PWM开发SG901. 简介PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%。总结:脉冲宽度调制通过占空比编码模拟信号占空比 一个周期内,高电平占据时长的百分比2.如何实现PWM信号输出1.通过芯片内部模块原创 2022-03-22 20:40:23 · 5706 阅读 · 5 评论 -
C51的定时器
简介C51中的定时器和计数器是同一个硬件电路支持的,通过寄存器配置不同,就可以将他当做定时器或者计数器使用。确切的说,定时器和计数器区别是致使他们背后的计数存储器加1的信号不同。当配置为定时器使用时,每经过1个机器周期,计数存储器的值就加1。而当配置为计数器时,每来一个负跳变信号(信号从P3.4 或者P3.5引脚输入),就加1,以此达到计数的目的。标准C51有2个定时器/计数器:T0和T1。他们的使用方法一致。C52相比C51多了一个T2概念解读定时器和计数器,电路一样定时或者计数的本质就是让单原创 2022-03-16 19:32:56 · 5592 阅读 · 1 评论 -
基于89C51单片机的电动车简易报警器
硬件部分介绍振动传感器模块,继电器模块,433M无线模块振动传感器模块单片机供电VCC GND接单片机产品不震动,输出高电平,模块上的AO口产品震动,输出低电平,绿色指示灯亮AO口不用继电器模块单片机供电VCC GND接单片机最大负载电路交流250V/10A,直流30V/10A模块可以通过跳线设置高电平触发或者电平触发(默认)高功率喇叭只有两根线,用来供电的,要通过上方继电器来控制433M无线发射接收模块单片机供电VCC GND接单片机接收到信号,接收模块对应针脚输出高电原创 2022-03-16 11:14:05 · 2464 阅读 · 1 评论 -
基于89C51单片机的震动感应灯
电路连接震动传感器原理当发生震动时 DO 脚输出低电平,无震动时处于高电平状态。代码编写#include "reg52.h"sbit jiDianQi = P1^0;sbit zhenDong = P1^1;void Delay1000ms(){ unsigned char i,j,k; i = 43; j = 6; k = 203; do { do { while(--k); }while(--j); }while(--i);原创 2022-03-13 10:26:35 · 1206 阅读 · 0 评论 -
基于89C51单片机的433M射频遥控灯
电路连接keil软件建立工程步骤一:先建立一个文件夹步骤二:打开keil软件步骤三:找到刚刚建立文件夹的路径底下后,输入工程名称后按“保存”步骤四:打开Atmel找到89C52或89C51RC,点击“OK”步骤五:在新建立的文件夹中创建“.c”文件步骤六:回到keil执行下图操作步骤七:选中刚刚创建的“.c”文件,点击“Add”添加进工程后,点“close”关闭,便成功建立工程继电器说明DC+、DC-、IN为控制电路NO、NC、COM为被控电路DC±为直流供电,IN为通过原创 2022-03-12 20:31:55 · 1665 阅读 · 1 评论