自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 蓝桥杯 eeprom

unsigned eeprom_read(unsigned char addr)//连续读连续写需要一定延时。unsigned adc_read(unsigned char addr)//地址。

2024-04-16 12:50:26 850

原创 蓝桥杯 AD-DA数模转换

unsigned adc_read(unsigned char addr)//地址。//I2C总线发送一个字节数据。//I2C总线接收一个字节数据。//I2C总线内部延时函数。//发送应答或非应答信号。//I2C总线启动信号。//I2C总线停止信号。

2024-04-16 12:48:00 708

原创 蓝桥杯 DS18B20

/ initflag等于1初始化失败。//通过单总线向DS18B20写一个字节。//DS18B20温度采集程序:整数。//从DS18B20读取一个字节。//DS18B20初始化。////单总线延时函数。onewire.h中。onewire.c中。

2024-04-16 12:45:53 257

原创 蓝桥杯 DS1302

/向DS1302寄存器写入数据。//从DS1302寄存器读出数据。

2024-04-16 12:44:03 360

原创 蓝桥杯 串口进阶案例

switch(command & 0xf0)//低四位全部为0,取高四位。//串口1选择定时器1为波特率发生器。//防止反复发送这串代码。case 0xa0: //注意这里是冒号。//8位数据,可变波特率。//定时器时钟1T模式。TL1 = 0xDC;TH1 = 0xDC;//禁止定时器%d中断。//定时器1开始计时。void Working()//接受到上位机的命令。

2024-04-16 12:42:03 365

原创 蓝桥杯 串口

/0000,0000 PCA模块0的捕捉/比较寄存器低字节。//0000,0000 PCA模块1的捕捉/比较寄存器低字节。//0000,0000 PCA模块2的捕捉/比较寄存器低字节。//0000,0000 PCA模块0的捕捉/比较寄存器高字节。//0000,0000 PCA模块1的捕捉/比较寄存器高字节。//0000,0000 PCA模块2的捕捉/比较寄存器高字节。//0000,0000 PCA模块0的PWM寄存器。//0000,0000 PCA模块1的PWM寄存器。

2024-04-16 12:41:07 301

原创 蓝桥杯 PWM

void Timer0Init(void) //100微秒@12.000MHz。//PWM计数值和比较值。//定时器时钟12T模式。TL0 = 0x9C;TH0 = 0xFF;//定时器0开始计时。// 允许定时器 1 中断。

2024-04-16 12:38:38 392

原创 蓝桥杯 定时器 数码管 秒表

void delay(unsigned char t)//注意这有两个延时函数,一个延时数码管,一个整体延时。void Timer1Init(void) //1毫秒@12.000MHz。//定时器1开始计时。// 允许定时器 1 中断。

2024-04-16 12:37:55 402

原创 蓝桥杯 定时器

void Timer1Init(void) //1毫秒@12.000MHz。//定时器时钟12T模式。TL1 = 0x18;TH1 = 0xFC;//定时器1开始计时。// 允许定时器 1 中断。

2024-04-16 12:36:58 274

原创 蓝桥杯 中断

void int0(void) interrupt 0 //异或,相异为1,BTN,独立按键,S4,S5。void int1(void) interrupt 2 //异或,相异为1,BTN,独立按键,S4,S5。// 边沿触发方式(下降沿)// 边沿触发方式(下降沿)

2024-04-16 12:36:13 258

原创 蓝桥杯 矩阵键盘

#include <STC15F2K60S2.H>sbit HC138_A=P2^5;sbit HC138_B=P2^6;sbit HC138_C=P2^7;sbit buzz_1= P0^6;sbit jdq_2= P0^4;sbit H1=P3^0;sbit H2=P3^1;sbit H3=P3^2;sbit H4=P3^3;sbit L1=P4^4;sbit L2=P4^2;sbit L3=P3^5;sbit L4=P3^4;unsigned char code SMG_duan

2024-04-16 12:35:35 368

原创 蓝桥杯 独立按键

include <STC15F2K60S2.H>//独立按键用BTN模式。

2024-04-16 12:34:48 321

原创 蓝桥杯 数码管

void delay(unsigned char t)//注意这有两个延时函数,一个延时数码管,一个整体延时。

2024-04-16 12:34:00 236

原创 蓝桥杯 蜂鸣器

/注意swictch语句case后是冒号,记得break。

2024-04-16 12:33:14 376

原创 蓝桥杯新版STC15F2K60S2 LED

/ 2.位操作一定要用 sbit。// 1.LED使用IO模式。

2024-04-16 12:31:51 102

原创 51单片机 蓝牙小车

/SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志。* @param Number 要显示的数字,范围:0~1111 1111 1111 1111。//八位数据接口,两行显示,5*7点阵。* @param Number 要显示的数字,范围:-32768~32767。//显示开,光标关,闪烁关。* @param Number 要显示的数字,范围:0~0xFFFF。//8位数据,可变波特率。* @param Number 要显示的数字,范围:0~65535。

2024-04-15 12:39:59 563

原创 51单片机 DS18B20温度报警器

@param Number 要显示的数字,范围:0~1111 1111 1111 1111。//八位数据接口,两行显示,5*7点阵。* @param Number 要显示的数字,范围:-32768~32767。* @param Number 要显示的数字,范围:0~0xFFFF。* @param Number 要显示的数字,范围:0~65535。* @param Length 要显示数字的长度,范围:1~5。* @param Length 要显示数字的长度,范围:1~5。

2024-04-15 12:31:12 692

原创 51单片机 DS18B20温度测量

@param Number 要显示的数字,范围:0~1111 1111 1111 1111。//八位数据接口,两行显示,5*7点阵。* @param Number 要显示的数字,范围:-32768~32767。* @param Number 要显示的数字,范围:0~0xFFFF。* @param Number 要显示的数字,范围:0~65535。* @param Length 要显示数字的长度,范围:1~5。* @param Length 要显示数字的长度,范围:1~5。

2024-04-15 12:22:00 434

原创 51单片机 模块化蓝牙驱动电机

SCON=0X50;//SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志。//使能波特率倍速位SMOD。//8位数据,可变波特率。//定时器1开始计时。//左上 out1。//右下 out4。//右上 out3。TL1 = 0xF3;TH1 = 0xF3;//禁止定时器%d中断。

2024-04-15 12:15:18 398

原创 51单片机 AT24C02存数据

@param Number 要显示的数字,范围:0~1111 1111 1111 1111。//八位数据接口,两行显示,5*7点阵。//显示开,光标关,闪烁关。* @param Number 要显示的数字,范围:0~0xFFFF。* @param Number 要显示的数字,范围:0~65535。* @param Length 要显示数字的长度,范围:1~5。

2024-04-15 12:07:00 958

原创 51单片机 超声波模块测距显示在LCD1602液晶显示屏上

void LcdInit() //LCD初始化子程序。void LcdWriteData(uchar dat) //写入数据。//使用LCD中的函数延时。void t0() interrupt 1 //T0中断用来计数器溢出,超过测距范围。if((s>=4000)||flag==1) //超出测量范围显示“-”void LcdWriteCom(uchar com) //写入命令。

2024-04-15 11:59:41 980

原创 51单片机 控制舵机转动角度

/舵机恢复到0°的位置 5==0° 10==45° 15==90°。if (count >= 200) //T = 20ms清零。//设定PWM输出的I/O端口。//定时器T0设置成方式1。t = 0.5ms——————-舵机会转动 0 °。t = 2.0ms——————-舵机会转动 135°。t = 1.0ms——————-舵机会转动 45°。t = 1.5ms——————-舵机会转动 90°。t = 2.5ms——————-舵机会转动180。/*定时器T0初始化*//*T0中断初始化*/

2024-04-15 11:51:22 465

原创 51单片机 蓝牙控制小车

SCON=0X50;//SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志。//左边马达下接口 out2。//左上 out1。//右下 out4。//右上 out3。//波特率为9600算出来的fd。

2024-04-15 11:50:15 270 1

原创 51单片机 独立按键控制小车

#include <REGX52.H>sbit in1 = P1^0;//左电机sbit in2 = P1^1;//左电机sbit in3 = P1^2;//右电机sbit in4 = P1^3;//右电机void Delay(unsigned int xms) //@12.000MHz{ unsigned char i, j; while(xms) { i = 2; j = 239; do {

2024-04-15 11:47:27 407 1

原创 51单片机 红外控制电机转速

if((IR_Data[0]==~IR_Data[1]) && (IR_Data[2]==~IR_Data[3])) //数据验证。else if(IR_State==1) //状态1,等待Start信号或Repeat信号。if(IR_State==0) //状态0,空闲状态。

2024-04-15 11:08:43 752 1

原创 51单片机 直流电机调速

TL0 = 0x9C;//设置定时初始值 100微妙。#include "Delay.h" //包含Delay头文件。switch(Location) //位码输出。if(Counter<Compare) //电机给1转。TL0 = 0x9C;TH0 = 0xFF;TL0 = 0x9C;//定时器0开始计时。#include"Nixie.h" //晶体管。// 获取独立按键键码,//数码管显示子函数。

2024-04-15 10:59:09 501 1

原创 51单片机 LED呼吸灯

i++) //每个亮度循环20次。i++) //每个亮度循环20次。

2024-04-14 14:36:44 186 1

原创 51单片机 蜂鸣器播放音乐

/选择音符对应的时值。//选择音符对应的频率。=0xFF) //如果不是停止标志位。//音符与索引对应表,P:休止符,L:低音,M:中音,H:高音,下划线:升半音符号#if(FreqTable[FreqSelect]) //如果不是休止符。//翻转蜂鸣器IO口。//定时器0开始计时。/*取对应频率值的重装载值到定时器*/else //如果是停止标志位。

2024-04-14 14:35:36 1124 1

原创 51单片机 蜂鸣器

include "Delay.h" //包含Delay头文件。switch(Location) //位码输出。* 注释:蜂鸣器私有延时函数,延时500微妙。//要调用函数INTRINS。if(KeyNum)//按键按下。* 注释:蜂鸣器发生。输入参数:毫秒 发生时长。// 获取独立按键键码,//数码管显示子函数。

2024-04-14 14:32:43 283 1

原创 51单片机 LED点阵屏动画

@param Data 选择列显示的数据,高位在上,1为亮,0为灭。* @param Column 要选择的列,范围:0~7,0在最左边。* @brief 74HC595写入一个字节。* @brief LED点阵屏显示一列数据。* @param Byte 要写入的字节。*注释: 点阵屏初始化。MATRIX_LED.c中。* @retval 无。* @retval 无。MATRIX_LED.h中。

2024-04-14 14:28:18 445 1

原创 51单片机 LED点阵屏

@param Data 选择列显示的数据,高位在上,1为亮,0为灭。* @param Column 要选择的列,范围:0~7,0在最左边。* @brief 74HC595写入一个字节。* @brief LED点阵屏显示一列数据。* @param Byte 要写入的字节。* @retval 无。* @retval 无。

2024-04-14 14:24:54 404 1

原创 51单片机 电脑通过串口控制LED

/使能波特率倍速位SMOD。//8位数据,可变波特率。//定时器1开始计时。TL1 = 0xF3;TH1 = 0xF3;//禁止定时器%d中断。*注释:串口初始化 4800bps@12.000MHz。输入参数: byte要发送一个数据。*注释:串口发送一个字节数据。//串口中断函数模板。

2024-04-14 14:23:12 273 1

原创 51单片机 串口向电脑发送数据

/使能波特率倍速位SMOD。//8位数据,可变波特率。TL1 = 0xF3;TH1 = 0xF3;//禁止定时器%d中断。*注释:串口初始化 4800bps@12.000MHz。//定时器1开始计时。输入参数: byte要发送一个数据。*注释:串口发送一个字节数据。

2024-04-14 14:19:59 339 1

原创 51单片机 独立按键 定时器 流水灯

@param Number 要显示的数字,范围:0~1111 1111 1111 1111。* @param Number 要显示的数字,范围:0~0xFFFF。* @param Number 要显示的数字,范围:0~65535。* @param Length 要显示数字的长度,范围:1~16。* @param Length 要显示数字的长度,范围:1~5。* @param Length 要显示数字的长度,范围:1~5。* @param Length 要显示数字的长度,范围:1~4。

2024-04-14 14:10:10 672 1

原创 51单片机数码锁

/数据读写操作后,光标自动加一,画面不动。if(Password==2345) //如果密码显示2345,正确。//八位数据接口,两行显示,5*7点阵。if(KeyNum==11) //如果s11按键按下,确认。if(KeyNum<=10)//如果s1-s10按键按下,输入密码。//显示开,光标关,闪烁关。Password=0;

2024-04-14 14:05:43 786 1

原创 51单片机 矩阵键盘

@param Number 要显示的数字,范围:0~1111 1111 1111 1111。* @param Number 要显示的数字,范围:0~0xFFFF。* @param Number 要显示的数字,范围:0~65535。* @param Length 要显示数字的长度,范围:1~16。* @param Length 要显示数字的长度,范围:1~5。* @param Length 要显示数字的长度,范围:1~5。* @param Length 要显示数字的长度,范围:1~4。

2024-04-14 14:00:50 437 1

原创 51单片机 LCD1602液晶显示屏

LCD_Init();while(1)

2024-04-14 13:54:33 108 1

原创 51单片机 晶体管

void Delay(unsigned int xms) //延时函数。

2024-04-14 13:49:25 333 1

原创 51单片机 独立按键控制LED灯移动

while(xms)i = 2;j = 239;doxms--;P2=~0x01;while(1)Delay(20);Delay(20);LEDNum++;LEDNum=0;Delay(20);Delay(20);LEDNum=7;elseLEDNum--;

2024-04-14 13:48:35 249 1

原创 51单片机 独立按键

#include <REGX52.H>void Delay(unsigned int xms) //@12.000MHz{ unsigned char i, j; while(xms) { i = 2; j = 230; do { while (--j); } while (--i); xms--; }}void main(){// P2=0xFE; wh

2024-04-14 13:46:54 269 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除