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

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

?? cmd6.asm

?? 用PIC單片機18F6520+ADE7755實現的一個大安培、鋰離子電池的化程器。全部源碼
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
		movlw	D'5'
		movwf	SBL
		goto	PRE_DELAY


W_CHxOS:		
		movf	TEMP,W		; command to write to chXos 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 
		return

; -----------------------------------------------------------------------------------
; 通過調整APGAIN來校準通道1
; 給10A電流,應讀出波形值 01020CH
CorrectCH1:
;;;not complete
		movlw	D'4'
		movwf	SBL
		goto	PRE_DELAY
		
ReadAPGain:
		movlw	B'00001011'	; command to read apgain register 
		movwf	spi		; call spi control read apgain reg
		movlw	b'00000010'	; number of bytes to download B'000(5)(4)(3)(2)(1)' 
		movwf	wordlen		; wordlen is 16 bits. Reg is actually 12 bits
		CALL	SPIRX		; CALL SPI read 16 bit word data will be in 
		
		return		
W_APGain:	
		movlw	B'10001011'	; command to write to apgain register 
		movwf	spi		; call spi control write to apgain reg
		movlw	D'16'		; number of bits
		movwf	wordlen
		CALL	SPIDX		; output outd1 and outd2 to 7756
		return
; -----------------------------------------------------------------------------------
CorrectCH2:
;;;做成百分比可設
 		bsf	CorrCH2
		movlw	high TriScope
 		movwf	PWM_HI
		movlw	low TriScope
 		movwf	PWM_LOW		;11 11111111

		movlw	D'4'
		movwf	SBL
		goto	PRE_DELAY

; -----------------------------------------------------------------------------------
; 步進校準

StepCorrect:
		bcf	isCR_1OS
		movlw	H'01'
		xorwf	SDATA,W
		btfsc	_Z
		goto	CR_offset

		movlw	H'02'
		xorwf	SDATA,W
		btfsc	_Z
		goto	CR_vallue

		return

CR_offset:
		movlw	H'01'
		xorwf	(SDATA+1),W
		btfsc	_Z
		goto	CR_offset1

		movlw	H'02'
		xorwf	(SDATA+1),W
		btfsc	_Z
		goto	CR_offset2

		return

CR_offset1:				; correct CH1 offset
		bsf	isCR_1OS
		
		bsf	STATUS,RP0		; select page 1
		bcf 	PIE1,TMR1IE 		; disable Timer1中斷
		bcf	STATUS,RP0		; select page 1
;read out APGain
		call	ReadAPGain
		movf	insd1,W
		movwf	(BFIIC+6)	; APGain先保存起來 
		movf	insd2,W
		movwf	(BFIIC+7)
		clrf	outd2		; clear APGain
		clrf	outd1
		call	W_APGain
		I2C_WR_SUB    0x02, outd1, AT_APGAIN

		bsf	_BANK1
		clrf	APGAIN1_LOW
		clrf	APGAIN1_HI
		bcf	_BANK1
			
		
		movf	(SDATA+2),W
		btfsc	_Z
		goto	CRT0		;等于0,讀出沒有APGain的波形值即可
		
;read out CH1OS
		movlw	B'00001000'
		movwf	spi		; call spi control read
		movlw	b'00000001'	; number of bytes to download B'000(5)(4)(3)(2)(1)' 
		movwf	wordlen		; wordlen is 8 bits.
		CALL	SPIRX		; read out to insd1

		btfss	(SDATA+2),7
		goto	set1a
; --------------------------------------------------------------------
; 是負值,使失調值往負的方向走
		btfss	insd1,5
		goto	set0a
;失調值為負
		movlw	B'00011111'
		andwf	insd1,F		;變正
		movf	(SDATA+2),W
		andlw	B'01111111'
		addwf	insd1,W
		iorlw	B'00100000'	;置符號位
		goto	set1b

;失調值為正
set0a:		
		movf	(SDATA+2),W
		andlw	B'01111111'
		subwf	insd1,W
		btfss	_Z
		goto	FZ1		;FZ means Fu(負) Zheng(正)
		movlw	H'00'		;相等
		goto	set1b
FZ1:
		btfsc	_C
		goto	set1b		;老的失調值大
;校正值大于失調值
;如果為負數,應變成有符號的原碼
		movwf	insd1
		comf	insd1,F
		incf	insd1,W
		iorlw	B'00100000'	;置符號位
		goto	set1b

; --------------------------------------------------------------------
; 是正值,使失調值往正的方向走
set1a:
		btfss	insd1,5
		goto	ZZ1
