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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cmd6.asm

?? 用PIC單片機(jī)18F6520+ADE7755實(shí)現(xiàn)的一個大安培、鋰離子電池的化程器。全部源碼
?? ASM
?? 第 1 頁 / 共 2 頁
字號:

; ***********************************************************************************************
; 命令處理模塊

CMD:
		bcf	aFRAME
		
		bsf	PCLATH,3		; Prog page 1
		call	CHECKSUM
		bcf	PCLATH,3		; Prog page 0
		movwf	TEMP
		movf	SBL,W
		addlw	DI0
		movwf	FSR
		movf	INDF,W
		subwf	TEMP,W
		btfss	STATUS,Z
		return			;累加和不等
		
		movlw	A0	
		movwf	FSR
		movlw	.3
		movwf	J
CMD2:
		movf	INDF,W
		sublw	0xFF		;是全網(wǎng)廣播?
		btfss	STATUS,Z
		goto	Command1
		incf	FSR,F
		decfsz	J,F
		goto	CMD2
		goto	Command2

Command1:						
; ----   讀出通道號   ---------------------------------
	I2C_READ_SUB    0x03, (BFIIC+1), AT_DeviceNO

		movlw	.3
		movwf	J
		movlw	(BFIIC+1)
		movwf	FSR
IF_EQ:
		movf	INDF,W		;取出通道號
		andlw	0x0F
		movwf	TEMP
		movlw	B'01110000'
		xorwf	FSR,F		;21H-->61H 指向A0
		movf	INDF,W		;地址碼->W
		andlw	0x0F
		subwf	TEMP,F
		btfss	STATUS,Z	;通道號比較
		goto	IF_0F

EQ1:				
		movlw	B'01110000'
		xorwf	FSR,F		;61H-->21H 指向通道號low

		movf	INDF,W		;取出通道號
		andlw	0xF0
		movwf	TEMP
		movlw	B'01110000'
		xorwf	FSR,F		;21H-->61H 指向A0
		movf	INDF,W		;地址碼->W
		incf	FSR,F		;指向A1
		andlw	0xF0
		subwf	TEMP,F
		btfss	STATUS,Z	;通道號比較
		goto	IF_F0
EQ10:		
		movlw	B'01110000'
		xorwf	FSR,F		;62H-->22H 指向通道號high
EQ1A:		
		decfsz	J,F
		goto	IF_EQ
		goto	Command2

IF_0F:		
		sublw	0x0F
		btfsc	STATUS,Z	;=統(tǒng)配符?
		goto	EQ1		;=
		return
IF_F0:		
		sublw	0xF0
		btfsc	STATUS,Z	;=統(tǒng)配符?
		goto	EQ10		;=
		return
; -----------------------------------------------------------------------------------
Command2:						;從站地址吻合或?yàn)閺V播發(fā)送
        	clrwdt

		movlw	0x01
		subwf	CCODE,W
		btfsc	STATUS,Z
		goto	READ_REPLY		;讀數(shù)據(jù)

		movlw	0x08
		subwf	CCODE,W
		btfsc	STATUS,Z
		goto	CollectData		;數(shù)據(jù)巡采

		movlw	0x04
		subwf	CCODE,W
		btfsc	STATUS,Z
		goto	SET_REPLY		;寫數(shù)據(jù)

		btfsc	BUTTON
		return			;編程允許鍵未按下(=1)為不允許編程

		movlw	0x0A
		subwf	CCODE,W
		btfsc	STATUS,Z
		goto	SetDeviceNO

		return
; -----------------------------------------------------------------------------------
;讀數(shù)據(jù)
READ_REPLY:		
		movlw	0x95
		subwf	DI1,W
		btfsc	STATUS,Z
		goto	FILL95

		movlw	0xA3
		subwf	DI1,W
		btfsc	STATUS,Z
		goto	FILLA3

		return
; -----------------------------------------------------------------------------------
FILL95:
		movlw	0x10
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	ReadCH1

		movlw	0x11
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	ReadCH2

		return
