<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > PIC單片機內(nèi)部EEPROM讀寫子程序(轉(zhuǎn)貼)

          PIC單片機內(nèi)部EEPROM讀寫子程序(轉(zhuǎn)貼)

          作者: 時間:2011-02-18 來源:網(wǎng)絡(luò) 收藏

          ;實戰(zhàn)《內(nèi)部EEPROM讀寫實驗》
          ;本實戰(zhàn)的目的是讓大家熟悉PIC16F87X內(nèi)部EEPROM的讀寫方法
          ;項目實現(xiàn)的功能:對于地址為00H-3FH的64個EEPROM數(shù)據(jù)存儲單元,
          ;分別將數(shù)據(jù)0-63依次燒寫進去,然后再循環(huán)讀出,顯示在8只LED發(fā)光二極管上
          ;PIC學習網(wǎng)陳學乾http://www.pic16.com
          ;程序文件名“MCD-EMP1.ASM”
          ;程序清單如下:
          ;************************************
          STATUSEQU3H;定義狀態(tài)寄存器地址
          RP0EQU5H;定義頁選位RP0的位地址
          RP1EQU6H;定義頁選位RP1的位地址
          ZEQU2H;定義0狀態(tài)位的位地址
          PORTCEQU7H;定義RC口數(shù)據(jù)寄存器地址
          TRISCEQU87H;定義RC口方向控制寄存器地址
          EECON1EQU18CH;定義寫控制寄存器1的地址
          EECON2EQU18DH;定義寫控制寄存器2的地址
          EEDATAEQU10CH;定義讀/寫數(shù)據(jù)寄存器地址
          EEADREQU10DH;定義讀/寫地址寄存器地址
          RDEQU0;定義讀啟動控制位位地址
          WREQU1;定義寫啟動控制位位地址
          WRENEQU2;定義寫使能控制位位地址
          EEPGDEQU7;定義訪問目標選擇控制位位址
          FEQU1;定義目標寄存器為RAM的指示符
          WEQU0;定義目標寄存器為W的指示符
          ADDREQU70H;定義地址變量
          DATA1EQU71H;定義數(shù)據(jù)變量
          ;*************************************
          ORG0000H;
          NOP;放置一條ICD必須的空操作指令
          GOTOMAIN;
          ORG0008H;
          MAIN
          BCFSTATUS,RP1;選體1為當前體
          BSFSTATUS,RP0;
          MOVLW00H;設(shè)定RC全部為輸出
          MOVWFTRISC;
          BSFSTATUS,RP1;體3為當前體
          CLRFADDR;地址變量清0
          CLRFDATA1;數(shù)據(jù)變量清0
          WRITE
          BSFSTATUS,RP1;選定體3
          BTFSCEECON1,WR;上一次寫操作是否完成
          GOTO$-1;否!返回繼續(xù)檢測
          BCFSTATUS,RP0;選定體2
          MOVFADDR,W;取地址
          MOVWFEEADR;送地址寄存器
          MOVFDATA1,W;取數(shù)據(jù)
          MOVWFEEDATA;送數(shù)據(jù)寄存器
          BSFSTATUS,RP0;選定體3
          BCFEECON1,EEPGD;選定EEPROM為訪問對向
          BSFEECON1,WREN;開放寫操作使能控制
          MOVLW55H;
          MOVWFEECON2;送55H到寄存器EECON2(讀寫內(nèi)部EEPROM,這句是固定的)
          MOVLW0AAH;
          MOVWFEECON2;送AAH到寄存器EECON2(讀寫內(nèi)部EEPROM,這句是固定的)
          BSFEECON1,WR;啟動寫操作
          BCFEECON1,WREN;禁止寫操作發(fā)生
          INCFDATA1,F;數(shù)據(jù)遞增
          INCFADDR,F;地址遞增
          MOVFADDR,W;
          XORLWD’64’;將當前地址與64比較
          BTFSSSTATUS,Z;檢測=64否
          GOTOWRITE;否!繼續(xù)寫后面單元
          READ1
          DECFADDR,F;地址遞減
          BCFSTATUS,RP0;選體2為當前體
          BSFSTATUS,RP1;
          MOVFADDR,W;取地址
          MOVWFEEADR;送地址寄存器
          BSFSTATUS,RP0;選體3為當前體
          BCFEECON1,EEPGD;選定EEPROM為訪問對象
          BSFEECON1,RD;啟動讀操作
          BCFSTATUS,RP0;體2為當前體
          MOVFEEDATA,W;取數(shù)據(jù)
          BCFSTATUS,RP1;體0為當前體
          MOVWFPORTC;送顯LED
          CALLDELAY;調(diào)用廷時子程序
          MOVFADDR,F;檢測當前地址
          BTFSSSTATUS,Z;是否為0?是!跳一步
          GOTOREAD1;否!返回繼續(xù)讀出和顯示
          READ2
          INCFADDR,F;地址遞增
          BCFSTATUS,RP0;選體2為當前體
          BSFSTATUS,RP1;
          MOVFADDR,W;取地址
          MOVWFEEADR;送地址寄存器
          BSFSTATUS,RP0;選體3為當前體
          BCFEECON1,EEPGD;選定EEPROM為訪問對象
          BSFEECON1,RD;啟動讀操作
          BCFSTATUS,RP0;體2為當前體
          MOVFEEDATA,W;取數(shù)據(jù)
          BCFSTATUS,RP1;體0為當前體
          MOVWFPORTC;送顯LED
          CALLDELAY;調(diào)用廷時子程序
          MOVFADDR,W;檢測當前地址與64比較
          XORLWD’64’;
          BTFSSSTATUS,Z;是否等于64
          GOTOREAD2;否!返回繼續(xù)讀出和顯示
          GOTOREAD1;返回大循環(huán)起點
          ;******************************************
          DELAY
          MOVLW0;
          MOVWF72H;將外層循環(huán)參數(shù)值256送外層循環(huán)寄存器
          DELAY1
          MOVLW0;將內(nèi)層循環(huán)參數(shù)值256送內(nèi)層循環(huán)寄存器
          MOVWF73H;
          DECFSZ73H,1;遞減廷時程序
          GOTO$-1;
          DECFSZ72H,1;
          GOTODELAY1;
          RETURN
          ;********************************************
          END
          ;*****************************************************

          51單片機相關(guān)文章:51單片機教程


          單片機相關(guān)文章:單片機教程


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理




          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();