1.19纠结

222一、纠结51底层驱动自己研究了这么久有什么意义

二、出发点,在保证底线的情况下,让生活尽量丰富

底线:实验室(而实验室无关32,询问更多与51考核相关的内容)的环境:与人相处

————这几天多和讲师搭话,除夕记得问候那些人

————完成作业最大

底线:蓝桥杯省一

底线:四级,开学考试

三、数据手册——通讯协议的时序

(一)lqb【如何检查——网上的驱动程序是否可以用,如何调整】【进阶强化-01】单总线温度传感器DS18B20的基本原理与应用开发-小蜜蜂笔记 (xmf393.com)

<1> 先将 onewire.c文件和onewire.h文件拷贝到当前工程下。
<2> 打开 onewire.h文件,检查文件代码是否完整,并确认总线引脚定义是否和CT107D的硬件对应,即P1^4。如果不对应,则将其修改过来。
<3> 打开 onewire.c文件, 研读各个底层驱动代码的具体实现,初步判断是时序的延时是否合理,如有明显错误,则将其修改过来。

【如何使用——底层驱动面向外设编程】
<4> 根据DS18B20的工作原理和操作流程,编写读取温度结果和处理温度数据的函数,这是进行DS18B20应用开发中最重要的一个环节。
<5> 根据得到的温度结果,刷新数码管显示。

—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

(二)lqb【掌握到一个外设后做的笔记的范本】

单总线数字温度传感器DS18B20的基本原理及开发要点-小蜜蜂笔记 (xmf393.com)

内容:

开发资源

概述,硬件:内部储存结构,数据格式及处理,时序(图+文);数据帧:重要指令,流程,函数名步骤,具体代码;

重难点单独注释:数据处理的部分【进阶强化-01】单总线温度传感器DS18B20的基本原理与应用开发-小蜜蜂笔记单总线温度传感器DS18B20是蓝桥杯单片机大赛中一个非常重要的考点。小蜜蜂老师结合实训案例,针对DS18B20单点温度数据采集显示进行了详细的讲解,对网友提出的温度数据处理算法做了特别的说明,并提供MM模式和IO模式两个版本的工程源码下载。https://www.xmf393.com/2019/08/18/20190801801/

运用案例

—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

(三)jkd【如何阅读数据手册】

<数据手册的内容>:

功能现象+外设介绍

硬件规范:内部框图+流程图+以及其他一些涉及软件规范的具体知识

时序:时序图(电平变化+时间解释+衔接);

底层驱动:发送/接收一位,8位的函数;其他功能的函数;+流程图

数据帧(面向外设):操作流程;指令名+指令数(宏定义方便代码一目了然)

模块化文件管理,底层驱动编写思路:

四、今日具体收获

(一)DS18B20数据处理

·PRE:参考资料:<JKD2_0:0:0~0:43:0> + <XMF_部分笔记>

16位数据temp已经合并好了

只求整数,则直接右移四位,保留整数部分即可

(1)保留n位小数得第一种方法:————————(XMF:10^n倍得“整型小数”)————————

temp>>=4;temp = temp * 10^n *0.0625;   //2进制去小数;10进制空小数

lsb &= 0x0f;lsb = lsb * 10^n *0.0625;          //2进制取小数; 10进制得小数(整型小数)

temp = temp + lsb;(10^n倍得“整型小数”)

得到的是正确的10进制结果的10^n的值,分位数,取小数点,就可以得到正确的结果

(2)保留n位小数得第一种方法:——————(JKD:float存小数,10^n倍强转整型)——————

float temp + temp存好16为数据;

保留n位:

temp = temp*0.0625;

float T = DS18B20_READ();               //内存——显示

if(T<0)        {LCD_SHOWCHAR(2,1,'-'); T = -T;}                    | 第一列是正负号

else        {LCD_SHOWCHAR(2,1,'+');}                                  |

LCD_SHOWNUM(2,2,T,3);           //函数形参是unsigned int, 强转保留整数部分

LCD_SHOWCHAR(2,5,'.')            //2~4列是整数部分,第5列就是小数点

LCD_SHOWNUM(2,6,(unsigned long)(T*10^n)%10^n,4)//提取小数的方法:||10^n得到整型小数,

                                                                                                        ||求某位的数:求余

【收获感悟】:

有些时候,某个外设的学习/工程中某个功能的实现所需要的<某种算法>/其他什么就会很难解决

然而要【做好心理准备】:

别想着总顺顺利利,一定有难点 + 难点就是需要去解决

+困难就是机会 + 技术积累(看+试)

下一步:(目前:DS18B20+显示)+ EEPROM:<JKD2_0:43:0~未知>

—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

(二)DS18B20——启航班

·(1)DS18B20_READ()的特别之处

结构体=数组【lsb,msb】+T

有判断是否复位成功

调用DS18B20时会暂停T0:避免写DS18B20的期间,进入中断SERVICE_T0

编写onewire底层驱动时用的是T1

ppt上T的合并没写

ppt上顺序有点怪

P4SW |= 0X20控制蜂鸣器

五、今日看到的一些有趣的东西

(一)、了解稚辉君

目的:找到一些idea、project、direction,exprience

途径:个人网页

方法:他做的什么事情?我为什么感兴趣?我能做吗?怎么做?

事情:

最小fpga

大二结束的暑假_成电校内飞思卡尔比赛_平衡组_预习自平衡_第一次接触arinuo_蛋黄

大四结束的暑假_个人项目_?_对自平衡原理有了更深刻的理解_?_nano_

大四结束的暑假_个人项目_?_?_两天搞定_天气盒子

大四结束的暑假_国外某迷宫循迹小车_?_买不到,自己造_?_

(二)、每天每1h记录自己的时间使用

六、每日计划

(1)记录每小时的执行

写+调试出qhb板子的onewire+DS18B20,

完成数码管显示一位小数、按键切换数字,按键加减数值

ds1302:参考过去几天的博客,来决定学习过程

(2)记录自己想到的事,判断是不要做的还是要做的,统计数量

没劲的时候:

不要做:———————————————————要做:

看无针对性的嵌入式视频和无内容的短视频                看稚辉君的个人主页,找其他了解他的渠道

过信息                                                                          有“针对性且有下一步的目的的记录信息,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值