Home › Forums › Microcontrollers › PIC Microcontroller › PIC C Compiler and HC-SR04 Ultrasonic Sensor
- This topic has 1 reply, 2 voices, and was last updated 8 years, 3 months ago by Ligo George.
Viewing 2 posts - 1 through 2 (of 2 total)
-
AuthorPosts
-
December 8, 2014 at 7:39 pm #10154enhee enheeleeParticipant
What is wrong. The below code. Please help me.
#include "C:\Users\enhee\Documents\lcd16f873a.h" #define use_portb_lcd TRUE #include <LCD.C> #byte timer1=0x10 #bit trigger=0x07.2 #bit echo=0x07.1 #bit on_off=0x10.0 unsigned char zai=12; void main() { float a; set_tris_c(0x02); timer1=0x10; setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); lcd_init(); lcd_gotoxy(1,1); printf(lcd_putc,"zai medregch"); for(;;) { set_timer1(0x0000); trigger=1; delay_us(10); trigger=0; while(!echo); //Waiting for Echo on_off = 1; //Timer Starts while(echo); //Waiting for Echo goes LOW on_off = 0; //Timer Stops a=get_timer1(); a = a/58.82; a = a + 1; if(a>=2 && a<=400) //Check whether the result is valid or not { lcd_gotoxy(1,2); printf(lcd_putc,"zai=%f cm",a-4); } else { lcd_gotoxy(1,2); printf(lcd_putc,"heterhii hol bna"); } delay_ms(200); } }
December 9, 2014 at 12:42 pm #10164Ligo GeorgeKeymasterHello, It seems like you converted our program in the article Interfacing HC-SR04 with PIC Microcontroller to CCS C.
In that tutorial I used prescaler : 2, so you should use :
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
and you should change a-4 to a in printf().
Please check the above program after making these changes and let me know whether it works or not. If it works, I can include it too in that article such that it will help others too.
-
AuthorPosts
Viewing 2 posts - 1 through 2 (of 2 total)
- You must be logged in to reply to this topic.