国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

AT24C512中數據文件的系統化管理

發布時間:2009-8-18 13:37    發布者:lqm1111
關鍵詞: AT24C512

文件系統程序源代碼如下:

. 公用子程序:

RD24C:把DPTR所指的AT24C512單元內容讀出,放到(R1,R0)所指的RAM單元,R6為數據長度

WR24C:把(R1,R0)所指的RAM單元內容寫入DPTR所指的AT24C512單元,R6為數據長度

WR_ONE:把DPTR所指的RAM單元內容寫入DPTR所指的AT24C512單元

 

TZDPTR:       MUL       AB                DPTR=DPTR+A*B

ADD       A,    DPL

                     MOV      DPL,       A

                     MOV      A,    DPH

                     ADDC    A,    B

                     MOV      DPH,      A

                     RET

 

AT24C512系統格式化:把目錄區和頁面分配區初始化為0EEEEH

AT_INIT: MOV      DPTR,    #AT24C

MOV      R7,  #80H

              MOV      A,    #0EEH

ATINIT1:MOVX    @DPTR, A

              INC        DPTR

              DJNZ      R7,  ATINIT1

              MOV      R7,  #54

ATINIT2:MOV      DPTR,    #AT24C

              MOV      R1,  DPH

              MOV      R0,  DPL

              MOV      R6,  #80H

              MOV      A,    R7

              MOV      B,    #80H

              MOV      DPTR,    #0

              LCALL   TZDPTR

              PUSH     7

              LCALL   WR24C

              POP        7

              DJNZ      R7,  ATINIT2

              RET

 

為方便操作,每次開機把目錄區和頁面分配區的內容讀入到RAM的相同地址中,程序如下:

R_HEAD:CLR       IE.7

              MOV      R5,  #0

RHEAD1:MOV     A,    R5

              MOV      B,    #80H

              MOV      DPTR,    #0

              LCALL   TZDPTR

              MOV      R1,  DPH

              MOV      R0,  DPL

              MOV      R6,  #80H

PUSH     5

              LCALL   RD24C

              POP        5

              INC        R5

              CJNE      R5,  #54, RHEAD1

              SETB      IE.7

              RET

 

添加文件程序如下:

YB_SAVE:     MOV      PAGE_NO,#0               AGES=需要的頁數

                     MOV      DPTR,    #AT_FAT        AGE_NO為空閑頁數計數

YBSAVE1:     MOVX    A,    @DPTR                ; AT_FAT 為頁面分配表開始地址

                     CJNE      A,    #0EEH,   YBSAVE2

                     INC        PAGE_NO

YBSAVE2:     INC        DPTR

                     INC        DPTR

                     MOV      A,    PAGE_NO

                     CLR        C

                     SUBB     A,    PAGES

                     JZ           YBSAVE4

                     MOV      A,    DPH

                     CJNE      A,    #1BH,     YBSAVE1      ;1B00H為頁面分配表的結束地址

YBSAVE3:     LCALL   ERRDSP                      ;顯示錯誤信息

                     RET

 

YBSAVE4:     MOV      R7,  #0

YBSAVE5:     MOV      DPTR,    #YB_BEG             ; YB_BEG為目錄區開始地址

                     MOV      A,    R7

                     MOV      B,    #10

                     LCALL   TZDPTR

       MOVX    A,    @DPTR

              CJNE      A,    #0EEH,   YBSAVE16

              SJMP      YBSAVE6

YBSAVE16:   INC        R7

              CJNE      R7,  #153,      YBSAVE5      ;最多可存153個文件

              SJMP      YBSAVE3                           ;已經存滿

      

YBSAVE6:     CLR        IE.7

PUSH     7                          ;保存找到的空閑目錄區序號

LCALL   DO_DSP               ;顯示“正在存儲”

       MOV      DPTR,    #AT_FAT

YBSAVE7:     MOVX    A,    @DPTR

                     CJNE      A,    #0EEH,   YBSAVE8

       SJMP      YBSAVE9

YBSAVE8:     INC        DPTR

       INC        DPTR

       SJMP      YBSAVE7

YBSAVE9:     PUSH     DPH              ;找到第一個空閑頁,把地址保護起來

       PUSH     DPL

       MOV      R1,  DPH

       MOV      R0,  DPL

       MOV      A,    #0FFH

       MOVX    @DPTR, A

       INC        DPTR

       MOVX    @DPTR, A     ;暫時把它看做是文件的最后一頁

       PUSH     DPH

       PUSH     DPL

       PUSH     0

       PUSH     1

       LCALL   WR_ONE

       POP        1

       POP        0

       POP        DPL

       POP        DPH

       INC        DPTR

      

                     MOV      R7,  PAGES

       DEC       R7

       MOV      A,    R7

       JZ           YBSAVE13    ;如果只需要一頁,則頁面分配表修改結束

YBSAVE10:   MOVX    A,    @DPTR

       CJNE      A,    #0EEH,   YBSAVE11

       PUSH     DPH

       PUSH     DPL

       MOV      DPH,      R1          R1R0為前一頁的頁面分配表地址

       MOV      DPL,       R0

       POP        0

       POP        1

       MOV      A,    R1

       MOVX    @DPTR, A

       INC        DPTR

       MOV      A,    R0

       MOVX    @DPTR, A            ;新地址寫入前一頁的地址單元

       PUSH     0

       PUSH     1

       PUSH     7

       LCALL   WR_ONE              ;把修改信息寫入AT24C512

       POP        7

       POP        1

       POP        0

       MOV      DPH,      R1

       MOV      DPL,       R0

       INC        DPTR

       INC        DPTR

       SJMP      YBSAVE12

YBSAVE11:   INC        DPTR

       INC        DPTR

YBSAVE12:   DJNZ      R7,  YBSAVE10

       MOV      DPH,      R1

       MOV      DPL,       R0

       MOV      A,    #0FFH

       MOVX    @DPTR, A

       INC        DPTR

       MOVX    @DPTR, A     ;寫入0FFFFH,表示文件分配結束

       LCALL   WR_ONE

YBSAVE13:   POP        0

                     POP        1

      

       POP        0

       POP        1            R1R0=DPTR=找到的第一個空閑頁

POP        ACC       ACC=R7=空閑目錄區序號

       PUSH     ACC

MOV      DPTR,    #YB_BEG+8

       MOV      B,    #10

       LCALL   TZDPTR        ;確定目錄空閑區地址

       MOV      A R1

本文地址:http://m.qingdxww.cn/thread-2971-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 妈妈的朋友伦理片在线观看 | 在线观看日本视频免费 | 精品成人 | 成人欧美日韩视频一区 | 韩国一区在线 | 99视频有精品 | 久久久久免费精品视频 | 手机看片成人 | 国产高清视频在线播放 | 久久精品福利视频 | 国内精品麻豆 | 2021免费日韩视频网 | 万绮雯三级未删减 | 成年女人免费看片 | 亚洲综合国产 | 自拍偷拍国语对白 | 在线看精品 | 丝瓜草莓向日葵芭比小猪 | 爱插网 | 在线国产一区 | 91精品视频免费在线观看 | 欧美在线天堂 | 日韩在线1| 国产日韩欧美在线播放 | 精品一区二区三区在线成人 | 国产日韩欧美视频在线 | 69视频永久免费观看下载 | 久久人视频 | 免费日韩一级片 | 中文字幕在线观看一区 | 国产97免费视频 | 在线观看免费国产视频 | 女老师完整版 | 在线亚洲综合 | 青青青久热国产精品视频 | 日韩亚洲欧洲在线com91tv | 欧美成人性色大片在线观看 | 亚洲国产最新在线一区二区 | 91免费在线视频观看 | 亚洲精品www | 色天使久久综合给合久久97色 |