;失調值為負
		movlw	B'00011111'
		andwf	insd1,F		;變正
		movf	(SDATA+2),W
		subwf	insd1,W
		btfss	_Z
		goto	ZF1
		movlw	H'00'		;相等
		goto	set1b
ZF1:
		btfsc	_C
		goto	ZF11		;老的失調絕對值大

;校正絕對值大于失調絕對值:減完后變正值了。例:-3減去4=+1
		movf	insd1,W
		subwf	(SDATA+2),W
		goto	set1b
ZF11:
		iorlw	B'00100000'	;置符號位
		goto	set1b

ZZ1:		
		movf	(SDATA+2),W
		addwf	insd1,W
set1b:
		movwf	outd1		
		movlw	B'10001000'
		movwf	TEMP
		call	W_CHxOS

		I2C_WR_SUB    0x01, outd1, AT_CH1OS	; 失調值寫入外存
		goto	CRT0				;等于0,讀出沒有APGain的波形值即可

CR_offset2:						; correct CH2 offset
		bcf	isCR_1OS

		bsf	STATUS,RP0			; select page 1
		bcf 	PIE1,TMR1IE 			; disable Timer1中斷
		bcf	STATUS,RP0			; select page 1

		movf	(SDATA+2),W
		btfsc	_Z
		goto	CRT1				;等于0,讀出當前微調電阻下的波形值即可

;read out CH2OS
		movlw	B'00001001'
		movwf	spi		; call spi control read
		movlw	b'00000001'	; number of bytes to download B'000(5)(4)(3)(2)(1)' 
		movwf	wordlen		; wordlen is 8 bits.
		CALL	SPIRX		; read out to insd1

		btfss	(SDATA+2),7
		goto	set2a
; --------------------------------------------------------------------
; 是負值,使失調值往負的方向走
		btfss	insd1,5
		goto	set3a
;失調值為負
		movlw	B'00011111'
		andwf	insd1,F		;變正
		movf	(SDATA+2),W
		andlw	B'01111111'
		addwf	insd1,W
		iorlw	B'00100000'	;置符號位
		goto	set2b

;失調值為正
set3a:		
		movf	(SDATA+2),W
		andlw	B'01111111'
		subwf	insd1,W
		btfss	_Z
		goto	FZ2
		movlw	H'00'		;相等
		goto	set2b
FZ2:
		btfsc	_C
		goto	set2b		;老的失調值大
;校正值大于失調值
;如果為負數,應變成有符號的原碼
		movwf	insd1
		comf	insd1,F
		incf	insd1,W
		iorlw	B'00100000'	;置符號位
		goto	set2b

; --------------------------------------------------------------------
; 是正值,使失調值往正的方向走
set2a:
		btfss	insd1,5
		goto	ZZ2
;失調值為負
		movlw	B'00011111'
		andwf	insd1,F		;變正
		movf	(SDATA+2),W
		subwf	insd1,W
		btfss	_Z
		goto	ZF2
		movlw	H'00'		;相等
		goto	set2b
ZF2:
		btfsc	_C
		goto	ZF21		;老的失調絕對值大

;校正絕對值大于失調絕對值:減完后變正值了。例:-3減去4=+1
		movf	insd1,W
		subwf	(SDATA+2),W
		goto	set2b
ZF21:
		iorlw	B'00100000'	;置符號位
		goto	set2b

ZZ2:		
		movf	(SDATA+2),W
		addwf	insd1,W
set2b:
		movwf	outd1		
		movlw	B'10001001'
		movwf	TEMP
		call	W_CHxOS

		I2C_WR_SUB    0x01, outd1, AT_CH2OS	; 失調值寫入外存
CRT1:		
;給的是舊值
		movf	V_sample_low,W
		movwf	SDATA
		movf	V_sample_middle,W
		movwf	(SDATA+1)
		movf	V_sample_high,W
		movwf	(SDATA+2)
		goto	CRT2

CR_vallue:
		movlw	H'01'
		xorwf	(SDATA+1),W
		btfss	_Z
		return

; correct CH1 vallue
		bsf	STATUS,RP0		; select page 1
		bcf 	PIE1,TMR1IE 		; disable Timer1中斷
		bcf	STATUS,RP0		; select page 1

		movf	(SDATA+2),W
		btfsc	_Z
		goto	CRT0		;等于0,讀出當前APGain下的波形值即可
;read out APGain
		call	ReadAPGain

		btfss	(SDATA+2),7
		goto	CRV1
