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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 鐵電存儲(chǔ)器FM24C16原理及其在多MCU系統(tǒng)中應(yīng)用

          鐵電存儲(chǔ)器FM24C16原理及其在多MCU系統(tǒng)中應(yīng)用

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


          3、應(yīng)用接口及程序

          FM24C16與單片機(jī)接口電路非常簡(jiǎn)單,下面以碳控儀系統(tǒng)中的應(yīng)用為例給予說(shuō)明,并給出部分子程序。應(yīng)用接口圖如圖2所示,系統(tǒng)中采用2片AT89C55單片機(jī),用其P2.0和P2.1口與SDA,SCL相連接,在SDA和SCL引腳接1.8kΩ的上拉電阻到+5V,工作電源也為+5V,WP引腳接電源地以保證可以任意寫入數(shù)據(jù)。2片AT89C55用P1.0,P1.1作為通訊口,來(lái)確定誰(shuí)操作FM24C16:片1操作前,檢測(cè)P1.0口,如果為高,則置低P1.1口,向片2發(fā)出占用FM24C16信號(hào),然后再檢測(cè)P1.0口,還為高,則進(jìn)入操作,若為低,則退出操作并把P1.1口置高;如果P1.0口為低,則說(shuō)明片2占用FM24C16,片1就放棄操作,等待下次查詢和操作。片2的操作相對(duì)應(yīng)于片1。這樣,F(xiàn)M24C16不僅作為了公共數(shù)據(jù)區(qū),而且也成為了2片MCU的一個(gè)模擬的通訊口,而且理論上來(lái)說(shuō),1片F(xiàn)M24C16上可以掛很多MCU,而可以省去不必要的MCU間的通訊。這就需要FM24C16承受快速、頻繁讀寫,這是其他E2PROM望塵莫及的。

          本文引用地址:http://cafeforensic.com/article/201612/324825.htm

          下面給出FM24C16的頁(yè)面寫和任意字節(jié)讀匯編子程序。程序經(jīng)過(guò)應(yīng)用驗(yàn)證,效果良好(為保證穩(wěn)定性,可以在相應(yīng)地方加入空語(yǔ)句以延時(shí))。

          頁(yè)面寫子程序:

          PAGE-WR: ACALL START_BIT
          MOV A,#10100000B
          MOV R7,#4
          ACALL SHFTO
          ;SHFTO為送位子程序,以上3行送
          1010到FM24C16
          MOV A,#20H
          MOV R7,#3
          ACALL SHFTO
          ;以上3行確定寫FM24C16的00l頁(yè)
          MOV A,#00H
          MOV R7,#1
          ACALL SHFTO ;以上3行送寫控制位0
          ACALL SlAVE_ACK
          ;SLAVE-ACK為從應(yīng)答子程序,在此檢測(cè)
          從應(yīng)答位
          MOV A,#00H
          MOV R7,#8
          ACALL SHFTO
          ;以上3行確定寫入數(shù)據(jù)首地址為00H
          ACALLSLAVE-ACK ;檢測(cè)從應(yīng)答位
          MOV R0,#00H ;R0中為被寫人數(shù)據(jù)
          所在單元首地址
          MOV R4,#7FH ;R4中為寫入字節(jié)數(shù)
          (現(xiàn)為256B)
          NEXT-DATA:MOV A,@R0 ;調(diào)入第1個(gè)寫入數(shù)據(jù)
          INC R0 ;R0指向第2個(gè)數(shù)據(jù)所在單元地址
          MOV R7,#8
          ACALL SHFTO;寫入數(shù)據(jù)
          ACALL SLAVE-ACK ;檢測(cè)從應(yīng)答位
          DJNZ R4,NEXT-DATA
          ;循環(huán)寫入下一個(gè)字節(jié)數(shù)據(jù)
          ACALL STOP-BIT
          ;STOP-BIT為停止位,結(jié)束寫操作(此處沒(méi)有寫延時(shí)等待)
          RET ;返回,程序結(jié)束

          讀任意地址子程序:
          SELECT-RD:ACALL START-BIT
          ACALL START-BIT
          MOV A,#10100000B
          MOV R7,#4
          ACALL SHFTO
          MOV A,#20H
          MOV R7,#3
          ACALL SHFTO
          MOV A,#0FOH
          MOV R7,#1
          ACALL SHFTO
          ACALL SlAVE-ACK
          MOV R5,#00H
          MOV R7,#8
          ACALL SHFTO
          ACALL SlAVE-ACK
          ;以上為偽寫,確定讀FM24C16的001
          00H單元數(shù)據(jù)
          ACALL START-BIT
          MOV A,#10100000B
          MOV R7,#4
          ACALL SHFTO
          MOV A,#20H
          MOV R7,#3
          ACALL SHFTO
          MOV A,#0FOH
          MOV R7,#1
          ACALL SHFTO ;上面3行送讀控制位1
          ACALL SlAVE-ACK
          MOV R5,#00H ;清R5,以存儲(chǔ)讀出數(shù)據(jù)
          MOV R7,#8 ;R7作讀出位記數(shù)器
          CLOCK8: SETB SCL
          MOV C,SDA
          CLR SCL
          MOV A,R5
          RLC A
          MOV R5,A
          ;以上6行讀出FM24C16送來(lái)的1位
          DJNZ R7,CLOCK8 ;循環(huán)讀出1B數(shù)據(jù)
          ACALL NO_ACK
          ;NO_ACK為無(wú)需應(yīng)答位子程序
          ACLL STOP_BIT ;停止
          RET ;程序結(jié)束

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

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