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

📄 led3.asm

📁 LPC932的SPI接口应用
💻 ASM
字号:
; 使用LPC932的SPI接口对74HC595进行操作
; 其中使用74HC595的低3位对三色LED进行控制,为0时点亮。
; 使用单主方式,CPOL=1,CPHA=1,即空闲是为SPICLK高电平,且SPICLK在上CS_595

P2M1	DATA	0A4H
P2M2	DATA	0A5H

SPCTL	DATA	0E2H	; SPI设置寄存器
SPSTAT	DATA	0E1H	; SPI状态寄存器
SPDAT	DATA	0E3H	; SPI数据寄存器

CS_595		BIT	P2.4

		ORG	0000H
		AJMP	MAIN

		ORG	0100H
MAIN:		MOV	R7,#0			; 延时
		DJNZ	R7,$
		MOV	P2M1,#00H
		MOV	P2M2,#00H
	
SPI_INI:	MOV	A,#MSTRMODE1+SCPOL	; 设置SPI总线,上升沿有效
		ACALL	SETSPI
SEND_DAT:	
		MOV	R0,#0
		MOV	A,R0
SEND_DL1:	MOV	DPTR,#SENDDAT
		MOVC	A,@A+DPTR
		CLR	CS_595
		ACALL	MSEND_DAT		; 子程序中不能改R0
		SETB	CS_595
		INC	R0
		MOV	A,R0
		ACALL	DELAYS			; 子程序中不能改R0
		CJNE	A,#8,SEND_DL1
		SJMP	SEND_DAT

SENDDAT:  DB  00H,01H,02H,04H,03H,05H,06H,07H

 
; 延时函数
DELAYS:		
		MOV	R7,#100
DELAYS_L1:	MOV	R6,#0
DELAYS_L2:	MOV	R5,#0
		DJNZ	R5,$
		DJNZ	R6,DELAYS_L2
		DJNZ	R7,DELAYS_L1
		RET

$INCLUDE (LPC932SPI.INC)

		END
		


⌨️ 快捷键说明

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