;是負值,轉換為12位補碼
		movlw	B'00001111'
		movwf	TEMP
		movlw	B'01111111'
		andwf	(SDATA+2),F
		comf	(SDATA+2),F
		incf	(SDATA+2),F
		goto	CRV2
CRV1:
		clrf	TEMP
CRV2:
		movf	(SDATA+2),W
		addwf	insd1,W
		movwf	outd1		
	bsf	_BANK1
	movwf	APGAIN1_LOW
	bcf	_BANK1

		btfss	_C
		goto	CRV3		;無進位
		incf	insd2,F
		movlw	B'00001111'
		andwf	insd2,F		;‘與’掉高半字節的進位

CRV3:
		movf	TEMP,W
		addwf	insd2,F
		movlw	B'00001111'
		andwf	insd2,W		;‘與’掉高半字節的進位
		
		movwf	outd2
	bsf	_BANK1
	movwf	APGAIN1_HI
	bcf	_BANK1
		call	W_APGain

		I2C_WR_SUB    0x02, outd1, AT_APGAIN
CRT0:
		CALL	ReadWafeForm

		movf	insd1,W
		movwf	SDATA
		movf	insd2,W
		movwf	(SDATA+1)
		movf	insd3,W
		movwf	(SDATA+2)
		
CRT2:
		btfss	isCR_1OS	;是CH1的失調校正?
		goto	CRT3
		movf	(BFIIC+6),W	;yes,恢復APGain
		movwf	outd1
		movf	(BFIIC+7),W
		movwf	outd2
		call	W_APGain
		I2C_WR_SUB    0x02, outd1, AT_APGAIN
		
CRT3:
		bsf	STATUS,RP0		; select page 1
		bsf 	PIE1,TMR1IE 		; enable Timer1中斷
		bcf	STATUS,RP0		; select page 1

		movlw	D'5'
		movwf	SBL
		goto	REPLY_OK

; -----------------------------------------------------------------------------------
ClearREG:
		bsf	STATUS,RP0		; select page 1
		bcf 	PIE1,TMR1IE 		; enable Timer1中斷
		bcf	STATUS,RP0		; select page 1

		clrf	outd1
		clrf	outd2		; clear APGain
		movlw	B'10001000'
		movwf	TEMP
		call	W_CHxOS

		call	W_APGain
		I2C_WR_SUB    0x02, outd1, AT_APGAIN
		bsf	_BANK1
		clrf	APGAIN1_LOW
		clrf	APGAIN1_HI
		bcf	_BANK1

		movlw	B'10001001'
		movwf	TEMP
		call	W_CHxOS
		bsf	STATUS,RP0		; select page 1
		bsf 	PIE1,TMR1IE 		; enable Timer1中斷
		bcf	STATUS,RP0		; select page 1

;清除7756校準參數區
		clrf	BFIIC
		clrf	(BFIIC+1)
		clrf	(BFIIC+2)
		clrf	(BFIIC+3)
;		clrf	(BFIIC+4)
;		clrf	(BFIIC+5)
;		clrf	(BFIIC+6)
;		clrf	(BFIIC+7)
	I2C_WR_SUB    0x08, BFIIC, AT_CH1OS
		bsf	STATUS,RP0
		bsf	WP_TRIS		;change input
		bcf	STATUS,RP0
		bsf	WP

		movlw	D'2'
		movwf	SBL
		goto	REPLY_OK

; -----------------------------------------------------------------------------------
;數據巡采
CollectData:
;;;		movlw	I_Waveform1	;平均值

;**************************************************
	bsf	STATUS,RP0		; select page 1
	bcf 	PIE1,TMR1IE 		; disable Timer1中斷
	bcf	STATUS,RP0		; select page 1

	movlw	RB0_I1			;立即值
		movwf	I
		movlw	DI0
		movwf	J
		movlw	D'3'
		movwf	tempCount
		call	S1_S0

;;;		movlw	V_Waveform1
	movlw	RB0_V1			;立即值
		movwf	I
		movlw	(DI0+3)
		movwf	J
		movlw	D'3'
		movwf	tempCount
		call	S1_S0
	bsf	STATUS,RP0		; select page 1
	bsf 	PIE1,TMR1IE 		; disable Timer1中斷
	bcf	STATUS,RP0		; select page 1
;**************************************************

;配置狀態字
		clrf	(DI0+6)
		clrw

		btfsc	BattOn
		bsf	(DI0+6),7
		btfsc	disCharging
		movlw	B'00100000'
		btfsc	Charging
		movlw	B'00110000'
		btfsc	Standing
		movlw	B'01000000'
		btfsc	CMD_Stop
		movlw	B'01100000'
		
		btfss	OverTermTime		;超時?
		goto	CL1
		movlw	B'01110000'
		iorlw	B'00001100'
CL1:		
		btfss	OverCapacity
		goto	CL2
		movlw	B'01110000'
		iorlw	B'00001000'
		
;************************************************
;	bit7		=1/0	有/無電池	*	
;當前工作狀態指示				*
;	bit6 bit5 bit4	=000			*
;			=010	放電		*
;			=011	充電		*
;			=100	靜置		*
;			=110	命令停止	*
;			=111	異常中止	*
;當前錯誤狀態指示				*
;	bit3 bit2	=00	電流異常	*
;			=01	電壓異常	*
;			=10	超時		*
;			=11			*
;	bit1		=1/0	7756已/未 校準	*
;	bit0		=1/0			*	
;************************************************
CL2:
		iorwf	(DI0+6),F

		movlw	D'7'
		movwf	SBL
		goto	PRE_DELAY
; -----------------------------------------------------------------------------------
;設置點號:	5位設備號+1位通道號(BCD碼)
SetDeviceNO:
		bsf	STATUS,RP0		; bank 1
		bcf	WP_TRIS			; MOT re_set to output
		bcf	STATUS,RP0		; bank 0
		bcf	WP
	I2C_WR_SUB    0x03, DI0, AT_DeviceNO
		btfss	Txmt_Success
		return

;寫EEPROM正確,才能回送
		movlw	D'0'
		movwf	SBL
;		goto	REPLY_OK
; -----------------------------------------------------------------------------------
; 數據填充之后的應答幀
PRE_DELAY:
		call	DELAY10ms

REPLY_OK:
	I2C_READ_SUB    0x03, A0, AT_DeviceNO
		
		bsf	PCLATH,3		; Prog page 1
		goto	Transmit
OK_OUT:		
		return
