• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 2051對X25045的寫入和讀出匯編程序

    2051對X25045的寫入和讀出匯編程序

    作者: 時間:2012-10-12 來源:網(wǎng)絡(luò) 收藏
    ;*************************************************************
    ;* title:
    ;*實現(xiàn),及看門狗超時周期的設(shè)置。
    ;* version: 1.0
    ;* last date: 01.03.27
    ;* target: At89c at 12Mhz
    ;* design by: Heyuesheng 010-64889568
    ;*************************************************************
    ;**** define register ****

    ;**** code


    ORG 0000H
    AJMP START

    ORG 0040H
    START: MOV SP,#60H
    MOV R0,#10H;將狀態(tài)寄存器置為 00010000(即無寫保護,看門狗超時周期為 600 毫秒)
    ACALL WRSR

    TEST:
    MOV R0,#89H;定義R0 為寫入的數(shù)據(jù)(89H)
    MOV R1,#00H;定義R1 為寫入數(shù)據(jù)的地址(00H)
    ACALL WRITE

    MOV R0,#51H;定義R0 為寫入的數(shù)據(jù)(51H)
    MOV R1,#01H;定義R1 為寫入數(shù)據(jù)的地址(01H)
    ACALL WRITE

    MOV R1,#00H;定義R1 為讀出數(shù)據(jù)的地址(00H)
    ACALL READ
    MOV R4,A;將讀出的數(shù)據(jù)存入 R4

    MOV R1,#01H;定義R1 為讀出數(shù)據(jù)的地址(01H)
    ACALL READ
    MOV R5,A;將讀出的數(shù)據(jù)存入 R5

    SJMP TEST
    ;*******本子程序?qū)憼顟B(tài)寄存器
    ;*入口參數(shù):R0
    WRSR: SETB P1.4
    MOV R7,#10H
    ACALL DELAY
    CLR P1.4

    MOV A,#01H;寫狀態(tài)寄存器指令
    ACALL SIN

    MOV A,R0;將狀態(tài)寄存器置為 R0 的值
    ACALL SIN

    SETB P1.4
    RET


    ;*******寫使能子程序
    ;*入口參數(shù):無
    WREN: SETB P1.2 ;將 WP 寫保護管腳置高,打開寫保護。
    SETB P1.4
    MOV R7,#10H
    ACALL DELAY
    CLR P1.4

    MOV A,#06H;寫使能指令
    ACALL SIN

    SETB P1.4
    RET

    ;*******寫入子程序
    ;*入口參數(shù):
    ;*R0 要寫入的數(shù)據(jù)
    ;*R1 要寫入的地址
    WRITE: ACALL WREN

    SETB P1.4
    MOV R7,#10H
    ACALL DELAY
    CLR P1.4
    MOV A,#02H;寫指令
    ACALL SIN

    MOV A,R1;寫入數(shù)據(jù)的開始地址
    ACALL SIN

    MOV A,R0;將 RO 的值寫入地址為 R1的單元
    ACALL SIN

    SETB P1.4
    RET


    ;*******讀出子程序
    ;*R1 要讀出數(shù)據(jù)的地址
    READ: SETB P1.4
    MOV R7,#10H
    ACALL DELAY
    CLR P1.4

    MOV A,#03H;讀指令
    ACALL SIN
    MOV A,R1;讀以 R1 為地址的數(shù)據(jù)
    ACALL SIN

    ACALL SOUT
    MOV R0,A

    SETB P1.4
    RET

    ;*******串行寫入
    SIN: MOV R3,#8
    LOOP1: RLC A
    MOV P1.1,C
    SETB P1.0
    CLR P1.0
    DJNZ R3,LOOP1
    RET
    ;*******串行讀出
    SOUT: MOV R3,#8
    MOV A,#00H
    LOOP2: CLR C
    MOV C,P1.3
    RLC A
    SETB P1.0
    CLR P1.0
    DJNZ R3,LOOP2
    RET
    ;*******延時子程序
    ;*入口參數(shù):R7
    DELAY: MOV R6,#0FFH
    DJNZ R6,$
    DJNZ R7,DELAY
    RET

    END


    關(guān)鍵詞: 2051 X25045 寫入和讀出

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 田阳县| 双城市| 固安县| 保亭| 宿松县| 宁陕县| 罗田县| 靖边县| 泽库县| 太仆寺旗| 秀山| 西宁市| 安新县| 泰安市| 曲沃县| 共和县| 福建省| 晋城| 东安县| 高阳县| 盈江县| 广宗县| 郯城县| 曲周县| 鄂托克旗| 金华市| 盐城市| 建湖县| 石楼县| 芦山县| 天等县| 通州市| 嫩江县| 福泉市| 蒙城县| 那曲县| 溧阳市| 临朐县| 东明县| 乳山市| 绍兴县|