;單獨(dú)讀取通道值時,回送立即值		
ReadCH1:		
		movlw	RB0_I1
		goto	RC
ReadCH2:
		movlw	RB0_V1
RC:		
		movwf	I
		movlw	SDATA
		movwf	J
		movlw	D'3'
		movwf	tempCount
		call	S1_S0
		
		movlw	D'5'
		movwf	SBL
		goto	PRE_DELAY
		
; -----------------------------------------------------------------------------------
FILLA3:
		movlw	0x1F
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	ReadREG

		movlw	0x20
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	ReadDeviceNO

		return
ReadREG:
		bsf	STATUS,RP0		; select page 1
		bcf 	PIE1,TMR1IE 		; disable Timer1中斷
		bcf	STATUS,RP0		; select page 1
;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
		movf	insd1,W
		movwf	SDATA

;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
		movf	insd1,W
		movwf	(SDATA+1)

;read out APGain
		call	ReadAPGain
		movf	insd1,W
		movwf	(SDATA+2)	
		movf	insd2,W
		movwf	(SDATA+3)
;;;
;	bsf	_BANK1
;	movf	APGAIN1_LOW,W
;	bcf	_BANK1
;	movwf	(SDATA+2)	
;	bsf	_BANK1
;	movf	APGAIN1_HI,W
;	bcf	_BANK1
;	movwf	(SDATA+3)

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

		movlw	D'6'
		movwf	SBL
		goto	PRE_DELAY
		
ReadDeviceNO:
		movlw	D'2'
		movwf	SBL
		goto	PRE_DELAY
		
; -----------------------------------------------------------------------------------
;寫數(shù)據(jù)
SET_REPLY:
		bsf	STATUS,RP0		; bank 1
		bcf	WP_TRIS			; MOT re_set to output
		bcf	STATUS,RP0		; bank 0
		bcf	WP

		movlw	0xA0
		subwf	DI1,W
		btfsc	STATUS,Z
		goto	SETA0

		movlw	0xA3
		subwf	DI1,W
		btfsc	STATUS,Z
		goto	Correct7756

		return
; -----------------------------------------------------------------------------------
SETA0:
		movlw	0x12
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	SetDisCharge

		movlw	0x14
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	SetCharge

		movlw	0x18
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	SetStandby

		movlw	0x20
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	SetTerminate

		movlw	0x21
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	SetStart

		return
; -----------------------------------------------------------------------------------
SetCharge:
		clrf	LoadOn
		bcf	OverCapacity
		bsf	CMD_Charge
		bcf	OverTermTime		;清除超時標(biāo)志

		I2C_WR_SUB    0x08, SDATA, AT_Current
		I2C_WR_SUB    0x06, (SDATA+8), (AT_Current+8)
;
;	I2C_READ_SUB    0x08, BFIIC, AT_Current
;	nop
;	nop
;	I2C_READ_SUB    0x06, BFIIC, (AT_Current+8)
;	nop	
		movlw	SDATA
		movwf	I
		movlw	Current_LOW
		movwf	J
		movlw	D'11'		;未傳截止容量
		movwf	tempCount
		call	S0_S1

		movf	(SDATA+D'14'),W
		bsf	_BANK1
		movwf	J_H
		bcf	_BANK1

		movlw	D'2'
		movwf	SBL
		goto	REPLY_OK
; -----------------------------------------------------------------------------------
SetDisCharge:
		clrf	LoadOn
		bcf	OverCapacity
		bsf	CMD_DisCharge
		bcf	OverTermTime		;清除超時標(biāo)志

		I2C_WR_SUB    0x03, SDATA, AT_Current
		I2C_WR_SUB    0x03, (SDATA+3),AT_DisCHTermV
		I2C_WR_SUB    0x02, (SDATA+6),AT_TerminalT

		movlw	SDATA
		movwf	I
		movlw	Current_LOW
		movwf	J
		movlw	D'3'
		movwf	tempCount
		call	S0_S1

		movlw	(SDATA+3)
		movwf	I
		movlw	DisCHTermV_LOW
		movwf	J
		movlw	D'3'
		movwf	tempCount
		call	S0_S1

		movlw	(SDATA+6)
		movwf	I
		movlw	TerminalT_LOW
		movwf	J
		movlw	D'2'
		movwf	tempCount
		call	S0_S1

		movlw	D'2'
		movwf	SBL
		goto	REPLY_OK
