51单片机
文章平均质量分 53
熬夜耗子在线敲代码
勤勉一生。
展开
-
51单片机控制ds1302时钟模块
51单片机、ds1302时钟模块原创 2022-10-10 20:40:28 · 927 阅读 · 1 评论 -
51单片机--定时器
TMOD中取决定因素的是M1、M0两位,TMOD=10,则T1采用方式1,T0采用方式0。1、(2^13-T0初值)2、(2^16-T0初值)3、(2^8-T0初值)51单片机T数是12.原创 2022-10-09 09:41:14 · 1740 阅读 · 0 评论 -
51单片机--外部中断
外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备的中断请求。例如:ROM BIOS中的各种外部设备管理中断服务程序(键盘管理中断、显示器管理中断、打印机管理 中断等,)以及DOS的系统功能调用(INT 21H)等都是软件中断。51单片机的中断之于单片机系列算是比较少而简单的了,主要分为2个外部中断+2个定时器中断+串口中断,中断表如下。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类。原创 2022-10-08 16:18:42 · 4160 阅读 · 0 评论 -
51单片机读取DH11温湿度传感器数据
dh11.c#include<reg52.h>#include<intrins.h>#include"dh11.h"sbit Temp_data=P3^6; extern unsigned int rec_dat[4];//DHT11起始信号void DHT11_start() { Temp_data=1; DHT11_delay_us(2); Temp_data=0; DHT11_delay_ms(20); Temp_data=1;原创 2021-10-31 20:31:12 · 5352 阅读 · 0 评论 -
用51单片机做宿舍门禁系统(4)--成品展示
原创 2021-10-17 18:42:26 · 818 阅读 · 0 评论 -
用51单片机做宿舍门禁系统
走向用51单片机做宿舍门禁系统(1)–1602显示用51单片机做宿舍门禁系统(2)–4*4矩阵按键用51单片机做宿舍门禁系统(3)–EEPROM存储原创 2021-10-17 18:37:49 · 1458 阅读 · 0 评论 -
用51单片机做宿舍门禁系统(3)--EEPROM存储
密码锁修改密码后,需要自我保存,所以这就需要一个小型存储器来存储密码,而at24c01容量足够存储这么少的东西,而且价格便宜,使用的i2c通讯,所以采用。需要注意的是,写入数据需要保持时序一致(5ms一次)i2c.c#include "i2c.h"void Delay10us(){ unsigned char a,b; for(b=1;b>0;b--) for(a=2;a>0;a--);}//SCL线为高电平期间.SDA线由高电平向低电平的变化表示起始信号void原创 2021-10-17 18:37:22 · 882 阅读 · 1 评论 -
用51单片机做宿舍门禁系统(2)--4*4矩阵按键
选用4*4矩阵键盘作为输入,其原理是16个按键进行行列扫描,简化操作。原理图用薄膜键盘代替一下,原理一样。key.c#include "key.h"u8 KeyValue=0;/*延时函数*/void delay(u16 i){ while(i--); }/*判断按键返回值*/u8 Down(){ u8 a=0; GPIO_KEY=0x0f; //复位按钮 if(GPIO_KEY!=0x0f)//有按键按下 { GPIO_KEY==0x0f; s原创 2021-10-16 17:54:52 · 1067 阅读 · 2 评论 -
用51单片机做宿舍门禁系统(1)--1602显示
由于时间紧迫,还有其他考试,所以目前只能抽时间慢慢做慢慢更新了,本身就是一个练手项目。1602显示所谓的智能系统,没有显示是万万不能的,所以有一个显示的东西是很必要的,选择1602是因为它抗光而且价格合适,字体大,官方教程也多,是51单片机开发的一款火爆元件。...原创 2021-10-16 12:25:15 · 1966 阅读 · 0 评论 -
与国同庆--单片机小白自制蓝牙避障小车
源码在最后前言国庆假期的前一天中午自己翻到了一张52单片机,想起自己之前只是使用普中科技做好的集成开发板玩,所以就自己找了原理图做最小系统搞。(源自某位老师的指点:“玩单片机只会用开发板是不行的。”,现在搞完了还是挺感激他的,确实认识到位了。)第一轮打击但是第一步的打击没想到会这么快,我找到的原理图网图,居然是某位友友搞错的图,,,以至于我把排阻什么的都焊上去,然后费了好大精神把单片机插进母座,上电没反应。。。因为洞洞板比较贵,又没有吸锡器,就只好在左边补焊了一个最小系统,后果就是又多花了两个小原创 2021-10-03 09:25:19 · 2990 阅读 · 8 评论 -
51单片机串口通信--发送字符、接收字符、发送字符串、接收字符串
uart.c#include <reg52.h>#include "uart.h"#define uint unsigned int#define uchar unsigned chartypedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;//串口初始化函数 9600void URATinit(){ TMOD=0x20; SCON=0x50; TR1=1; TH1=0xfd; TL1=原创 2021-10-02 12:12:46 · 38519 阅读 · 13 评论 -
51单片机系列--AD/DA
介绍AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号计算机系统是一个数字系统、离散系统,而我们生活的外部世界是一个模拟系统。为使计算机系统能够了解外部世界,对外部事物进行处理,就必须有一个将模拟量转换为数字量,将数字量转换为模拟量的接口,这就是常说的 A/D和 D/A。硬件电路模型AD转换通常有多个输入通道,用多路选择开关连接至AD转换器,以实现AD多原创 2021-07-21 21:08:32 · 7155 阅读 · 9 评论 -
51单片机系列--1WrieDS18B20温度模块
DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点测温范围:-55°C 到 +125°C通信接口:1-Wire(单总线)其它特征:可形成总线结构、内置温度报警功能、可寄生供电原理图内部结构图64-BIT ROM:作为器件地址,用于总线通信的寻址。它的内容是64位序列号,它可以被看作是该DS18B20 的地址序列码,其作用是使每个DS18B20 都各不相同,这样就可以实现一根总线上原创 2021-07-21 17:49:01 · 1187 阅读 · 2 评论 -
51单片机系列--AT24C02(总线)
存储器介绍易失性存储器/RAM非易失性存储器/ROMSRAM(静态RAM)Mask ROM(掩膜ROM)DRAM(动态RAM)PROM(可编程ROM)EPROM(可擦除可编程ROM )E2PROM (电可擦除可编程ROM )Flash(闪存)硬盘、软盘、光盘等AT24C02是一种可以实现掉电不丢失的存储器,可用于保存单片机运行时想要永久保存的数据信息存储介质E2PROM通讯接口I2C总线容量256字原创 2021-07-21 16:31:59 · 10804 阅读 · 13 评论 -
51单片机系列--直流电机
直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转。直流电机主要由永磁体(定子)、线圈(转子)和换向器组成,除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等。两种驱动方式PWMPWM(Pulse Width Modulation)即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速、开关电源等领域PWM重要参数: 频率 = 1 / TS 占空比 =原创 2021-07-20 17:11:17 · 3485 阅读 · 1 评论 -
51单片机系列--时钟
模块介绍DS1302模块是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。RTC(Real Time Clock):实时时钟,是一种集成电路,通常称为时钟芯片,自带RTC的模块都具有实时时钟功能。实物图原理图32.768KHz的晶振能够对1302提供一个稳定的频率。除去电源控制引脚,只需要对CE、SCLK、IO三个时钟引脚进行控制就行。所以我们需要一个74HC595串转并模块进行串行输入。RTC内部寄存器分别是秒、分、时、日、月、年寄存器。示例代码main.原创 2021-07-20 16:44:20 · 2380 阅读 · 1 评论 -
51单片机系列--蜂鸣器
工作原理蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它。51单片机IO口输出的TTl电流无法驱动蜂鸣器,故而蜂鸣器内部需要一个三极管来进行电流放大。有源与无源:含有震荡源的蜂鸣器称为有源蜂鸣器,没有震荡源的蜂鸣器需要一个2k~5k的方波进行驱动。原理图示例代码#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器#include<intrins.h> //因为要用到左右移函数,所以加入这个头原创 2021-07-20 15:36:15 · 4416 阅读 · 0 评论 -
51单片机系列--串口通讯
串行通信和并行通信串行通信和并行通信都是一种通信传输方式,都适用于计算机与计算机、计算机与单片机之间的数据通信,在传输中存在相互转换的关系。但是两者在使用上还是有着不同的:一次传输的传输量不同并行通信传送八路信号,一次并行传送传送完整的一个字节信息。串行通信在一个方向上只能传送一路信号,一次只能传送一个二进制位,传送一个字节信息时,只能一位一位地依次传送。传输速度不同串行的传输速度慢,但是对线路的要求低一些。 并行的对线路的要求高,但是速度快。传输距离不同串行线路仅使用一对信号线,线路成本低原创 2021-07-19 10:37:07 · 2306 阅读 · 4 评论 -
51单片机系列--LCD1602A
Lcd液晶屏幕带有背光显示,可选择蓝光白光黄光三种背光颜色的屏幕,它更具有美光性,在实际生活中有广泛的应用。实物图原理图 RS:1为数据/0为指令;RW:1为读/0为写;E1为数据有效,下降沿执行指令示例代码main.c#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器#include "lcd.h"typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;u8 Disp原创 2021-07-18 19:37:42 · 962 阅读 · 2 评论 -
51单片机系列--定时器中断
前言前几天一直在忙挑战杯的决赛,好几天没能睡上安稳觉,今天下午答辩结束,终于有空能够继续总结笔记写博客了。(在此先感谢下带队的张总与带队老师)。正文如上图示,我的51单片机外接了一个11.0592MHZ的外部晶振,我们算一下:按照时钟周期的计算公式1个时钟周期 =1/晶振周期 = 1/FoscT=1/(11.0592M) (s)= 1/11.0592/1000000 (s) = 1/11.0592 us51单片机定时器0内部的具有两个一字节的寄存器TH0(高位寄存器)和TL0(低位寄存器原创 2021-07-18 10:13:22 · 7319 阅读 · 4 评论 -
51单片机系列--矩阵键盘
矩阵键盘常用于计算机、门禁、银行存储机等方面,能够一次性输入16个不同的字符,通常被用于电子开发中的外接输入。下面是它的原理图:可以看到每个接口都直接对应于单片机的io口,高4位控制行电压,低4位控制列电压,行于列共通,所以只需要保证对应按键的行与列电平互异就可以了。/**************************************************************************************实验现象:下载程序后数码管显示0,按下矩阵按键上的按键显示原创 2021-07-08 21:54:57 · 1153 阅读 · 1 评论 -
51单片机系列--滚动点阵屏
这一篇是前一篇点阵屏显示汉字的序章。就不多说了,原理都一样,都是进行位运算后点亮不同的发光二极管。源码:#include<reg51.h> //宏定义#define uchar unsigned char #define LED P0 //全局变量uchar Time;void main(void){ uchar data1=0xfe; TMOD = 0x01; //选择工作方式1 TH0 = 0x3C; //设置初始值,定时50MS TL0 =原创 2021-07-08 18:05:02 · 1894 阅读 · 0 评论 -
51单片机系列--led点阵屏显示汉字
LED 点阵是由发光二极管排列组成的显示器件。通常应用较多的是 8* 8 点阵,通过进行对不同位置的点亮与熄灭,构成一个图案,这一点也被应用到了电视机的显示屏上。下面是点阵屏的原理图:它的DPa到DPh引脚分别对应了侧排的引脚(引脚为高电平,控制P0号引脚低电平即可点亮二极管),采用74HC595串转并芯片,需要在使用过程中对595的3个输入端进行控制。跳线帽OE:OE, 输出使能控制脚,它是低电才使能输出,所以接GND,OE端会被GND下拉为0。P34-SER:代表串行输入,我们串行输入就是原创 2021-07-08 16:51:30 · 8178 阅读 · 8 评论 -
51单片机系列--8位数码管
数码管通常用于电子时钟、电子秤、日历、电梯显示等用于显示数字的电子器件上,其优点是显示明亮清晰、容易控制、价格低廉,缺点是占用引脚过多。在实际生活中应用广泛。下面是集成板上的8位数码管的原理图:51单片机的P0~P7,接到74HC245转接到2个4位数码管。数码管需要接入一个138译码器,进行位选输入。通过P0口经过245的驱动控制数码管的段选,通过P13控制573的使能端,为低电平时245才会有输出。由于8个数码管是共阴的,所以当Y0~Y7中的一个为1,其反值为0,相应的数码管阴极置低,再将数码管.原创 2021-07-08 13:10:57 · 11226 阅读 · 4 评论 -
51单片机系列--闪烁灯,呼吸灯与流水灯
51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。而我手头使用的是普中科技的51单片机学习板,mcu是stc89c52,下面是它的原理图。下面我需要对它的led模组进行高低电平控制,进而点亮各个led,下面是led模组的原理图。...原创 2021-07-08 10:40:15 · 3160 阅读 · 4 评论