首页 > 其他分享 >蓝桥杯大赛单片机比赛经验总结

蓝桥杯大赛单片机比赛经验总结

时间:2024-05-11 17:21:05浏览次数:27  
标签:10 Bytes unsigned long 蓝桥 单片机 串口 经验总结

蓝桥杯大赛单片机比赛经验总结

  • 适当的延时很重要,可以解决一些不正常现象

  • ds1302读取的时间是BCD码,操作时间时换成10进制操作例:(shi / 16) * 10 + shi % 16

  • 每次只接受和发送一个字符,字符用单引号 ‘’ 字符串用双引号“”

    • if(SBUF == ‘a’)
    • 而不是if(SBUF == "a")
  • 总中断EA定时器中断ET0和串行通信中断ES记得开

  • 52单片机程序不可以直接使用P32的写法,15单片机可以,52使用前需要先进行定义P32=P3^2

  • main函数下面不能忘记写while(1){}

  • 简单初始化函数必须写在while(1){}上面,不能写在里面

  • DS18B20当需要执行温度测量和ad转换的时候,总线控制器必须发出[44h]命令

  • 写iic的读字节函数不用这行程序:temp=0.39*temp

  • iicwrite()函数里面写(要存的地址,要存的值)或者直接把add换成地址

  • pwm的精度不同表现在占空比上,比如8位pwm占空比最小只能是1:256,尔10位pwm占空比可以使1:1024

  • 定时器溢出时间=周期/占空比

  • 定时器不好用的时候可以用ds1302代替

  • ds1302和ds18b20部分子程序名相同

  • 串口通信发送或接受一个字节就进入中断,TI或RI = 1;使用串口助手时一定要选对波特率和文本模式或HEX模式

  • 修改时钟时,将BCD转换成10进制在进行加减,时到24变成0,分和秒到60变成0,修改时分秒显示时 /10 不是/16

  • 超声波用的TR1,TF1,TH1,TL1.用的是定时器1,串口通信的波特率在模式1下与定时器1的溢出率有关

  • 写数据到EEPROM时,地址最好0x000x56,最好间隔一个地址存多个数据,存入的数据最大为255,超过可把数据分开存储

  • 读取时钟时先关中断在读,写EEPROM和读iic和温度时,加延时,注意++ii++的区别使用

  • iic返回数都是unsigned char,adc_val / 255.0f * 5ds18b20返回数是float,先读low,再读high函数里temp定义为int,temp*0.0625。读函数都要初始化两次,超声波distance = t * 0.017

  • 读时间和adc时关总中断再读取

  • 当矩阵键盘和串口同时使用时,串口不要用串口1;P30端口会相互影响

  • 定义数组时预设内存比实际使用大一点

  • 速查表

    char:-128 ~ +127 (1 Byte)
    short:-32767 ~ + 32768 (2 Bytes)
    unsigned short:0 ~ 65536 (2 Bytes)
    int:-2147483648 ~ +2147483647 (4 Bytes)
    unsigned int:0 ~ 4294967295 (4 Bytes)
    long == int
    long long:-9223372036854775808 ~ +9223372036854775807 (8 Bytes)
    double:1.7 * 10^308 (8 Bytes)

    unsigned int:0~4294967295
    long long的最大值:9223372036854775807
    long long的最小值:-9223372036854775808
    unsigned long long的最大值:1844674407370955161

    int64的最大值:9223372036854775807
    int64的最小值:-9223372036854775808
    unsigned int64的最大值:18446744073709551615

标签:10,Bytes,unsigned,long,蓝桥,单片机,串口,经验总结
From: https://www.cnblogs.com/realeo/p/18186843

相关文章

  • cmd-parser - 一个非常简单好用的命令解析器+EmbedXrpc - 面向单片机的嵌入式小型RPC
    1、EmbedXrpc-面向单片机的嵌入式小型RPCEmbedXrpc类似于Google的gRPC,但是应用场景是单片机。RPC远程调用极大的方便了开发,使得不必关注于协议解析,数据的序列化和反序列化等繁琐的工作。项目主页: https://gitee.com/snikeguo/EmbedXrpcEmbedXrpc应用场景:单片机近距离Clie......
  • 蓝桥杯-波动数列
    观察这个数列:1302-11-2…这个数列中后一项总是比前一项增加2或者减少3,且每一项都为整数。栋栋对这种数列很好奇,他想知道长度为n和为s而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢?输入格式共一行,包含四个整数n,s,a,b,含义如前面所述。输出......
  • 面向单片机的超轻量级的神经网络推理库+单片机上实现动态加载功能的函数库
    1、TinyMaix-面向单片机的超轻量级的神经网络推理库TinyMaix是专为低资源的单片机设计的AI神经网络推理框架,通常被称为TinyML。TinyMaix可以让你在任意单片机上运行轻量级深度学习模型。TinyMaix的设计原则:易用性>移植性>速度>空间。TinyMaix其实是矽速科技(Sipee......
  • 蓝桥杯训练第二周
    P2015二叉苹果树-洛谷|计算机科学教育新生态(luogu.com.cn)屮,一开始想当然的以为剪掉了其中一个边,其子树部分全部都会脱落,没想到剪掉一个边紧紧只是剪掉一个边,子树不会消失很明显的,我们要考虑树形$dp$,因为剪掉哪条边是不确定的,那么暴力求的话,每条边都剪或不剪,时......
  • 蓝桥杯-地宫取宝
    X国王有一个地宫宝库,是n×m个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿......
  • P10429 [蓝桥杯 2024 省 B] 拔河 题解
    思路通过动态规划计算出所有连续子序列的力量值之和,并将其存储在一个数组中然后排序,遍历一遍数组,找到相邻两个力量值之和的差的绝对值的最小值,然后输出这个答案就行了。时间复杂度大概是\(O(n^2\logn)\)。来个python的代码defmin_power_diff(n,a):#计算所有连续子序列......
  • 「高精度乘法+高精度加法」P10425 [蓝桥杯 2024 省 B] R 格式 题解
    解题思路题意分析:将浮点数乘以\(2^n\);四舍五入到最接近的整数。根据题意将\(d\times2^n\)分解为\(d\times2\times2\times2\times2……\),因为\(d\)长度小于等于\(1024\),所以可以使用高精度乘法的算法来实现一个小数乘以一个大于\(0\)的整数时,小数点位数本身不会......
  • P8754 [蓝桥杯 2021 省 AB2] 完全平方数
    原题链接题解分解n的质因子,如果为奇数就补一个由于大于\(\sqrt{n}\)的质因子最多不超过一个,所以我们筛小于\(1e6\)的质数code#include<bits/stdc++.h>#definelllonglongusingnamespacestd;vector<int>prime;vector<int>minfac(1e6+3,0);intmain(){f......
  • 蓝桥杯-蚂蚁感冒
    长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁......
  • Git使用经验总结5-修改提交信息
    还是先说说这个这样做的目的为什么。除了正常的进行代码变更说明修改,更重要的是Git提交的时候能够触发一些操作,例如在Github上提交close#24这样的关键字可以将提交关联到具体的issue上,这样可以让变更关联到具体的需求或者讨论上。但是很多时候我们很容易忘记进行这种关联,就需要修......