📄 ff.txt
字号:
PROCESSOR 16F84
INCLUDE P16F84.INC
RX EQU .0 ; PIC RS-232 RX Pin - RA0
TX EQU .1 ; PIC RS-232 TX Pin - PA1
a_CNT EQU 10H ; 1-2惑 胶跑窜拌甫 历厘且 count (0~7)
b_CNT EQU 11H
PORTEMP EQU 12H ; 促澜 胶跑狼 单捞磐甫 焊郴扁 傈俊 刚历 傈 胶跑狼 单捞磐甫 焊郴林绢具 葛磐啊 备悼等促.
_232CNT EQU 13H ; RS-232 单捞磐 bit荐 (8bit)
_232DI EQU 14H ; RS-232 单捞磐 滚欺
_DL1 EQU 15H ; RS-232 单捞磐甫 罐扁 困茄 掉饭扁 矫沥荐 历厘家
TEMP EQU 16H ; motor1 苞 motor2 狼 胶跑 单捞磐甫 processing 窍扁 困茄 烙矫 历厘家
ORG 0
GOTO START
START BSF STATUS,RP0 ; PORTA狼 1阑 免仿(RS-232 TX 巧)
MOVLW B'11111101' ; 唱赣瘤甫 涝仿栏肺 汲沥
MOVWF TRISA
CLRF TRISB ; PORTB狼 葛电 巧阑 免仿栏肺 汲沥
BCF STATUS,RP0
CLRF a_CNT ; 胶跑葛磐 胶跑 历厘家 努府绢
CLRF b_CNT
MOVLW B'01010101' ; 胶跑葛磐 霉 胶跑 历厘(惑困厚飘 MOTOR-B, 窍困厚飘 MOTOR-A)
MOVWF PORTEMP ; 泅 胶跑 历厘
MOVWF PORTB ; 胶跑 葛磐俊 泅 胶跑 免仿
BEGIN CALL _232RX ; RS-232 单捞磐 荐脚 措扁
BTFSC _232DI,4 ; _232DI X
X
MOTORB
MOTORA
X
X
B规氢
A规氢
GOTO MOTORA ; MOTORA flag 啊 set 登搁 goto MOTORA
BEGIN2 BTFSC _232DI,5
GOTO MOTORB ; MOTORB flag 啊 set 登搁 goto MOTORB
GOTO BEGIN ; 促矫 RS-232 单捞磐 荐脚 措扁肺
MOTORA
BTFSS _232DI,0 ; A规氢 flag 眉农
GOTO MOTORAC ; set捞搁 矫拌规氢
GOTO MOTORACC ; clear 捞搁 矫拌 馆措 规氢
MOTORB
BTFSS _232DI,1 ; B规氢 flag 眉农
GOTO MOTORBC ; set捞搁 矫拌规氢
GOTO MOTORBCC ; clear 捞搁 矫拌 馆措 规氢
MOTORAC
MOVF PORTEMP,W ; 傈 胶跑 单捞磐 傈价
MOVWF PORTB ;
INCF a_CNT,W ; 胶跑 count 刘啊
ANDLW B'00000111' ; count%8 (0~7)
MOVWF a_CNT ; 胶跑 count 历厘
CALL STEP ; 胶跑 单捞磐 啊廉坷扁
ANDLW B'00001111' ; motorA 俊 措茄 单捞磐父 鞘夸
MOVWF TEMP ; 烙矫 滚欺俊 历厘
MOVF PORTEMP,W ; 傈 MOTOR-B 俊 措茄 胶跑苞 单捞磐 钦窍扁
ANDLW B'11110000'
IORWF TEMP,W
MOVWF PORTEMP ; 泅 胶跑阑 胶跑滚磐俊 历厘
MOVWF PORTB ; 泅 胶跑狼 单捞磐 焊郴扁
GOTO BEGIN2 ; MOTOR-B 俊 措茄 Check 肺
MOTORACC
MOVF PORTEMP,W
MOVWF PORTB
DECF a_CNT,W ; 矫拌 馆措 规氢捞骨肺 胶跑 COUNT1 皑家
ANDLW B'00000111'
MOVWF a_CNT
CALL STEP
ANDLW B'00001111'
MOVWF TEMP
MOVF PORTEMP,W
ANDLW B'11110000'
IORWF TEMP,W
MOVWF PORTEMP
MOVWF PORTB
GOTO BEGIN2
MOTORBC
MOVF PORTEMP,W
MOVWF PORTB
INCF b_CNT,W
ANDLW B'00000111'
MOVWF b_CNT
CALL STEP
ANDLW B'11110000'
MOVWF TEMP
MOVF PORTEMP,W
ANDLW B'00001111'
IORWF TEMP,W
MOVWF PORTEMP
MOVWF PORTB
GOTO BEGIN
MOTORBCC
MOVF PORTEMP,W
MOVWF PORTB
DECF b_CNT,W
ANDLW B'00000111'
MOVWF b_CNT
CALL STEP
ANDLW B'11110000'
MOVWF TEMP
MOVF PORTEMP,W
ANDLW B'00001111'
IORWF TEMP,W
MOVWF PORTEMP
MOVWF PORTB
GOTO BEGIN
STEP ADDWF PCL,F
RETLW B'01010101'
RETLW B'00010001'
RETLW B'10011001'
RETLW B'10001000'
RETLW B'10101010'
RETLW B'00100010'
RETLW B'01100110'
RETLW B'01000100'
_232RX ;NEED PULL-UP
BTFSC PORTA,RX
GOTO _232RX
CALL _232FD
MOVLW .8
MOVWF _232CNT
CLRF _232DI
_LOOP1 BSF STATUS,C
BTFSS PORTA,RX
BCF STATUS,C
RRF _232DI ;LSB FIRST
CALL _232UD
DECFSZ _232CNT
GOTO _LOOP1
_LOOP2 BTFSS PORTA,RX ;WAIT STOP BIT
GOTO _LOOP2
RETURN
_232FD ;FIRST DELAY (156uSec)
MOVLW .47
MOVWF _DL1
_LP1 DECFSZ _DL1
GOTO _LP1
RETURN
_232UD ;USUAL DELAY(104uSec)
MOVLW .31
MOVWF _DL1
_LP2 DECFSZ _DL1
GOTO _LP2
RETURN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -