📄 fet110_hc165.s43
字号:
#include "msp430x11x1.h"
;*****************************************************************************
; MSP-FET430x110 Demo - Software SPI Interface with HC165 Shift Register
;
; Description: Read an 'HC165 shift register. /LD is pulsed low to latch
; in parellel data, then 8-bits are shifted out of the HC165 into the MSP430
; stored in register Data (R4).
; ACLK = n/a, MCLK = SMCLK = default DCO ~ 800k
;
; MSP430F1121
; -----------------
; /|\| XIN|-
; | | |
; HC165 --|RST XOUT|-
; ---------- | |
; | /LD|<---|P2.0 |
; ->|A-H CLK|<---|P2.1 |
; |-|INH QH|--->|P2.2 |
; |-|SER | | |
; v
;
#define Data R4
LD equ 001h ; P2.0 LD
CLK equ 002h ; P2.1 Serial clock
QH equ 004h ; P2.2 Data out
;
; M.Buccini
; Texas Instruments, Inc
; January 2002
;*****************************************************************************
;-----------------------------------------------------------------------------
ORG 0F000h ; Program Start
;-----------------------------------------------------------------------------
RESET mov.w #0300h,SP ; Initialize 'x112x stack
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop Watchdog Timer
SetupP2 mov.b #LD,&P2OUT ; /LD set, - P2.x reset
bis.b #LD+CLK,&P2DIR ; /LD and CLK outputs
;
Mainloop call #Read_HC165 ; Data <-- HC165
jmp Mainloop ; Repeat
;
;-----------------------------------------------------------------------------
Read_HC165; Shift data from HC165 --> Data (R4)
;-----------------------------------------------------------------------------
bic.b #LD,&P2OUT ; /LD reset
bis.b #LD,&P2OUT ; /LD set
clr.w Data ;
push.b #08 ; 8 bits to Read - TOS
RX_loop bit.b #QH,&P2IN ; QH --> Carry
rlc.b Data ; Carry --> Data
bis.b #CLK,&P2OUT ; CLK set
bic.b #CLK,&P2OUT ; CLK reset
dec.b 0(SP) ; All 8 bits sent?
jnz RX_loop ;
incd.w SP ; bit counter off stack
ret ; Return from subroutine
;
;-----------------------------------------------------------------------------
; Interrupt Vectors Used MSP430x11x1
;-----------------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -