当前位置: 首页 > news >正文

蓝桥杯51单片机

这是我备考省赛的时候总结的错误点和创新点

那个时候是用来提醒自己的,现在分享给你们看^_^

一考点


二注意点

  • 记得初始化Y4,Y5,Y6,Y7(所学)→STC15系列头文件概括
  • 注意在主函数中,重新定义跟随模式(要不然乱七八糟)→初始化进化,锁存器开后关闭
  • 注意初始化的内容,若多次使用,可变为一个函数
  • 操作led,数码管,蜂鸣器时,要打开hc573锁存器使能端打开,才能控制,后注意关闭
  • 操作矩阵键盘和NE555的时候记得注意跳线帽
  • 延时函数只有在led和独立按键延时时使用
  • 延时函数缺点:单独进行且死板(类似拖堂);定时器:定时与计数可以同时进行(类似下课),灵活
  • 乘除取余注意:%10取数字最后一位数(一个0);/10取最后一个数字之前的数字(一个0)
  • 软件模拟:魔法棒-DEBUG-左侧所有√打上-点击DEBUG-点击L1添加逻辑分析-运行
  • 赛点资源包阅读:底层文件的引脚(运行代码,找到未定义的引脚)+原理图自己编写+头文件引用;头文件自己编写;新版onewire.h不需要自己再将t*12
  • Ds1302的问题,write()read()函数的存放位置

三历年考题本人错误点

  • 数码管的数字要显示0,不需要再用三目运算符特意强调(ds1302实时时钟)
  • 灯的点亮是0,所以写LED函数是的时候是temp&=~0x01<<pos
  • 定时器时间太短,1ms最好
  • Ds1302的数码管不用特别显示0
  • Ds1302read 写进要运行的代码即数码管显示上面
  • 按键消抖时间小于十毫秒display_dly<10ms(放在开头)
  • 数码管显示smg_dly<300LED显示,数据采集,collect_dly<500
  • 如果要用到定时器中断,就打开stc的选项,(比如测频率的就是定时器0计数不打开,定时器1计时打开)
  • Ds18b20是温度传感器,需要加入时间750ms确保温度的正确读出,数值比较大,所以用int类型,先读低八位,再读高八位,后整合十六位,再确定小数点(几位数字)
  • 用矩阵键盘的时候,注意大括号的else if** && **)内容与一开始赋值1的对应
  • Ds1302每次数值改变,记得重新写入
  • 独立按键是BTN模式,矩阵键盘是KBD模式
  • AT24C02中数值改变,每次都要重新读取
  • Ds1302中,sbit的地址是连续的P21,P23,P17
  • 矩阵键盘赋值,用数组进行存储,下标进行++

  • 有函数名基本相同,需要改变自定义函数名

  • 函数定义有一个参数,而使用的时候,未加

  • 当用矩阵键盘输入数据(数组存放),在数码管显示出来,并要求数码管高位熄灭或者三目运算符

    • 注意区间

    • 温度测量 temp*0.0625 23   temp*0.625236
    • 超声波测距离,可以直接先用SPI波特率计算,再加putchar()函数即可
    • 若用按键决定发射串口,再按键位置置一个标志位,再collect()函数内printf(),注意printf发射数据的格式
    • 串口通信,先确定TXRX的引脚位置,再用延时函数确定12us的延时,再确定5个周期的发射超声波,在读取超声波函数内,先CMOD=0,定时初始值位0,在CR=1开始计时接收到的超声波时间while(!CF && RX);CR=0
    • 取模不可以是浮点数
    • 若要PCF8591显示光敏电阻或者电位器的俩位小数(三位数),
    • light/RB2=read0x01/0x03/51.0*100

    • 编程的时候若出现一堆错误,查看第一行,是否是中文标点符号输入
    • 若有界面的切换

    不重复触发,说明上一个数值必须与其相反

    新的时间,放到索引1

    二维数组,转换每一个数组时间的位置

    • 设定主界面与触发界面俩个有关联的定义maincode,maincode=0,主界面,maincode=1,触发界面
    • 界面之间有防止重复触发的可能性,定义一个标志位workflag,在定时器里面
    • 历史查询界面共有三个,采用二维数组,并且改变触发时间的位置,进行准换改变

    1.用数组下标来决定索引值

    2.时间不可能显示24小时,以此来决定二维数组的初始状态

    3.以每一位二维数组的开头做标志位,Time_set[0,1,2][0]=0x24都未采集到数据

    采集到数据,用循环来展现全部SMG[2,3,4,5,6,7]index与索引相对应

    • PCF8591同时读取光敏和电位器电压,需将俩个地址互换即可
    • 判断字符串是否相等 strcmp(BUF,“open”)==0字符串相等#include "string.h"
    • 当一个界面有俩个参数需要按键进行改变,设置一个标志位,在按键控制函数里,进行编写

    http://www.dtcms.com/a/292718.html

    相关文章:

  • 第十四届蓝桥杯青少Scratch国赛真题——太空大战
  • 解决 NCCL 多节点通信问题:从 nranks 1 到 busbw 116 MB/s
  • 02-netty基础-java四种IO模型
  • 二、计算机网络技术——第3章:数据链路层
  • Yocto meta-toradex-security layer 使用 TI AM62 安全启动功能
  • vscode,cursor,Trae终端不能使用cnpm、npm、pnpm命令解决方案
  • QT RCC 文件
  • Hadoop调度器深度解析:FairScheduler与CapacityScheduler的优化策略
  • PHP获取淘宝拍立淘(以图搜图)API接口操作详解
  • Ext4文件系统全景解析
  • 【n8n教程笔记——工作流Workflow】文本课程(第一阶段)——1、导航编辑器界面(Navigating the editor UI)介绍
  • DOM编程全解析:操作、事件与存储实战指南
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现水下鱼类识别(C#代码,UI界面版)
  • 深入浅出Proxy与Reflect:从“黑中介“到“数据管家“的进阶之路
  • 【openssl生成自签证书】
  • Redis持久化-AOF
  • OpenCV 零基础到项目实战 | DAY 1:图像基础与核心操作
  • UE5 UI 安全区
  • 基于springboot的医院资源管理系统(源码+论文)
  • nodejs:告别全局安装,npx 命令详解及其与 npm 的区别
  • 网络安全渗透攻击案例实战:某公司内网为目标的渗透测试全过程
  • 如何永久删除安卓设备中的照片(已验证)
  • 2025 年非关系型数据库全面指南:类型、优势
  • 【Android】Popup menu:弹出式菜单
  • 小玩 Lifecycle
  • imx6ull-系统移植篇17——linux顶层 Makefile(上)
  • ZooKeeper学习专栏(五):Java客户端开发(原生API)详解
  • map和set的应用与模拟实现
  • UNet改进(24):注意力机制-从基础原理到高级融合策略
  • LLC协议