51单片机
文章平均质量分 62
创客@小白
这个作者很懒,什么都没留下…
展开
-
51单片机中断的使用方法
STC89C52的外部中端有二个,一个中断0,一个中断1,中断0的外部触发端口为P3^2,中断1的外部触发端口为P3^3.所谓中断就是当中断的外部触发端口为0时或者由高电平变成低电平时,执行中断中的内容。使用方法:总开关EA=1(总开关打开) EX1/EX0=1(中断1/中断0的开关打开) IT1/IT0=1/0(设置触发方式,1为下降沿触发,0为低电平触发)代码#include<reg52.h> sbitkey=P3^4; voidmain()...原创 2022-01-05 09:48:54 · 4387 阅读 · 0 评论 -
51单片机四位数码管的使用方法
四位数码管的使用方法首先P2^7=1(选中位),P2^6=0(关闭段),然后给P0发位码,选中一个数码管,接着P2^6=1(选中段),P2^7=0(关闭位),然后给P0发段吗,就可以显示了,可以将上述操作重复二遍,中间间隔几ms就可以实现动态显示。程序#include<reg52.h> #include<intrins.h> unsignedcharcodegDuanMa[16]={0x3f,0x06,0x5b,...原创 2022-01-05 09:48:11 · 6732 阅读 · 1 评论 -
51单片机蓝牙模块的使用方法
蓝牙模块,和串口通讯基本一致使用步骤串口的操作步骤: 先设置波特率: 设置定时器T1为工作方式2(设置TMOD寄存器) 给计数器赋初值(工作方式2会自动重装) 设置串口工作方式: 设置SCON(如果允许) 如果使用中断方式,那么打开相应的中断和总中断。 打开定时器T1,开始产生波特率。 设置TRx 经常使用的是工作方式1蓝牙控制灯的点亮#include <reg52.h> //头文件调用,写程序时都要加上#defi原创 2022-01-05 09:47:28 · 6894 阅读 · 0 评论 -
51单片机定时器的使用方法
定时器的使用方法1.选择工作方式(设置M1,M0) 设置TMOD的值 选择控制方式(设置GATE)选择定时器还是计数器模式(设置C/T)给定时/计数器赋初值(设置THx和TLx)2.开启定时器中断(设置ET0或ET1)=13.开启总中断(设置EA)=14.打开计数器(设置TR1或TR0)=1程序#include<reg52.h> unsignedchari=0,x=0...原创 2022-01-05 09:46:43 · 5621 阅读 · 0 评论 -
51单片机点阵模块的使用方法
显示忆#include<reg52.h>#define uint unsigned int#define uchar unsigned char sbit CLK = P2^5;//点阵模块的CLKsbit CS = P1^1;//点阵模块的CSsbit DIN = P1^0;//点阵模块的DINuchar code yi[8]={0x5E,0x62,0xE4,0x48,0x48,0x50,0x51,0x5E};//忆void xieyiwei(uc...原创 2022-01-05 09:45:49 · 775 阅读 · 0 评论 -
51单片机串口通信
串口通讯使用步骤串口的操作步骤: 先设置波特率: 设置定时器T1为工作方式2(设置TMOD寄存器) 给计数器赋初值(工作方式2会自动重装) 设置串口工作方式: 设置SCON(如果允许) 如果使用中断方式,那么打开相应的中断和总中断。 打开定时器T1,开始产生波特率。 设置TRx 经常使用的是工作方式1工作方式1程序#include<reg52.h>#define uchar unsigned charvoid原创 2022-01-04 12:03:09 · 249 阅读 · 0 评论 -
51单片机超声波使用方法
超声波模块的使用方法首先给trig一个超过10us的高电平,然后当echo等于低电平时等待,等待结束后打开计数器。然后等待echo的高电平结束,然后转换就行使用LCD1602显示距离#include<reg52.h>#define uchar unsigned char#define uint unsigned intuint x=0;sbit trig=P1^1;sbit echo=P1^2;sbit shinen=P0^2;...原创 2022-01-04 12:02:33 · 1280 阅读 · 0 评论 -
51单片机使用PWM调速
PWM说白了就是首先定义一个变量X并且给它赋值为你想要的高电平数量,接着再定义一个变量Y赋值为0,然后再给定时器弄个1ms的定时,每过1msY就加一,假设我要定的PWM是5/20,那么首先给X赋值为5,在定时器中写每过1ms就让Y加一,当Y小于X时输出高电平,当Y大于等于X时输出低电平,当Y>=20时就给Y赋值为0,这样就有5/20的时间是高电平,15/20的时间是低电平。程序#include<reg52.h> #defineucharunsignedchar ...原创 2022-01-04 12:01:38 · 3840 阅读 · 2 评论 -
51单片机LCD1602的使用方法
LCD1602使用步骤初始化 写命令 写数据写命令时:RS=L;写数据时:RS=H写命令操作RS=0; RW=0; P0=需要送的命令 Delay(5);//延时5ms EA=1;//使能 Delay(5);//延时5ms EA=0;//关闭使能写数据操作RS=1; RW=0; P0=要送的数据 Delay(5);//延时5ms EA=1;//使能 Delay(5);//延时5ms EA=0;//关闭使能初始化段=0;//关闭数码..原创 2022-01-04 12:00:07 · 2797 阅读 · 0 评论 -
51单片机DS18B20的使用方法
DS18B20使用方法初始化 写入指令 读取温度DS18B20获取温度并开始转换,然后读取寄存器中储存的温度数据//DS1802测量温度,并且用数码管显示,获取的温度有3个数,比如169就是代表16.9度的意思,而小数点则需要我们人为的添加上去#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit DS=P2^2; //定义DS18B20...原创 2022-01-04 11:59:05 · 3100 阅读 · 1 评论 -
51单片机12864的使用方法
12864的使用方法(类比1602只有初始化不同,还有地址不同)地址(第一行,0x80,第二行,0x90,第三行,0x88,第三行,0x98)初始化 写数据 写命令初始化void chushihua() //初始化{duan=0; //关闭数码管的段和位,避免对LCD1602产生影响wei=0;shinen=0;delay(15);xieminglin(0x30); //写入0x3...原创 2022-01-04 11:57:33 · 2957 阅读 · 0 评论 -
51单片机1302时钟
#include<reg52.h> //12864显示#include<intrins.h>#define uint unsigned int#define uchar unsigned charuchar code table[]="shidu:"; //把你要显示的东西写成数组uchar code table1[]="wendu:";sbit out = P1^0;uchar a,miao,shi,fen,ri,yue,nian,week...原创 2022-01-04 11:56:44 · 485 阅读 · 0 评论 -
51单片机DHT11的使用方法
DHT11的使用方法:01使用步骤初始化 读取数据 显示数据初始化:out=0;delay20ms();out=1;delay40us();读取数据Uchar x,shuju;If(out==0){While(out==0);While(out==1);While(out==0);X=0;Delay(30us);If(out==1)X=1;Shuju=shuju<<1;Shuju=shuju原创 2022-01-04 11:55:00 · 5231 阅读 · 0 评论