; -----------------------------------------------------------------------------------
SetStandby:
		bcf	OverCapacity
		bsf	PCLATH,3		; Prog page 1
		call	ClosePWM		; 沒有流程,暫關(guān)PWM
		bcf	PCLATH,3		; Prog page 0
		clrf	C_LowerTerm
		bsf	CH			; close 充電控制
		bsf	DISCH			;close 放電控制
		btfss	BattOn
		goto	SS1	
		bsf	RedLed			;有電池亮桔燈
		bsf	GreenLed	
SS1:
		I2C_WR_SUB    0x01, SDATA, AT_HandleTime	; 失調(diào)值寫入外存

		movf	SDATA,W
		bsf	STATUS,RP0
		movwf	StandBy
		bcf	STATUS,RP0		; select page 1

		clrf	LoadOn
		clrf	WorkFlag
		bsf	Standing
		bcf	OverTermTime		;清除超時標(biāo)志
		
		clrf	Minutes
		
		movlw	D'2'
		movwf	SBL
		goto	REPLY_OK
; -----------------------------------------------------------------------------------
; 停止流程
SetTerminate:
		bsf	CMD_Stop

		bsf 	PCLATH,3
		call	ClosePWM
		bcf 	PCLATH,3

		movlw	0x43		;ASCII 'C'
		xorwf	SDATA,W
		btfss	_Z
		goto	ST0
		bsf	OverCapacity
		goto	ST2
ST0:		
		bcf	OverCapacity
ST2:
		bsf	CH
		bsf	DISCH
		
		btfss	BattOn
		goto	ST1			
		bsf	RedLed		;有電池亮桔燈
		bsf	GreenLed	
ST1:
		clrf	WorkFlag

		movlw	D'3'
		movwf	SBL
		goto	PRE_DELAY
; -----------------------------------------------------------------------------------
; 啟動流程
SetStart:
;		bsf	CMD_Start
		bcf	CMD_Stop
		bcf	OverCapacity

		movlw	D'2'
		movwf	SBL
		goto	PRE_DELAY
; ***********************************************************************************
Correct7756:
		movlw	0x10
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	CorrectCH1OS

		movlw	0x11
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	CorrectCH1

		movlw	0x12
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	CorrectCH2

		movlw	0x13
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	CorrectCH2OS

		movlw	0x1A
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	StepCorrect

		movlw	0x1F
		subwf	DI0,W
		btfsc	STATUS,Z
		goto	ClearREG

		return

; -----------------------------------------------------------------------------------
; 通道1失調(diào)校正

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

;first clear CH1OS
		clrf	outd1
		movlw	B'10001000'	; command to write to ch1os register(通道1失調(diào)校正寄存器) 
		movwf	spi		; call spi control write to ch1os reg
		movlw	D'8'		; number of bits
		movwf	wordlen
		CALL	SPIDX		; output outd1 to 7756 
		I2C_WR_SUB 0x01, outd1, AT_CH1OS
;clear APGain
;		clrf	outd1
		clrf	outd2
		call	W_APGain
		I2C_WR_SUB 0x02, outd1, AT_APGAIN
		bsf	_BANK1
		clrf	APGAIN1_LOW
		clrf	APGAIN1_HI
		bcf	_BANK1

		movlw	low MODE_INIT
		iorlw	B'00000001'
		movwf	outd1		; lower eight bits
		movlw	high MODE_INIT
		andlw	B'11011111'	; change to CH1
		iorlw	B'01000001'	; 內(nèi)部短接模擬地CH1與AGND
		movwf	outd2		; higher eight bits
		call	WriteMODE

		CALL	ReadWafeForm
;
		goto	CT2

; -----------------------------------------------------------------------------------
; 通道2失調(diào)校正

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

;first clear CH2OS
		clrf	outd1
		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
		I2C_WR_SUB 0x01, outd1, AT_CH2OS

		movlw	low MODE_INIT
		iorlw	B'00000001'
		movwf	outd1		; lower eight bits
		movlw	high MODE_INIT
		andlw	B'11111110'	; 內(nèi)部短接模擬地CH2與AGND
		iorlw	B'01100010'	; 內(nèi)部短接模擬地CH2與AGND
		movwf	outd2		; higher eight bits
		call	WriteMODE

		CALL	ReadWafeForm
;
CT2:
;失調(diào)值送給手抄器
		movf	insd1,W
		movwf	SDATA
		movf	insd2,W
		movwf	(SDATA+1)
		movf	insd3,W
		movwf	(SDATA+2)

; 恢復(fù)工作寄存器
		movlw	low MODE_INIT
		movwf	outd1		; lower eight bits
		movlw	high MODE_INIT
		movwf	outd2		; higher eight bits
		call	WriteMODE
		bcf	Mode_0CH1_1CH2
;
		bsf	STATUS,RP0		; select page 1
		bsf 	PIE1,TMR1IE 		; enable Timer1中斷
		bcf	STATUS,RP0		; select page 1

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品中文字幕日韩精品 | 精品国产亚洲在线| 国产aⅴ精品一区二区三区色成熟| 国产精品女主播在线观看| 欧美高清性hdvideosex| 精品欧美黑人一区二区三区| 成人免费观看av| 免费亚洲电影在线| 一区二区三区美女视频| 精品1区2区在线观看| 欧美日韩国产高清一区二区| 成人免费高清在线| 久久国产精品99久久人人澡| 一区二区不卡在线播放| 亚洲国产精品t66y| 日韩欧美高清dvd碟片| 欧美色爱综合网| 91麻豆精品在线观看| 高清国产一区二区三区| 久久精品国产网站| 日韩中文字幕区一区有砖一区 | 亚洲精品免费在线播放| 精品国产伦一区二区三区观看体验| 91蝌蚪porny| 国产成人av一区二区三区在线| 美日韩一区二区三区| 亚洲午夜久久久久| 亚洲激情五月婷婷| 亚洲六月丁香色婷婷综合久久| 国产精品久久久久桃色tv| 精品黑人一区二区三区久久| 欧美顶级少妇做爰| 欧美三级欧美一级| 欧美系列日韩一区| 欧美在线不卡视频| 在线观看亚洲精品| 欧美亚洲图片小说| 欧美午夜电影网| 欧美私模裸体表演在线观看| 欧美影院午夜播放| 欧美亚洲一区二区在线| 欧美四级电影在线观看| 欧美日韩一级二级三级| 这里只有精品99re| 日韩一区二区三区在线观看| 91精品国产手机| 日韩欧美久久久| 精品福利在线导航| 久久久久综合网| 国产午夜亚洲精品羞羞网站| 欧美国产视频在线| 亚洲三级电影全部在线观看高清| 亚洲女同一区二区| 亚洲尤物在线视频观看| 日韩精品午夜视频| 蜜桃av一区二区三区电影| 精品中文字幕一区二区小辣椒| 国内精品视频一区二区三区八戒| 国产一区二区影院| 国产91精品一区二区| 91丨九色丨国产丨porny| 欧美亚一区二区| 日韩视频在线一区二区| 国产欧美日韩精品一区| 亚洲视频一区在线观看| 午夜精品久久久久久久蜜桃app| 喷白浆一区二区| 大胆亚洲人体视频| 欧洲一区在线电影| 日韩欧美二区三区| 国产精品家庭影院| 午夜精品国产更新| 国产成人亚洲综合a∨婷婷| 99re亚洲国产精品| 欧美精品一二三四| 国产三级精品在线| 亚洲一区自拍偷拍| 国内精品伊人久久久久av一坑| aaa亚洲精品| 欧美一区二区三区在线观看| 国产亚洲精品资源在线26u| 亚洲精品成人在线| 激情综合网天天干| 色域天天综合网| 精品国产乱码久久| 一区二区日韩av| 国产精品一区2区| 欧美日韩国产综合久久| 国产精品视频免费看| 天堂av在线一区| 成人免费毛片aaaaa**| 在线观看91av| 亚洲品质自拍视频网站| 蜜桃av一区二区| 在线视频国内一区二区| 国产香蕉久久精品综合网| 亚洲va国产天堂va久久en| 夫妻av一区二区| 日韩午夜av一区| 亚洲狠狠爱一区二区三区| 成人午夜碰碰视频| 欧美mv日韩mv国产| 悠悠色在线精品| 成人av网址在线| 精品国产人成亚洲区| 午夜久久久久久电影| 91免费版在线| 欧美国产成人在线| 国产在线乱码一区二区三区| 欧美剧在线免费观看网站| 中文字幕亚洲欧美在线不卡| 国内精品久久久久影院薰衣草| 欧美亚洲一区二区在线| 综合激情成人伊人| 处破女av一区二区| 26uuu久久综合| 麻豆国产精品777777在线| 欧美男男青年gay1069videost| 亚洲免费电影在线| 不卡视频一二三| 国产精品色一区二区三区| 国产九色sp调教91| 精品国产乱码久久| 狠狠狠色丁香婷婷综合激情 | 国产欧美日韩麻豆91| 久久91精品国产91久久小草| 91精品中文字幕一区二区三区| 亚洲一区二区三区中文字幕在线| www.亚洲色图| 国产精品免费视频网站| 成人夜色视频网站在线观看| 国产日韩欧美精品电影三级在线| 久久精品国产一区二区三| 日韩三区在线观看| 美女在线视频一区| 日韩三级在线观看| 久久99久久久久| 精品剧情v国产在线观看在线| 久久精品国产99国产| 日韩欧美亚洲另类制服综合在线| 蜜臀av性久久久久蜜臀aⅴ| 欧美一区二区性放荡片| 久久精品国产999大香线蕉| 欧美成人女星排名| 国产在线国偷精品产拍免费yy| 精品三级av在线| 国产精品 欧美精品| 国产女人水真多18毛片18精品视频| 国产精品1024| 成人免费小视频| 欧美视频在线一区二区三区| 亚洲国产精品久久人人爱蜜臀| 欧美精品一卡二卡| 久久精品国产99| 日本一区二区三区四区在线视频| www.亚洲在线| 亚洲va中文字幕| 精品99一区二区| www.久久久久久久久| 亚洲影视资源网| 日韩欧美一区电影| 成人免费毛片片v| 亚洲精品第一国产综合野| 3atv一区二区三区| 国产一区在线看| 亚洲视频免费观看| 6080国产精品一区二区| 国产精品一区二区免费不卡| 亚洲色图.com| 日韩欧美亚洲国产精品字幕久久久| 国产麻豆视频精品| 一区二区三区 在线观看视频| 91麻豆精品久久久久蜜臀| 国产精品一区二区免费不卡| 亚洲色图在线播放| 日韩一区二区在线看| hitomi一区二区三区精品| 婷婷中文字幕综合| 国产农村妇女毛片精品久久麻豆| 一本色道久久综合亚洲精品按摩| 五月天丁香久久| 中文字幕的久久| 欧美日韩国产区一| 成人精品国产免费网站| 五月激情综合婷婷| 亚洲欧洲日产国产综合网| 3atv在线一区二区三区| 成人精品一区二区三区中文字幕| 午夜精品久久久久久久| 国产精品久久久久久久久快鸭 | 精品国产欧美一区二区| 在线一区二区视频| 国产精品自拍网站| 五月婷婷激情综合| 自拍偷在线精品自拍偷无码专区 | 色综合天天综合给合国产| 久久国产麻豆精品| 亚洲香蕉伊在人在线观| 国产日韩影视精品| 日韩一区二区高清|