
蓝桥杯-单片机组基础与备赛指南——省赛之路
文章平均质量分 85
主要针对蓝桥杯单片机组开发板涉及的相关硬件资源,软件编程,以及备赛思路进行讲解,内容涵盖省赛需要的知识
archie474
乐于向人推介linux,博客中出现的任何错别字或错误,欢迎指出!
展开
-
蓝桥杯-单片机组基础21——第15届省赛代码
做下来感觉,主观题第15届比14届稍微简单一些,但是出其不意考了DAC本届客观题有点难,做选择感觉把握性不大,多选比较多万幸比赛前一天做出了第14届的题,今年的题和去年的题比较接近(可参考本专栏上一篇文章)如果有幸进入国赛,将继续更新国赛之路专栏。原创 2024-04-13 22:03:10 · 1700 阅读 · 5 评论 -
蓝桥杯-单片机基础20——第14届省赛真题代码详解
1.比赛题目网上传言说14届最难,实际做下来感觉确实是这样的原创 2024-04-12 21:13:42 · 1095 阅读 · 0 评论 -
蓝桥杯-单片机组基础19——IO编程下的省赛模板
定义了只针对继电器的操作函数,led的操作函数,其中蜂鸣器直接关闭。该模板采用定时计数器0中断,每隔20*50us去刷新一位数码管。定义了三个窗口,通过SMG_flag变量进行切换。原创 2024-04-12 09:09:27 · 173 阅读 · 0 评论 -
蓝桥杯基础18——第13届省赛真题与代码详解
duanma和duanma_dot:定义了数码管的显示码(不含/含小数点)。用于控制数码管显示数字0-9及特殊符号。led_state:定义了LED灯的状态,对应L1至L3的开关状态。其中1点亮,0熄灭。原创 2024-04-12 00:38:31 · 1509 阅读 · 0 评论 -
蓝桥杯第九届省赛真题代码——彩灯控制器-附详细讲解思路
首先,添加头文件,搭建最底层的代码,实现基本的流水灯运转与数码管显示rb2的电阻值然后,进行pwm脉宽调制,实现rb2数值不同,从而灯光亮度不同。并作出数码管的多窗口切换接着,完成4个独立按键的功能配置,每写一个按键,就把一个按键的功能完善好再是,测试数码管的显示效果,这个至关重要,保证每个数码管显示效果较好最后,编写24c02的程序。原创 2024-04-10 15:38:57 · 962 阅读 · 1 评论 -
蓝桥杯-单片机基础16——利用定时计数中断进行动态数码管的多窗口显示
综合查阅了网络上目前能找到的所有关于此技能的代码,最终找到了下述方式比较可靠,且可以自定义任意显示的数值。传统采用延时函数的方式实现动态数码管扫描,在题目变复杂时效果总是会不佳,因此在省赛中有必要尝试采用定时计数器中断去刷新数码管,从而摒弃延时函数方式。原创 2024-04-10 14:43:49 · 1182 阅读 · 0 评论 -
蓝桥杯-单片机组基础15——会呼吸的流水灯制作详解(MM和IO模式)
PWM调制整合实现呼吸灯定时器初始化:通过init_timer0函数,定时器0被设置为50微秒溢出一次,实现基础的时间计数功能。定时器中断服务:在timer0_service中断服务函数中,每50微秒pwm_50us变量递增。当累计到100(即每5ms),pwm_5ms变量递增,用于控制呼吸灯的亮度变化周期。PWM调制:在同一个中断服务函数中,通过比较pwm_50us与pwm_duty的值来控制LED的亮与灭。如果pwm_50us小于pwm_duty,则LED亮;否则,LED灭。这实现了PWM调制,p原创 2024-04-08 22:16:54 · 1799 阅读 · 6 评论 -
蓝桥杯-单片机组基础14——定时计数器与延时函数2方法实现长短按功能
1. 功能概览大部分省赛里,官方会考察矩阵键盘,就不会考察大家对于长按与短按的操作但是一旦遇到考独立按键的试题,就一定会有长短按的考察推荐大家掌握定时器方式,短按加1,长按不松手清0方式。其他方式为供大家共同学习,一起进步所写,有任何问题欢迎指出。2. 代码目按下独立按键S7,数码管两位数显示加1。长按独立按键S7超过1秒,则数码管示数清0性能指标:数码管亮度均匀,最大计数值99原创 2024-04-07 19:58:26 · 741 阅读 · 0 评论 -
蓝桥杯-单片机基础13——完美代码:官方开发板超声波传感器详解(超声波传感器CX20106A)
N_B1为超声波模块CX20106A发射端接口,通过跳线帽与TX(P11)引脚相连:N_A1为超声波模块CX20106A接收端接口,通过跳线帽与RX(P10)引脚。原创 2024-04-03 00:53:04 · 3505 阅读 · 0 评论 -
蓝桥杯-单片机基础12——对芯片LM555产生的频率脉冲计数思路
对LM555芯片可以实现的操作有很多,但是比赛开发板上很少。以下文字内容瞟一眼即可,客观题基本不会遇到引脚2(TRIG)- 触发:当此引脚的电压降至1/3 VCC时,定时器被触发,开始计时。引脚3(OUT)- 输出:输出引脚,输出电压可以从0V到接近VCC变化。引脚4(RESET)- 重置:此引脚用于重置定时器。当这个引脚接收到低于0.7V的电压时,定时器的输出会立即变低,无论计时周期是否完成。引脚5(CTRL)- 控制电压:控制电压引脚可以用来改变定时器的触发和阈值电平。原创 2024-04-02 15:15:57 · 1695 阅读 · 1 评论 -
蓝桥杯-单片机基础12——基于2023年IIC代码实现开机次数记录(串行EEPROM存储器AT24C02)
通过对AT24C02的正确设置,可以将单片机开机次数记录下来,并显示在数码管上。并设置独立按键S7为重启模拟按键,即按下S7时,开机次数也会加1。即,最终实现自增的方式有:拔插电源、按下开关机键、按下松开下载按键S2、按下松开S7显示格式为:当开机次数为一位时,显示:-------X当开机次数为两位时,显示:------XX当开机次数为三位时,显示:-----XXX更多位数我们不做考虑,按照前面的逻辑继续即可原创 2024-04-02 00:32:22 · 1387 阅读 · 1 评论 -
蓝桥杯-单片机组基础11——基于2023年官方iic通信代码讲解(模数转换器PCF8591)
在keil5左侧工程导航栏中,在source group处右键点击“add existing items”到工程,并选中官方提供的底层文件:此时我们的左侧工程栏就会出现一个新的文件,我们双击打开,并查看原理图:因此我们需要在iic.c文件中添加如下代码:。原创 2024-04-01 16:26:06 · 2093 阅读 · 2 评论 -
蓝桥杯-单片机组基础10——基于2023年官方SPI通信代码讲解(实时时钟DS1302)
对于外设原理图,我们重点需要关注的其实就是各通信相关引脚的接线关系,从而正确的设置引脚,添加头文件。SPI (Serial Peripheral interface)是串行外围设备接口SPI通信对时序的要求,相比ONEWIRE要弱一些。在控制字指令输入后的下一个SCLK时钟信号的上升沿,数据被写入DS1302;在控制字指令输入后的下一个SCLK时钟信号的下降沿,数据从DS1302读出。原创 2024-03-31 18:24:44 · 1513 阅读 · 1 评论 -
蓝桥杯-单片机基础9——基于2023年官方onewire通信代码外设讲解(温度传感器DS18B20)
该外设已经有了固定的硬件连接,因此我们只需要关注其DQ位与单片机的P14引脚连接到了一起。对DS18B20外设的额外介绍:DQ全称为数字信号输入输出端,该传感器的最低温度精度为0.0625℃,并将读取到的温度保存到MSB、LSB两个8位寄存器当中。MSBSSSSSLSB从表格中进行观察我们可以发现,高位的MSB寄存器的前5位用于表示温度是否为整数,当全为0时极为整数,编程时不需要在意。最后3位与LSB的高4位共同构成温度的整数部分值LSB的低4位构成了温度的小数部分。原创 2024-03-27 18:11:52 · 1384 阅读 · 0 评论 -
蓝桥杯-单片机基础8——上下位机的串口通信设置(附小蜜蜂课程代码)
一般来说,我们认为比赛用开发板就是下位机,我们的电脑就是上位机。由于采用异步串行通信方式,因此我们既可以从上位机向下位机发送数据,又可以在上位机接收下位机传来的数据,从未实现通信的效果。近年来的省体考串口通信不多,但往年偶尔考过。考题倾向于某种控制系统,即我们用电脑向单片机发送某种数据,单片机就产生对应的响应,并且单片机向电脑传回相关的数据,以此对串口编程进行考察。在了解串口通信的简单原理之后,可以将小蜜蜂老师的代码段背下来,比赛时直接使用。原创 2024-03-23 23:02:38 · 3882 阅读 · 1 评论 -
蓝桥杯-单片机组基础7-存储器映射扩展与PWM脉冲调制(附小蜜蜂课程代码)
PWM(Pulse-width modulation),中文名脉冲宽度调制。下面我采用功率的思路来理解PWM的作用。原创 2024-03-01 21:33:46 · 1236 阅读 · 1 评论 -
蓝桥杯-单片机组基础6——定时计数器与外部中断混合使用(附小蜜蜂课程代码)
定时/计数器可以想象成一个每隔一定时间,就会自动产生一次中断的开关。但它产生中断的时间间隔是固定的,由我们来设置。中断产生的感觉可以想象成一个正在接水的水桶,当水桶里的水接满溢出时产生中断,由此每次产生中断所需要的时间就可以比拟成水桶接满水的时间。那我们如果按照自己的需求,让水桶接满水的时间被人为精确控制呢?设置初值——即在最开始让水桶里装有一定数量的水,最开始水桶里面的水越多,水桶就越快溢出,产生中断所需要的时间就越短。原创 2024-02-28 23:55:13 · 1493 阅读 · 2 评论 -
蓝桥杯-单片机组基础5——外部中断与LED的控制(附小蜜蜂课程代码)
1.编程目的通过对外部中断的学习,了解外部中断的操作过程,并实现独自完成外部中断的编程,通过控制led灯光进行展示效果。原创 2024-02-26 11:53:24 · 1598 阅读 · 4 评论 -
蓝桥杯-单片机组基础4——独立按键与数码管的窗口切换(附小蜜蜂课程代码)
1.编程目的本文章针对蓝桥杯-单片机组比赛开发板所写,代码可直接在比赛开发板上使用。型号:国信天长4T开发板(绿板),芯片:IAP15F2K61S2(使用国信天长蓝板也可以完美兼容,与绿板几乎无差别)1.编程目的在比赛中数码管是必考的,且会涉及数码管的窗口切换操作,因此本文建立在小蜜蜂老师关于独立键盘的讲解基础上,进行窗口切换的练习。编程目的如下:通过设置,使开发板具备计时器与日期显示功能。按下S7为计时器功能,数码管开始从0计时(使用延时函数),S5与S4功能被屏蔽。原创 2024-02-10 20:07:09 · 2444 阅读 · 1 评论 -
蓝桥杯-单片机组基础3——数码管的静动态显示(附小蜜蜂课程代码)
我们对com的任意一个口进行赋值为1,则相当于选中了这一位,让这一位的单个数码管显示内容。比赛开发板的硬件焊接与原理图是反着的,从原理图来看,我们选择第三位应该是“0010 0000”,但硬件上应该是“0000 0100”,硬件位置与原理图相反,则赋值为weima=0x04 2.对该位赋值要显示的内容,duanma=0x82。通过不同的二极管发光,即可实现不同数字的显示,例如,我们让“gfedca”共6个发光二极管亮,而剩下的“dp,b”共2个发光二极管不亮,则实现了数字6的显示。原创 2024-02-08 08:30:00 · 2694 阅读 · 0 评论 -
蓝桥杯-单片机组基础2——继电器与蜂鸣器的设置(附小蜜蜂课程代码)
通过此次练习将74HC138译码器熟练掌握,并可以随心所欲的控制继电器、LED、数码管等与译码器相连的硬件电路。本文着重介绍 继电器与蜂鸣器 的使用,其余硬件资源的调用可阅读本专栏下的其他文章。原创 2024-02-02 09:00:00 · 1880 阅读 · 0 评论 -
蓝桥杯-单片机组基础1——LED流水灯
本文章针对蓝桥杯-单片机组比赛开发板所写,代码可直接在比赛开发板上使用。型号:国信天长4T开发板(绿板),IAP15F2K61S2(使用4T蓝板也可以完美兼容,与绿板差别不大)编程目的通过代码实现功能:开发板流水灯展示。如图所示最左边S4~S7位四个独立按键,上方L1~L为八位LED灯。原创 2024-01-31 15:24:03 · 1571 阅读 · 0 评论 -
蓝桥杯-单片机组备赛思路与大纲
主要是针对第15届蓝桥杯-单片机组比赛。1.赛事介绍(第14届大纲)编程题:85%(编程涉及IIC、SPI、矩阵键盘、数码管等内容)客观题:15%(客观题主要是数电、C语言程序题,较少的51单片机基础知识与开发调试知识,极少出现模电题)省赛,报名费300元,自己出(部分学校的学院会报销),赛前学院会发比赛用的开发板(因此不用自己买,部分学校不会发)。原创 2024-01-30 21:48:50 · 3157 阅读 · 2 评论 -
51单片机keil5程序编写与stc烧录流程(蓝桥杯-单片机组)
软件平台:Keil C51开发环境、STC ISP V6.85H程序下载软件硬件平台:国信天长4T四梯开发板(绿板)、国信天长单片机综合实训平台(蓝板)。二者内部硬件资源一致,不会出现板子不兼容问题,主要的区别在于4T绿板的单片机芯片直接焊接在了板子上,蓝板芯片采用传统的拔插式。其他开发板(如普中51开发板等与此流程相同,只是代码需要单独编写)原创 2024-01-31 17:25:25 · 8648 阅读 · 1 评论