自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 15蓝桥杯单片机官网模拟2,一些欲哭无泪的操作

本来想要改一改的,结果打造出了有史以来第一座屎山代码……调整心态后完成了模拟2,程序题首次提交满分。2,清楚自己的变量是否经过特殊处理,平日里我总想着优化代码,导致换一套题目就得重新设计一些细节;1,不要带入以往题目的印象去构建大框架,仔细审题;3,写一部分检测一部分,确立自己的构造顺序。第一次写模拟3,26.4分……

2024-04-12 20:21:26 397 1

原创 蓝桥杯单片机:关于任意条件下的遮光检测

所以采集频率也是影响的关键,当然,如果采用更多的变量可以将整个逻辑层次理得更加清晰,但是需要统计的是变化的次数,工作量会增加很多,因此选择调整采集频率,尽量规避问题足以应付省赛的要求;其实这样的代码已经能够应付绝大部分要求了,如果想要追求满分,是没有统一的模板的,一下代码是我在十二届国赛题中放弃的优化,大家可以参考。以十二届国赛为例,满足条件触发超声波检测,这里的判断我没有使用随着环境改变的方法,但是多增加了一个变量,保证单一检测。//本次讲解基于STC15F2K60S2。

2024-04-10 21:05:25 131 1

原创 驯服野生超声波的奋斗史:第十二届蓝桥杯单片机国赛

从完成速度上(除了底层代码完全手敲),十一届总用时两个半小时,这还是在锁存器一个参数写错浪费了半小时的情况下;说到这里,给时间有限想要刷题的小伙伴们提一个建议,十二国赛难度整体应该大于十四省赛,四小时内能够完全无BUG应该能够纵横十四省赛了,有条件的话,最好两套都刷~;因为超声波坏了,我中途换了一个板子,不同比赛板之间可能有些微的差异,比如iic协议返回值的不稳定,建议大家写一部分检查一次。在界面1的子界面2中,我在第四位增加了一个测距次数模10的数值,这是比赛中所没有要求的,主要是方便大家检测。

2024-04-10 20:09:21 532 1

原创 蓝桥杯第十一届国赛完整无BUG版

写了三个小时,中间有点浪费了,个人感觉这套题刷下来还是很爽的,一些小细节处理得当会使得调试过程也大大省力,最后两百行内解决了~~~(三个外设及以上似乎已经成为了标配)其他的.c,.h全部放这了。

2024-04-08 22:09:28 487

原创 第十三届蓝桥杯省赛完整代码——极简写法

外设的那些文件就先不上传了,基本上都一样,在DS18B20处我没有返回float类型而是一个经过处理的Unsigned int,大小为所测温度*10。

2024-04-04 22:41:35 362 1

原创 蓝桥杯第九届省赛完整代码

没有找出来bug,大家发现了可以提醒一下。大家注意代码长度,最好不要超限。

2024-03-31 17:47:48 451 1

原创 STC15F2K60S2几个模块的整理

【代码】STC15F2K60S2几个模块的整理。

2024-03-31 11:12:39 70 1

原创 对于STC15F2K60S2几个定时/计数器的简单整理

无论定时还是计数,都是通过接收硬件连接的某一个或多个脉冲信号来源来进行计数,对于定时器而言,接受内部晶振产生的脉冲信号来记录时间,内部晶振的脉冲信号频率由其物理特性决定,一般来说较为准确,定时器的1T和12T模式决定了其计数的频率。1T模式,每接收一次脉冲,完成一次计数,12T模式则是每接收12次脉冲完成一次计数,以16位寄存器为例,12T模式下,由0-2^16(65526)的计数范围不会变化,但其计数统计的时间长度等于1T模式的12倍。TFx:中断标志位,定时/计数器溢出后,TF由0转1;

2024-03-30 21:24:54 476 1

原创 蓝桥杯单片机超声波测距

发送脉冲,开始计数,接收脉冲,停止计数,计数值count,distance=(count/(10^6)*(3.4*(10^2)))/2,简化为count*1.7/10000,受限于数据类型的问题,我们可以改成count/100*17/100/10。比赛设置的频率为12MHZ,12T模式相当于对1T模式进行计数,即计数器每计数一次,时间过去了1*10^-6S,即1us。首先我们来理一下顺序,first,发送脉冲信号,开始计数;跳线帽短接2,4 1,3,选用定时器1,采用12T模式。

2024-03-29 15:06:08 381 1

原创 蓝桥杯单片机AT24C02

因为ATREAD、ATWRITE中都包含了延时函数,在每1ms进行一次的定时器2中断影响下读写都会失败,所以设立了FLAG_AT标志位,进行读写前先中断,完成读写后再开启。中断函数被关闭时,由于我们一般对全局变量进行操作,所以读写的暂停基本不造成影响。代码中,只再PROCESS里不断完成读取数据的操作,并没有完成写的操作,大家可以根据同样的方法对写进行完善。一个简单的示例程序,统计开机次数。

2024-03-27 18:24:54 260

原创 接上篇模拟赛题目

AT24C02的读写部分因为底层驱动代码有修改所以不能正常生效。

2024-03-17 16:42:45 341 1

原创 蓝桥杯模拟题

无长按则从左到右第2位显示所处模式(1或者2),第7位显示光LED灯的强度(0,1,2,3),其余位熄灭。(1)按动按键8,L2-L4中,led灯右移一位点亮,L4后接L2;注:重启后仍保留着关机前所处的模式和状态,完成一次挥手时间0.2s<t<0.8s;(2)按动按键9,每持续1S亮度提升1格,亮度从0-1间分为四格;(1)检测到挥手,每完成一次挥手,led灯右移一位,L8后接L1;(2)检测到停留,每遮挡1S亮度提升1格,亮度从0-1间分为四格;(3)L1保持呼吸灯状态,一次呼吸周期为3s;

2024-03-16 23:40:33 305 1

原创 蓝桥杯单片机利用PWM实现呼吸灯

PWM设置呼吸灯

2024-03-15 17:06:33 933 1

原创 十五届省赛在即,如何在10分钟内速通NE555

这一部分涉及寄存器的知识,大家可以通过芯片手册详细了解,也可以选择先记下代码,后面再详细了解。EA开启总中断,ET0,ET1分别使能定时器1,计数器0中断,TMOD控制定时/计数器0/1,前4位-1,后四位-0,TMOD=0X16时,计数器1为自动重装载,定时器2则需要手动设置重装载;关于NE555频率测量的主体部分仅有初始化定时器计数器、统计计数周期两部分,其余代码保证了示例代码在板子上的正常运行,大家可以通过旋钮来调节频率,我板子上的范围是0~37311,具体数值依赖于硬件环境,大致都在这个数量级;

2024-03-13 22:09:00 330

原创 关于状态延时检测的示例代码

蓝桥杯单片机专用板,本次的功能是检测实际温度和设定温度的变化,当实际温度大于设定温度之后,持续五秒则进入高温状态,L1亮起,同理,任意状态都需要保持至少五秒的持续时间,任意状态改动都需要保证更换过程中目的状态的持续;当思路不清晰时,通过变量可以帮我们梳理逻辑。以下是main.c文件。

2024-03-12 23:51:54 344

原创 第十二届蓝桥杯省赛完整代码

基本上自己编写的部分和底层代码都已经包含,大家通过复制代码就可以看一下最终运行效果,如有错误欢迎指出。//main.c文件内容。

2024-03-12 23:30:17 1220

moni2的hex文件,可以直接测评试一下

大家加油!!

2024-04-12

空空如也

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

TA关注的人

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