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

📄 spim.asm

📁 代码保护功能处于持续发展中。Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏Microchip 代码保护功能的行为均可视 为违反了《数字器件千年版权法案(Digital Mille
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;	SPIM.ASM	MPB	Ver:1.0		13-9-05
;...............................................................
;
;	SPI Master program
;	
;	Outputs clock to slave transmitter, receives BCD data 
;	and sends it to slave receiver for display
;	
;	
;	
;	
;	
;	
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	PROCESSOR 16F877	; define MPU
	__CONFIG 0x3731		; XT clock (4MHz)

;	LABEL EQUATES	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	INCLUDE "P16F877.INC"	; Standard register labels 

Store	EQU	020

; Initialise ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	ORG	0		; Place machine code 
	NOP			; Required for ICD mode

	BANKSEL	TRISC		
	BCF	TRISC,5		; Serial data (SDO) output
	BCF	TRISC,3		; Serial clock (SCK) output
	BCF	TRISC,0		; Slave select (SS) output

	CLRW	SSPSTAT		; Default clock timing

	BANKSEL	PORTD
	BSF	PORTC,0		; Reset slave transmitter
	CLRF	SSPCON		; SPI master mode, clock = 1MHz


; MAIN LOOP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	
	BSF	SSPCON,SSPEN	; Enable SPI mode
again	BCF	PORTC,0		; Enable slave transmitter

	MOVWF	SSPBUF		; Rewrite buffer to start clock
waitin	BTFSS	PIR1,SSPIF	; wait for SPI interrupt
	GOTO	waitin		; for data recieved

	BCF	PIR1,SSPIF	; clear interrupt flag
	MOVF	SSPBUF,W	; read SPI buffer
	MOVWF	Store		; store BCD value

	BSF	PORTC,0		; Disable slave transmitter
	MOVWF	SSPBUF		; Reload SPI buffer

waits	BTFSS	PIR1,SSPIF	; wait for SPI interrupt
	GOTO	waits		; for data sent
	BCF	PIR1,SSPIF	; clear interrupt flag

	GOTO	again		; repeat main loop



	END 	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

⌨️ 快捷键说明

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