![]() |
|
Tài trợ cho PIC Vietnam |
Cảm biến Camera, siêu âm, hồng ngoại, gyro, la bàn... |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#36 |
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 |
![]() |
![]() |
|
|