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-05-2013, 03:08 PM   #1
drangonsuri
Nhập môn đệ tử
 
Tham gia ngày: May 2013
Bài gửi: 3
:
cảm biến siêu am HC_SR04

chào các anh chị!
em đang làm đồ án 1!
đề tài: dùng cảm biến siêu sr04 đo khoảng cách hiện thị LCD và giao tiếp máy tinh
phần cứng: hoàn thành
đây là code
Code:
#include <code.h>
#int_RDA

//Ft1=20/4=5 MHz --day la tan so cua timer1
//nhu vay 1 khoan 200ns thi timer1 dem len 1 don vi
//20ns wa nho hia cho 4 ta duoc 8*10^-7
//van toc se la 344m/s
int16 s,time;//khai bao bien se dung
int8 tram,chuc,donvi,nghin;
void  RDA_isr(void) 
{

}

//chuong trinh con de hien thi
void hienthi()
{
donvi=s%10;
tram=s/100;
chuc=x/100;
nghin=x/1000;
donvi=donvi+0x30;
chuc=chuc+0x30;
tram=tram+0x30;
nghin=nghin+0x30;
}
//chuong trinh con kik
void triger()
{
output_high(PIN_A1);//cho a1 lên mu´c cao
delay_us(12);//trê~ 12uS
output_low(PIN_A1);//cho a0 vê` mu´c 0
}
void main()
{

   setup_adc_ports(AN0_AN1_AN3);
   enable_interrupts(INT_RDA);
   enable_interrupts(GLOBAL);
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);//khai bao su dung timer1
   setup_ccp1(ccp_capture_re);//bat cach len
   setup_ccp2(ccp_capture_fe);//bat canh xuong
   enable_interrupts(int_ccp1);//cho phep ngat ccp1
   enable_interrupts(int_ccp2);//cho phep ngat ccp2
   enable_interrupts(global);//cho phep ngat ngat toan cuc
   
   while(1)
   {
   delay_ms30);
   triger();//goi chuong trinh con--kik chan a1
   delay_ms(200);//cho ket qua
   s=((time*0.0008*344)/2);//tinh ra khoang cach
   if(s>99)
     {
      donvi=0;chuc=0;tram=0
      }
    LCD_putcmd(0xC4);
    LCD_putchar(nghin);
    LCD_putcmd(0xC5);
    LCD_putchar(tram);
    LCD_putcmd(0xC6);
    LCD_putchar(chuc);
    LCD_putcmd(0xC7);
    LCD_putchar(donvi);
   }



}
//viet chuong trinh ngat cho pic
#int_ccp1
void ccp1()
{
set_timer1(0);//bat dau dem khi co xung muc cao chan rc2

}
#int_ccp2
void ccp2()
{
time=get_timer1();//lay ket qua thoi gian tu timer 1
}
em tham khỏa nhiều tài liệu và tự viết mọi người xem giúp em 2 ngày nữa em mới nạp và test thử, mong nó hoàng thành và chạy khi test
em vẫn chưa viêt được hàm ngắt cho timer1 mọi người (anh F) giup em viết hàm này với
trig-pinA1
echo--ping C2
drangonsuri 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à 02:01 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