sayisal kumbara yardim

Başlatan klorofil, 15 Mart 2015, 13:26:40

klorofil

arkadaşlar merhaba.tubitakin sitesinde bulunan sayısal kumbarayi ben kendi yazdığım ccs c dilinde yazdım.board uüzerinde devreyi kurdum herşey çalışıyor.fakat sensorlerin hepsini bagladigim zaman ekranın yarısı siliniyor.sensorun birini cikarttigim zaman ekran duzeliyor fakat sürekli para artmaya başlıyor.acaba sorunum soft mu yoksa bağlantılardan mi.

MrDarK

Klorofil;

Tubitaktaki adresi, devre şemasını ve kodları buraya ekle ki arkadaşlar çalışmana yardımcı olabilsin
Picproje Eğitim Gönüllüleri ~ MrDarK

klorofil

#include <sayısal kumbara.h>
#include <LCD.C>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#use delay(clock=4000000)

#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_DATA5       PIN_B5                                   
#define LCD_DATA6       PIN_B6                                   
#define LCD_DATA7       PIN_B7

#use fast_io(a)
#use fast_io(b)
#define use_portb_lcd TRUE


float sayac;
float para1;
float para2;
float para3;
float para4;
float para5;
float para6;


void main()
{

para1=0.01;
para2=0.05;
para3=0.10;
para4=0.25;
para5=0.50;
para6=1.00;

set_tris_b(0b00001000);
output_b(0b00000100);
set_tris_a(0b11111);
output_a(0);
sayac=0;
lcd_init();



while(TRUE)
{

klorofil

program yukarıdaki gibidir.devre ve ekran görüntüsü de bu şekildedir.



klorofil

ekranda görüntünün düzgün olduğu hali para sayarkenki hali yani sensörden bilgi geldiği zaman.sayma işlemi olmadığı zaman ekranın yarısı siliniyor.bu durum butonda bağlasam aynı sensörde bağlasam aynı oluyor.

mehmet

Kod ekleme tuşu ile eklerseniz daha iyi
olacaktır.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

klorofil

#include <sayısal kumbara.h>
#include <LCD.C>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#use delay(clock=4000000)

#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_DATA5       PIN_B5                                    
#define LCD_DATA6       PIN_B6                                    
#define LCD_DATA7       PIN_B7 
#use fast_io(a)
#use fast_io(b)
#define use_portb_lcd TRUE




float sayac; 
float para1;
float para2;
float para3;
float para4;
float para5;
float para6;




void main()
{

 setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_OFF);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   enable_interrupts(INT_TIMER1);
   enable_interrupts(GLOBAL);


para1=0.01;
para2=0.05;
para3=0.10;
para4=0.25;
para5=0.50;
para6=1.00;




set_tris_b(0b00001000);
output_b(0b00000100);
set_tris_a(0b11111);
output_a(0);



sayac=0;
lcd_init();







while(TRUE)
{

mehmet

Kodların tamamı yok, bir de başka bir LCD ile deneyiniz...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

klorofil

daha önce iki tane lcd yaktım.tekrar masraf yapmak istemiyorum :) ama mecbur alacaz galiba bir ekran daha.Kodların gerisinde bir şey yok.sinyal var ise para değerini arttır komutları yazılı.onlarda sorun yok.ekran bozuk olsa para sayarkende silik olmaz mı yazılar

klorofil

bu konuda bir fikri olan yok mu.sıkınıt soft mu hard mı

trinity

LCD'nin neden bozulduğunu tespit etmeden sürekli yeni LCD takmak doğru değil, beslemede bir sorun olabilir

ogzcndyr

hangi sensörü kullanıyorsun? Her para için özel bir sensör mi var? Sensölerin modelini yazarsan çok memnun olurum.

klorofil

Galiba sorun benim rw bacağını doğru baglayamamam.rw bacağını sıfır volta bagladigim zaman ekranda.çok net kareler çıkıyor.bu da ekranın sağlam olduğunu gösterir.
Rw pinini sıfıra baglarsak sadece LCD ye gönderme yapıyoruz diye biliyorum. Bu durumda sorun ya yazdığım programda rw yi doğru tanımlamak yada LCD.c driver dosyasında tanım lamak.