16f877a ile 16x2 lcd ekrana adımı yazmak istiyorum

uufuk944

Üye
Katılım
31 May 2010
Mesajlar
40
Puanları
1
Yaş
29
16x2 lcd ekrana adımı yazmak istiyorum en kısa şekilde nasıl yazabilirim acele yardım bekliyorum şimdiden teşekkürler 16f877a ile yapılacaktır.. ADIM UFUK
 
Moderatör tarafında düzenlendi:
ja ile yazılışı umarım işine yarar hex lazımsa mail ile yollarım
include 16f877

pragma target clock 20_000_000
pragma target OSC hs
pragma target LVP disabled
pragma target WDT disabled

--pin ler tanımlanması
alias lcd_rs is pin_b4
alias lcd_rs_direction is pin_b4_direction
alias lcd_en is pin_b0
alias lcd_en_direction is pin_b0_direction
alias lcd_dataport is porta_low
alias lcd_dataport_direction is porta_low_direction
--değişkenlerin tanımlanması
const byte LCD_ROWS = 2
const byte LCD_CHARS = 16
--gecikme kütüphanesi çağrılması
include delay

enable_digital_io()

lcd_rs_direction = output
lcd_en_direction = output
lcd_dataport_direction = output
--lcd ekran kütüphanesinin çağrılması
include lcd_hd44780_4
lcd_init()
--print kütüphanesinin çağrılması
include print
--yazının ekrana yazılması
const byte str1[] = "ismini buraya yaz"

lcd_cursor_position(0,0)
print_string(lcd, str1)
--program sonu
 
#include <16f877a.h>
#fuses XT,NOWDT,PUT,NOPROTECT,BROWNOUT,NOLVP
#use delay(clock=4000000)
#include <lcd.c>


main()
{
lcd_init();
delay_ms(50);
printf(lcd_putc,"\f UFUK");
delay_ms(50);
}





kısa ve çelışan kod denendi kolay gelsin.
 
#include <16f877a.h>
#fuses XT,NOWDT,PUT,NOPROTECT,BROWNOUT,NOLVP
#use delay(clock=4000000)
#include <lcd.c>


main()
{
lcd_init();
delay_ms(50);
printf(lcd_putc,"\f UFUK");
delay_ms(50);
}





kısa ve çelışan kod denendi kolay gelsin.



#include "C:\Users\Casper\Desktop\denendi.h"
#include <16f877a.h>
#fuses XT,NOWDT,PUT,NOPROTECT,BROWNOUT,NOLVP
#use delay(clock=4000000)
#include <lcd.c>

void main()
{

setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
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);

// TODO: USER CODE!!
main()
{
lcd_init();
delay_ms(50);
printf(lcd_putc,"\f UFUK");
delay_ms(50);
}
}
bu şekilde yaptım ama hata veriyor
 
iki tane parantez kapatmışsın hata ondan kaynaklanıyor.
 
#include <16f877a.h>
#fuses XT,NOWDT,PUT,NOPROTECT,BROWNOUT,NOLVP
#use delay(clock=4000000)
#include <lcd.c>

void main()
{

setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
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();
delay_ms(50);
printf(lcd_putc,"\f UFUK");
delay_ms(50);
while(1)
{}
}

bu şekilde düzeltirsen çalışması lazım.
 
#include <16f877a.h>
#fuses XT,NOWDT,PUT,NOPROTECT,BROWNOUT,NOLVP
#use delay(clock=4000000)
#include <lcd.c>

void main()
{

setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
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();
delay_ms(50);
printf(lcd_putc,"\f UFUK");
delay_ms(50);
while(1)
{}
}

bu şekilde düzeltirsen çalışması lazım.



gene çalışmadı 1 errorr yazıyor
 
DeqerLi arkadaşLar...Sorun bazı kişiLer tarfından çözüLmüş qibi qörünsede deneme yapıLması qerekiyor...
 
kardeşim errorun de olduğunu ve hangi satırda gerçekleştiğini yazarsan daha rahat yardımcı olur arkadaşlar.
 

Forum istatistikleri

Konular
128,301
Mesajlar
916,547
Kullanıcılar
450,136
Son üye
ugur ta

Yeni konular

Geri
Üst