亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ade6.asm

?? 用PIC單片機18F6520+ADE7755實現的一個大安培、鋰離子電池的化程器。全部源碼
?? ASM
字號:


;---------------------------------------------------------
;
;start read of spi port of X bit reg defined by wordlen 
;INPUT:		spi:	存放將寫入通信寄存器的值()
;				  W/R 0 0 A4 A3 A2 A1 A0, bit7(w/r)=0:read
;		wordlen:bit0,bit1,bit2=1,bit3=1,bit4=1分別表示8字節,16字節,24字節,32字節,40字節
;
;OUTPUT:	insd3,insd2,insd1

;----------------------------------------------------------


SPIRX: 
	
		bsf   	STATUS,RP0    	; set to bank 1
		bcf	SSPSTAT,BF	; clear buffer full flag 	  	
		bcf   	STATUS,RP0  	; set to bank 0
		movf	spi,w		; spi control word (first 8 bits)
		bcf 	csb		; set  to 0 /cs pin
		movwf	SSPBUF		; 控制字寫入通信寄存器

		bsf   	STATUS,RP0    	; set to bank 1
LOOPSPI:
		btfss	SSPSTAT,BF	; wait for completion
		GOTO	LOOPSPI		; wait for output buffer empty 
		bcf	STATUS,RP0    	; set to bank 0

;8個時鐘脈沖之后,時鐘停頓,再次寫入SSPBUF才能重啟時鐘

		clrf	insd1		; clear input data registers 
		clrf	insd2
		clrf	insd3
		btfsc	wordlen,2	; input 24 bits if set 3 bytes
		GOTO	bit24
		btfsc	wordlen,1	; input 16 bits if set 2 bytes
		GOTO	bit16
		btfsc	wordlen,0	; input 8 bits if set 1 bytes
		GOTO	bit8


bit24:
	bsf	STATUS,RP0    	; set to bank 1
	bcf	SSPSTAT,BF	; clear buffer full flag
	bcf   	STATUS,RP0    	; set to bank 0
	movf	H'0',W		; lower eight bits
	movwf	SSPBUF	
	bsf   	STATUS,RP0    	; set to bank 1
LOOP24:
	btfss	SSPSTAT,BF	; wait for completion
	GOTO	LOOP24
	bcf   	STATUS,RP0    	; set to bank 0
	movf	SSPBUF,w	; 通過讀SSPBUF自動清 BF標志
	movwf	insd3

bit16:
	bsf   	STATUS,RP0    	; set to bank 1
	bcf	SSPSTAT,BF	; clear buffer full flag
	bcf   	STATUS,RP0    	; set to bank 0
	movf	H'0',W		; lower eight bits
	movwf	SSPBUF	
	bsf   	STATUS,RP0    	; set to bank 1
LOOP16:	
	btfss	SSPSTAT,BF	; wait for completion
	GOTO	LOOP16
	bcf   	STATUS,RP0    	; set to bank 0	
	movf	SSPBUF,w
	movwf	insd2

 
bit8:
		bsf   	STATUS,RP0    	; set to bank 1
		bcf	SSPSTAT,BF	; clear buffer full flag
		bcf   	STATUS,RP0    	; set to bank 0
		movf	H'0',W		; lower eight bits,主機發送的其實是“啞”數據,目的是給出時鐘脈沖,
				; 讓7756的數據進入SSPBUF
		movwf	SSPBUF	
		bsf   	STATUS,RP0    	; set to bank 1
LOOP8:
		btfss	SSPSTAT,BF	; wait for completion
		GOTO	LOOP8
		bcf   	STATUS,RP0    	; set to bank 0 
		movf	SSPBUF,w
		movwf	insd1
		bsf	csb		; set /cs to 1

		RETURN

;-----------------------------------------------------------
;
;	This routine writes to the 7756 spi control 
;	control data (first 8 bits before data read or write)
; 
;	OUTPUT 8 BIT SPI CONTROL AND 8 OR 16 BIT DATA 
;	34us FOR 8+16 BIT AND 26us FOR 8+8 BIT 
;-------------------------------------------------------------------


SPIDX:
	bcf 	csb		; set  to 0 /cs pin
	nop
	bsf   STATUS,RP0    ; set to bank 1
	bcf	SSPSTAT,BF	; clear buffer full flag 	  	
	bcf   STATUS,RP0    ; set to bank 0
	movf	spi,w
	movwf	SSPBUF		; 控制字寫入通信寄存器
 	
	bsf   STATUS,RP0    ; set to bank 1
TXLOOP1:
	btfss	SSPSTAT,BF	; wait for completion
	GOTO	TXLOOP1
;------------------------end spi control write---------------------- 
 
;------------------------start of data------------------------------
	bsf     STATUS,RP0  ; set to bank 1
	bcf	SSPSTAT,BF	; clear buffer full flag
	bcf     STATUS,RP0  ; set to bank 0
	btfsc	wordlen,3	; test for 8(00001000B) or 16 bits 
	GOTO	eight	  	
	movf	outd2,w		; upper eight bits 注: 移入串行端口DIN的第一個字節被傳送至目標寄存器的最高有效字節
				;		       ; 參見ADE7756手冊Page27 Line 2
	movwf	SSPBUF		; move word to buffer 

	bsf     STATUS,RP0  	; set to bank 1
TXLOOP2:
	btfss	SSPSTAT,BF	; wait for completion
	GOTO	TXLOOP2

eight:	 
	bsf     STATUS,RP0  	; set to bank 1
	bcf	SSPSTAT,BF	; clear buffer full flag
	bcf     STATUS,RP0  	; set to bank 01
	movf	outd1,w		; lower eight bits
	movwf	SSPBUF	

	bsf     STATUS,RP0  	; set to bank 1
TXLOOP3:
	btfss	SSPSTAT,BF	; wait for completion
	GOTO	TXLOOP3
	bcf 	STATUS,RP0

	nop
	bsf	csb		; set /cs to 1

	RETURN


;-----------------end spi control and data (x) out--------------------



;------------------- Read Waveform register--------------------------------
;	The clock frequency of the ADE7756 is 3.579545 MHz.
;	With this frequency,the sampling periods available
;	through the ADE7756 are 35.7 μs,71.5 μs,143 μs,and
;	286 μs.As the microcontroller needs more time to do
;	the signal processing,the lowest sampling rate is used
;	for the ADE7756 and the samples are read with a deci-
;	mation factor of 2.The actual sampling rate for the
;	samples used in the digital signal processing is then
;	CLKIN/2048,which represents approximately 1.748 kHz.

;-----------------This initializes the part as a power meter------------------------------------------------	
; 	156us for 8bit control and 16 bit data, 112us for 8bit control and 8 bit out   	 
; 	RECALL 7756 SETTINGS FROM EEPROM 

KWH:
;----------    clear some unused REG  -------------------------------------------------------------
;		clrf	outd1
;		clrf	outd2

;		movlw	ADDR_CFDIV
;		iorlw	H'80'
;		movwf	spi		; call spi control write to gain reg
;		movlw	D'16'		; number of bits
;		movwf	wordlen
;		CALL	SPIDX		; output outd1 to 7756

;		movlw	ADDR_ZXTOUT
;		iorlw	H'80'
;		movwf	spi		; call spi control write to gain reg
;		movlw	D'16'		; number of bits
;		movwf	wordlen
;		CALL	SPIDX		; output outd1 to 7756

;		movlw	ADDR_SAGCYC
;		iorlw	H'80'
;		movwf	spi		; call spi control write to gain reg
;		movlw	D'8'		; number of bits
;		movwf	wordlen
;		CALL	SPIDX		; output outd1 to 7756

;------------------------------mode write-------------------------------------------------------------

		movlw	low MODE_INIT
		movwf	outd1		; lower eight bits
		movlw	high MODE_INIT
		movwf	outd2		; higher eight bits
		call	WriteMODE
		bcf	Mode_0CH1_1CH2
;;; >>>
;		movlw	B'00000110'	;
;		movwf	spi		; output to spi read active energy and reset 
;		movlw	b'00000010'	; number of bytes to download B'000(5)(4)(3)(2)(1)' 
;		movwf	wordlen		; wordlen is 24 bits. reg is actually 24 bits
;		CALL	SPIRX		; CALL SPI read 24 bit word data will be in 
;;; <<<
;------------------------------gain write-------------------------------------------------------------

		movlw	GAIN_INIT
		movwf	outd1

		movlw	B'10001010'	; command to write to gain register 
		movwf	spi		; call spi control write to gain reg
		movlw	D'8'		; number of bits
		movwf	wordlen
		CALL	SPIDX		; output outd1 to 7756
;----------------------------  mask  write  ----------------------------------------------------------

		movlw	IRQEN_INIT
		movwf	outd1		; lower eight bits
		movlw	B'10010000'	; command to write to mode register 
		movwf	spi		; call spi control write to mode reg
		movlw	D'8'		; number of bits
		movwf	wordlen
		CALL	SPIDX		; output outd1 and outd2 to 7756
;------------------------------icoef---------------------------------------------------------------------
		I2C_READ_SUB    0x01, outd1, AT_CH1OS
;
		movlw	B'10001000'	; command to write to ch1os register(通道1失調校正寄存器) 
		movwf	spi		; call spi control write to ch1os reg
		movlw	D'8'		; number of bits
		movwf	wordlen
		CALL	SPIDX		; output outd1 to 7756 

;------------------------------ch2os read-------------------------------------------------------------
		I2C_READ_SUB    0x01, outd1, AT_CH2OS

		movlw	B'10001001'	; command to write to ch2os register 
		movwf	spi		; call spi control write to ch2os reg
		movlw	D'8'		; number of bits
		movwf	wordlen
		CALL	SPIDX		; output outd1 to 7756

;------------------------------apgain read--------------------------------------------------------------------
		I2C_READ_SUB    0x02, outd1, AT_APGAIN
		nop
		movf	outd1,W
		bsf	_BANK1
		movwf	APGAIN1_LOW
;;;
	movwf	APGAIN2_LOW	;測試CH2若有APGAIN會否波動
		bcf	_BANK1
		movf	outd2,W
		bsf	_BANK1
		movwf	APGAIN1_HI
;;;
	movwf	APGAIN2_HI	;測試CH2若有APGAIN會否波動
		bcf	_BANK1
		
		call	W_APGain

		RETURN
;-------------------------------------------------------------------------------------------------------------
START:
	
		btfss	insd3,7	; test sign bit if neg compliment and add 1 to get absolute value
		GOTO 	POSITIVE	; in not negative skip to truncate to 16 bit 

		comf	insd3,F	; compliment 
		comf	insd2,F
		comf	insd1,F

				; add one 
		bcf	STATUS,C	; clear carry
		movlw	D'1'
		addwf	insd1,F
		btfss	STATUS,C
		GOTO 	POSITIVE
		bcf	STATUS,C	; clear carry
		movlw	D'1'
		addwf	insd2,F
		btfss	STATUS,C
		GOTO 	POSITIVE
		bcf	STATUS,C	; clear carry
		movlw	D'1'	 
		addwf	insd3,F

