View Single Post
Old 08-04-2012, 05:51 PM   #63
spkt_kdd95
Nhập môn đệ tử
 
Tham gia ngày: May 2006
Bài gửi: 2
:
Mình đang muốn làm con robo dùng cảm biến siêu âm Sr04 để tìm vật cản, mà viết code hoài mà nó không chạy theo ý muốn mong các sư huynh chỉ giúp. Đây là code mình viết.

;================================================= =======
; Ten chuong trinh : Mach phat xung 10us-Dung Cho Cam Bien Sieu Am Hc-SR04
; Nguoi thuc hien : Duong Van Bong
; Ngay thuc hien : 04/03/2012
; Phien ban : 1.0
; Mo ta phan cung : Dung PIC16F84A - thach anh 16MHz
; : HC-SR04 giao tiep voi PORTB
; : RB0 - RB7 la cac chan output
;----------------------------------------------------------------
; Ngay hoan thanh : 04/03/2012
; Ngay kiem tra : 04/03/2012
; Nguoi kiem tra : Duong Van Bong
;----------------------------------------------------------------
; Chu thich : Dung Pic tao xung cho cam bien
; :
;================================================= =======
TITLE "Mach phat xung 10us"
PROCESSOR P16F84A
INCLUDE <P16F84A.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC
;================================================= ======
; Phan Dat Bien
;-------------------------------------
; Bien o bang 0
;-------------------------------------
ORG 0x020
Delay_reg1 EQU 0x020
Delay_reg2 EQU 0x021
Delay_reg3 EQU 0x022
Delay_reg4 EQU 0x023
Delay_reg5 EQU 0x024
Rb1 EQU 1
;------------------------------------
; Bien o bang 1
;------------------------------------
ORG 0x0A0
;------------------------------------
; Bien o bang 2
;------------------------------------
ORG 0x120
;================================================= ========================
; Phâ`n chuong trình chính
;================================================= ========================
ORG 0x0000
GOTO MAIN
ORG 0x0005
MAIN
BANKSEL TRISB ; bank select
MOVLW b'00000010'
MOVWF TRISB
CLRF TRISA ; trisa = 00000000
CLRF PORTA ; porta = output
BCF STATUS,RP0
LOOP BSF PORTB,0 ; rb0 = 1
CALL DELAY_10US ; Delay times 10us
BCF PORTB,0 ; Rb0=0
CALL DELAY_1740US ; Delay times 1740us
MOVFW PORTB
BTFSS PORTB,Rb1
CALL BONG
BTFSC PORTB,Rb1
GOTO $-1
GOTO LOOP
;================================================= ============================
; Các chuong trình con
;================================================= ============================
DELAY_10US
MOVLW d'13'
MOVWF Delay_reg1
LOOP1 DECFSZ Delay_reg1
GOTO LOOP1
RETURN
;------------------------------------
DELAY_1740US
MOVLW d'3'
MOVWF Delay_reg2
MOVLW d'25'
MOVWF Delay_reg3
LOOP2 DECFSZ Delay_reg2
GOTO LOOP3
GOTO EXIT
LOOP3 DECFSZ Delay_reg3
GOTO LOOP3
GOTO LOOP2
EXIT
RETURN
;------------------------------------
DELAY_50MS
MOVLW d'17'
MOVWF Delay_reg4
MOVLW d'232'
MOVWF Delay_reg5
LOOP4 DECFSZ Delay_reg4
GOTO LOOP5
GOTO EXIT_1
LOOP5 DECFSZ Delay_reg5
GOTO LOOP5
GOTO LOOP4
EXIT_1
RETURN
;------------------------------------
BONG
BSF PORTA,0
CALL DELAY_50MS
BCF PORTA,0
RETURN
;------------------------------------
END
;================================================= ==================
duongvanbong@yahoo.com
Mong các sư huynh chỉ giúp
spkt_kdd95 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn