色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Keil C的AT24C02串行E2PROM的編程

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

          作者: 時(shí)間:2012-05-24 來(lái)源:網(wǎng)絡(luò) 收藏

          3。2。2頁(yè)寫(xiě)操作

          允許每次寫(xiě)入8個(gè)字節(jié)的頁(yè)寫(xiě)操作模式,頁(yè)寫(xiě)操作和字節(jié)寫(xiě)操作的時(shí)序差不多都相同,不同的是在于傳送了一字節(jié)數(shù)據(jù)后并不產(chǎn)生停止信號(hào),主機(jī)被允許再發(fā)送7個(gè)額外的字節(jié)。每發(fā)送一個(gè)字節(jié)數(shù)據(jù)后,產(chǎn)生一個(gè)應(yīng)答位。如果在發(fā)送停止信號(hào)之前,主機(jī)發(fā)送超過(guò)8個(gè)字節(jié),AT24C02內(nèi)部地址計(jì)數(shù)器將自動(dòng)翻轉(zhuǎn),先前寫(xiě)入的數(shù)據(jù)被覆蓋。接收主機(jī)發(fā)送的停止信號(hào)后,AT24C02啟動(dòng)內(nèi)部寫(xiě)周期將數(shù)據(jù)寫(xiě)到數(shù)據(jù)區(qū)。因此,可以編寫(xiě)一個(gè)頁(yè)寫(xiě)操作的函數(shù)如下:

          3。3讀操作

          AT24C02的讀操作主要有立即地址讀取、隨機(jī)地址讀取和順序地址存取3種。立即地址讀取方式由一個(gè)空字節(jié)序列來(lái)加載數(shù)據(jù)地址,當(dāng)從機(jī)尋址碼和數(shù)據(jù)尋址碼隨鐘輸入,并被確認(rèn)時(shí),從機(jī)必須產(chǎn)生另一個(gè)開(kāi)始狀態(tài),通過(guò)發(fā)出一個(gè)確認(rèn)讀取的信號(hào)之后,數(shù)據(jù)便隨時(shí)鐘輸出,數(shù)據(jù)的讀取不通過(guò)確認(rèn)狀態(tài)應(yīng)答,而是通過(guò)一個(gè)停止?fàn)顟B(tài)來(lái)應(yīng)答。其他兩種方式基本類(lèi)似,只是不需要產(chǎn)生另一個(gè)開(kāi)始狀態(tài),而順序地址讀取時(shí),讀出的是連續(xù)數(shù)據(jù)。讀操作的時(shí)序圖類(lèi)似于圖4的寫(xiě)操作時(shí)序,因此可編出讀一個(gè)字節(jié)的函數(shù)RlByte如下:

          當(dāng)然,對(duì)于AT2402的讀取往往不是只一個(gè)字節(jié),更多的時(shí)候還是想一連幾個(gè)字節(jié)一起讀取,因此,可編出連續(xù)讀取N個(gè)字節(jié)的函數(shù)如下:

          4綜合應(yīng)用舉例

          以圖6所示硬件電路為例,調(diào)用上面所編寫(xiě)的函數(shù),將數(shù)據(jù)00H~07H送到AT24C02內(nèi)部首地址為10H的地方存放,并將AT24C02內(nèi)部以20H為首地址的連續(xù)8個(gè)字讀到AT89C51的內(nèi)部RAM20H~27H存放。其主程序如下:

          其實(shí),AT24CXX系列的芯片很多,但其不盡相同。由于C語(yǔ)言的要精準(zhǔn)控制時(shí)間很不容易,因此往往有些工程人員碰到類(lèi)似的I2C硬件結(jié)構(gòu),大多采用C語(yǔ)言與匯編語(yǔ)言混合的方法。經(jīng)過(guò)筆者一番實(shí)踐之后,覺(jué)得上述所編寫(xiě)的函數(shù)幾乎可以用到所有I2C結(jié)構(gòu)的硬件,只需要大家花一點(diǎn)時(shí)間調(diào)試下DELAY函數(shù)的時(shí)間就可以了。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: E2PROM 編程 串行 AT24C02 Keil 基于

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