border="0" width="363" height="333" src="//music.163.com/outchain/player?type=0&id=2665666166&auto=1&height=430">

B题简直堪称弱智题目…

分两类说明一下:正规做法、非正规做法。
这里强调一下,看官方提供的材料清单中并没有RTC模块 ,可见并不是想让用正规的方法做呀!

一、正规做法:

1、说明:首先说明下这题在现实生活中 到底应用在哪里呢?

手机关机了,或者以前的手机把电池扣下来了,为什么开机时间仍然是对的呢?现在的智能手机可以从网上自动校准时间,而以前的手机通常需要自己设定时间,然后保存,再把电池扣下来,过半小时,再开机,发现时间仍然是对的 ,这是怎么回事呢?

这全仰仗了RTC,原来在手机内部还有一块小电池它是用来保证实时时钟(RTC)的运行,RTC是一个独立的定时器。 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。如果想了解的可以简要的看下这篇文章的介绍部分。

2、STM32例程:

为什么要提供STM32的例程呢?因为我之前准备的毕设里面就有实时时钟部分。如果大家不会STM32就不要去涉及!关注微信公众号,回复RTC实时时钟例程,即可。

说明:

(1)、该例程只有显示年月日的功能。

(2)、在此处设置时间。

3、Arduino正规做法:

PS:我猜一说有简单的方法就没人用这复杂的方法,所以也简略些,直接甩链接。

https://www.geek-workshop.com/forum.php?mod=viewthread&tid=847&highlight=RTC
.

二、嘿嘿嘿的做法:

直接讲最最最最简单的方法,算法最简单的,但是可能硬件部分麻烦一点,但是它依然是最最最最简单的方法。

1、元器件的准备:

电池、arduino、稳压模块、按键、OLED 屏幕

2、程序底层(使用到的知识):

(1)按键的使用:

知识点:digitalRead()

例程教学:网址

(2)OLED的使用:

OLED里面我们只需要学会显示数字还有:/即可。

下面的程序是显示1-100cm,既能显示数字也能显示字符了,搞明白了那oled部分就没问题了。

