⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_zafer.c

📁 this is a temperature and humity sensing application with sht11
💻 C
字号:
/* for 4x20 LCD
 * Filename : lcd.c
 * Hardware : Controller  -> all pic series
 */

/**** LCD pinleri ****/
#define LCD_en PIN_D2  //lcdyi yetkilendirmek icin
#define LCD_rs PIN_D3  //konut yada kod yapmak icin 
#define LCD_D7 PIN_D7  //lcd veri yolu pin tasarrufu i鏸n 4 bit kulland齥 
#define LCD_D6 PIN_D6
#define LCD_D5 PIN_D5
#define LCD_D4 PIN_D4
/*********************/
//LCD_rw ucu 0'a bagli

#define lcd_line_bir  0x80 // LCD RAM adres 1. satir
#define lcd_line_iki  0xC0 // LCD RAM adres 2. satir
#define lcd_line_uc   0x94 // LCD RAM adres 3. satir
#define lcd_line_dort 0xD4 // LCD RAM adres 4. satir

/***************************************************
 * Prototype(s)                                    *
 ***************************************************/
void LCD_yetkilendirme();                          // LCD yetkilendirme
void LCD_komut(unsigned char komut);               // LCD komut 
void LCD_putc(unsigned char ascii);                // LCD tek karakter yazma 
void LCD_string_yaz(unsigned char *lcd_string);    // LCD string yazma
void LCD_init();
void LCD_goto_xy(unsigned char x,unsigned char y);

/***************************************************
 * Sources                                         *
 ***************************************************/

//===================================================
void LCD_yetkilendirme()
//===================================================
{
    output_bit( LCD_en , 0); /* Clear bit EN */   //lcd yi bir kere yetki,lendirmek i鏸n 
    delay_ms(2);
    output_bit( LCD_en , 1); /* Set bit EN */
}

//===================================================
void LCD_komut(unsigned char komut)   //lcdye komut g鰊der
//===================================================
{
   unsigned char nibble;
   output_bit( LCD_rs , 0); /* Clear bit RS */
   nibble = (komut>>4) & 0x0F;  //ilk 4 bitini g鰊derdik 
   output_bit(LCD_D4 , (nibble & 0x01) );       //pinlere tek tek g鰊derdik. buton tek seferde g鰊dermedi餴 i鏸n 
   output_bit(LCD_D5 , (nibble>>1 & 0x01) ); 
   output_bit(LCD_D6 , (nibble>>2 & 0x01) );
   output_bit(LCD_D7 , (nibble>>3 & 0x01) );
   LCD_yetkilendirme();
   nibble = komut & 0x0F;
   output_bit(LCD_D4 , (nibble & 0x01) );       
   output_bit(LCD_D5 , (nibble>>1 & 0x01) ); 
   output_bit(LCD_D6 , (nibble>>2 & 0x01) );
   output_bit(LCD_D7 , (nibble>>3 & 0x01) );
   LCD_yetkilendirme();
   delay_ms(2);
   }
//===================================================
void LCD_putc(unsigned char ascii)   //karakter g鰊derir. tek karakter 
//===================================================
{   
   unsigned char nibble;
   output_bit( LCD_rs , 1); /* Set bit RS *///veri g鰊derdi餴n i鏸n 1 oldu. 
   nibble = (ascii>>4) & 0x0F;//0x0f ile maskeliyor. 
   output_bit(LCD_D4 , (nibble & 0x01) );       //pinlere tek tek g鰊derdik. buton tek seferde g鰊dermedi餴 i鏸n 
   output_bit(LCD_D5 , (nibble>>1 & 0x01) ); 
   output_bit(LCD_D6 , (nibble>>2 & 0x01) );
   output_bit(LCD_D7 , (nibble>>3 & 0x01) );
   LCD_yetkilendirme();
   nibble = ascii & 0x0F;
   output_bit(LCD_D4 , (nibble & 0x01) );   
   output_bit(LCD_D5 , (nibble>>1 & 0x01) ); 
   output_bit(LCD_D6 , (nibble>>2 & 0x01) );
   output_bit(LCD_D7 , (nibble>>3 & 0x01) );
   LCD_yetkilendirme();
   delay_ms(2);
}

//===================================================
void LCD_string_yaz(unsigned char *lcd_string)
//===================================================
{
   while (*lcd_string) 
   {
      LCD_putc(*lcd_string++);
   }
}

void LCD_init()
{
    output_bit( LCD_en , 1); /* Set bit EN */ 
    output_bit( LCD_rs , 0); /* CLr bit RS */  
    LCD_komut(0x33);
    LCD_komut(0x32);
    LCD_komut(0x28);
    LCD_komut(0x0C);
    LCD_komut(0x06);
    LCD_komut(0x01); /* Clear */
    delay_ms(100);
}

//===================================================
void LCD_goto_xy(unsigned char x, unsigned char y)   //lcdye istedi餴miz yere veri yazmam齴

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -