![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
蓝桥杯单片机
关于准备蓝桥杯单片机组比赛的相关学习记录
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
「已注销」
一个小白的个人部分学习经历。
展开
-
第十一届 蓝桥杯 单片机设计与开发项目 省赛 程序设计试题及源码
一、试题1、 基本要求1.1 使用大赛组委会提供的国信长天单片机竞赛实训平台,完成本试题的程序设计与调试。1.2 选手在程序设计与调试过程中,可参考组委会提供的“资源数据包”。1.3 请注意: 程序编写、调试完成后选手应通过考试系统提交完整、可编译的 Keil工程文件。选手提交的工程文件应是最终版本, 要求 Keil 工程文件以准考证号(8 位数字)命名, 工程文件夹内应包含以准考证号命名的 hex 文件,该 hex文件是成绩评审的依据。 不符合以上文件提交要求的作品将被评为零分或者被酌情原创 2020-10-18 08:49:05 · 3693 阅读 · 6 评论 -
蓝桥杯扫盲之int, char, unsigned int, unsigned char的使用
一、C51常用数据类型C语言中默认规则:short int 即为int,long int 即为 long,前面若无unsigned符号默认signed型。0和1每一个所占空间是一位(b),也是单片机存储器中最小的单位。1B(字节)=8b(位)二、C语言数据类型选择(1)正负数(有无符号)(2)数值的范围;是否在范围内(上限,下限)(3)数值的精度(整形,字符,实型)(4)数据的种类(一种;多种(结构体,共用体))...原创 2020-10-14 21:51:30 · 667 阅读 · 0 评论 -
蓝桥杯单片机基础学习00_2
三、功能模块4、中断系统中断系统1)中断的概念:这是大家需要在脑子里有的一个印象,我们大致可以将中断描述成CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程我们称为中断。2)中断源:我们将引起CPU中断的根源或原因,称为中断源。中断源向CPU提出的处理请求,称为中断请求或中断申请。(传统的51单片机有5个中断源,而我们使转载 2020-07-24 13:25:04 · 2743 阅读 · 0 评论 -
蓝桥杯单片机基础学习00_1
一、基础准备1、烧录软件(1)单片机型号:IAP15F2K61S2(2)输入用户程序运行时的IRC频率:11.0592MHz2、CT107D单片机综合实训平台CT107D:单片机芯片(全I/O兼容8051系列,为保留P3.6,P3.7的WR,RD功能由P4.2,P4.4替换。);显示模块;输入/输出模块;传感模块;存储/AD、DA/时钟模块;USB转TTLIO扩展。跳线:红外功能选择(J2);USB功能选择(J4);按键功能选择(J5);外设访问方式选择(J13);外设访问方式选择(J15)功原创 2020-07-24 11:07:34 · 1341 阅读 · 0 评论 -
蓝桥杯基础模块9:IO口扩展与存储器映射
一、模块题目二、原理简述三、源码(1)I0扩展//头文件#include "reg52.h"//延时函数void Delay(unsigned int t){ while(t--); while(t--);}//573锁存器初始化选择void SelectHC573(unsigned char channel){ switch(channel) { case 4: P2 = (P2 & 0x1f) | 0x80; break; case 5:原创 2020-07-18 09:51:56 · 398 阅读 · 0 评论 -
蓝桥杯基础模块8_2:串口进阶
一、模块题目二、原理简述串行接口作为51单片机的重要外设,编程操作并不复杂,但在实际的项目应用中,由于数据结构和通信规约的不同,其程序逻辑也有各种变化。一般情况下,上位机的命令可能不是一个字节,而是多个字节组成的命令帧,有的长度固定,有的长度变化;而且要求返回的数据可能也不是一个字节,可能是一个数组,也有可能是一个字符串等。在蓝桥杯的比赛中,也不可能让你只是收发一个字节而已,因此,在串口这一个单元中,必须多加一个强化环境,掌握多字节的数据帧收发应用。很多代码块是可以重用的。<1> 字原创 2020-07-18 09:51:19 · 148 阅读 · 0 评论 -
蓝桥杯基础模块8_1:串口通信收发
一、模块题目二、原理简述1、串口重要概念概述<1> 串行通信是指数据一位接一位地顺序发送或接收。<2> 串行通信有SPI、IIC、UART等多种,最常见最通用的是指UART,无特殊说明,本文指的就是UART。<3> 串行通信的制式有:单工、半双工、全双工三种。<4> 计算机的串行通信接口是RS-232的标准接口,而单片机的UART接口则是TTL电平,两者的电气规范不一致,所以要完成两者之间的数据通信,就需要借助接口芯片在两者之间进行电平转换,常用原创 2020-07-18 09:50:39 · 276 阅读 · 0 评论 -
蓝桥杯基础模块7:PWM脉宽调制
一、 模块题目二、 原理简述脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。随着电子技术的发展,出现了多种脉冲宽度调制(Pulse width modulation,PWM)技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用原创 2020-07-16 09:48:06 · 343 阅读 · 0 评论 -
蓝桥杯基础模块6_2:定时器进阶
一、模块题目二、原理图1、数码管2、定时器/计数器3、中断三、源码//头文件#include "reg52.h"//位定义sbit S4 = P3^3;sbit S5 = P3^2;//三种格式变量定义和赋初值unsigned char t_m = 0; //分unsigned char t_s = 0; //秒unsigned char t_005s = 0; //0.05秒//数码管段选unsigned char code SMG_NoDot[18原创 2020-07-16 09:11:07 · 161 阅读 · 0 评论 -
蓝桥杯基础模块06_1:定时器计数器
一、模块题目二、原理简述(转载,删改)1、定时器、计数器定义在没有钟表的时候,定时的方式通过有一注香的时间,或者一桶水的时间。前者烧香不断减少是减法,后者滴水不断增加是加法。定时/计数器,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向CPU提出中断处理请求,从而实现定时或者计数功能的外设。定时/计数器的最基本工作原理是进行计数。作为定时器时,计数信号的来源选择周期性的内部时钟脉冲;用作计数器时,计数信号的来源选择非周期性的外部输入信号。不管是定时器还是计数器,本质上转载 2020-07-15 19:14:51 · 778 阅读 · 0 评论 -
蓝桥杯基础模块5:外部中断
一、模块题目二、原理简述(转载,删改)1、什么是中断你正在追电视剧《神雕侠侣》,正看得入迷的时候,电话响了,你暂停电视剧,去接电话,在接电话的过程中,门铃又响了,你暂时放下电话,去把门打开。如果追电视剧是在执行主程序,那么电话就是中断源,电话铃响了就是中断请求,暂停电视就是现场保护,接电话就是中断响应,门铃响了是更高一级的中断请求,去把门打开,那就是中断嵌套。开完门回来接着聊电话,那是中断返回,接完电话把电视剧暂停打开就是现场恢复。内核与外设之间的主要交互方式有两种:轮询和中断。轮询的方式貌似公原创 2020-07-15 14:07:38 · 277 阅读 · 0 评论 -
蓝桥杯基础模块4_3:矩阵按键
一、模块题目二、原理简述1、矩阵键盘的扫描思想(转载+删减)与独立按键不同的是,按键的两个引脚都分别连接的单片机的I/O端口,一个作为行信号,另外一个作为列信号。下以4X4的矩阵键盘为例,探讨其工作方式和扫描思路。要识别出黄色按键的按下状态,逐行扫描,然后读取列的状态信号。如果R3行输出低电平,那么黄色按键如果有按下动作的话,那读取C2列信号也应该为低电平,而该行上其他没有按下动作的按键的列信号则为高电平。因此,我们可以得到矩阵键盘的基本扫描步骤:<1> R1输出点电平,R2、R3原创 2020-07-13 18:19:16 · 719 阅读 · 4 评论 -
蓝桥杯基础模块4_2:独立按键扩展应用
一、模块题目二、原理图三、源码//头文件#include "reg52.h"//独立按键位定义sbit S7 = P3^0;sbit S6 = P3^1;sbit S5 = P3^2;sbit S4 = P3^3;//LED位定义sbit L1 = P0^0;sbit L2 = P0^1;sbit L3 = P0^2;sbit L4 = P0^3;sbit L5 = P0^4;sbit L6 = P0^5;//HC138、HC573初始选择函数void Selec原创 2020-07-13 13:18:43 · 222 阅读 · 0 评论 -
蓝桥杯基础模块4_1:独立按键
一、模块题目二、原理简述1、独立按键的处理思路(转载)一般情况下,独立按键有两个引脚,其中一个通过上拉电阻接到单片机的I/O端口,另外一端接地。也就是说,平时按键没有动作的时候,输出的是高电平,如果有按下动作发生,则输出的是低电平。那么,我们在程序设计的时候,只要扫描跟按键引脚相连的I/O端口,如果发现有低电平产生,则判定该按键处于按下状态。有些时候,电路或者外围有电磁干扰,也会使单片机的I/O端口产生低电平,这种干扰信号会让单片机误认为是按键动作。所以,在扫描按键的时候应该做去抖动处理,把干扰信号原创 2020-07-13 11:56:16 · 539 阅读 · 0 评论 -
蓝桥杯基础模块3_2:数码管动态显示
一、模块题目二、原理简述动态显示的基本原理与实现思路(转载)动态显示实质上就是轮流点亮单个数码管实现多位数码管整体显示的效果。在轮流显示过程中,每位数码管点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。三、源码//头文件#include "reg52.h"//F3461BH数码管的段码数组u原创 2020-07-13 11:19:12 · 801 阅读 · 0 评论 -
蓝桥杯基础模块3_1:数码管静态显示
一、模块题目二、原理简述1、数码管CT107D单片机综合实训平台上使用的数码管是F3461BH(倒数第二个字母是A则共阴,是B则共阳)。F3461BH是一个4位8段的数码管,其中a、b、c、d、e、f、g、dp引脚分别对应8个段码,该8个引脚通过74HC573锁存器与单片机的P0端口相连。另外有com1~com4四个公共控制脚,该应用为高电平则使能对应位的数码管。两个F3461BH一共有8个com控制引脚,也是通过74HC573锁存器与单片机的P0端口相连的。2、74HC138译码器和74H原创 2020-07-12 18:59:46 · 285 阅读 · 0 评论 -
蓝桥杯基础模块2:蜂鸣器继电器
一、模块题目二、原理简述1、74HC138(参见模块1)2、74HC02(参见模块1)3、74HC573(参见模块1)4、ULN2003(内部有非门)5、BUZZER蜂鸣器6、RELAY继电器三、源码//头文件:#include "reg52.h"//延时函数:void Delay(unsigned int t){ while(t--); while(t--);}//HC138的选择输出引脚(代码优化)void InitHC138(unsigned char原创 2020-07-12 17:42:45 · 261 阅读 · 0 评论 -
蓝桥杯基础模块1:LED跑马灯
一、模块题目二、芯片简述1、74HC138:三八译码器(3个输入,8个输出)2、74HC573:锁存器(20个引脚,D1D8是数据输入端,Q1Q8是数据输出端,LE为锁存控制端。)LE为高电平时,Q1Q8输出和D1D8输入是一样的;LE为低电平时,Q1Q8输出不受D1D8输入的变化影响。3、74HC02:或非门可以通过J13的跳帽选择是WR还是GND作为74HC02的输入。如果译码器的Y4输出低电平,那么74HC02的输出Y4C将为高电平。三、源码//头文件:#include原创 2020-07-12 16:45:42 · 415 阅读 · 0 评论 -
小白系列之51单片机的入门速成法
51单片机的入门速成法01-经典51内核资源全览浓缩图02-重要外设特殊功能寄存器概览03-程序开发流程与设计要点04-三大外设的开发与可重用代码05-应用程序设计入门一例通01-经典51内核资源全览浓缩图<1> 四组8位并行I/O端口:P0端口:PC门,集电极开路输出,必须接上拉电阻才能输出高电平。P1端口:无特殊之处。P2端口:访问外部存储器时,作高8位地址用。P3端口:功能复用端口,详情看表。<2> 三大外设:外部中断、定时/计数、串行通信<3转载 2020-07-04 17:25:12 · 5731 阅读 · 0 评论 -
蓝桥杯小白系列之汇编点亮led灯
蓝桥杯小白系列之汇编点亮led灯1、源代码2、逐条分析(1)ORG 0000H(2)START:伪指令,编译器可识别,单片机不可识别,可以随便起。(3)蜂鸣器设置蓝桥板插电以后蜂鸣器常会自动响起,故在程序前提前加上如下代码,让蜂鸣器不响:mov P2,#0A0Hmov P0,#000H参照原理图,BUZZ为蜂鸣器,欲控制蜂鸣器,需将使能端Y5C设置为1。再看上图右上角,欲使Y5C为1,Y5需为0(WR已与GND焊死,默认为0,故Y5可控制或非门输出),再看左边的74HC138,欲原创 2020-06-22 18:47:27 · 536 阅读 · 0 评论