#include "U8glib.h"  //加载显示库文件
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);  // I2C / TWI 实例化
void setup() {}
void loop() {for(int i=1;i<101;i++){u8g.firstPage();  //一下是显示实现部分do {u8g.setFont(u8g_font_fub30);//设置字体和自号,目前测试字号有fub14,17,20,30u8g.setPrintPos(0, 50); //显示的位置u8g.print(i);//显示变量i的值u8g.setFont(u8g_font_fub14);//设置字体和自号u8g.setPrintPos(95, 50); //显示的位置u8g.print("cm");//显示cm字样} while( u8g.nextPage() );delay(100);//显示的时间间隔。}
}`

说明:① 想显示什么数字就把i变成什么数字,那么显示时间是不是也是数字。② 字符cm可以显示了那么 :/是不是也是可以显示了。

以上部分就不在解释了,我怕挨出题人的打。

想继续了解oled其他玩法的同学,我送给大家两个网站,包含所有库函数:① 全英文最全:http://clz.me/u8glib/reference/ ② 全中文可能不咋全:https://geek-workshop.com/forum.php?mod=viewthread&tid=10634&page=1#pid71775

3、算法部分:

我要说明一点,根据《2、程序底层(使用到的知识)》,两个第一问已经做出来了,如果没做出来,先不要往下看了。

现在来解决两个第二问。

更改年月日时分秒是不是一回事啊,如果学会了修改任意一个就都会修改了啊。

下面我只写伪代码,自己转换成C语言去吧,我再多写点就出来了。


演示:修改月份为3:

~~~~ 只写两个 ~~~~

① 3个按键的算法:

上电—开始修改时间—>按下A按键–此时默认修改秒钟–>按下B按键–分钟被选中–>再按下B按键----时钟被选中–>再按下B按键----日被选中–>再按下B按键----月份被选中–>按下A按键–确定修改月份–>按下C按键–显示1–>再按下C按键–显示2–>-->再按下C按键–显示3–>按下A按键–确定月份改为3–>退出大循环,回到刚上电的程序。

② 8个按键的算法:

上电—按下月按键—>按下调按键–显示1–>再按下调按键–显示2–>再按下调按键–显示3–>按下确定按键—结束–>回到刚上电的状态

注意:

① 程序要有循环。(eg:在我调节月份的时候我不小心按多了一次,本来要3,却按多了一次变成4了,怎么办呢?对的,按到12的时候再循环回去变成1)

② 必须掌握语法:for、if(或switch)、break、continue等。

③时间一秒一秒的过去怎么做到的呢?延时即可,也可以自己调用定时器。但其实延时就是用的定时器计时的。

脱离现实直接写文章,如有错误之处还请指点批正!

2019 年天津科技大学电子设计竞赛:算法与策略-----B题相关推荐

  1. 桂电全国计算机设计大赛获奖名单,广西教育厅网:桂电学子在2019年全国大学生电子设计竞赛中再创佳绩...

    来源:广西教育厅网 近日,2019年全国大学生电子设计竞赛结果公布,桂林电子科技大学学子获得全国一等奖8项(本科组6项.高职高专组2项).二等奖9项(本科组8项.高职高专组1项),在参赛的1109所院 ...

  2. 【电子设计大赛】2019 年全国大学生电子设计竞赛 仪器设备和主要元器件清单

    文章目录 2019 年全国大学生电子设计竞赛 仪器设备和主要元器件清单 本科组 1.仪器设备清单 2. 主要元器件清单 高职高专组 1. 仪器设备清单 2. 主要元器件清单 2019 年全国大学生电子 ...

  3. 2019 年全国大学生电子设计竞赛 仪器设备和主要元器件清单√☺♥

    @[TOC](2019 年全国大学生电子设计竞赛 仪器设备和主要元器件清单)√☺♥ [本科组] 1. 仪器设备清单 数字示波器(500MHz,双通道) 带 Z 轴输入端子的示波器(100MHz) 函数 ...

  4. 2019年全国大学生电子设计竞赛综合测评题解析

    2019年全国大学生电子设计竞赛综合测评题解析 题目如下,设计制作电路产生下列四路信号: 1.频率为19kHz ~ 21kHz连续可调的方波脉冲信号,幅度不小于3.2V: 2.与方波同频率的正弦波信号 ...

  5. 2019年全国大学生电子设计竞赛获奖名单

    2019年全国大学生电子设计竞赛获奖名单(初评).pdf下载地址:https://www.90pan.com/b1565658

  6. 我和电赛的成长故事与总结#2019年全国大学生电子设计竞赛#

    依稀记得知晓<全国大学生电子设计竞赛>的名字是在大一新生营参观电控科协的时候.近两年的时光,从手持烙铁练焊接至今手持烙铁调电路,从C语言里转了个圈回到了零点,从单片机里转了半圈又回到零点, ...

  7. 2021年山东科技大学电子设计竞赛(A4题)——教室人员计数及灯控系统

    目录 题目 摘要 1.系统方案 1.1. 蓝牙模块选择 1.2. 感光模块选择 1.3. 计数模块选择 1.4. 液晶显示模块选择 1.5. 数据存储模块选择 2.电路及程序设计 2.1 系统电路设计 ...

  8. 「权威发布」2019年全国大学生电子设计竞赛获奖名单【涵盖国一、二等奖】

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 往期电赛文章合集   //end 大家好,我是张巧龙,一名电子技术爱好者,会写一些关 ...

  9. 2017年、2019年全国大学生电子设计竞赛综合测评——常用电路Multisim仿真——方波、三角波振荡电路

    相关原创博客: 2017年综合测评仿真电路讲解: 题目和结果链接: 常用电路Multisim仿真--方波.三角波振荡电路: 常用电路Multisim仿真--有源低通滤波器设计: 常用电路Multisi ...

最新文章

  1. matlab图像处理命令(一)
  2. 计算机系本科毕业论文评阅评语,毕业论文评阅教师评语
  3. opencv学习笔记(六)---图像梯度
  4. 收集Cocos2d提供的字体
  5. java加按钮_如何从零开始对接第三方登录(Java版):QQ登录和微博登录
  6. Java实现回形数,只利用数组、循环和if-else语句
  7. c语言序列化后只有四位小数,《C编程.高级C》4.序列化
  8. 计算机课组会议讲话,备课组长会议讲话稿
  9. linux提升nvme性能,基于SPDK的NVMe SSD性能评估指南
  10. Wijmo 5 与Breeze 的组合,及与METRONIC 的集成
  11. Magnification API-Windows放大镜
  12. 如何创建SQL Server Management Studio 18(SSMS)扩展
  13. 如何通俗理解泊松分布?
  14. 友盟统计 H5 vue 隐藏友盟图标
  15. ubuntu: 安装 摄像头驱动
  16. uni-app H5中使用wx-open-launch-weapp打开微信小程序
  17. C语言写一个函数,可以逆序一个字符串的内容。
  18. openpose中文论文
  19. matlab中的电子器件,对电力电子器件控制设计进行硬件在环测试
  20. micropython里面外接tf(sd)卡读取模块

热门文章

  1. 配置GitHub二级域名,xxx.github.io
  2. linux debian_Debian Linux | 第1部分
  3. d3d12.dll丢失怎么修复-d3d12.dll修复工具下载
  4. 亢奋、焦虑、担忧,EOS拥趸者的无眠23小时
  5. 新手小白学java 编码转换流 OutputStreamWriter InputStreamReader
  6. daocloud(道客daocloud)
  7. 【Python】模拟radius coa报文
  8. 2014 年最热门的国人开发开源软件 TOP 100
  9. AngularJS 精妙绝伦的控制器
  10. java新特性-函数式接口-作为方法参数-作为方法的返回值-常用函数式接口-Supplier-Consumer-Predicate-Function