PIC Vietnam

Go Back   PIC Vietnam > Robotics > Cảm biến

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Cảm biến Camera, siêu âm, hồng ngoại, gyro, la bàn...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 19-08-2014, 10:17 PM   #1
brucenguyen
Nhập môn đệ tử
 
Tham gia ngày: Aug 2014
Bài gửi: 5
:
Smile Giao tiếp 16f877A với SRF05 ???

Tình hình là mình định làm mạch đo khoảng cách dùng 16f877a với cảm biến siêu âm SRF05. Mình đã tham khảo vài tài liệu trên mạng,đạc biệt là PICVIETNAM.COM. Nhưng mà mình muốn viết cho đơn giản dễ hiểu chút va set bang các thanh ghi cua pic như tren datasheet. Do phần cũng mới học và tìm hiểu cũng còn nhiều thiếu sót nên mình gửi bài lên đây mong mấy bạn đã làm qua rồichỉ bảo giúp

#include <16F877A.h>
#fuses HS,NOWDT
#use delay(clock = 12000000)
#byte PORTA = 0x05
#byte PORTB = 0x06
#byte PORTC = 0x07
#byte PORTD = 0x08
#byte PORTE = 0x09

#byte TRISA = 0x85
#byte TRISB = 0x86
#byte TRISC = 0x87
#byte TRISD = 0x88
#byte TRISE = 0x89

#byte INTCON = 0X0B
#byte T1CON = 0x10
#byte PIR1 = 0x0C
#bit GIE = INTCON.7
#byte PIE1 = 0x8C
#byte TMR1H = 0x0F
#byte TMR1L = 0x0E

#byte CCP1CON = 0X17
#bit CCP1X = CCP1CON.5
#bit CCP1Y = CCP1CON.4
#bit CCP1M3 = CCP1CON.3
#bit CCP1M2 = CCP1CON.2
#bit CCP1M1 = CCP1CON.1
#bit CCP1M0 = CCP1CON.0
#bit CCP1IE = PIR1.2
#bit CCP1IF = PIE1.2

#bit TMR1ON = T1CON.0
#bit TMR1IE = PIE1.0
#bit TMR1IF = PIR1.0
#bit TRISC2 = TRISC.2
#bit RC2 = PORTC.2
INT MA7D [10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0}; //MA CUA LED 7 DOAN HIEN THI

INT8 GETVAR=0,DISTANCE=0;
INT1 ECHO=0,TRG=0,BUTTON=0;


VOID TRIGGER()
{
TRG=0;
ECHO=0;

TRISC2=0; //SET CHAN RC2 LA CHAN OUTPUT
RC2=1; //TAO XUNG TRIGGER DAU VAO CHO SRF05 HOAT DONG VOI KHOANG THOI GIAN 20uS
DELAY_US(20);
RC2=0;

TRISC2=1; //SET CHAN RC2 LA CHAN INPUT
CCP1M3=0; //SET CAPTURE CHE DO XUNG CANH LEN O CHAN RC2
CCP1M2=1;
CCP1M1=0;
CCP1M0=1;

GIE=1; //CHO PHEP NGAT TOAN CUC
}

#INT_CCP1
VOID CCP1_ISR()
{
IF(TRG==1) //KHI CO XUNG CANH LEN
{
TMR1H=0;TMR1L=0; //RESET TMR1 VE 0
CCP1M3=0; //DO XUNG CANH XUONG
CCP1M2=1;
CCP1M1=0;
CCP1M0=0;
TRG=1;
}
ELSE //HOAC NEU THAY XUNG CANH XUONG
{
GETVAR=(TMR1H<<8)|TMR1L; //DUA KET QUA O TMR1 RA CHO BIEN GETVAR
DISTANCE=GETVAR/58; //TU TMR1 TINH RA KHOANG CACH CM(/58 LA DO NHA SX YEU CAU)
ECHO=1;
GIE=0;
}
}

VOID MAIN()
{
TRISB=0;TRISD=0;PORTB=0;PORTD=0;
T1CON=0B00010000;TMR1ON=1; //XUNG NOI-FOSC/4-BO CHIA 2-MO TIMER1
INTCON=0B11000000;
CCP1M3=0; //SET CAPTURE DO XUNG CANH LEN
CCP1M2=1;
CCP1M1=0;
CCP1M0=1;

CCP1IE=1; //CHO PHEP NGAT KHI CCP1 CO TIN HIEU
WHILE(TRUE)
{
TRIGGER();
PORTB=MA7D[DISTANCE/100];OUTPUT_HIGH(PIN_D0);DELAY_MS(1);OUTPUT_LOW(PIN_D0 ); //HIEN THI GIA TRI KHOANG CACH(CM) TREN LED 7 DOAN
PORTB=MA7D[(DISTANCE%100)/10];OUTPUT_HIGH(PIN_D1);DELAY_MS(1);OUTPUT_LOW(PIN_D1 );
PORTB=MA7D[DISTANCE%10];OUTPUT_HIGH(PIN_D2);DELAY_MS(1);OUTPUT_LOW(PIN_D2 );
}
}


Mình đo khoảng cách roi gửi ra led 7 đoạn. Chỉ mò viết được nhiêu đó thôi,chửa có kinh phí mua về làm thử,mong các bản coi va sửa chửa sai sot,lỗi giúp để minh mua về thực hành luôn
À sẵn đây có bạn nào biết ở đâu bán modul SRF05 hơi tốt tốt mà giá phải chăng chút để mình mua về làm luôn,trước giờ toàn làm bộ kit ở lớp nhưng mà bộ kit đó không có modul này nên khong làm thử được,mong các bạn giúp đỡ. Mình ở tp hồ chí minh,sẵn đây có bạn nào ở gần đây cũng làm mạch này rồi thì cho mình xin qua thỉnh giáo,hoc hỏi với.Minh xin cảm ơn
a
Hình Kèm Theo
File Type: png PIC16F877A+SRF05.png (102.3 KB, 14 lần tải)

thay đổi nội dung bởi: brucenguyen, 19-08-2014 lúc 11:03 PM.
brucenguyen vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:51 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam