?? spitopll.asm
字號:
/*********************************************************************
* 版權所有 (C)2005, 深圳市中興通訊股份有限公司。
*
* 文件名稱: // SPITOPLL.asm
* 文件標識: // 見配置管理計劃書
* 內容摘要: // 簡要描述本文件的內容,包括主要模塊、函數及其功能的說明
* 其它說明: // 其它內容的說明
* 當前版本: // 輸入當前版本
* 作 者: // 輸入作者名字及單位
* 完成日期: // 輸入完成日期,例:2000年2月25日
*
* 修改記錄1:// 修改歷史記錄,包括修改日期、修改者及修改內容
* 修改日期:
* 版 本 號:
* 修 改 人:
* 修改內容:
* 修改記錄2:…
**********************************************************************/
sbit SENB = P3^3
sbit SDATA = P3^4
sbit SCLK = P3^5
PUBLIC _SPITOPLL
SPITOPLL_ROUTINES SEGMENT CODE
RSEG SPITOPLL_ROUTINES
/**************************************************************************
* 函數名稱: SPITOPLL(unsigned float ucSendData)
* 功能描述: SPI輸出(可以設定輸出的位數)
* 輸入參數: R7——ucData-L,R6——ucData-M,R5——ucData-H
* 輸出參數:
* 返 回 值:
* 其它說明:
* 修改日期 版本號 修改人 修改內容
* -----------------------------------------------
* 07/05/2005 V1.0 XXXX XXXX
**************************************************************************/
_SPITOPLL:
SETB SENB
NOP
CLR SENB
CLR SDATA
CLR SCLK
MOV A,#8 ;置循環次數
MOV R1,A
MOV A,R5 ;發送高位字節
SPIOUTPLLS1:
NOP ;延時
NOP
NOP
NOP
NOP
CLR SCLK
NOP ;延時
NOP
NOP
NOP
NOP
NOP
RLC A ;從機輸出SPISO送進位
MOV SDATA,C ;進位C送從機輸入
NOP ;延時
NOP
NOP
NOP
NOP
NOP
SETB SCLK
NOP ;延時
NOP
NOP
NOP
NOP
NOP
DJNZ R1,SPIOUTPLLS1 ;判是否循環結束
MOV A,#8 ;置循環次數
MOV R1,A
MOV A,R6 ;發送中位字節
SPIOUTPLLS2:
NOP ;延時
NOP
NOP
NOP
NOP
CLR SCLK
NOP ;延時
NOP
NOP
NOP
NOP
NOP
RLC A ;從機輸出SPISO送進位
MOV SDATA,C ;進位C送從機輸入
NOP ;延時
NOP
NOP
NOP
NOP
SETB SCLK
NOP ;延時
NOP
NOP
NOP
NOP
NOP
DJNZ R1,SPIOUTPLLS2 ;判是否循環結束
MOV A,#8 ;置循環次數
MOV R1,A
MOV A,R7 ;發送低位字節
SPIOUTPLLS3:
NOP ;延時
NOP
NOP
NOP
NOP
CLR SCLK
NOP ;延時
NOP
NOP
NOP
NOP
NOP
RLC A ;從機輸出SPISO送進位
MOV SDATA,C ;進位C送從機輸入
NOP ;延時
NOP
NOP
NOP
NOP
NOP
SETB SCLK
NOP ;延時
NOP
NOP
NOP
NOP
NOP
DJNZ R1,SPIOUTPLLS3 ;判是否循環結束
CLR SCLK
CLR SDATA
NOP
SETB SENB
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CLR SENB
CLR SCLK
CLR SDATA
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -