江科大51單片機筆記【11】AT24C02(I2C總線)

一、存儲器

1.介紹

RAM的特點是存儲速度特別快,但是掉電會丟失;ROM的特點是存儲速度特別慢,但是掉電不會丟失

SRAM是所有存儲器最快的,一般用于電腦的CPU高速緩存,容量相對較少,成本較高;DRAM原理是用電容存儲,容值很小,需要配一個掃描電路,需要每隔一段時間補電,一般用于電腦的內存條,手機的運行內存,容量相對較大,成本較低

ROM的前四個都是一個系列的,MaskROM只能讀取不能寫;PROM可編程,但是只能寫入一次;EPROM即可以編程也可以擦除,清除需要拿紫外線照射30分鐘,E2PROM這種只需要用電就可以擦除(本單片機所用);Flash(閃存):電腦固態硬盤,手機存儲,運用最廣泛;硬盤(電腦機械硬盤,利用電磁存儲)、軟盤(淘汰)、光盤(光信號存儲)

2.簡化模型

橫向的線成為地址總線;豎向的線稱為數據總線

我們在橫線賦值就是選擇地址,在豎線賦值就是寫入數據

右邊這樣接一個二極管的連接方式可以有效防止其他行干擾

PROM跟MaskROM其實一樣,藍色的二極管是一種特殊二極管,即很容易擊穿,當我們在橫線給高電壓,藍色二極管就會被擊穿,就會變成右邊的狀態,但是被擊穿之后就永遠被擊穿了,所以我們只能寫入一次,這就是PROM

二、AT24C02

1.介紹

  • AT24C02是一種可以實現掉電不丟失的存儲器,可用于保存單片機運行時想要永久保存的數據信息
  • 存儲介質:EPROM
  • 通訊接口:I2C總線
  • 容量:256字節

2.引腳及應用電路

  • VCC、GND:電源(1.8V-5.5V)
  • WP:寫保護(高電平有效
  • SCL、SDA:I2C接口
  • A0、A1、A2:I2C地址

3.內部結構框圖??

三、I2C(I方C)總線(重難點)

總覽:先介紹,電路,然后學六種時序函數,寫數據幀,學三種數據幀,再學習AT24C02數據幀

1.介紹

  • I2C總線(intel IC BUS)是有飛利浦公司開發的一種通用數據總線
  • 兩根通信線:SCL(serial clock)、SDA(serial data)
  • 同步、半雙工、帶數據應答
  • 通用的I2C總線,可以使各種設備的通信標準統一,對于廠家來說,使用成熟的方案可以縮短芯片設計周期、提高穩定性,對于應用者來說,使用通用的通信協議可以避免學習各種各樣的自定義協議、降低了學習和應用的難度
  • 左1圖是一個小巧的OLED屏幕,左2圖是D3231,一種時鐘芯片,比1302精度高很多 ,右1圖是一種陀螺儀傳感器,姿態傳感器,用于平衡車無人機等;這些都可以通過I2C模塊進行通信

2.電路規范

  • 所有I2C設備的SCL連在一起,SDA連在一起
  • 設別的SCL和SDA均要配置成開漏輸出模式
  • SCL和SDA各添加一個上拉電阻,阻值一般為4.7K歐左右
  • 開漏輸出和上拉電阻的共同作用實現了“線與”的功能,此設計主要是為了解決多級通信互相干擾的問題
  • 左圖是一個連接圖,開漏輸出保證了CPU想通信某一個設備時,其他設備沒有干擾,給1就會進入浮空狀態
  • 右圖是內部結構,下面的三角是一個輸入的緩存,輸入阻抗很大相當于斷開,相當于一個電壓表監視著電壓;上面是目視管,相當于電子開關,給低電平導通,給高電平斷開,不干擾外界

3.I2C時序結構

(1)起始和終止

  • 起始條件:SCL高電平期間,SDA從高電平切換到低電平S:Start
  • 終止條件:SCL高電平期間,SDA從低電平切換到高電平P:Stop

(2)發送和接收

  • ?發送一個字節:SCL低電平期間,主機(單片機)將數據位依次放到SDA線上(高位在前),然后拉高SCL,從機將在SCL高電平期間讀取數據位,所以SCL高電平期間SDA不允許有數據變化,依次循環上述過程8次,即可發送一個字節

  • 接收一個字節:?SCL低電平期間,從機將數據位依次放到SDA線上(高位在前),然后拉高SCL,主機將在SCL高電平期間讀取數據位,所以SCL高電平期間SDA不允許有數據變化,依次循環上述過程8次,即可接收一個字節(主機在接收之前,需要釋放SDA)

(3)應答

  • 發送應答:在接收完一個字節之后,主機在下一個時鐘發送一位數據,數據0表示應答,數據1表示非應答
  • 接收應答:在發送完一個字節之后,主機在下一個時鐘接收一位數據,判斷從機是否應答,數據0表示應答,數據1表示非應答(主機在接收之前,需要釋放SDA)

4.I2C數據幀

(1)發送一幀數據

首先是Strat起始時序;第二個是發送“從機地址+讀寫位”,又分為八位,前七位是地址,地位前4位是固定的,不同芯片不同,我們24C02固定為1010,最后一位是讀寫標識位;第三個是RA:0,接收應答,每次發送后都會加一個接收應答,接下來是發送第一個字節,接收應答,發送第二個字節,接收應答等等等,最后是Stop結束時序

(2)接收一幀數據

結構差不多都一樣,區分就是第二個的最后一位是讀取位,然后最后一位要發送非發送應答

(3)符合格式(先發送再接收數據幀)

就是在發送完數據幀,不寫終止時序,接上讀取數據幀

5.AT24C02數據幀

  • 字節寫:在WORD ADDRESS處寫入數據DATA

  • 隨機讀:讀出在WORD ADDRESS處的數據DATA
  • AT24C02的固定地址為1010,可配置地址本開發板上為000,所以SLAVE ADDRESS+W為0xA0,SLAVE ADDRESS+R為0xA1?

下面看看手冊里的關于這部分的解釋

  • 字節寫:在“字地址”處寫入“數據”

  • 隨機讀:讀出在“字地址”處的“數據”

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72959.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72959.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72959.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【C++指南】一文總結C++類和對象【中】

🌟 各位看官好,我是egoist2023! 🌍 種一棵樹最好是十年前,其次是現在! 🚀 今天來學習C類和對象的語法知識。注意:在本章節中,小編會以Date類舉例 👍 如果覺得…

PgSql 操作技巧

1、查詢數據導出csv數據 \COPY (SELECT w.* from t_sys_warn w ) TO /home/cuadmin/warn_output.csv WITH CSV HEADER;2、導出sql Insert語句 pg_dump -U 用戶名 -h 主機名 -p 端口號 -d 數據庫名 --inserts -t 表名 > 導出文件.sqlpg_dump -U username -d dbname -t tabl…

Unity ES3保存類的問題

有以下一個物品類 public class Item_Base//基礎物品 { public string ID; private Attribute_Data Item_attribute new(); } 當使用ES3保存這個類時,Item_attribute的數據不會被保存,因為它是私有private ES3保存類時,只會保存…

react基本功

useLayoutEffect useLayoutEffect 用于在瀏覽器重新繪制屏幕之前同步執行代碼。它與 useEffect 相同,但執行時機不同。 主要特點 執行時機:useLayoutEffect 在 DOM 更新完成后同步執行,但在瀏覽器繪制之前。這使得它可以在瀏覽器渲染之前讀取和修改 DOM,避免視覺上的閃爍…

Spring Boot筆記(上)

01 概要 Spring Boot 是 Java 領域最流行的 快速開發框架,專為簡化 Spring 應用的初始搭建和開發而設計。 一、Spring Boot 解決了什么問題? 傳統 Spring 痛點 ? 繁瑣的 XML 配置 ? 需要手動管理依賴版本 ? 部署依賴外部 Web 服務器(如 …

目標檢測YOLO實戰應用案例100講-基于毫米波雷達的多目標檢測 (續)

目錄 3.2 改進的CFAR目標檢測算法 3.3 算法步驟描述 3.4 實驗結果與分析 基于VGG16-Net的毫米波雷達目標檢測算法 4.1 VGG16-Net網絡模型 4.2 改進VGG16-Net網絡的目標檢測算法 4.3 算法步驟描述 4.4 實驗結果與分析 知識拓展 基于毫米波雷達的多目標檢測:使…

gitsubtree怎么添加新的子倉庫

要使用 git subtree 添加一個新的子倉庫&#xff0c;可以按照以下步驟操作&#xff1a; 1. 添加子倉庫 使用 git subtree add 命令將子倉庫的內容添加到主倉庫的指定目錄中。命令格式如下&#xff1a; git subtree add --prefix<子目錄路徑> <子倉庫地址> <子…

文本轉語音-音畫適時推送rtsp并播放

文本語音 rtsp適時播放叫號系統的底層邏輯 發布Linux, unix socket 和window win32做為音頻源的 python10下的(ffmpeg version 7.1) 可運行版本. 這兩天在弄這個&#xff0c;前2篇是通過虛擬聲卡&#xff0c;達到了最簡單的一個邏輯&#xff0c;播放文本就從聲卡發聲&#xff0…

從0開始的操作系統手搓教程33:掛載我們的文件系統

目錄 代碼實現 添加到初始化上 上電看現象 掛載分區可能是一些朋友不理解的——實際上掛載就是將我們的文件系統封裝好了的設備&#xff08;硬盤啊&#xff0c;SD卡啊&#xff0c;U盤啊等等&#xff09;&#xff0c;掛到我們的默認分區路徑下。這樣我們就能訪問到了&#xff…

【圖片批量轉換合并PDF】多個文件夾的圖片以文件夾為單位批量合并成一個PDF,基于wpf的實現方案

項目背景: 多個圖片分布在不同文件夾,如何以文件夾為單位批量合并成一個PDF,還要保證文件夾里面圖片大小和順序 實現功能: 1、單張圖片的轉換PDF:一張圖臨時轉一下 2、多張圖片轉換成PDF:多張圖單獨轉成PDF 3、多級目錄多張圖轉換成PDF:多級目錄多張圖單獨轉成多個PDF…

如何用Kimi生成PPT?秒出PPT更高效!

做PPT是不是總是讓你頭疼&#xff1f;&#x1f629; 快速制作出專業的PPT&#xff0c;今天我們要推薦兩款超級好用的AI工具——Kimi 和 秒出PPT&#xff01;我們來看看哪一款更適合你吧&#xff01;&#x1f680; &#x1f947; Kimi&#xff1a;讓PPT制作更輕松 Kimi的生成效…

從 MongoDB 到 TDengine,沃太能源實現 18 倍寫入性能提升

導讀 沃太能源是國內領先儲能設備生產廠商&#xff0c;數十萬儲能終端遍布世界各地。此前使用 MongoDB 存儲時序數據&#xff0c;但隨著設備測點增加&#xff0c;MongoDB 在存儲效率、寫入性能、查詢性能等方面暴露出短板。經過對比&#xff0c;沃太能源選擇了專業時序數據庫 …

數據庫基本建表操作

1.登錄數據庫并創建數據庫db_ck 創建完成后使用到我們創建的數據庫。 2.創建表t_hero 根據hero屬性包括&#xff08;id&#xff0c;name&#xff0c;nickname&#xff0c;age&#xff0c;gender&#xff0c;address&#xff0c;weapon&#xff0c;types&#xff09; 創建完…

OkHttp 之任務調度模塊源碼分析

一、引言 在現代網絡應用開發中&#xff0c;高效的任務調度機制對于提升系統性能和用戶體驗至關重要。OkHttp 作為一款廣泛使用的高性能 HTTP 客戶端庫&#xff0c;其任務調度模塊在處理網絡請求的并發、排隊和執行等方面發揮著關鍵作用。本文將深入 OkHttp 源碼&#xff0c;詳…

復現無人機的項目,項目名稱為Evidential Detection and Tracking Collaboration

項目名稱為Evidential Detection and Tracking Collaboration&#xff0c;主要用于強大的反無人機系統&#xff0c;涉及新問題、基準和算法研究。下面介紹項目的復現步驟&#xff1a; 安裝環境&#xff1a;使用Anaconda創建并激活名為edtc的虛擬環境&#xff0c;Python版本為3…

QwQ-32B 開源!本地部署+微調教程來了

今天&#xff0c;通義千問開源了推理模型QwQ-32B QwQ-32B 在一系列基準測試中進行了評估&#xff0c;測試了數學推理、編程能力和通用能力。以下結果展示了 QwQ-32B 與其他領先模型的性能對比&#xff0c;包括 DeepSeek-R1-Distilled-Qwen-32B、DeepSeek-R1-Distilled-Llama-7…

如何利用 Excel 表格實現精準文件批量重命名教程

在處理大量文件時&#xff0c;有時需要根據特定規則對文件名進行調整。如果您的文件名和新名稱之間存在一對多的關系&#xff0c;并且這種關系可以通過 Excel 表格來管理&#xff0c;那么使用“簡鹿文件批量重命名”軟件中的“匹配對應名稱命名”功能將是一個高效的選擇。接下來…

開關模式電源轉換器 EMI/EMC 的集成仿真

介紹 在電力電子領域&#xff0c;電磁干擾 &#xff08;EMI&#xff09; 和電磁兼容性 &#xff08;EMC&#xff09; 問題可以決定設計的成敗。開關模式電源轉換器雖然高效且緊湊&#xff0c;但卻是電磁噪聲的常見來源&#xff0c;可能會對附近的組件和系統造成嚴重破壞。隨著…

Android 藍牙工具類封裝:支持經典藍牙與 BLE,兼容高版本權限

為了優化經典藍牙&#xff08;Classic Bluetooth&#xff09;和低功耗藍牙&#xff08;Bluetooth Low Energy, BLE&#xff09;的操作&#xff0c;我們可以將功能封裝到一個工具類中&#xff0c;支持掃描、連接、通信&#xff0c;并兼容高版本 Android 的動態權限申請。以下是完…

STM32 CAN模塊原理與應用詳解

目錄 概述 一、CAN模塊核心原理 1. CAN協議基礎 2. STM32 CAN控制器結構 3. 波特率配置 二、CAN模塊配置步驟&#xff08;基于HAL庫&#xff09; 1. 初始化CAN外設 2. 配置過濾器 3. 啟動CAN通信 三、數據收發實現 1. 發送數據幀 2. 接收數據幀&#xff08;中斷方式…