在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

            PIC單片機內部EEPROM讀寫子程序(轉貼)

            作者: 時間:2011-02-18 來源:網絡 收藏

            ;實戰(zhàn)《內部EEPROM讀寫實驗》
            ;本實戰(zhàn)的目的是讓大家熟悉PIC16F87X內部EEPROM的讀寫方法
            ;項目實現(xiàn)的功能:對于地址為00H-3FH的64個EEPROM數(shù)據(jù)存儲單元,
            ;分別將數(shù)據(jù)0-63依次燒寫進去,然后再循環(huán)讀出,顯示在8只LED發(fā)光二極管上
            ;PIC學習網陳學乾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;設定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(讀寫內部EEPROM,這句是固定的)
            MOVLW0AAH;
            MOVWFEECON2;送AAH到寄存器EECON2(讀寫內部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;調用廷時子程序
            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;調用廷時子程序
            MOVFADDR,W;檢測當前地址與64比較
            XORLWD’64’;
            BTFSSSTATUS,Z;是否等于64
            GOTOREAD2;否!返回繼續(xù)讀出和顯示
            GOTOREAD1;返回大循環(huán)起點
            ;******************************************
            DELAY
            MOVLW0;
            MOVWF72H;將外層循環(huán)參數(shù)值256送外層循環(huán)寄存器
            DELAY1
            MOVLW0;將內層循環(huán)參數(shù)值256送內層循環(huán)寄存器
            MOVWF73H;
            DECFSZ73H,1;遞減廷時程序
            GOTO$-1;
            DECFSZ72H,1;
            GOTODELAY1;
            RETURN
            ;********************************************
            END
            ;*****************************************************

            51單片機相關文章:51單片機教程


            單片機相關文章:單片機教程


            單片機相關文章:單片機視頻教程


            單片機相關文章:單片機工作原理




            評論


            相關推薦

            技術專區(qū)

            關閉