📄 tlc549.asm
字号:
DOUT BIT P1.1 ;定义I/O口
SCLK BIT P1.0
CS549 BIT P1.2
BUFF_ADIN EQU 30H
ORG 0000H
SETB P1.2
CLR SCLK ;初始化时钟电平
SETB CS549 ;初始化片选信号
LCALL DELAY
LCALL SPIR ;调用SPI总线的模拟读子程序
MOV BUFF_ADIN,A ;保存采样数据
SETB CS549 ;初始化片选信号
LCALL DELAY
LCALL SPIR ;调用SPI总线的模拟读子程序
MOV BUFF_ADIN,A ;保存采样数据
SJMP $
SPIR: CLR CS549 ;选中TLC549
NOP
NOP
NOP
NOP
MOV C,DOUT ;接受第一位数据
RLC A
NOP
NOP
MOV R0,#07 ;置循环次数
SPIIN: SETB SCLK
NOP
NOP
CLR SCLK ;产生有效沿,以便从器件锁存数据
NOP
NOP
MOV C,DOUT ;接受下一位数据(从最高位开始)
RLC A
DJNZ R0,SPIIN ;8位数据未接收完,则继续接收下一位
CLR SCLK
NOP
NOP
SETB SCLK
NOP
NOP
CLR SCLK
SETB CS549 ;结束SPI总线操作,关闭从器件
RET
DELAY: MOV R7,#40 ;延时子程序
DJNZ R7,$
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -