蓝桥杯单片机省赛第八届程序设计部分

biubiu_name个人动态-biubiu_name动态记录-哔哩哔哩视频 (bilibili.com)

        笔者写的所有代码都是向上面这个up主学习的,因为搜了这么多up主,就先找到这位up主使用的是sprintf函数这个比较新的笔者之前学习到的写法。

        然后发这章帖子也不是为了教学,毕竟up主讲给你们听最好不过了,仅仅是记录一下完成第一个小项目的过程。

模板

模板第一步-定时器初始化

模板第二步-数码管显示测试

实验现象

完整显示我们输入的字符串内容

模板第三步-按键测试

实验现象

按键7按下可以使数字加加

模板第四步-审题

ds1302

实验现象

我们在测试过程顺便将初始值设定好

上电就是23时59分50秒,然后秒钟每秒加一,此时计时越界属性会由芯片解决

温度

实验现象

捏住红圈的地方,温度数值上升

写题

写题第一步-按键状态切换

        笔者有几处默写错误(图片中是最后正确的结果),说一下:

1.为了区分闹钟设置和时钟设置,通常会在状态切换之前加上一个逻辑判断,而且这个条件确实好,就是按下S7时,Disp_Mode就会处于0x10,&0x0f依旧是0,而且保证了低四位不是0,即不是闹钟模式,就可以区分开;

2.这个else的作用很大,笔者现在才意识到,每次进入时只会进入一个if语句,不会接着执行后一句if语句;(最后面标志位的改变不是这一步的)

写题第二步-状态变化,数码管显示界面变化

每一个框都是一小步,一小步一小步来写

实验现象

此时就能实现时钟设置、闹钟设置、温度显示、按键加减功能了

写题第三步-Led闪烁

变量和标志位的定义你也可以现在写Proc函数时需要一个就定义一个

实验现象

较完整的实现题目的所有要求(每一个要求都得分点)

优化

        up主的板子上电时温度会显示85度,但是笔者倒是没事,所以没写上,如果一直上电都是这样,为了不扣分,可以在主函数初始化的时候直接读取温度,然后延时个750ms,就可以去掉了。

源码

链接:https://pan.baidu.com/s/1rkB-EhfK85fwbmJzZUmfjA?pwd=1234 
提取码:1234 

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值