ricetyx
Üye
- Katılım
- 14 May 2009
- Mesajlar
- 142
- Puanları
- 1
- Yaş
- 37
ARKADAŞLAR MERHABA ;
Tuş Takımı ile Lcd de sayıları sıralı yazmak istiyorum. yani aşağıdaki kodda , 1 e basınca 1 , 5 e basınca da 5 yazıyor.
Ben sıralı olarak yazmasını istiyorum ne yapabilirim ?
Örnek olarak ; 1987 tuşladığım zaman LCD de 1987 Görmeliyim.
Tuş Takımı ile Lcd de sayıları sıralı yazmak istiyorum. yani aşağıdaki kodda , 1 e basınca 1 , 5 e basınca da 5 yazıyor.
Ben sıralı olarak yazmasını istiyorum ne yapabilirim ?
Örnek olarak ; 1987 tuşladığım zaman LCD de 1987 Görmeliyim.
Kod:
#include <16f877.h> #fuses HS,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=20000000)
#define use_portb_lcd TRUE
#include <lcd.c>
#define CONVERT pin_c0
#define SATIR1 pin_d0
#define SATIR2 pin_d1
#define SATIR3 pin_d2
#define SATIR4 pin_d3
#define SUTUN1 pin_d4
#define SUTUN2 pin_d5
#define SUTUN3 pin_d6
#define SUTUN4 pin_d7
int16 tus=0;
//*********** Keypad Tarama Fonksiyonu *********
char buton_oku() // Fonksiyon ismi
{
output_d(0x00);
output_high(SUTUN1);
if (input(SATIR1)){delay_ms(20); tus=0x01;}
if (input(SATIR2)){delay_ms(20); tus=0x04;}
if (input(SATIR3)){delay_ms(20); tus=0x07;}
if (input(SATIR4)){delay_ms(20); tus=0x0F;}
output_low(SUTUN1);
output_high(SUTUN2);
if (input(SATIR1)){delay_ms(20); tus=0x02;}
if (input(SATIR2)){delay_ms(20); tus=0x05;}
if (input(SATIR3)){delay_ms(20); tus=0x08;}
if (input(SATIR4)){delay_ms(20); tus=0x00;}
output_low(SUTUN2);
output_high(SUTUN3);
if (input(SATIR1)){delay_ms(20); tus=0x03;}
if (input(SATIR2)){delay_ms(20); tus=0x06;}
if (input(SATIR3)){delay_ms(20); tus=0x09;}
if (input(SATIR4)){delay_ms(20); tus=0x0E;}
output_low(SUTUN3);
output_high(SUTUN4);
if (input(SATIR1)){delay_ms(20); tus=0x0A;}
if (input(SATIR2)){delay_ms(20); tus=0x0B;}
if (input(SATIR3)){delay_ms(20); tus=0x0C;}
if (input(SATIR4)){delay_ms(20); tus=0x0D;}
output_low(SUTUN4);
return tus;
}
//*********** Keypad Tarama Fonksiyonu *********
void main ( )
{
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
set_tris_d(0b11110000);
lcd_init();
printf(lcd_putc,"\fBasilan Tus=");
while(1)
{
printf(lcd_putc,"\n%2d",buton_oku());
}
}