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

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

?? control.asm

?? 用直流無刷電機控制電動門的運轉,可已省掉機械定位裝置
?? ASM
字號:

	title this is a program for rolling door controller
;version1.1
;下端定位
;名稱定義和變量定義
	F0 EQU 0
	RTCC EQU 1
	PC EQU 2
	STATUS EQU 3
	FSR EQU 4
	RA EQU 5
	RB EQU 6
	W EQU 0
	F EQU 1
	Z EQU 2
	C EQU 0
	;輸出變量
	DIRECTION EQU 0	;電機正反轉運轉(RA)
	BRAKE EQU 1		;電機剎車控制(RA)
	LOCK EQU 2		;電機制動控制(RA)
	;輸入變量
	PULSEIN EQU 3		;脈沖輸入(RA)
	up equ 2	;門向上運動
	stop equ 1	;門停止運動
	down equ 0	;門向下運動
	LOCKIN EQU 3	;遙控鎖輸入,電壓低于18V時輸入
	CONTINUEUP EQU 4	;門持續向上運動(RB)
	CONTINUEDOWN EQU 5	;門持續向下運動(RB)
	
	TOPHIG EQU 10H	;門的上限位置
	TOPMED EQU 11H
	TOPLOW EQU 12H
	PULSEHIG EQU 13H	;脈沖數
	PULSEMED EQU 14H
	PULSELOW EQU 15H
	BOTTOMHIG EQU 16H	;門的下限位置
	BOTTOMMED EQU 17H
	BOTTOMLOW EQU 18H
	COUNT1 EQU 19H	;計數器
	COUNT2 EQU 1AH	;延時計數
	COUNT3 EQU 1cH	;計數器
	count4 equ 1dh
	count5 equ 1eh
	count6 equ 1fh

	FLAG EQU 1BH	;標志
	ERRORFLAG EQU 0	;電機異常狀態標志
	topflag equ 1	;門到上端位置標志
	bottomflag equ 2	;門到下端位置標志
	updelayflag equ 5	;上升延時標志
	downdelayflag equ 6	;下降延時標志
	highflag  equ 7	;高電平標志
	RESETADD EQU 1FFH

;開始
	ORG RESETADD
	GOTO MAIN
	ORG 0
;子程序區


;***************
;***************
;上升子程序*****
;***************
;***************
UPSUB:
	MOVLW 40			;為低電平則延時,確保低電平有足夠的寬度
	MOVWF COUNT2
upsubloop1
	DECFSZ COUNT2,F
	GOTO upsubLOOP1
	btfss rb,up
	goto upback	;沒有按鈕按下,則結束
	btfss rb,lockin	;輸入電壓是否高于22V
	goto upback		;低于22V則結束
	BTFSC FLAG,ERRORFLAG	;電機是否發生了異常
	goto upback
	btfsc flag,topflag	;門是否在上端位置
	goto upback
	btfsc rb,stop	;停止按鈕有無按下.
	goto upback	;有則結束
	bcf ra,direction	;門上升
				;判斷當前狀態
	btfsc ra,pulsein	;當前輸入是否為低電平
	goto upsubhigh	;設置當前狀態為高電平
	bcf flag,highflag	;設置當前狀態為低電平
	goto upstart1
upsubhigh
	bsf flag,highflag ;設置當前狀態為高電平
upstart1
	bcf flag,updelayflag
	CLRF RTCC	;開始計時
UPBRAN1
	MOVF PULSELOW,W	;比較PULSELOW和TOPLOW是否相等
	SUBWF TOPLOW,W	
	BTFSS STATUS,Z
	GOTO	UPBRAN2	;不等則上升
	MOVF PULSEMED,W	;相等則比較PULSEMED和TOPMED是否相等
	SUBWF TOPMED,W
	BTFSS STATUS,Z
	GOTO	UPBRAN2	;不等則上升
	MOVF PULSEHIG,W	;相等則比較PULSEHIG和TOPHIG是否相等
	SUBWF TOPHIG,W
	BTFSC STATUS,Z
	GOTO	UPEND1		;相等則停止上升
UPBRAN2
	bcf ra,lock	;制動系統不起作用
	bcf ra,brake
	CALL UPCOUNTSUB	;對脈沖數進行計數
	BTFSC FLAG,ERRORFLAG	;電機發生異常?
	GOTO UPEND		;電機發生異常
	BTFSC RB,STOP	;停止按鈕是否按下
	GOTO upend		;停止按鈕按下則門停止上升
	bcf flag,bottomflag	;清除下端位置標志
	GOTO UPBRAN1	;轉到UPBRAN1
upend1
	bsf flag,topflag	;設置門到上端位置標志
UPEND
	BSF RA,BRAKE	;電機停止上升
	BSF RA,DIRECTION
	BSF RA,LOCK		;制動系統起作用
	clrf rtcc
	bsf flag,updelayflag
	clrf count1
updelayloop
	CALL UPCOUNTSUB	;計數
	movlw 0ffh
	SUBWF RTCC,W
	BTFSS STATUS,C
	goto updelayloop
	incf count1,f
	movlw 0ah	
	subwf count1,w
	btfss status,z
	goto updelayloop
	clrf count1
	bcf flag,updelayflag
upback
	RETLW 0

;***********
;***********
;下降子程序*
;***********
;***********
DOWNSUB
	MOVLW 40			;為低電平則延時
	MOVWF COUNT2
downsubloop1
	DECFSZ COUNT2,F
	GOTO downsubLOOP1
	btfss rb,down
	goto downback
	btfss rb,lockin	;電壓是否低于20V
	GOTO downback	;低于20V則結束
	btfsc flag,errorflag
	goto downback
	btfsc flag,bottomflag
	goto downback
	btfsc rb,stop	;停止按鈕有無按下.
	goto downback	;有則結束

	BSF RA,DIRECTION	;電機下降,電機引出線端視逆時針方向
	btfsc ra,pulsein	;當前輸入是否為低電平
	goto downsubhigh	;設置當前狀態為高電平
	bcf flag,highflag	;設置當前狀態為低電平
	goto downstart
downsubhigh
	bsf flag,highflag ;設置當前狀態為高電平
downstart
	bcf flag,downdelayflag
	clrf rtcc
DOWNSUB1
	MOVF PULSELOW,W	;比較PULSELOW和BOTTOMLOW是否相等
	SUBWF BOTTOMLOW,W	
	BTFSS STATUS,Z
	GOTO	DOWNBRAN1	;不等則下降
	MOVF PULSEMED,W	;相等則比較PULSEMED和BOTTOMMED是否相等
	SUBWF BOTTOMMED,W
	BTFSS STATUS,Z
	GOTO	DOWNBRAN1	;不等則下降
	MOVF PULSEHIG,W	;相等則比較PULSEHIG和BOTTOMHIG是否相等
	SUBWF BOTTOMHIG,W
	BTFSC STATUS,Z
	GOTO	DOWNEND		;相等則停止下降
DOWNBRAN1		
	bcf ra,lock
	bcf ra,brake	;去掉剎車門開始下降
	CALL DOWNCOUNTSUB		;對脈沖數進行計數
	BTFSC FLAG,ERRORFLAG
	GOTO DOWNEND1
	BTFSC RB,STOP		;停止按鈕是否按下
	GOTO downend1		;停止按鈕按下則轉到DOWNend1
	bcf flag,topflag	;清除門到上端位置標志
	GOTO DOWNSUB1		;轉到DOWNSUB1
downend
	bsf flag,bottomflag
DOWNEND1
	BSF RA,BRAKE		;門停止下降
	BSF RA,DIRECTION
	BSF RA,LOCK			;制動系統起作用
	bsf flag,downdelayflag
	clrf count1
	clrf rtcc
downdelayloop
	CALL DOWNCOUNTSUB
	MOVLW 0ffh			;判斷電機是否停止運轉
	SUBWF RTCC,W
	BTFSS STATUS,C
	goto downdelayloop
	INCF COUNT1,F
	movlw 0ah
	subwf count1,w
	btfss status,z
	goto downdelayloop
	clrf count1
	bcf flag,downdelayflag
downback
	RETLW 0


	
;****************
;****************
;持續上升子程序**
;****************
;****************
CONTINUEUPSUB
	BTFSC FLAG,ERRORFLAG	;電機是否異常
	RETLW 0
	bcf flag,topflag
	bcf flag,bottomflag
	bcf flag,updelayflag
	bcf ra,lock			;制動系統不起作用
	BCF RA,DIRECTION	;電機上升(電機位于左邊)
	BCF RA,BRAKE	;去掉剎車
	clrf rtcc
	btfsc ra,pulsein	;當前輸入是否為低電平
	goto cuhigh		;設置當前狀態為高電平
	bcf flag,highflag	;設置當前狀態為低電平
	goto continueupbran1
cuhigh
	bsf flag,highflag ;設置當前狀態為高電平
CONTINUEUPBRAN1
	BTFSC RB,CONTINUEUP	;持續上升按鈕是否按下
	GOTO	CONTINUEUPEND	;沒有按下停止上升
	CALL UPCOUNTSUB		;按下則調用上升計數子程序
	BTFSC FLAG,ERRORFLAG	;電機是否發生異常
	GOTO CONTINUEUPEND	;電機發生異常現象
	GOTO CONTINUEUPBRAN1	
CONTINUEUPEND
	BSF RA,BRAKE		;電機停止運轉
	bsf ra,direction
	bsf ra,lock			;制動系統起作用
	MOVF PULSELOW,W	;是則設置上限位置值
	MOVWF TOPLOW
	MOVF PULSEMED,W
	MOVWF TOPMED
	MOVF PULSEHIG,W
	MOVWF TOPHIG

	RETLW 0

;*****************
;*****************
;持續下降子程序***
;*****************
;*****************
CONTINUEDOWNSUB
	BTFSC FLAG,ERRORFLAG	;電機是否異常
	RETLW 0
	bcf flag,topflag
	bcf flag,bottomflag
	bcf flag,downdelayflag
	bcf ra,lock			;制動系統不起作用
  	BSF RA,DIRECTION	;電機下降
	BCF RA,BRAKE	;去掉剎車
	clrf count3
	CLRF RTCC
	btfsc ra,pulsein	;當前輸入是否為低電平
	goto cdhigh		;設置當前狀態為高電平
	bcf flag,highflag	;設置當前狀態為低電平
	goto continuedownbran1
cdhigh
	bsf flag,highflag ;設置當前狀態為高電平
CONTINUEDOWNBRAN1
	BTFSC RB,CONTINUEDOWN	;持續下降按鈕是否按下
	GOTO CONTINUEDOWNEND	;沒有按下則停止下降
	CALL DOWNCOUNTSUB		;按下則調用下降計數子程序
	BTFSC FLAG,ERRORFLAG	;電機是否發生異常
	GOTO CONTINUEDOWNEND	;電機發生異常
	GOTO CONTINUEDOWNBRAN1
CONTINUEDOWNEND
	BSF RA,BRAKE		;電機剎車
	bsf ra,direction
	bsf ra,lock			;制動系統起作用
	MOVF PULSELOW,W	;是則設置上限位置值
	MOVWF TOPLOW
	MOVF PULSEMED,W
	MOVWF TOPMED
	MOVF PULSEHIG,W
	MOVWF TOPHIG

	RETLW 0

;************
;************
;上升計數****
;************
;************
UPCOUNTSUB
	BTFSC RA,PULSEIN		;脈沖是否為低電平
	goto uphigh		;不為低電平則轉到高電平
	btfss flag,highflag	;原來為高電平嗎?
	goto 	upcountend		;不為高電平則結束
	bcf flag,highflag		;設置當前狀態為低電平
	bcf count3,0
	goto upcount		;計數
uphigh
	btfsc flag,highflag	;原來為低電平嗎?
	goto	upcountend		;不為低電平則結束
	bsf flag,highflag		;設置當前狀態為高電平
	bsf count3,0
UPCOUNT
	btfsc count3,0
	goto upcountend
	btfss flag,updelayflag	
	CLRF RTCC	;計時重新開始
	MOVLW 1			;PULSELOW+1
	ADDWF PULSELOW,F
	BTFSS STATUS,C		;有無進位
	RETLW 0		;無進位則結束
	MOVLW 1			;有進位則PULSEMED+1
	ADDWF PULSEMED,F
	BTFSC STATUS,C		;有無進位
	INCF PULSEHIG,F		;有進位則PULSEHIG+1
	RETLW 0
UPCOUNTEND
	btfsc flag,updelayflag
	retlw 0
	MOVLW 0ffH			;判斷電機是否停止運轉
	SUBWF RTCC,W
	BTFSC STATUS,C
	BSF FLAG,ERRORFLAG	;設置電機異常標志
	RETLW 0

;***********
;***********
;下降計數***
;***********
;***********
DOWNCOUNTSUB
	BTFSC RA,PULSEIN		;脈沖是否為低電平
	goto downhigh		;不為低電平則轉到高電平
	btfss flag,highflag	;原來為高電平嗎?
	goto 	downcountend	;不為高電平則結束
	bcf flag,highflag		;設置當前狀態為低電平
	bsf count3,0
	goto downcount		;計數
downhigh
	btfsc flag,highflag	;原來為低電平嗎?
	goto	downcountend	;不為低電平則結束
	bsf flag,highflag		;設置當前狀態為高電平
	bcf count3,0
