Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Picproje Kütüphane (Library) => Konuyu başlatan: Erhan YILMAZ - 08 Nisan 2009, 14:28:24

Başlık: 1 Byte veriyi BCD'ye çevirme (Byte_to_BCD)
Gönderen: Erhan YILMAZ - 08 Nisan 2009, 14:28:24
gecenlerde ihtiyacım oldu böyle bir programa internette istediğim gibi bulamadığım için oturup kendim yazdım. Programı denedim gayet güzel çalışıyor ve bu bölümde paylaşmak istedim. Program 1 bytelık veriyi birler, onlar ve yuzler olmak üzere 3 basamak desimal karaktere dönüştürüyor yani sayıları direk olarak LCD'ye veya seri portta gönderilebilir formata dönüştürüyor. Ayrıca bu bölümün açılmasıda iyi olmuş iyi bir kod kütüphanesi oluşturulabilir.

Byte_to_BCD (http://rapidshare.com/files/218870324/Byte_to_BCD.rar)

;******************************************************
;Bu alt program 1 bytelık datayı yüzler,onlar,birler  *
;olmak üzere 3 basamak desimal karaktere dönüştürür.  *
;Kullanılan değişkenler sayi,yuzler,onlar,birler      *
;******************************************************

Byte_to_BCD
movwf sayi ;Değişken içerikleri
clrf yuzler ;sıfırlanıyor
clrf onlar
clrf birler
yuz_var
incf yuzler,f ;Sayını içinde
movlw .100 ;yüz olup olmadığı
subwf sayi,f ;kontrol ediliyor
btfsc STATUS,C
goto yuz_var
decf yuzler,f ;Sayıda yüz yoksa
movlw .100 ;tekrar yüz eklenip
addwf sayi,f ;eski değerine dönülüyor
on_var
incf onlar,f ;Sayını içinde
movlw .10 ;on olup olmadığı
subwf sayi,f ;kontrol ediliyor
btfsc STATUS,C
goto on_var
decf onlar,f ;Sayıda on yoksa tekrar on
movlw .10 ;eklenip eski değerine
addwf sayi,w ;dönülüyor kalan değer
movwf birler ;birler basmağına ekleniyor
movlw 0x30 ;Elde edilen sayılar
addwf yuzler ;Hex '30' değeri eklenerek
movlw 0x30 ;ASCII karaktere çeviriliyor
addwf onlar
movlw 0x30
addwf birler
return
Başlık: 1 Byte veriyi BCD'ye çevirme (Byte_to_BCD)
Gönderen: Ziya - 08 Nisan 2009, 15:22:50
bin2_bcd3 veya bin2bcd3 diye araştırsanydın bulurdun.
Başlık: 1 Byte veriyi BCD'ye çevirme (Byte_to_BCD)
Gönderen: Erhan YILMAZ - 08 Nisan 2009, 15:31:03
Araştırana kadar düşündüm yazdım arkadaşım hemde paylaştım picprojenin kod kütüphanesi genişlesin diye
Başlık: 1 Byte veriyi BCD'ye çevirme (Byte_to_BCD)
Gönderen: Ziya - 08 Nisan 2009, 22:53:14
Alıntı yapılan: "tamirci_erhan"Araştırana kadar düşündüm yazdım arkadaşım hemde paylaştım picprojenin kod kütüphanesi genişlesin diye
Eline sağlık.

Tercih meselesi tabi. Bazıları hazır ister, bazıları kendisi yazmak. Ben bu işlemi yapan kodu düzenleyerek bin4bcd5 kodunu yazıp Jal kütüphanesine dahil etmiştim. hatta piclistteki matematik rutinlerini Jal kütüphanesi haline getirmiştim. Yeniden yazmak zor iştir. Yapılanı geliştirmek daha kolaydır.

C'de sizin yaztığınız rutin printf komutu içerisinde mevcut. Yüksek seviyeli diller kullananların işine yaramayacağı bir rutin. assembler kullanıcıları zaten forum piclist'ten işine yarayan kodları alıyorlar. size de tavsiye ederim. Assembler ile uğraştığım yıllarda oradan faydalanmıştım.
Başlık: 1 Byte veriyi BCD'ye çevirme (Byte_to_BCD)
Gönderen: Erhan YILMAZ - 08 Nisan 2009, 23:02:12
Piclisti biliyorum dostum faydalı bir site ama orda aradığımı bulamadım sonra kendim yazdım. Yüksek seviyeli dil kullanan arkadaşlarında işine yarar. En azından bilmeyenler nasıl yapıldığı hakkında biligi sahibi olurlar. Niye bu kadar tartışıyorsun bu konuyu anlamadım. Forumda böyle bir bölüm açılmış bende elimdeki hazır fonksiyonları paylaştım. İşine yarayan kullansın.
Başlık: 1 Byte veriyi BCD'ye çevirme (Byte_to_BCD)
Gönderen: Ziya - 09 Nisan 2009, 00:49:20
Alıntı yapılan: "tamirci_erhan"... nie bu kadar tartısıyorsun bu konuyu anlamadım forumda böyle bir bölüm açılmış bende elimdeki hazır fonksiyonları paylaştım işine yarayan kullansın
Sen buna tartışmak mı diyorsun? Geriye dön ve bir daha oku o zaman, tartışma var mı görürsün. İşine yarayacak arkadaşlar için, 16 bitlikği nasıl yaparız diye araştıracak birine yol göstermiş oldum.  Sizinle laf yarıştıracak kadar zamanım yok. Eğer buna tartışmak diyorsan ve sıkıldıysan düşünceni bunu yansıtacak şekilde bildir ben de burada bitireyim.

Bilgi alışverişine sizin tarzınızla yaklaşan kişiler bu forumda bir çok kişiyi yazmaz, cevap vermez hale getirdi veya kendi deneyimlerini paylaşmayı kestiler. Seni tanımıyorum, bir beklentim yok, kazancım yok, kaybım yok (zaman kaybı dışında), burada yazdıklarımdan başka verebileceğim bir şey yok, düşmanım değilsin, dostum değilsin, o zaman neden tartışayım ki seninle?  Ya da nereden çıkarttın tartıştığımı?
Başlık: 1 Byte veriyi BCD'ye çevirme (Byte_to_BCD)
Gönderen: Erhan YILMAZ - 09 Nisan 2009, 01:28:35
tartışmak değilde ne bu ben program paylaştım orayada yazdım öylesine gecenlerde ihtiyacım oldu böyle bir programa internette istediğim gibi bulamadığım diye sende aradan çıkarmıssın  o lafı laf olsun diye demişşin bin2_bcd3 veya bin2bcd3 diye araştırsanydın bulurdun. Ben senden araştırma metodumu istedim. Yok kodları paylaştım işine yarayan kullansın diye sende uzatmış durmuşsun
Başlık: 1 Byte veriyi BCD'ye çevirme (Byte_to_BCD)
Gönderen: mustafaaxu - 18 Haziran 2009, 09:11:40
selam tamirci/erhan
bu konu eski ama
kendi yazdığın kod herzaman iyidir çalışmanı paylaşmak dahada güzel
teşekkür ederim
bu bcd  ondalığa çevirme ile bende forumda değerli kardeşlerimle özellikle sayın tagli bazı çözümler ürettik 1 byte veya 2 byte lik dosyaları ondalığa çevirerek displayde yazdırdık  
kodu asm olarak derledik ilgilenen arkadaşlar picprojel ink leri veriyorum

http://picproje.org/index.php/topic,22078

http://picproje.org/index.php/topic,24684

http://picproje.org/index.php/topic,25008