maoyuankun12 发表于 2009-3-3 11:42:47

[原创] X5045读写演示程序

;********************************************************************************
;*                                                                              *
;*    File       : wl008.asm                                                    *
;*    Date       : 2004-1-5                                                   *
;*    Version    : 1.0                                                          *
;*                                                                              *
;*    Author   : Freeman               myb33695@163.com                     *
;*    Company    : Willar            http://shop35991384.taobao.com                               *
                                  *
;*                                                                              *
;********************************************************************************
;*    Descriptoon:                                                            *
;*               X5045读写演示程序                                          *
;*                                                                              *
;*                                                                              *
;*                                                                              *
;********************************************************************************
NAME    WL008

CODE_SEG      SEGMENT CODE
;DATA_SEG       SEGMENT DATA
STACK_SEG       SEGMENT IDATA

CS      BIT   P1.4
SI      BIT   P1.2
SCK   BIT   P1.0
SO      BIT   P1.3

WREN_INST       EQU   06H             ; 写入使能指令(WREN)
WRDI_INST       EQU   04H             ; 写入禁止指令(WRDI)
WRSR_INST       EQU   01H             ; 写入状态寄存器指令(WRSR)
RDSR_INST       EQU   05H             ; 读取状态寄存器指令(RDSR)
WRITE_INST      EQU   02H             ; 写入存储器指令(WRITE)
READ_INST       EQU   03H             ; 读取存储器指令(READ)

BYTE_ADDR       EQU   55H             ; 字节模式写入地址
BYTE_DATA       EQU   11H             ; 字节模式写入数据
PAGE_ADDR       EQU   1F0H            ; 页写入模式地址
PAGE_DATA1      EQU   22H             ; 页模式写入第一个示
PAGE_DATA2      EQU   33H             ; 页模式写入第二个示
PAGE_DATA3      EQU   44H             ; 页模式写入第雀鍪据

STATUS_REG      EQU   00H             ; 要写入到状态寄存器的值

MAX_POLL      EQU   99H             ; 最大查询次数


      RSEG    STACK_SEG
STACK:          DS      20

;******************************************************************************************
;*      CODE
;******************************************************************************************
      CSEG    AT      0000H         ; 复位向量
      LJMP    MAIN

                                                

      RSEG    CODE_SEG
MAIN:
      MOV   SP,#(STACK-1)         ; 初始化栈指针
      CLR   EA                      ;

      SETB        SO                              ; 初始化I/O口
      CLR        SI
      CLR        SCK
      SETB        CS
      LCALL   WREN_CMD                ; 使能写入
      LCALL   WRSR_CMD                ; 写入00H到状态寄存器
      LCALL   WREN_CMD                ; 使能写入
      LCALL   BYTE_WRITE            ; 写入11H到地址55H (字节写入)
      LCALL   BYTE_READ               ; 读取地址55H处的数据(字节读取)
      LCALL   WREN_CMD                ; 使能写入
      LCALL   PAGE_WRITE            ; 页写入22H/33H/44H到地址1F0/1F1/1F2H
      LCALL   SEQU_READ               ; 连续读取地址1F0/1F1/1F2H
      LCALL   RST_WDOG                ; 清除看门狗
        LCALL        WRDI_CMD                ; 写入禁止指令
      
      SETB        CS
MAIN_LP:
      SJMP    MAIN_LP
;******************************************************************************************
;* WREN_CMD: 写入使能指令
;* 传入参数: 无
;* 返回值: 无
;******************************************************************************************
WREN_CMD:
      CLR   SCK
      CLR   CS
      MOV   A, #WREN_INST
      LCALL   OUTBYT   
页: [1]
查看完整版本: [原创] X5045读写演示程序