⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lpc900sspi.inc

📁 MFRC522 单片机读写程序
💻 INC
字号:
/**************************************Copyright (c)*************************************
**                              广州周立功单片机发展有限公司
**                                    研    究    所
**                                       产品一部 
**
**                                http://www.zlgmcu.com
**
**--------------文件信息-----------------------------------------------------------------
** 文 件 名:    LPC900SSPI.inc
** 文件描述:    读卡模块I/O口操作函数(模拟SPI总线)
** 版    本:    
** 创 建 人:	
** 创建日期:	
** 最后修改日期:
**=======================================================================================
**-----------------修改记录--------------------------------------------------------------
** 修改内容:    
** 当前版本:
** 修 改 人:    曾本森
** 修改日期:
** 注    意: 
**---------------------------------------------------------------------------------------
****************************************************************************************/
$IF( __LPC900SSPI_INC__ == 0)
    $SET ( __LPC900SSPI_INC__ )
;========================================================================================
;    $include (Reg922.inc)
    P0        DATA     080H
    P1        DATA     090H
    P2        DATA     0A0H
    P3        DATA     0B0H

    MF_NSS    bit      P0.0                ;
    MF_MOSI   bit      P0.1                ;
    MF_MISO   bit      P0.2                ;
    MF_SCK    bit      P0.3                ;
;========================================================================================
    FIFOAddr    EQU     09H                 ; FIFO的地址
;====================== 声明宏 ==========================================================
LPC900SSPI_EXT   MACRO   Type,String1,String2
        IF  NUL     Type
            __ERROR__   "Lost First Parameter ,Please input!"
            EXITM
        ENDIF
        IF  NUL     String1
            __ERROR__   "Lost Second Parameter ,Please input!"
            EXITM
        ENDIF

        $IF ( LPC900SSPI_GLOBALS )
            IF  NUL     String2
                Public  String1
            ELSE
                Public  String1,String2
            ENDIF
        $ELSE
            IF  NUL     String2
                Extrn Type  ( String1 )
            ELSE
                Extrn Type  ( String1,String2 )
            ENDIF
        $ENDIF
    ENDM
;====================== 全局变量 ========================================================
;****************************************************************************************
;** 函数原型:    void SPI_Init()
;** 函数功能:    SPI 初始化
;** 入口参数:    -
;** 出口参数:    -
;** 返 回 值:    -
;** 说    明:    模拟SPI接口不需要初始化,但需要保留以兼容硬件SPI
;****************************************************************************************
    LPC900SSPI_EXT  code,SPI_Init,_SPI_Init

;****************************************************************************************
;** 函数原型:    void RcSetReg(unsigned char RegAddr, unsigned char RegVal)
;** 函数功能:    向SPI从机写入数据
;** 入口参数:    unsigned char RegAddr(R7)       ; 从机地址
;**              unsigned char RegVal(R5)        ; 写入的值
;** 出口参数:    -
;** 返 回 值:    -  
;****************************************************************************************
    LPC900SSPI_EXT  code,RcSetReg,_RcSetReg

;****************************************************************************************
;** 函数原型:   unsigned char RcGetReg(unsigned char RegAddr)
;** 函数功能:   从SPI从机指定的地址读出数据
;** 入口参数:   unsigned char RegAddr       ; 从机地址
;** 出口参数:   -
;** 返 回 值:   读出的值   
;****************************************************************************************
    LPC900SSPI_EXT  code,RcGetReg,_RcGetReg

;****************************************************************************************
;** 函数原型:   void RcModifyReg(unsigned char RegAddr, unsigned char ModifyVal, 
;**                               unsigned char MaskByte)
;** 函数功能:   修改SPI从机中指定地址的位
;** 入口参数:   unsigned char RegAddr       ; 从机地址
;**             unsigned char ModifyVal     ; 修改模式(置位/清位)
;**             unsigned char MaskByte      ; 修改的位(置1有效)
;** 出口参数:   -
;** 返 回 值:   -   
;****************************************************************************************/
    LPC900SSPI_EXT  code,RcModifyReg,_RcModifyReg

;****************************************************************************************
;** 函数原型:   void ReadFIFO(unsigned char idata *DataBfr,unsigned char Len)
;** 函数功能:   读FIFO中的数据
;** 入口参数:   unsigned char Len(R5)       ; 读出的字节数
;** 出口参数:   unsigned char idata *DataBfr; 读出的数据
;** 返 回 值:   -  
;****************************************************************************************
    LPC900SSPI_EXT  code,ReadFIFO,_ReadFIFO

;****************************************************************************************
;** 函数原型:    void ReadFIFO(unsigned char idata *DataBfr,unsigned char Len)
;** 函数功能:    向FIFO中写入数据
;** 入口参数:    unsigned char idata *DataBfr; 写入的数据
;**              unsigned char Len           ; 写入的字节数
;** 出口参数:    
;** 返 回 值:    -
;** 描   述:    
;****************************************************************************************
    LPC900SSPI_EXT  code,WriteFIFO,_WriteFIFO

;========================================================================================
$ENDIF              ; __LPC900SSPI_INC__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -