蓝桥杯单片机组_学习路线

这篇具有很好参考价值的文章主要介绍了蓝桥杯单片机组_学习路线。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

前段时间整理硬盘发现了当时大二参加蓝桥杯时的一些记录,现在回想当时踩过的坑和备赛经历,现结合其写下这篇经验贴,供大家学习、高效备赛


一、参赛建议

蓝桥杯可参加的赛别很多,在所有赛别中单片机组可以说是最好拿奖的,虽然说含金量不高,但是很建议大家参加。个人建议大家在大一的时候就进入实验室参加蓝桥杯,单片机组的门槛其实很低,只需要有C的基础和对数模电的基本认知,而这些知识对后期的学习、其他的比赛都是很有帮助的,起到打基础的作用。其次很多小白看代码两三百行就有惧怕心理,其实大可不必,大家学习后就会发现,整个程序由很多个小模块组成,而这些小模块完全用不到高深的算法,都是if while for等一些最简单的语句的嵌套,就算C语言学的不好也能写,所以说完全不用怕,直接莽。我当时的练习代码也放在了专栏中供大家参考。

简单来说,建议小白从大一寒假开始准备,这时候刚好学完C语言,可以开始编程,

二、备赛过程

1.资料

关于资料,建议直接从比赛的这块板子(stc15f2k60s2)开始学,没必要先买别的板子学,我当时就是先买的普中的板子一个一个模块学,后面发现这样只是浪费时间。而蓝桥杯板子的教学视频,在B站、淘宝有很多,大科、蚂蚁工厂、小蜜蜂等等都是可以的。

2. 学习路线

省赛备赛过程:

STEP1:按模块学,不仅要掌握代码,也要知道其原理,会用手册
STEP2:敲历年省赛题代码,这时候会遇到各种问题,尤其注意各模块之间的冲突问题(如按键按下去影响数码管显示等问题)一开始可以不严格按比赛时间来敲,这个阶段主要是发现问题解决问题,熟悉代码的使用。注意在写代码的同时也要用txt记录自己的问题。
STEP3:在不断优化后,形成一套自己的模板,这个时候建议看一些进阶的资料,如杰克等,对模板再进行优化,这个时候可以关注一下多个定时器多个中断之间的冲突、数码管显示不稳定、每个LED灯亮度不一样等疑难杂症。
STEP4:用优化完的模板二刷省赛题,这时候的重点是对代码的熟练度,尽量按比赛时间完成,并背住自己的模板代码。这时也要带着看数模电C语言的基础知识,尽量背住一些通识性的知识,可以参考往年的卷子看看考到什么程度。
STEP5:比赛前不断熟练自己的代码模板,到比赛当天以最快的速度打出模板,然后按赛题直接填空即可。到后面就会发现大家模块都能实现个大概,大家的差距就体现在了客观题上,所以在这段时间要加强对客观题的学习。

关于所有模块要不要都学的问题:建议是把省赛和国赛中出现的模块都学一遍,以防万一

国赛备赛过程:

有了省赛学习的基础,国赛无非就是在省赛的基础上多加一些模块,直接刷往届国赛题即可。要注意模块和功能要求的增多,就会使中断里的东西会变得很多,如何保证不起冲突仍然是最为重要的,我当时在国赛中就因为没处理好DS1302的中断,加上主程序里对数据的运算程序,导致超声波测距乱码,自己的调试能力还是有待提升吧。

三、比赛过程

电子类比赛时间为5个小时,带好准考证、万用表。答题顺序看个人,写程序的时候先把自己准备的各模块模板写好,然后再按照赛题要求扩展。还有就是早上一定要吃饱,食物是可以自带的,但是基本也是啃两口面包就继续写代码了,省赛时间还行,国赛因为要实现的要求多就得抓紧时间。


总结

总的来说,蓝桥杯很适合作为一个入门类比赛,它可以帮你打好基础,锻炼自学能力,对后面的专业课的学习也起到预习的作用,祝大家玩的愉快!

附-模板

在蓝桥的杯所有组别中,单片机组相对较水,尤其是省赛,实现了数码管显示、按键等基本功能就有二等奖,其实最后大家的功能都实现的差不多,主要差距在客观题,所以说基础功能的实现是入门蓝桥杯的第一步,如何处理使按键、数码管扫描和中断不冲突稳定运行尤其重要。下面将分享我当初备赛时的基本功能模板,具体功能的实现在其基础上填写即可。文章来源地址https://www.toymoban.com/news/detail-726811.html

main.c

#include<stc15f2k60s2.h>
unsigned char code smgduan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
unsigned char smgbuffer[8];
unsigned char smgcom,keytt;


void display();
void keyscan();

void Timer1Init(void)		//1毫秒@12.000MHz
{
	AUXR |= 0x40;		//定时器时钟1T模式
	TMOD &= 0x0F;		//设置定时器模式
	TL1 = 0x20;		//设置定时初值
	TH1 = 0xD1;		//设置定时初值
	TF1 = 0;		//清除TF1标志
	TR1 = 1;		//定时器1开始计时
	ET1=1;
	EA=1;
}

void Timer1() interrupt 3    
{
	unsigned char P0_kepper=0,P2_kepper=0;
	P0_kepper=P0; P2_kepper=P2; P2=P2&0x1f;
	
	display();
	keytt++; if(keytt==10) {keytt=0; keyscan();}

	P0=P0_kepper; P2=P2_kepper;
}

void display()
{
	P0=0xff; P2=P2&0x1f|0xc0; P2=P2&0x1f;
	P0=0xff; P2=P2&0x1f|0xe0; P2=P2&0x1f;
	P0=1<<smgcom; P2=P2&0x1f|0xc0; P2=P2&0x1f;
	P0=smgduan[smgbuffer[smgcom++]]; P2=P2&0x1f|0xe0; P2=P2&0x1f;
	if(smgcom==8) smgcom=0;
}

void keyscan()    //独立键盘:普通按键用trg  长按键用dat(松手变为0) cnt有时会失效
{
	unsigned char dat,trg,cnt;
	dat=P3^0xff;
	trg=dat&(dat^cnt);
	cnt=dat;
	
	if(trg&0x01){P0=0; P2=P2&0x1f|0x80; P2=P2&0x1f;}
	else if(trg&0x02){P0=0x55; P2=P2&0x1f|0x80; P2=P2&0x1f;}
	else if(trg&0x04){P0=0xaa; P2=P2&0x1f|0x80; P2=P2&0x1f;}
	else if(trg&0x08){P0=0xff; P2=P2&0x1f|0x80; P2=P2&0x1f;}
}


void main()
{
	P0=0x00; P2=P2&0x1f|0xa0; P2=P2&0x1f;
	P0=0xff; P2=P2&0x1f|0x80; P2=P2&0x1f;
  Timer1Init();
	while(1)
	{


	}
}

到了这里,关于蓝桥杯单片机组_学习路线的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式开发:单片机嵌入式Linux学习路径

    SOC(System on a Chip)的本质区别在于架构和功能。低端SOC如基于Cortex-M架构的芯片,如STM32和NXP LPC1xxx系列,不具备MMU(Memory Management Unit),适用于轻量级实时操作系统如uCOS和FreeRTOS。高端SOC如基于Cortex-A架构的芯片,如三星、高通、飞卡、全志和瑞芯微等,具备MMU,支持虚拟内

    2024年02月15日
    浏览(57)
  • 蓝桥杯模块学习10——串口通信(深夜学习——单片机)

    51单片机——串口通信详解(STC89C51为例)_佛科院深夜学习的博客-CSDN博客 (1)波特率与SMOD无关 (2)波特率等于溢出率除4 (1)T2R:控制定时器2是否允许使用,置“1”为允许 (2)T2_C/T:控制定时器2用作定时器还是计数器,置“0”为定时器(默认) (3)T2X12:控制定时器

    2023年04月08日
    浏览(57)
  • 嵌入式一开始该怎么学?学习单片机

    学习单片机: 模电数电肯定必须的,玩单片机大概率这两门课都学过,学过微机原理更好。 直接看野火的文档,芯片手册,外设手册。 学单片机不要纠结于某个型号,我认为stm32就OK,主要是原理和感觉。 看 野火文档 的时候,可以做笔记(记忆力好的人可以忽略),各种手

    2024年02月14日
    浏览(57)
  • 单片机STM32看门狗详解(嵌入式学习)

    单片机STM32的看门狗(Watchdog)是一种硬件定时器,用于监控系统的运行状态并在出现故障或死锁时采取措施以恢复正常操作。看门狗的主要功能是定期检查系统是否正常运行,并在系统出现问题时触发复位操作。 STM32系列单片机通常配备了内置的看门狗定时器(通常称为独立

    2024年02月13日
    浏览(63)
  • 蓝桥杯单片机学习4——独立按键&矩阵按键

    上期学习了数码管的静态显示,这次我们来学习独立按键矩阵按键 原理很简单,当作为独立按键使用时, 跳线帽的23接在一起 ,此时按键如果按下,则按键连接的IO口电平会被拉低,通过捕获IO的电平变化,就可以判断按键是否按下。 什么是按键消抖?按键为什么会有抖动?

    2023年04月15日
    浏览(68)
  • 蓝桥杯单片机学习--.h文件的创建

    在第十四届蓝桥杯单片机中组委会给比赛挖了一个小坑就是没有给比赛选手.h文件。里面相关的一个端口定义也是没有的,这就需要我们自己去创建,但是我们相信在平常的学习中可能很少会有一些同学没有自己去创建过整个文件,当然如果学过就可以不看这篇文章。那今天

    2024年02月07日
    浏览(41)
  • 蓝桥杯单片机串口通信学习提升笔记——部分2

    今日继续学习提升蓝桥杯国赛能力水平。 有道是: 卜心事、灯花无语,百感孤单,鸳被羞展......                 梦方圆,又丛钟、声声惊断。 诗人杨玉衔孤单影只,偏偏又多遭磨难,一路坎坷...... 正如我近日来学习提升串口通信技能一样,遇到诸多设计上的险阻。

    2024年02月06日
    浏览(39)
  • 蓝桥杯单片机学习14——第十三届省赛题

    上期我们学习了NE555方波发生器频率测量,讲到我会更新之后省赛的题目,那么,他来了。 首先声明:我还没有参加蓝桥杯单片机比赛,也没有拿过奖,所以我写的代码注定不会那么完美,存在BUG是必然的,我写这个系列的目的纯粹是为了记录我的学习………… 关于功能描述

    2024年02月06日
    浏览(57)
  • 蓝桥杯单片机学习15——第十二届省赛题

    书接上文,上期我们基本完成了十三届省赛题,但还是存在一些问题,本期我将对上期存在的一些问题,提出一些解决方案,并加以实践验证可行性,废话少说,让我们往下看。 上期我们提到,数码管和LED在使用的时候会存在外设之间相互干扰的问题,在我们不断的探索之下

    2024年01月25日
    浏览(61)
  • 要单片机和RTOS有必要学习嵌入式linux吗?

    学习嵌入式 Linux 是否有必要,取决于你的项目需求和职业发展目标。以下是一些考虑因素: 项目需求:如果你的项目需要处理复杂的网络、文件系统、多任务管理等功能,嵌入式 Linux 可能是更适合的选择。Linux 提供了丰富的开源软件包和驱动程序,可以加速开发过程并提供

    2024年02月14日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包