POSITIVE:
		RETURN	


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成a人片亚洲日本久久| 日韩欧美一二三区| 欧美电影免费观看高清完整版在| 久久久久久久久久久99999| 亚洲免费色视频| 国产精品一卡二卡| 91精品欧美久久久久久动漫| 亚洲欧洲美洲综合色网| 久久国产精品72免费观看| 欧洲一区在线电影| 国产精品久久久久永久免费观看 | 岛国精品在线观看| 欧美一区二区视频在线观看2020| 国产精品久久久久永久免费观看 | 亚洲一卡二卡三卡四卡无卡久久| 国产一区二区视频在线| 91精品在线观看入口| 亚洲综合在线观看视频| av中文一区二区三区| 国产人伦精品一区二区| 国内精品久久久久影院色| 欧美精品久久久久久久久老牛影院| 亚洲欧洲av色图| 成人av网在线| 欧美国产激情二区三区 | 国产999精品久久| 久久久久99精品一区| 国内偷窥港台综合视频在线播放| 日韩一区二区三| 日本午夜精品视频在线观看| 欧美日韩亚洲丝袜制服| 一区二区三区不卡在线观看 | 在线观看视频一区二区欧美日韩| 成人欧美一区二区三区小说| 成a人片国产精品| 国产精品精品国产色婷婷| 成人免费看片app下载| 国产清纯在线一区二区www| 国产一区999| 欧美韩国日本一区| 大陆成人av片| 亚洲另类在线制服丝袜| 欧美性欧美巨大黑白大战| 亚洲最大成人综合| 91精品国产欧美一区二区| 麻豆freexxxx性91精品| 精品国产a毛片| 国产91在线观看| 亚洲欧美日韩人成在线播放| 欧美日韩精品一二三区| 麻豆精品一区二区三区| 国产日产亚洲精品系列| 色综合久久综合网欧美综合网| 亚洲一区二区五区| 日韩一区二区精品| 国产99一区视频免费| 亚洲精品欧美二区三区中文字幕| 欧美日本免费一区二区三区| 另类专区欧美蜜桃臀第一页| 国产精品丝袜一区| 欧美性大战久久久久久久蜜臀 | 911精品国产一区二区在线| 美女视频一区二区三区| 国产欧美精品一区二区三区四区| 99精品一区二区三区| 天天爽夜夜爽夜夜爽精品视频 | 在线电影院国产精品| 黄网站免费久久| 亚洲精品免费在线| 精品成人一区二区三区四区| 91在线观看下载| 麻豆91在线看| 亚洲综合在线五月| 国产无遮挡一区二区三区毛片日本| 色婷婷国产精品| 精品无人码麻豆乱码1区2区| 亚洲日本欧美天堂| 久久亚洲一级片| 欧美日韩免费观看一区三区| 国产高清精品久久久久| 亚洲成a人片在线不卡一二三区| 久久久五月婷婷| 欧美高清视频www夜色资源网| 成人激情黄色小说| 精品一区二区av| 午夜精品久久久久| 亚洲欧美日韩国产一区二区三区 | 欧美少妇xxx| av激情亚洲男人天堂| 麻豆一区二区三| 亚洲成人在线观看视频| 亚洲欧美一区二区三区久本道91 | 欧美男生操女生| 99视频热这里只有精品免费| 加勒比av一区二区| 日韩黄色一级片| 亚洲综合一二三区| 亚洲免费观看高清完整版在线| 久久久不卡网国产精品一区| 欧美一区二区三区影视| 91成人国产精品| 97久久超碰国产精品| 成人午夜在线视频| 粉嫩av一区二区三区在线播放| 韩国成人福利片在线播放| 另类小说图片综合网| 人人精品人人爱| 日韩中文字幕区一区有砖一区| 亚洲福利视频一区二区| 亚洲一二三四久久| 亚洲图片一区二区| 亚洲一区中文在线| 亚洲网友自拍偷拍| 午夜伊人狠狠久久| 日韩精品一卡二卡三卡四卡无卡| 亚洲一级在线观看| 亚洲国产精品天堂| 亚洲成人动漫精品| 日韩精品一二三四| 狠狠色丁香九九婷婷综合五月| 久久国产欧美日韩精品| 九九精品一区二区| 国产美女在线精品| 成人黄色在线视频| 91在线观看美女| 欧美日韩国产另类一区| 91精品在线麻豆| 精品国产第一区二区三区观看体验| 337p粉嫩大胆色噜噜噜噜亚洲| 精品毛片乱码1区2区3区| 久久综合九色综合97婷婷 | 日韩欧美国产一区二区三区| 精品国产凹凸成av人导航| 国产女人aaa级久久久级| 国产精品国产三级国产aⅴ中文 | 成人国产电影网| 91麻豆福利精品推荐| 欧洲国产伦久久久久久久| 欧美疯狂做受xxxx富婆| 精品国产凹凸成av人导航| 国产精品国产自产拍高清av | 中文字幕亚洲一区二区va在线| 亚洲美女一区二区三区| 偷拍一区二区三区| 韩国精品在线观看| 91丨九色porny丨蝌蚪| 69精品人人人人| 日本一二三不卡| 亚洲va欧美va人人爽午夜| 国内精品视频666| 日本韩国欧美三级| 精品人在线二区三区| 亚洲精品免费在线播放| 久久电影网电视剧免费观看| 91在线porny国产在线看| 欧美一区二区三区四区视频| 国产精品家庭影院| 麻豆国产欧美日韩综合精品二区| av成人免费在线观看| 日韩欧美中文一区二区| 亚洲免费在线视频一区 二区| 精品在线播放免费| 欧美日韩美少妇| 国产精品久久久久一区二区三区共| 舔着乳尖日韩一区| 色av综合在线| 久久精品亚洲国产奇米99| 首页综合国产亚洲丝袜| av成人动漫在线观看| 精品国产凹凸成av人导航| 午夜精品久久久久久久久久| 99久久精品免费精品国产| 久久午夜免费电影| 日本女人一区二区三区| 91久久精品网| 亚洲欧洲另类国产综合| 国产伦理精品不卡| 日韩精品中文字幕在线一区| 亚洲一区在线视频观看| 91麻豆精东视频| ...xxx性欧美| 成人久久久精品乱码一区二区三区| 日韩欧美国产三级电影视频| 五月天国产精品| 欧美天堂一区二区三区| 亚洲男人的天堂av| av中文一区二区三区| 中文天堂在线一区| 国产乱码精品1区2区3区| 精品久久久久久久久久久久包黑料| 亚洲午夜av在线| 精品视频1区2区3区| 亚洲综合色在线| 欧美吻胸吃奶大尺度电影 | 国产精品美女一区二区| 国产精品系列在线观看| 久久午夜羞羞影院免费观看| 国内国产精品久久| 久久综合成人精品亚洲另类欧美| 激情图片小说一区|