Elektronik / Mikrodenetleyici Projeleri/

Lcd bar uygulamaları pic mikro hitech c proton basic

Sponsorlu Bağlantılar

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

Hitech C Lcd bar uygulamalari

Ö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="http://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

Lcd bar uygulamaları pic mikro hitech c proton basic

Dosya indirme LINK listesi (TXT formatında) link-8323.zip şifre-pass: 320volt.com

  • Ergin

    Tekrar rapid harici bir siteye yükleyebilirmiyiz ?
    Teşekkürler.

    • Alternatif link: http://www.4shared.com/file/202345282/c1582a9/lcd-bar.html