da5615.asm

来自「含有大量的单片机代码」· 汇编 代码 · 共 33 行

ASM
33
字号


SPI_CLK  bit   P3.6;
SPI_DATA bit   P3.7;
CS_DA    bit   P2.5;
;SPI_CLK  bit   P3.5;
;SPI_DATA bit   P3.3;
;CS_DA    bit   P3.4;
public _da5615   ;extern void da5615(uint);
de segment code ; 编译自动重定位
rseg de
_da5615:
CLR  CS_DA            ;片选有效 
MOV  R2,#4          ;将要送入的前四位数据位数 
MOV  A,R6            ;前四位数据送累加器低四位 
SWAP A                ;A中高四位与低四位互换 
LCALL WR?data         ;DIN输入前四位数据 
MOV  R2,#8          ;将要送入的后八位数据位数 
MOV  A,R7            ;八位数据送入累加器A 
LCALL WR?data         ;DIN输入后八位数据 
SETB CS_DA            ;片选高电平,输入的12位数据有效 
setb spi_data
ret
;送数子程序如下: 
WR?data:
     NOP              ;空操作 
LOOP:CLR  SPI_CLK     ;时钟高电平 
     RLC  A           ;数据送入位标志位CY
     MOV  SPI_DATA,C ;数据输入有效
     SETB SPI_CLK     ;时钟低电平 
     DJNZ R2,LOOP         ;循环送数
     RET              ;返回 
end

⌨️ 快捷键说明

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