|
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 |
19-05-2013, 03:08 PM | #1 |
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 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 |
|
|