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

📄 fifo_loopback.asm

📁 FT245U169 FIFO Loopback This program transmits data through the FT245BM FIFO data bus to the MSP430
💻 ASM
字号:
;********************************************************************************
;FT245U169 FIFO Loopback
;Version:       0.2
;Written by: 	Troy Harstad
;Written for:	SoftBaugh, Inc.
;Date: 		July 28, 2004
;Description:	This program transmits data through the FT245BM FIFO data bus to the MSP430F169 on Port 4.  
;               The data is decremented and sent back out of Port 4 to to FIFO on the FT245BM.  Use Hyperterminal
;               to send and receive data.  FIFO control lines are on Port2 (P2.0-P2.3).
;             
;               Connect D0-P4.0       D1-P4.1
;                       D2-P4.2       D3-P4.3
;                       D4-P4.4       D5-P4.5
;                       D6-P4.6       D7-P4.7
;                       RD#-P2.0      WR-P2.1
;                       TXE#-P2.2     RXF#-P2.3
;
;********************************************************************************
	
	#include "MSP430x16x.h"
	
ORG 1100h	
RD      equ     001h  ;Output on MSP
WR      equ     002h  ;Output on MSP
TXE     equ     004h  ;Input on MSP
RXF     equ     008h  ;Input on MSP
	
RESET
        mov.w   #0A00h,SP       ; Initialize 'F169 stackpointer
        mov.w   #WDTPW+WDTHOLD,&WDTCTL  ; Stop Watchdog Timer                                       

;Setup LED on P1.0
	bic.b	#BIT0,&P1SEL
	bis.b	#BIT0,&P1DIR
	bic.b	#BIT0,&P1OUT
	
;***********************************************
;Setup FIFO control
;***********************************************
;FIFO 8-bit data bus on port 4
        mov.b   #000h,&P4SEL
        mov.b   #000h,&P4DIR
       
;FIFO Control lines on P2.0-P2.3    
;RD     BIT0  ;Output on MSP
;WR     BIT1  ;Output on MSPd
;TXE    BIT2  ;Input on MSP
;RXF    BIT3  ;Input on MSP

        mov.b   #000h,&P2SEL
        mov.b   #003h,&P2DIR
        mov.b   #002h,&P2OUT
        	
	
;******************************************************************************
; Mainloop
;******************************************************************************
LoopTop
	; Go to sleep
;	bis 	#(CPUOFF+SCG0+SCG1),SR	
;	bic.b	#BIT0,&P1OUT
	
	
CheckRXF
;When RXF goes low there is data in the FT245 FIFO buffer that can be read
;by strobing RD low then high again
      bit.b     #RXF,&P2IN      ;RXF
      jnz       CheckRXF
      ;intentional fall-through
StrobeRD_Low_To_High            ;Allows data to be read
      bic.b     #RD,&P2OUT
      bis.b     #RD,&P2OUT
      bic.b     #RD,&P2OUT
      ;intentional fall-through
ReadDataIN
      xor.b	#BIT0,&P1OUT    ;Toggple LED when data is read into R5
      mov.b     &P4IN,R5        ;Read data bus in
      dec.b     R5              ;Add one to data
      call      #SetupP4_OUT
CheckTXE
      bit.b     #TXE,&P2IN
      jnz       CheckTXE
      mov.b     R5,&P4OUT
StrobeWR_High_To_Low
      bis.b     #WR,&P2OUT
      bic.b     #WR,&P2OUT
      bis.b     #WR,&P2OUT
      call      #SetupP4_IN
      jmp       CheckRXF
      
SetupP4_OUT
      mov.b   #000h,&P4SEL
      mov.b   #0FFh,&P4DIR
      ret
     
SetupP4_IN
      mov.b   #000h,&P4SEL
      mov.b   #000h,&P4DIR
      mov.b   #000h,&P4OUT
      ret

;------------------------------------------------------------------------------ 
;           Interrupt Vectors       
;------------------------------------------------------------------------------ 
            ORG     0FFFEh                  ; MSP430 RESET Vector
            DW      RESET                   ; 
            END     

	.end

⌨️ 快捷键说明

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