?? led3.asm.bak
字號:
; 使用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設(shè)置寄存器
SPSTAT DATA 0E1H ; SPI狀態(tài)寄存器
SPDAT DATA 0E3H ; SPI數(shù)據(jù)寄存器
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 ; 設(shè)置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
; 延時函數(shù)
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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -