?? dangeduoji.asm
字號:
LIST P=16F877A
INCLUDE <P16F877A.INC>
REG1 EQU 0X21 ;定義寄存器
REG2 EQU 0X22 ;定義寄存器
ORG 0X00 ;主程序入口
NOP ;一個指令周期的延時
GOTO MAIN ;運行主程序
ORG 0X04 ;中斷入口
NOP
GOTO MAIN ;仍然運行主程序
MAIN
BCF STATUS,RP0 ;選擇存儲體0
;清空各個I/O口
CLRF PORTB
BCF INTCON,GIE ;禁止所有中斷
BSF STATUS,RP0 ;選擇存儲體1
MOVLW 0X07 ;把PORTA,PORTE全設為數字I/O口
MOVWF ADCON1
MOVLW 0X00 ;把PORTA,B,C,E設定為輸出口
MOVWF TRISA ;
MOVWF TRISB ;
MOVWF TRISC ;
MOVWF TRISD
MOVWF TRISE ;
BCF STATUS,RP0 ;選擇存儲體0
BEHAVIOR
NOP
BSF PORTB,0 ;PORTD口輸出高電平
CALL DELAY_HIGH ;高電平時間
BCF PORTB,0 ;PORTD口輸出低電平
CALL DELAY_LOW ;低電平時間
GOTO BEHAVIOR ;給舵機一個聯系脈沖
DELAY_HIGH ;
MOVLW .800
MOVWF REG1
DELAY1
MOVLW .191
MOVWF REG2
DELAY2
DECFSZ REG2,F
GOTO DELAY2
DECFSZ REG1,F
GOTO DELAY1
RETURN
;
DELAY_LOW
MOVLW .610
MOVWF REG1
DELAY3
MOVLW .1000
MOVWF REG2
DELAY4
DECFSZ REG2,F
GOTO DELAY4
DECFSZ REG1,F
GOTO DELAY3
RETURN
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -