Timer1 Lcd sayıcı uygulaması

Niko98

Üye
Katılım
24 Kas 2020
Mesajlar
10
Puanları
1
Yaş
26
arkadaşlar merhaba ben timer1 kesmesi ile 61 sayısına geldiğinde ekrana isim yazdıran bir lcd uygulaması yapmak istedim ama bir türlü ekrana yazdırmadım kodum ve proteus şemam ektedir bir bakabilirmisiniz?
Kod:
#include <timer1lcd.h>

#use delay(clock = 4MHz)

#use fast_io(b)

#include <lcd.c>

#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD

#define LCD_ENABLE_PIN PIN_B0

#define LCD_RS_PIN PIN_B1

#define LCD_RW_PIN PIN_B2

#define LCD_DATA4 PIN_B4

#define LCD_DATA4 PIN_B5

#define LCD_DATA4 PIN_B6

#define LCD_DATA4 PIN_B7







#define use_portb_lcd TRUE



int i=0;

char isim[12]="HELLO WORLD";





#int_timer1

void kesme(){

set_timer1(65533);

i++;

for(i = 0; i <= 61; ++i){

    lcd_gotoxy(25, 2);                         

    printf(lcd_putc,"\f sayici=%d",i);                   

    delay_ms(200);

  }

 

   if(i==61);

   printf(lcd_putc,"\f isim= %s",isim);

   delay_ms(200);

                                          

}



void main()

{



setup_psp(PSP_DISABLED);

setup_timer_2(T2_DISABLED,0,1);

setup_adc_ports(NO_ANALOGS);

setup_adc(ADC_OFF);

setup_CCP1(CCP_OFF);

setup_CCP2(CCP_OFF);





   set_tris_b(0x00);

   output_b(0x00);

 

 

   setup_timer_1(T1_INTERNAL | T1_DIV_BY_8);

   set_timer1 (63036);

 

   enable_interrupts(int_timer1);

   enable_interrupts(GLOBAL);

   lcd_init();

 

   while(TRUE)

   {

      //TODO: User Code

   }



}
 

Ekli dosyalar

  • kontrol kalemi.png
    kontrol kalemi.png
    39.3 KB · Görüntüleme: 12
Moderatör tarafında düzenlendi:
Kesme içerisindeki
Kod:
delay_ms
leri kaldır.

Yine çalışmazsa,
Kod:
#include <lcd.c>
#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#define LCD_ENABLE_PIN PIN_B0
#define LCD_RS_PIN PIN_B1
#define LCD_RW_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA4 PIN_B5
#define LCD_DATA4 PIN_B6
#define LCD_DATA4 PIN_B7

kısmını şu şekilde düzenle:
Kod:
#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#define LCD_ENABLE_PIN PIN_B0
#define LCD_RS_PIN PIN_B1
#define LCD_RW_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA4 PIN_B5
#define LCD_DATA4 PIN_B6
#define LCD_DATA4 PIN_B7
#include <lcd.c>                       //satırını lcd pin tanımlarından sonraya taşıdık

Halen çalışmazsa;
program içerisindeki tüm
Kod:
set_timer1(65533);
satırlarını 10000 azalta azalta dene.

Bunların dışında kesme işini tamamen iptal edip
öncelikle lcd nin düzgün çalıştığını doğrulayıp
sonra kesme işinegeçebilirsin.

Not:
Forumlarda kod paylaşırken kodlarınızı kod tag içine yazınız.
[*code] Kodlarburaya yazılır. [*/code]
Yıldız * işaretleri olmadan yukarıda şekilde yazarsan aşağıdaki gibi görünür:
Kod:
 Kodlarburaya yazılır.
 
Zili calinca ben eşyalarımi topliycam diyorsun. Adam her saniye zili çalıyor, sen her seferinde eşyalarımı topliycam diyorsun. Ama hiçbir zaman eşyalarını toplayamazsin çünkü vaktin kalmıyor.
 
Kesme içerisindeki
Kod:
delay_ms
leri kaldır.

Yine çalışmazsa,
Kod:
#include <lcd.c>
#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#define LCD_ENABLE_PIN PIN_B0
#define LCD_RS_PIN PIN_B1
#define LCD_RW_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA4 PIN_B5
#define LCD_DATA4 PIN_B6
#define LCD_DATA4 PIN_B7

kısmını şu şekilde düzenle:
Kod:
#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#define LCD_ENABLE_PIN PIN_B0
#define LCD_RS_PIN PIN_B1
#define LCD_RW_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA4 PIN_B5
#define LCD_DATA4 PIN_B6
#define LCD_DATA4 PIN_B7
#include <lcd.c>                       //satırını lcd pin tanımlarından sonraya taşıdık

Halen çalışmazsa;
program içerisindeki tüm
Kod:
set_timer1(65533);
satırlarını 10000 azalta azalta dene.

Bunların dışında kesme işini tamamen iptal edip
öncelikle lcd nin düzgün çalıştığını doğrulayıp
sonra kesme işinegeçebilirsin.

Not:
Forumlarda kod paylaşırken kodlarınızı kod tag içine yazınız.
[*code] Kodlarburaya yazılır. [*/code]
Yıldız * işaretleri olmadan yukarıda şekilde yazarsan aşağıdaki gibi görünür:
Kod:
 Kodlarburaya yazılır.
teşekkür ederim hemen deniyeceğim
 

Forum istatistikleri

Konular
127,950
Mesajlar
913,850
Kullanıcılar
449,597
Son üye
CTure

Yeni konular

Geri
Üst