yanal
Junior Member level 1
Hello dears , hope you are doing well
i interfaced LCD and push button to pic 16f877a
, and below the code i have used ,
i want when the button pressed , it shows the desired text ,but unfortunately the code enterd the loop and showed the text without i pressed the Button !!!
Could any one please help me to solve this problem .
i interfaced LCD and push button to pic 16f877a
, and below the code i have used ,
i want when the button pressed , it shows the desired text ,but unfortunately the code enterd the loop and showed the text without i pressed the Button !!!
Could any one please help me to solve this problem .
Code C - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 // LCD module connections sbit LCD_RS at RB2_bit; sbit LCD_EN at RB3_bit; sbit LCD_D4 at RB4_bit; sbit LCD_D5 at RB5_bit; sbit LCD_D6 at RB6_bit; sbit LCD_D7 at RB7_bit; sbit LCD_RS_Direction at TRISB2_bit; sbit LCD_EN_Direction at TRISB3_bit; sbit LCD_D4_Direction at TRISB4_bit; sbit LCD_D5_Direction at TRISB5_bit; sbit LCD_D6_Direction at TRISB6_bit; sbit LCD_D7_Direction at TRISB7_bit; // End LCD module connections unsigned short code1 ; void button_pressed (){ if ( porta.b0=1) { code1=49; Lcd_Cmd(_LCD_CLEAR); // Clear display Lcd_Cmd(_LCD_CURSOR_OFF);// Cursor off lcd_chr(1,1,code1); delay_ms(1000); } if ( porta.b0=0) { code1=50; Lcd_Cmd(_LCD_CLEAR); // Clear display Lcd_Cmd(_LCD_CURSOR_OFF);// Cursor off lcd_chr(1,1,code1); delay_ms(1000); } } void main() { trisb=0; //port B Output // trisa.B0=0; // Set A0 as input /* ANSEL = 0; // Configure AN pins as digital I/O ANSELH = 0; C1ON_bit = 0; // Disable comparators C2ON_bit = 0; */ ADCON1 =0x06 ; // CMCON = 0x07 ; // Disable analog comparators // CVRCON = 0; Lcd_Init(); // Initialize LCD Lcd_Cmd(_LCD_CLEAR); // Clear display Lcd_Cmd(_LCD_CURSOR_OFF);// Cursor off loop: //button_pressed(); if(porta.b0=1) { Lcd_Cmd(_LCD_CLEAR); // Clear display Lcd_Cmd(_LCD_CURSOR_OFF);// Cursor off lcd_out(1,1,"W"); delay_ms(500); } goto loop ; }