使用 I2C/SPI 公共汽车和 OLED 显示器进行温度测量

      最后更新:2021-11-20 19:15

      I2C总线协议

      第一,I2C协议是什么?
      I2C 巴士是菲利普斯发明的双向、双向、同步连锁巴士,只需要两条线来传送与公共汽车连接的装置之间的数据。
      I2C 物理层和礼宾层
      ①物理层
      I2C是辅助设备的主要线路。 多个 I2C 通信设备可以连接在一起,为多个通信主机和众多通信操作员服务。 I2C 公共汽车只有两条公共汽车线,一条双向线数据线(SDA)和一条字符串时钟线(SCL )。
      I2C通讯装置的共同连接器(参考野火信息)

      ②协议层

      它主要描述通信的启动和停止信号、数据有效性、反应、仲裁、时钟同步和地址广播。
      通讯信号开始和结束
      I2C有两种技术:硬件I2C和软件I2C。
      ①硬件I2C
      STM32芯片直接使用外部I2C硬件。
      硬件I2C的使用
      只要定义了必要的内存,外部设置就为标准序列协议产生一个时间序列。在激活 I2C 外部设置后,只需要一个登记册 1 的位置,在此点,外部设置控制相应的 SCL 和 SDA 线自动生成 I2C 启动信号,消除内核直接控制踢相关设置的电高度的需要,只要定义了必要的内存,标准序列协议就产生一个时间序列。在激活 I2C 外部设置后,只需要一个登记册 1 的位置,在此点,外部设置控制相应的 SCL 和 SDA 线自动生成 I2C 初始信号,消除内核直接控制踢电高度的需要。
      ②软件I2C
      直接使用CPU内核来控制全球定位系统组织在I2C协议所要求的低层次和高层次的输出,从而模拟I2C。
      软件I2C的使用
      在管理I2C启动信号时,有必要控制用作高输出的SCL线的全球定位系统,然后控制用作从高向低水平过渡的SDA线的全球定位系统,最后控制SCL线切换到低水平,从而产生典型的I2C启动信号。
      ③两者的差别
      硬件I2C比软件I2C效率高得多,但软件I2C的多功能性更大,因为它不受脚控的限制。

      SPI简介

      SPI是摩托罗拉公司引入的高速、全时同步通信总线的串行周边界面的缩略语,这是摩托罗拉公司在ADC、LCD和MCU之间通信率高的情况下常用的高速、全时同步通信总线。SPI总线系统可能直接连接到各公司提供的大量标准外围系统。界面通常使用四条线:序列时线(SCK)、主机输入/来自机器输出数据线MISO的主机输入/来自机器输入数据线MOST的输出和低级别有效机器选择线C/S(一些SPI接口芯片包括断线信号线INT或INT,其他SPI接口芯片没有机输入数据线MOSI的主机输出/来自机器输入数据线MOSI的输出)。
      SPI提供了四种交流方式,关键区别在于CSK的时钟状态,即公交车是免费的以及数据取样的时间。 此处为方便起见提出了“钟极CPOL”和“钟级CPHA”的概念。
      CSCOL是SCK信号线(即NSS线高时SCK状态和SPI通信装置自由)在SPI通信开始之前的平方信号。 CPOL = 0, SCK 自由时是低方信号线, CPOL = 1, 反向信号线是低方信号线。
      当时钟阶段 CPHA = 0时,MOSI 或 MISO 数据线上的信号会按照SCK 时钟的“奇缘”取样。当CPHA = 1时,数据线会按照SCK 时钟的“偶边缘”取样。

      根据I2C协定,完成关于使用STM32F103的AHT20温度湿度传感器的数据收集工作

      main.c

      com/s/1D4AxGK6LAM5Ioq4wEv9QRQ 特别报导全球之声网络.com/s/1D4AxGk6LAM5Ioq4wEv9QRQ。
      提取码:326o

      结果:

      在这里插入图片描述
      当你把手指放在芯片上 温度和湿度的变化 表明实验成功

      编码的 OLED 面板和汉点

      1.汉字点阵编码
      因为中文单词是电脑的图片, 每个单词都被当作一个点。
      每个字节代表汉域的一个点, 每个字节由矩形点组成, 0 不, 1 表示一点点, 0 和 1 以不同颜色涂色, 产生 Han 字节, 标准圆点矩阵有 12 行 和 12 列 。12, 1414,*16分设在三个图书馆。

      字节显示,字体分为水平矩阵和垂直矩阵。大多数字体现在都存储在水平矩阵中(在早期 UCDOS 库中最普遍使用),而垂直矩阵通常基于以下事实:以垂直扫描方式显示因此的液体晶体,因此是垂直构造,以加速显示速度。

      显示特定汉字与数字

      因为单一系统上没有汉码 我们必须提取PCtoLCD的字体
      在这里插入图片描述
      笔未能将自定义格式转换为 C51, 导致一系列错误 。
      在这里插入图片描述
      将字体转到左侧的字体.h 文件 。
      再自建一个函数

      直接在主页,C中引用就足够了。
      完整代码:
      com/s/1VCHS_BHKxv_8n_o12Ykh6Q 特别报导全球之声网络.com/s/1VCHS_BHKxv_8n_o12Ykh6Q
      提取码:326o

      效果

      在这里插入图片描述

      显示 AHT20 的温度和湿度 。

      插入以下代码,将序列输入替换为 AHT20 温度工程中的显示输入。

      效果

      在这里插入图片描述
      当手指被推动时,温度和湿度各不相同,对吗?

      长字符可能被移动到上、下或周围。

      我在用一首古老的诗来尝试 在我张贴时更好地代表我的想法
      吴文英的宋大妍的《唐斗妍》

      在那里合成悲伤。 我不相信它会下雨, 但我不认为它会下雨。 这是一个美好的夜晚的天气。有一个月亮和恐升的恐惧。
      我梦到它有好一阵子了,这是一股空烟。 扬回来了,他的客人还在忙着。 Willows不系紧安全带。 这是一个漫长漫长的旅程。
      当进行嵌入式工作时, 你经常想到野蛮人, 没有雨, 没有雨。 这是一个愉快的夜晚。 月亮和对升起的恐惧。 在我看来, 我发疯了。
      第二句不清楚,因为第一句太长。
      在这里插入图片描述
      将它放入左侧。 File

      插入函数:

      效果

      在这里插入图片描述
      成功完成

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类