
蓝桥杯单片机
qq_53971060
控制科学与工程专业研二学生。
【本人所有平台链接】:
优快云:https://blog.youkuaiyun.com/qq_53971060?type=blog
GitHub:https://github.com/YiXiangfeng521?tab=repositories
小红书:https://www.xiaohongshu.com/user/profile/5da67cd10000000001001510
展开
-
蓝桥杯竞赛单片机组备赛【经验帖】
在此,我首先默认大家在看本贴之前已经掌握基础的C语言知识和计算机知识。具体来说就是,你至少学完了C语言中指针之前的所有内容(例如,数据类型、if、while、for、switch等语句、数组等),至少要知道计算机中最基础的知识(例如,一个字节等于8 bit、逻辑运算等)。原创 2024-11-14 16:49:41 · 1156 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——独立键盘算法
基于蓝桥杯的单片机模块练习——独立键盘算法C代码#include "key.h"unsigned char keystat[] = {1,1,1,1};unsigned int lkey_count = 0;bit lkey_flag = 0;code unsigned char KeyCodemap[4] = {0x07,0x06,0x05,0x04};void KeyAction(unsigned char KeyCode){ switch(KeyCode) { case 0x0原创 2021-06-03 17:07:58 · 211 阅读 · 2 评论 -
第九届国赛编程时遇到的玄学问题
第九届国赛编程时遇到的玄学问题void Display_HC(){ SegBuffer[0] = 0x89; SegBuffer[1] = SegCode[12]; SegBuffer[2] = 0xff; SegBuffer[3] = 0xff; SegBuffer[4] = SegCode[(WriteBuf[0]*100+WriteBuf[1])/1000]; SegBuffer[5] = SegCode[((WriteBuf[0]*100+WriteBuf[1])/100)%10原创 2021-06-02 20:02:53 · 183 阅读 · 1 评论 -
基于蓝桥杯的单片机模块练习——IIC驱动的注释及修改
基于蓝桥杯的单片机模块练习——IIC驱动的注释及修改iic.c/* 程序说明: IIC总线驱动程序 软件环境: Keil uVision 4.10 硬件环境: CT107单片机综合实训平台 8051,12MHz 日 期: 2011-8-9*/#include "iic.h"//=====================================================//总结:IIC_SendByte(unsigned char byt)函数不要忘记释放SD原创 2021-05-20 19:23:27 · 549 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——第十届决赛串口部分
基于蓝桥杯的单片机模块练习——第十届决赛串口部分unsigned char Uart_Buf[12], Uart_Num = 0;//$20,24.32\r\n因为最多会发送12个字符,结尾还有一个‘\0’void UartInit() //4800bps@12.000MHz{ SCON = 0x50; // 8位数据,可变波特率 AUXR |= 0x01; // 串口1选择定时器2为波特率发生器 AUXR |= 0x04; // 定时器2时钟为Fo原创 2021-05-19 19:41:38 · 585 阅读 · 2 评论 -
STC对单片机相关学科群部分课程改革呼吁
STC对单片机相关学科群部分课程改革呼吁我觉得如果高校真能践行这种改革,培养出的学生会更优秀,我们的大学也不会白上。原创 2021-05-13 22:01:52 · 163 阅读 · 1 评论 -
编程时的基本流程图
原创 2021-05-09 20:54:29 · 788 阅读 · 1 评论 -
基于蓝桥杯的单片机模块练习——DS18B20温度传感器各类异常情况总结
基于蓝桥杯的单片机模块练习——DS18B20温度传感器各类异常情况总结开始时显示85原因:因为温度传感器的温度转换需要一定的时间,所以刚一开始温度转换然后紧接着读取温度,再显示出来,他读取的温度便是上一次转换的结果,由于ds18b20初始温度值为85,所以这里的“上一次转换的结果”就是85.解决方法:在程序初始化的部分加上 Read_Temperature();//此时读取的温度值为默认的85 Delay_1ms(750);//等待上一个read函数温度转换完成 Read_Tempe原创 2021-05-08 22:15:53 · 6053 阅读 · 2 评论 -
基于蓝桥杯的单片机模块练习——矩阵键盘算法
基于蓝桥杯的单片机模块练习——矩阵键盘算法功能概述通过矩阵键盘控制8个数码管同时显示一个字符。C代码#include "stc15f2k60s2.h"//行sbit R1 = P3^0;sbit R2 = P3^1;sbit R3 = P3^2;sbit R4 = P3^3;//列sbit C1 = P4^4;sbit C2 = P4^2;sbit C3 = P3^5;sbit C4 = P3^4;unsigned char code SMG_duanma[] = {0xc0原创 2021-05-04 11:05:14 · 592 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——超声波测距
基于蓝桥杯的单片机模块练习——超声波测距功能概述利用超声波模块测量距离并显示在数码管的后三位,单位是cm。如果距离超出量程,就在第一位显示‘F’#include "stc15f2k60s2.h"/*Debug 总结:*/sbit TX = P1^0; // 发射引脚sbit RX = P1^1; // 接收引脚unsigned char code SMG_duanma[] = {0xc0,0xf9,0xa4,0xb0,原创 2021-05-03 12:23:31 · 908 阅读 · 0 评论 -
按键扫描——不用delay函数的消抖的方法
按键扫描——不适用delay函数的消抖的方法原创 2021-04-20 22:03:53 · 2263 阅读 · 0 评论 -
数码管的动态显示——用定时器中断的方式刷新数码管
数码管的动态显示——用定时器中断的方式刷新数码管原创 2021-04-20 19:59:53 · 6979 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——PCF8591芯片
基于蓝桥杯的单片机模块练习——PCF8591芯片相关知识点1.特点(1)8位模数和数模转换器(2)通过IIC总线的串行输入/输出(3)模拟电压范围从VSS到VDD(4)8位逐次逼近模数转换2.总体描述PCF8591是一款单芯片、单电源、低功耗、8位CMOS数据采集设备,具有四个模拟输入、一个模拟输出和一个串行I2C总线接口。三个地址引脚A0、A1和A2用于对硬件地址进行编程,允许使用多达八个连接到I2C总线的设备,而无需额外的硬件。进出设备的地址、控制和数据通过双线双向I2C总线串行传输。原创 2021-04-16 20:18:16 · 458 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——AT24C02芯片
基于蓝桥杯的单片机模块练习——AT24C02芯片相关知识点1.特点原创 2021-04-16 15:39:44 · 453 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——测量555定时器的频率
基于蓝桥杯的单片机模块练习——测量555定时器的频率功能概述测量555定时器的频率,通过数码管显示出来,只有用到的数码管点亮,未用到时,处于熄灭状态。C代码main.c#include "SystemInit.h"#include "timer.h"#include "SEG.h"void main(){ System_Init(); Timer_Init(); while(1) { Display_f(); }}SystemInit.c#include "Syste原创 2021-04-14 21:08:04 · 573 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——DS1302时钟芯片
基于蓝桥杯的单片机模块练习——DS1302时钟芯片相关知识点1.特点实时时钟计算秒、分、小时、月、日、周和年,闰年补偿有效期最长为2100年。2.详细描述DS1302芯片包含一个实时时钟/日历和31字节的静态随机存取存储器。它通过简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、小时、日、月、星期和年的信息。对于少于31天的月份,月末日期会自动调整,包括闰年的更正。时钟以24小时制或12小时制运行,带有上午/下午指示器。3.地址命令字节MSB(位7)必须是逻辑1。如果为0,对DS130原创 2021-04-14 20:30:23 · 520 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——DS18B20温度传感器
基于蓝桥杯的单片机模块练习——DS18B20温度传感器相关知识点1.概况特点:1.单总线通讯2.每个设备都有一个存储在板载只读存储器中的唯一64位串行代码,所以一条通讯总线可挂多个DS18B203.测量范围是-55℃至+125℃,从-10℃到+85℃有±0.5℃的精度4.温度计分辨率可由用户从9到12位选择5.最慢在750毫秒内将温度转换为12位数字值2.测量温度的操作温度传感器的分辨率可由用户配置为9、10、11或12位,分别对应于0.5℃、0.25℃、0.125℃和0.0625℃的原创 2021-04-13 21:34:34 · 3687 阅读 · 10 评论 -
基于蓝桥杯的单片机模块练习——长、短按键处理
基于蓝桥杯的单片机模块练习——长按键处理功能概述可以对按下一个键的时间长短,来分别执行不同的处理。当按住一个键的时长超过规定的长按键标准时,可以执行长按键的相应处理,当按住一个键的时长没达到规定的长按键标准时,可以执行短按键的相应处理。C代码unsigned char count = 0;unsigned char t_s = 0;unsigned char t_ms = 0; void Init_Timer0(){ TMOD = 0x01; TH0 = (65536 - 50000)原创 2021-04-13 16:42:05 · 389 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——存储器扩展
基于蓝桥杯的单片机模块练习——存储器扩展相关知识点(1)IO口扩展方式所谓的IO扩展方式就是通过译码器来控制相关锁存器的开通与关闭从而控制不同的执行机构模块。由于锁存器的加入,使得一个单片机的IO口可以控制多个模块,从而把一个IO口扩展成了多个。(2)存储器映射扩展方式注意:...原创 2021-04-13 15:54:48 · 246 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——串口通讯
基于蓝桥杯的单片机模块练习——串口通讯串行口通讯相关知识点1.STC15F2K60S2系列的高速异步串行通信端口2.串行通信端口是采用UART通信方式的全双工异步串行口。每个串行口由两个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由两个独立的接受、发送缓冲器构成,可以同时发送和接受数据。发送缓冲器只能写入数据而不能读出,接受缓冲器只能读出而不能写入,因而两个缓冲器可以公用一个地址码,但实际上确实两个独立的物理单元。串行口1的两个数据缓冲寄存器统称原创 2021-04-12 22:05:35 · 441 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——PWM脉宽调制
基于蓝桥杯的单片机模块练习——PWM脉宽调制功能概述用定时器模拟PWM脉宽调制信号(频率为100hz),开控制LED1的亮度。要求单片机上电后,LED全部熄灭,按下S7后,LED以10%的亮度被点亮,再按一下S7后,亮度变为50%,再次按下S7,亮度变为90%,再按一次则熄灭,以此循环。C代码#include "stc15f2k60s2.h"unsigned char pwm_duty = 0;void SelectHC573(unsigned char channel);void Sy原创 2021-04-11 21:41:01 · 338 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——定时器秒表
基于蓝桥杯的单片机模块练习——定时器秒表功能概述用定时器和数码管实现如下功能:数码管显示格式为:分钟-秒钟-XXXX表示有几个50ms。当分钟达到55时,蜂鸣器、继电器工作。S7可以暂停计时,S6可以清除当前时间,S4可以关闭蜂鸣器和继电器。C代码#include "stc15f2k60s2.h"unsigned char code SMG_duanma[] = {0xc0,0xf9,0xa4,0xb0, 0x99,0x原创 2021-04-10 21:01:36 · 414 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——定时/计数器
基于蓝桥杯的单片机模块练习——定时/计数器定时/计数器相关知识点1.STC15F2K60S2系列的定时/计数器类型2.定时/计数器相关的寄存器(1)TCON寄存器IE和IT位已在中断一节介绍,在此不做赘述。(2)TMOD寄存器(2)AUXR辅助寄存器(4)IE寄存器(5)IE2寄存器3.定时/计数器实际应用需注意的问题该问题的应对方法可在需要时参考用户手册学习相关C函数1.初始化函数//初始化定时器0或1void Init_TimerX()原创 2021-04-08 09:55:47 · 271 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——外部中断
基于蓝桥杯的单片机模块练习——外部中断中断相关知识点在Keil C中如何声明中断函数原创 2021-04-07 20:04:59 · 187 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——传统矩阵键盘
基于蓝桥杯的单片机模块练习——传统矩阵键盘功能概述通过矩阵键盘控制8个数码管同时显示一个字符。C代码#include "stc15f2k60s2.h"sbit R1 = P3^0;sbit R2 = P3^1;sbit R3 = P3^2;sbit R4 = P3^3;sbit C1 = P4^4;sbit C2 = P4^2;sbit C3 = P3^5;sbit C4 = P3^4;unsigned char code SMG_duanma[] = {0xc0,0xf9,0原创 2021-04-06 22:23:09 · 141 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——独立键盘
基于蓝桥杯的单片机模块练习——独立键盘功能概述C代码#include "stc15f2k60s2.h"sbit Key7 = P3^0;sbit Key6 = P3^1;sbit Key5 = P3^2;sbit Key4 = P3^3;void Delay_1ms(unsigned int t);void SelectHC573(unsigned char channel);void SystemInit();void ScanKey();void P0_Output(un原创 2021-04-06 22:06:53 · 152 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——数码管动态显示
基于蓝桥杯的单片机模块练习——数码管动态显示功能概述C代码#include "reg52.h"unsigned char code SMG_duanma[] = {0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0原创 2021-04-06 17:14:17 · 362 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——数码管静态显示
基于蓝桥杯的单片机模块练习——LED跑马灯功能概述数码管从左到右依次的显示,每个数码管的显示内容均为:从0到F的字符流转,中间间隔1s。然后所有数码管一起显示,显示内容为:从0到F的字符流转,中间间隔1s。C代码#include "reg52.h"unsigned char code SMG_duanma[] = {0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,原创 2021-04-06 16:53:05 · 234 阅读 · 0 评论 -
基于蓝桥杯的单片机模块练习——LED跑马灯
基于蓝桥杯的单片机模块练习——LED跑马灯功能概述8个LED首先以一秒为间隔闪烁三次,然后从左到右一次点亮,蜂鸣器叫1秒后,LED从右到左依次关闭,继电器打开1秒C代码#include "reg52.h"void Delay_1ms(unsigned int t){ unsigned int x,y; for(x = t; x > 0; x--)//注意,此循环的x,y判断条件为>0,绝不能写成>= for(y = 900; y > 0; y--); //此处90原创 2021-04-06 16:23:17 · 911 阅读 · 1 评论