DOWNCOUNT
	btfsc count3,0
	goto downcountend
	btfss flag,downdelayflag
	CLRF RTCC	;計時重新開始
	movlw 1
	SUBWF PULSELOW,F		;PULSELOW-1
	BTFSC	STATUS,C		;有無借位
	RETLW 0		;無借位則結束
	MOVLW 1			;pulsemed-1
	SUBWF PULSEMED,F
	BTFSS STATUS,C		;有無借位
	DECF PULSEHIG,F		;有借位則PULSEHIG-1
	RETLW 0
DOWNCOUNTEND
	btfsc flag,downdelayflag
	retlw 0
	MOVLW 0ffh			;判斷電機是否停止運轉
	SUBWF RTCC,W
	BTFSC STATUS,C
	BSF FLAG,ERRORFLAG	;設置電機異常標志
	RETLW 0
;********
;********
;主程序**
;********
;********
MAIN
	movlw 0ffh
	movwf ra
	MOVLW 0f8H	;設置RA口(0,1為輸出,2,3為輸入)
	TRIS RA
	movlw 07fh
	tris rb
	MOVLW 07H	;定時器方式,比率為1:256
	OPTION
	BSF RA,BRAKE	;電機剎車
	bsf ra,lock		;制動系統起作用
	bsf ra,direction
	CLRF TOPLOW
	CLRF TOPMED
	CLRF TOPHIG
	CLRF PULSELOW
	CLRF PULSEMED
	CLRF PULSEHIG
	CLRF BOTTOMLOW
	CLRF BOTTOMMED
	CLRF BOTTOMHIG
	CLRF COUNT1
	CLRF COUNT3
	CLRF FLAG
	btfsc ra,pulsein	;當前輸入是否為低電平
	goto mainhigh		;設置當前狀態為高電平
	bcf flag,highflag	;設置當前狀態為低電平
	goto mainloop
mainhigh
	bsf flag,highflag ;設置當前狀態為高電平
MAINLOOP
	BTFSC RB,UP	
	CALL UPSUB	;電機上升
	BTFSC RB,DOWN	
	CALL DOWNSUB	;電機下降
	BTFSS RB,CONTINUEUP
	CALL CONTINUEUPSUB	;電機持續上升
	BTFSS RB,CONTINUEDOWN
	CALL CONTINUEDOWNSUB	;電機持續下降
	btfsc rb,stop	;停止按鈕按下以調整ERRORFLAG
	bcf flag,errorflag
	GOTO MAINLOOP
	END






	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天综合天天做天天综合| 蜜桃视频在线观看一区| 亚洲国产精品综合小说图片区| 丝袜亚洲另类丝袜在线| 91精品国产综合久久久久久久 | 亚洲欧美乱综合| 免费成人在线观看| 一本久道久久综合中文字幕 | av在线这里只有精品| 在线电影院国产精品| 最新国产成人在线观看| 蜜臀av一级做a爰片久久| 91麻豆国产在线观看| 久久综合久久综合久久综合| 亚洲第一激情av| av不卡在线播放| 国产欧美精品国产国产专区| 久久超碰97人人做人人爱| 欧洲另类一二三四区| 1024成人网色www| 久久久亚洲高清| 欧美一区二区精品| 国产精品护士白丝一区av| 日本亚洲欧美天堂免费| 欧美日韩精品欧美日韩精品| 亚洲精品久久久久久国产精华液| 国产精品一区在线| 亚洲精品在线电影| 视频一区在线视频| 欧美男男青年gay1069videost| 日韩伦理av电影| 成人国产电影网| 国产精品视频看| 成人性视频免费网站| 中文av字幕一区| 成人看片黄a免费看在线| 欧美极品少妇xxxxⅹ高跟鞋| 国产一区啦啦啦在线观看| 精品免费99久久| 91最新地址在线播放| 欧美撒尿777hd撒尿| 一级女性全黄久久生活片免费| 色一情一乱一乱一91av| 亚洲精品美腿丝袜| 欧美丝袜自拍制服另类| 亚洲电影你懂得| 7777精品伊人久久久大香线蕉超级流畅| 亚洲va韩国va欧美va精品| 欧美精品免费视频| 精品一区二区免费看| 久久久精品tv| 99久久国产综合精品色伊| 亚洲日本在线a| 欧美色倩网站大全免费| 蜜桃av一区二区| 欧美国产在线观看| 99国产一区二区三精品乱码| 一区二区三区四区亚洲| 欧美一区二区日韩| 国产精品一区二区三区99| 亚洲色图制服诱惑| 欧美一区二区播放| 国产成人综合在线| 一区二区三区在线观看欧美| 欧美成人精品3d动漫h| 丁香另类激情小说| 性感美女极品91精品| 久久品道一品道久久精品| 91在线视频18| 裸体健美xxxx欧美裸体表演| 亚洲国产成人私人影院tom| 欧美色老头old∨ideo| 国产精品一区二区三区四区| 一二三区精品视频| 国产亚洲1区2区3区| 欧美日韩视频一区二区| 国产精品综合在线视频| 亚洲成人www| 中文字幕在线不卡视频| 欧美一区二区精品在线| 一本久久a久久免费精品不卡| 国内一区二区在线| 亚洲国产wwwccc36天堂| 国产欧美一区二区三区沐欲| 欧美精品久久久久久久多人混战| 国产成人精品综合在线观看| 日韩av电影免费观看高清完整版 | 精品久久国产97色综合| 91网站在线播放| 国产精品一区久久久久| 亚州成人在线电影| 亚洲男人的天堂一区二区| 久久蜜桃香蕉精品一区二区三区| 欧美人动与zoxxxx乱| 97aⅴ精品视频一二三区| 国产一区二区调教| 日本vs亚洲vs韩国一区三区二区| 中文字幕一区二区三区四区| 久久久噜噜噜久久人人看| 91精选在线观看| 欧美在线观看视频在线| 99精品视频在线免费观看| 国产一区二区电影| 开心九九激情九九欧美日韩精美视频电影 | 色综合视频一区二区三区高清| 韩国成人在线视频| 久久成人免费网站| 日本在线不卡一区| 日韩福利视频网| 三级不卡在线观看| 性做久久久久久久免费看| 亚洲黄色免费网站| 亚洲中国最大av网站| 一区二区三区成人在线视频| 17c精品麻豆一区二区免费| 国产精品久久久久7777按摩| 国产精品水嫩水嫩| 一区视频在线播放| 1024国产精品| 亚洲综合精品久久| 午夜国产不卡在线观看视频| 亚洲国产色一区| 午夜影院久久久| 日韩精品色哟哟| 精品一区二区在线视频| 韩国女主播一区| 国产成人免费视频网站| 不卡一区二区在线| 色网站国产精品| 在线欧美日韩国产| 欧美美女网站色| 精品国产免费人成在线观看| 欧美精品一区二区三区高清aⅴ | 欧美精品日韩精品| 欧美一区三区二区| 337p粉嫩大胆噜噜噜噜噜91av| 国产日韩欧美高清| 亚洲精品成人天堂一二三| 亚洲国产精品久久人人爱蜜臀 | 欧美日本一区二区| 欧美大黄免费观看| 欧美精彩视频一区二区三区| 亚洲日本va午夜在线影院| 亚洲超碰精品一区二区| 精品无码三级在线观看视频| 成人av在线播放网址| 欧美在线观看视频一区二区| 日韩美一区二区三区| 国产清纯白嫩初高生在线观看91 | 国产精品白丝在线| 亚洲大片一区二区三区| 麻豆国产精品官网| 成人av电影在线观看| 欧美日本国产视频| 国产欧美日韩在线视频| 亚洲午夜久久久久久久久电影网| 六月丁香婷婷色狠狠久久| av不卡在线观看| 日韩欧美激情四射| 亚洲男人天堂一区| 国内久久精品视频| 在线观看欧美精品| 国产欧美日韩在线视频| 天天操天天色综合| av成人免费在线| 26uuu亚洲| 亚洲国产日韩一级| 成人av片在线观看| 欧美一级淫片007| 亚洲精品乱码久久久久久| 国产福利一区二区| 欧美一区二区黄色| 亚洲已满18点击进入久久| 国产馆精品极品| 日韩亚洲欧美在线观看| 亚洲日穴在线视频| 国产成人精品午夜视频免费 | 日本女人一区二区三区| 91视视频在线观看入口直接观看www| 日韩免费看的电影| 亚洲成av人片在线| 91国内精品野花午夜精品| 亚洲国产高清在线观看视频| 久久99精品久久久久婷婷| 欧美日韩亚洲综合| 亚洲免费高清视频在线| 成人精品鲁一区一区二区| 精品国产乱码久久久久久牛牛| 午夜精品123| 欧美日韩免费高清一区色橹橹| 亚洲欧美日韩在线播放| av在线一区二区三区| 国产精品丝袜91| 成人自拍视频在线| 国产欧美日本一区二区三区| 国产精品77777竹菊影视小说| 久久久不卡网国产精品一区| 国模无码大尺度一区二区三区| 日韩欧美成人一区| 精品一区二区三区在线观看 |