a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Keil C的AT24C02串行E2PROM的編程

基于Keil C的AT24C02串行E2PROM的編程

作者: 時間:2012-05-24 來源:網絡 收藏

3。2。2頁寫操作

允許每次寫入8個字節的頁寫操作模式,頁寫操作和字節寫操作的時序差不多都相同,不同的是在于傳送了一字節數據后并不產生停止信號,主機被允許再發送7個額外的字節。每發送一個字節數據后,產生一個應答位。如果在發送停止信號之前,主機發送超過8個字節,AT24C02內部地址計數器將自動翻轉,先前寫入的數據被覆蓋。接收主機發送的停止信號后,AT24C02啟動內部寫周期將數據寫到數據區。因此,可以編寫一個頁寫操作的函數如下:

3。3讀操作

AT24C02的讀操作主要有立即地址讀取、隨機地址讀取和順序地址存取3種。立即地址讀取方式由一個空字節序列來加載數據地址,當從機尋址碼和數據尋址碼隨鐘輸入,并被確認時,從機必須產生另一個開始狀態,通過發出一個確認讀取的信號之后,數據便隨時鐘輸出,數據的讀取不通過確認狀態應答,而是通過一個停止狀態來應答。其他兩種方式基本類似,只是不需要產生另一個開始狀態,而順序地址讀取時,讀出的是連續數據。讀操作的時序圖類似于圖4的寫操作時序,因此可編出讀一個字節的函數RlByte如下:

當然,對于AT2402的讀取往往不是只一個字節,更多的時候還是想一連幾個字節一起讀取,因此,可編出連續讀取N個字節的函數如下:

4綜合應用舉例

以圖6所示硬件電路為例,調用上面所編寫的函數,將數據00H~07H送到AT24C02內部首地址為10H的地方存放,并將AT24C02內部以20H為首地址的連續8個字讀到AT89C51的內部RAM20H~27H存放。其主程序如下:

其實,AT24CXX系列的芯片很多,但其不盡相同。由于C語言的要精準控制時間很不容易,因此往往有些工程人員碰到類似的I2C硬件結構,大多采用C語言與匯編語言混合的方法。經過筆者一番實踐之后,覺得上述所編寫的函數幾乎可以用到所有I2C結構的硬件,只需要大家花一點時間調試下DELAY函數的時間就可以了。


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