; ---------------------------------------------------------------------------------------------
; 寫工作模式寄存器
WriteMODE:		
		movlw	B'10000110'	; command to write to mode register 
		movwf	spi		; call spi control write to mode reg
		movlw	D'16'		; number of bits
		movwf	wordlen
		CALL	SPIDX		; output outd1 and outd2 to 7756
		return

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产三区在线成人av| 男男成人高潮片免费网站| 亚洲欧洲精品成人久久奇米网| 亚洲一区在线免费观看| 狠狠色丁香九九婷婷综合五月| 99精品热视频| 久久日一线二线三线suv| 一区二区三区日韩欧美| 国产一区二区不卡在线| 欧美在线看片a免费观看| 国产亚洲va综合人人澡精品 | 99精品国产视频| 正在播放亚洲一区| 亚洲人成在线播放网站岛国| 国产九九视频一区二区三区| 91精品国产综合久久久久| 亚洲女厕所小便bbb| 国产aⅴ综合色| 久久先锋影音av| 蜜臀av性久久久久av蜜臀妖精| 色婷婷av久久久久久久| 国产欧美va欧美不卡在线| 日产国产高清一区二区三区| 欧美午夜一区二区三区免费大片| 亚洲欧洲在线观看av| 国产精品一区二区在线观看网站 | 91小视频在线| 亚洲天天做日日做天天谢日日欢 | 狠狠色丁香久久婷婷综| 日韩一区二区三区电影在线观看| 亚洲国产综合视频在线观看| 91视频观看视频| 亚洲免费毛片网站| 色婷婷综合在线| 亚洲精品国产品国语在线app| 成人中文字幕电影| 亚洲丝袜另类动漫二区| 色婷婷久久综合| 亚洲超碰97人人做人人爱| 欧美日韩国产在线观看| 日韩av网站在线观看| 欧美精品亚洲二区| 免费看欧美美女黄的网站| 欧美电影免费观看高清完整版在 | 国产在线看一区| 欧美激情一区二区三区在线| 成人爽a毛片一区二区免费| 中文字幕在线不卡一区二区三区| 欧美一区二区三区系列电影| 日韩经典一区二区| 精品粉嫩aⅴ一区二区三区四区| 国产一区999| 亚洲男女毛片无遮挡| 欧美剧情片在线观看| 韩日欧美一区二区三区| 国产精品女上位| 欧美视频在线观看一区二区| 免费在线观看精品| 国产欧美日韩视频一区二区 | 亚洲精品写真福利| 欧美挠脚心视频网站| 狠狠色伊人亚洲综合成人| 亚洲国产精品成人综合| 欧美色图片你懂的| 国产一区二区三区免费| 日韩美女视频一区| 欧美一卡二卡在线| av高清不卡在线| 奇米影视一区二区三区小说| 国产亚洲精品久| 欧美军同video69gay| 成人不卡免费av| 婷婷丁香激情综合| 中文字幕在线不卡一区二区三区| 欧美绝品在线观看成人午夜影视| 国产不卡视频一区二区三区| 午夜视频在线观看一区二区三区 | 亚洲人一二三区| 欧美一级欧美一级在线播放| eeuss鲁片一区二区三区| 日本伊人午夜精品| 亚洲特级片在线| 精品国产一区a| 欧美图片一区二区三区| 国产999精品久久久久久绿帽| 亚洲在线视频一区| 欧美高清在线一区二区| 日韩欧美国产综合| 在线免费观看一区| 99久久综合国产精品| 韩日欧美一区二区三区| 琪琪久久久久日韩精品| 亚洲福利视频一区二区| 亚洲天堂网中文字| 中文av字幕一区| 欧美xxx久久| 欧美一区二区三区视频免费播放| 色婷婷香蕉在线一区二区| 成人aa视频在线观看| 国产成人精品aa毛片| 国产一区二区免费视频| 麻豆成人久久精品二区三区小说| 亚洲电影激情视频网站| 亚洲精选视频免费看| 天天免费综合色| 亚洲国产aⅴ成人精品无吗| 亚洲激情一二三区| 曰韩精品一区二区| 亚洲国产一区二区三区| 一区二区三区中文字幕精品精品 | 色视频欧美一区二区三区| 99re这里都是精品| 91在线看国产| 91丨porny丨最新| 91免费观看在线| 91免费精品国自产拍在线不卡| 国产成人精品一区二| 成人丝袜18视频在线观看| youjizz国产精品| 91丨porny丨最新| 欧美日韩一区中文字幕| 欧美精品在线一区二区| 日韩一区二区三区精品视频| 精品少妇一区二区三区在线视频| 欧美mv日韩mv国产网站| 欧美激情一区二区三区不卡| 国产精品卡一卡二| 亚洲精品国产品国语在线app| 一区二区三区不卡视频| 性久久久久久久久| 蜜臀av性久久久久蜜臀aⅴ| 国产一区二区三区免费在线观看| 大尺度一区二区| 国产精品久久久久久久蜜臀 | 国产精品视频第一区| 亚洲欧美乱综合| 日韩电影在线观看电影| 精品亚洲国产成人av制服丝袜 | 国产亚洲精品7777| 亚洲欧美一区二区视频| 午夜久久久影院| 激情图片小说一区| 91蜜桃视频在线| 日韩一区二区精品葵司在线| 国产亚洲制服色| 亚洲国产乱码最新视频 | 日韩高清不卡一区二区| 国产一区999| 欧美亚洲综合色| 精品国产乱码久久久久久老虎 | 色呦呦国产精品| 日韩美一区二区三区| 国产精品萝li| 美腿丝袜亚洲三区| 97久久久精品综合88久久| 欧美一区二区三区性视频| 亚洲欧美在线aaa| 激情综合色播激情啊| 色综合网色综合| 久久色在线视频| 亚洲高清免费观看| 成人免费视频播放| 欧美一区2区视频在线观看| 亚洲视频中文字幕| 国产一区视频网站| 欧美美女直播网站| 亚洲视频在线观看三级| 黑人精品欧美一区二区蜜桃 | 91亚洲国产成人精品一区二三| 欧美r级电影在线观看| 亚洲成人一二三| av在线一区二区| 久久久国产一区二区三区四区小说 | 国产·精品毛片| 91精品国产综合久久久蜜臀图片| 最好看的中文字幕久久| 国产伦精品一区二区三区免费迷| 精品1区2区3区| 亚洲欧美另类在线| 成人视屏免费看| 欧美国产禁国产网站cc| 狠狠色综合播放一区二区| 91精品国产麻豆| 午夜不卡在线视频| 欧美日韩国产一级| 亚洲在线视频一区| 欧美视频中文字幕| 亚洲午夜免费电影| 欧美三级一区二区| 亚洲综合久久久久| 在线精品视频小说1| 一区二区三区精品视频在线| 成人18视频日本| 国产欧美一区二区精品性色超碰| 久久 天天综合| 26uuu国产日韩综合| 国产一区二区日韩精品| 国产欧美一二三区| 99视频精品全部免费在线| 中文字幕日韩精品一区|