Selamlar arkadaşlar lcd bar uygulamalarının C ile yazılmışını paylaşıyorum daha öncesinde proton basic ile yaptığım uygulamayı bu sefer hitech C ile gerçekleştirdim.
Kodlar fonksiyonlar halinde olduğu için rahatlıkla uygulamalara adapte edilebilir.
Ayrıca ufak değişikliklerle diğer pic c derleyiciler içinde kullanılabilir. Linklerden hem basic hemde C ile yapılmış uygulamaları indirebilirsiniz.
Hitech-C Lcd bar uygulamaları balanslı, 32, 48, 80
Örnek bir yazılım içeriği
/*************************************************************** * Name : LCD Bar uygulaması (32li) * * Author : Erhan YILMAZ (tekniker_erhan * * Notice : * * : All Rights Reserved * * Date : 19.08.2009 * * Version : 1.0 * * Notes : * * : * '**************************************************************/ #include <htc.h> #include <stdio.h> #include "delay.h" #include "lcd.h" #include <pic16f87.h> // 16F88 veya 16F87 içn başlık dosyası ekle __CONFIG(UNPROTECT & CCPRB0 & DEBUGDIS & UNPROTECT & UNPROTECT & LVPDIS & BORDIS & MCLRDIS & PWRTEN & WDTDIS & XT & FCMDIS & IESODIS); extern void bar_init(void); extern void bar_goster(char); void main(void) { unsigned char ekrandagoster[10]; char bar; ANSEL=0x00; lcd_init(); //Lcd hazırlanır. bar_init(); //Lcdye özel karakterler yüklenir. TRISB=0XC0; while(1){ lcd_goto(0); // 1. satıra gec sprintf(ekrandagoster,"Deger=%2d",bar); lcd_puts(ekrandagoster); if (RB7==0){ bar++; if (bar>32) {bar=32;} bar_goster(bar); } if (RB6==0){ bar--; if (bar==255) {bar=0;} bar_goster(bar); } DelayMs(250); } } void bar_init(void) { lcd_write(0x40); //özel karakter cgram adresi başlangıcı lcd_putch(0XFB); //İlk 8 tanesi tam bar için lcd_putch(0XFB); lcd_putch(0XFB); lcd_putch(0XFB); lcd_putch(0XFB); lcd_putch(0XFB); lcd_putch(0XFB); lcd_putch(0XFB); lcd_putch(0XF8); //Kalan 8 taneside yarım bar için lcd_putch(0XF8); lcd_putch(0XF8); lcd_putch(0XF8); lcd_putch(0XF8); lcd_putch(0XF8); lcd_putch(0XF8); lcd_putch(0XF8);} void bar_goster (char bar) { char yarim_bar,tam_bar,bos,i; tam_bar=bar/2; //bar sayısı ikiye bölünerek tam bar sayısı elde edilir. yarim_bar=bar%2; //bar sayısının ikiye bölümünden kalan yarım bar sayısını verir. bos=16-tam_bar; //16 dan bar sayısı çıkartılarak boşluk sayısı bulunur. lcd_goto(0x40); //2. satıra geç for (i=0;i<tam_bar;i++) //Tam bar sayısı kadar bar lcd 2. satırda görüntülenir. {lcd_putch(0);} if (yarim_bar==1) //Bar bölümünden kalan bir ise yarım bar göösterilir. lcd_putch(1); for (i=0;i<bos;i++) //bar görüntülenmeyecek sütünlara boşluk karakteri gönderilir. {lcd_putch (0X20);} } </pre> <strong>Proton Basic Lcd bar uygulamaları 32, 48, 80</strong> <img src="https://320volt.com/wp-content/uploads/2009/10/Proton-Basic-Lcd-bar.png" alt="Proton Basic Lcd bar" title="Proton Basic Lcd bar" width="533" height="423" class="alignnone size-full wp-image-8326" /> <strong>Örnek bir yazılım içeriği</strong> <pre> '**************************************************************** '* Name : LCD Bar uygulaması (32li) * '* Author : Erhan YILMAZ * '* Notice : * '* : All Rights Reserved * '* Date : 22.12.2008 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** Device = 16F628A Declare LCD_DTPIN PORTB.4 Declare LCD_ENPIN PORTB.3 Declare LCD_RSPIN PORTB.2 Declare LCD_INTERFACE 4 Declare LCD_LINES 2 Cls Print $FE,$40,$F8,$F8,$F8,$F8,$F8,$F8,$F8,$F8 Print $FE,$48,$FB,$FB,$FB,$FB,$FB,$FB,$FB,$FB Config INTRC_OSC_NOCLKOUT, CP_OFF, WDT_OFF, PWRTE_ON, LVP_OFF TRISA=%11111111 TRISB=%00000000 Dim barval As Byte Dim bar1 As Byte Dim bar2 As Byte Dim pad As Byte Symbol azbut = PORTA.0 Symbol artbut = PORTA.1 CMCON=7 ana: If artbut=0 Then barval=barval+1 If barval>32 Then barval=32 If azbut=0 Then barval=barval-1 If barval=255 Then barval=0 GoSub lcd_bar DelayMS 200 GoTo ana lcd_bar: bar1 = barval/2 bar2 = barval // 2 pad = 16-bar2 Print At 1,1, "DEGER=",DEC2 barval Print At 2,1, Rep $01\bar1,Rep $00\bar2,Rep " "\pad+1 Return End
Kod ve proteus dosyaları;
lcd-bar-uygulamalari-pic-micro-hitech-c-proton-basic
Şifre-Pass: 320volt.com
Yayım tarihi: 2009/10/25 Etiketler: hitech c, lcd bar, microchip pic projeleri, PIC C, proton basic
Tekrar rapid harici bir siteye yükleyebilirmiyiz ?
Teşekkürler.
Alternatif link: http://www.4shared.com/file/202345282/c1582a9/lcd-bar.html