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

📄 dacs.asm

📁 代码保护功能处于持续发展中。Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏Microchip 代码保护功能的行为均可视 为违反了《数字器件千年版权法案(Digital Mille
💻 ASM
字号:
;***************************************************
;	DACS.ASM	MPB	11-2-06
;
;	Test program for parallel 
;	and serial D/A Converters
;	DAC0808 & MCP4921
;	
;	Proteus simulation DACS.DSN
;
;***************************************************

	PROCESSOR 16F877A
	INCLUDE "P16F877A.INC"
	__CONFIG 0X3731

Hibyte	EQU	020	; SPI data high byte
Lobyte	EQU	021	; SPI data low byte

	ORG 0		; Load at default range
	NOP		; for ICD operations

; Initialise parallel and serial ports -------------

	BANKSEL	TRISD
	CLRF	TRISD		; Parallel port
	BCF	TRISC,5		; Serial data
	BCF	TRISC,3		; Serial clock
	BCF	TRISC,0		; Chip select
	CLRF	SSPSTAT		; default SPI mode

	BANKSEL	PORTD
	CLRF	PORTD		; zero PDAC
	CLRF	SSPCON		; default SPI mode

	MOVLW	B'00111001'	; Initial SDAC data
	MOVWF	Hibyte		; and store
	MOVLW	B'11111111'	
	MOVWF	Lobyte

; Check buttons ------------------------------------

up	BTFSC	PORTB,1		; Test UP button
	GOTO	down		; and jump if off
	INCF	PORTD		; Increment PDAC
	INCF	Hibyte		; Increment SDAC
waitup	BTFSS	PORTB,1		; Wait for..
	GOTO	waitup		; button release

down	BTFSC	PORTB,2		; Test DOWN button
	GOTO	spi		; and jump if off
	DECF	PORTD		; Decrement PDAC
	DECF	Hibyte		; Decrement SDAC
waitdo	BTFSS	PORTB,2		; Wait for..
	GOTO	waitdo		; button release

; Send 16-bit data to SDAC via SPI port ------------

spi	BSF	SSPCON,SSPEN	; Enable SPI port

	BCF	PORTC,0		; Enable SDAC chip
	MOVF	Hibyte,W	; Get high data
	MOVWF	SSPBUF		; and send it
waithi	BTFSS	PIR1,SSPIF	; Wait for..
	GOTO	waithi		; SPI interrupt
	BCF	PIR1,SSPIF	; Reset interrupt

	MOVF	Lobyte,W	; Get low data
	MOVWF	SSPBUF		; and send it
waitlo	BTFSS	PIR1,SSPIF	; Wait for..
	GOTO	waitlo		; SPI interrupt
	BCF	PIR1,SSPIF	; Reset interrupt

	BSF	PORTC,0		; Disable SDAC chip

; Run output loop until reset ---------------------

	BTFSC	PORTB,0		; Test run button
	GOTO	up		; and repeat loop

run	INCF	PORTD		; Increment PDAC
	GOTO	run

	END ;---------------------------------------

⌨️ 快捷键说明

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