Değişik bir proje devre pplb tip font kullanan termal yazıcıları destekliyor lcd ekran üzerinde kayıt bilgileri tarih saat görülebiliyor PIC18F452 DS1302 24C32A entegreleri kullanılmış yazılım picbasic ile hazırlanmış bir çok konuda iyi bir örnek Hazırlayan emeği geçen kişilere teşekkürler.
Bankalarda kullanılan sıra alma sistemidir. butona basıldığında yazıcıdan sıra verilir. 18F452 nin epromunda basılan son 20 fişle ilgili bilgi saklanır. Bilgisayarın seri portuna 9800 bt 8N1 ile bağlarsanız devreye 1 komutu yolladığınızda epromda sakladığı fiş bilgilerini (hangi numara hangi tarihte hangi saatte verildi) size verecek ve hafızayı silecektir.
Sistemin saat ve tarih kısmında ETE hocanın katkısı çoktur. kendisine tekrar teşekür ederim. sistem kendi tasarımımdır. yardımcı olması dileğiyle.
PORTA.1 pinine bağlı butona basılı tutarak (anahtarı kapalı konuma getirerek) devreye enerji verilirse eeprom resetlenir.
kod içinde bu durum aşağıdaki kod grubuyla yapılır.
if porta.1 = 1 then
print at 1,1,”eproom resetlendi”
kayit = 0
ewrite 1,[kayit]
kayitsayisi = 0
ewrite 10,[kayitsayisi]
adet = 0
ewrite 100,[adet]
Dn5:
if porta.1 =1 then dn5
endif
Yazılım
'**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2009 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 26.04.2009 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** device 18f452 ADCON1=7 delayms 500 XTAL = 20 LCD_DTPIN = PORTd.4 LCD_RSPIN = PORTd.3 LCD_ENPIN = PORTd.2 LCD_INTERFACE = 4 ' 4-bit Interface LCD_LINES = 4 LCD_TYPE = 0 HSERIAL_BAUD = 9600 ' Set baud rate to 9600 HSERIAL_RCSTA = %10010000 ' Enable serial port and continuous receive HSERIAL_TXSTA = %00100000 ' Enable transmit and asynchronous mode HSERIAL_CLEAR = ON symbol RtC_ClK = portb.5 symbol RtC_RsT = portb.7 symbol RtC_DtA = portb.6 low portb print at 1,1,"HAZIR..." high portd.0 'backlight açıldı '******************Portlar deneniyor*************************** '******************DEĞİŞKENLER TANIMLANIYOR******************** dim MeM as byte Dim SaYi as byte dim SaNiYe as byte dim DakikA as byte dim SaaT as byte dim GunSirasi as byte dim Gun as byte dim Ay as Byte dim YiL as byte dim KonTroL as byte dim OnlaR as byte dim BiRleR as byte dim Eski_Sn as byte dim DeG[64] as byte dim AdeT as word dim Bas as word dim KayiT as word dim KayitSayisi as word dim BilGi as byte dim O_K_sayisi as byte dim OkuNan as byte bilgi = 0 kayit = eread 1 'if kayit = 255 then 'kayit = 20 'ewrite 1,[kayit] 'endif kayitsayisi = eread 10 if kayitsayisi = 255 then kayitsayisi = 0 ewrite 10,[kayitsayisi] endif adet = eread 100 if porta.1 = 1 then print at 1,1,"eproom resetlendi" kayit = 20 ewrite 1,[kayit] kayitsayisi = 0 ewrite 10,[kayitsayisi] adet = 0 ewrite 100,[adet] Dn5: if porta.1 =1 then dn5 endif if porta.0 = 0 then ayarsiz '******Saat 13:20:54 2/6/2009 OLARARAK DEĞİŞKENLER ATANIYOR**** Mem=00 :Gosub Terscevir :Saniye=SAYI Mem=31 :Gosub Terscevir :Dakika=SAYI Mem=17 :Gosub Terscevir :Saat=SAYI MEM=7 :GOSUB terscevir :gunsirasi=sayi Mem=26 :GOsub Terscevir :Gun=SAYI Mem=4 :Gosub Terscevir :Ay=SAYI Mem=9 :GOSUB Terscevir :YIL=SAYI '***********DS1302 ye saat yazılacak**************************** high rtc_rst output rtc_dta shout rtc_dta, rtc_clk, 0,[$8E, 0] low rtc_rst Delayus 50 High rtc_rst output rtc_dta shout rtc_dta, rtc_clk, 0, [$BE\8,saniye\8,dakika\8 ,saat\8 ,gun\8 ,ay\8 ,gunsirasi\8 ,yil\8 ,128\8] low rtc_rst print at 2,1,"Saati Ayarladim.." delayms 1000 '*************islem yönetimi************************** Ayarsiz: cls bilgi = 0 BasLa: gosub zaman_oku if porta.0 =1 then printet hserin 10,basla,[bilgi] if bilgi = "1" then aktar goto basla '***********************Saati oku********************** Zaman_Oku: High RtC_RsT OUTPUT rtc_dta shout RtC_DtA ,RtC_ClK ,0 ,[$BF] INPUT RTC_DTA shin RtC_DtA ,RtC_ClK ,1 ,[saniye\8,dakika\8,saat\8,gun\8,ay\8,gunsirasi\8,yil\8,kontrol\8] Low RtC_RsT mem=saniye :gosub cevir:saniye=sayi mem=dakika :gosub cevir:dakika=sayi mem=saat :gosub cevir:saat=sayi mem=gun :gosub cevir:gun=sayi mem=ay :gosub cevir:ay=sayi mem=yil :gosub cevir:yil=sayi mem=gunsirasi :gosub cevir:gunsirasi=sayi print at 1,1, "Sira No:",dec5 adet," " print at 2,1, "Kayit :",dec3 kayit print at 4,1,dec2 saat,":",dec2 dakika,":",dec2 saniye print at 4,11,dec2 gun,"/",dec2 ay,"/","20",dec2 yil, delayms 10 return END '***********Hex Değer Binary dönüşüyor************** TersCevir: onlar=mem dig 1 onlar=onlar<<4 birler=mem dig 0 sayi=onlar + birler return '**********Binary Değer Hex Dönüşüyor*************** Cevir: onlar =mem & %01110000 onlar =onlar>>4 birler =mem & %00001111 sayi =onlar * 10 + birler RETURN '**************** Printer ************************** PrintEt: if porta.0 = 0 then basla gosub yaz Dng1: if porta.0 =1 then dng1 goto basla Yaz: adet = adet + 1 ewrite 100, [adet] HSEROUT ["N",13,10,"ZB",13,10,"q495",13,10,"Q250,24",13,10,"D10",13,10,"S2",13,10,"OD,C1",13,10,"B83,189,0,3,2,4,39,N,",34,dec2 saniye,dec2 gun,dec2 saat, dec2 dakika,dec3 adet,34,13,10] hserout ["A160,57,0,5,1,1,N,",34,dec5 adet,34,13,10,"A156,22,0,3,1,1,N,",34,"SIRA NUMARASI",34,13,10] hserout ["A101,140,0,4,1,1,N,",34,dec2 gun,45,dec2 ay,45,50,48,dec2 yil,60,62,dec2 saat,58,dec2 dakika,58,dec2 saniye,34,13,10,"A457,205,3,1,1,1,N,",34,"www.obis.com.tr",34,13,10,"A46,55,1,1,1,1,N,",34,"www.obis.com.tr",34,13,10,"P1,1",13,10,13,10] print at 3,1,"Baski Yapiliyor..." print at 2,1,"Baski Sayisi: ",dec4 adet gosub kayitTut print at 1,1,"Kayit:",dec KayitSayisi," Kayit Bt:",dec kayit delayms 1000 print at 3,1," " return '******************** KAYIT TUT ************************** KayiTTuT: ewrite kayit, [gun] kayit = kayit + 1 ewrite kayit, [ay] kayit = kayit + 1 ewrite kayit, [yil] kayit = kayit + 1 ewrite kayit, [saat] kayit = kayit + 1 ewrite kayit, [dakika] kayit = kayit + 1 ewrite kayit, [saniye] kayit = kayit + 1 ewrite kayit, [adet] kayit = kayit + 2 KayitSayisi = KayitSayisi + 1 ewrite 1,[kayit] ewrite 10,[KayitSayisi] return AkTar: cls bilgi = 0 print at 1,1," SENKRON BASLADI." Bas = 20 okunan = 0 O_K_sayisi = eread 10 DnG2: if okunan = o_k_sayisi then setbitti gun = eread bas bas = bas + 1 Ay = eread bas bas = bas + 1 yil = eread bas bas = bas + 1 saat = eread bas bas = bas + 1 dakika = eread bas bas = bas + 1 saniye = eread bas bas = bas + 1 adet = eread bas bas = bas + 2 HSEROUT [dec2 gun,":",dec2 ay,":",dec2 yil," ",dec2 saat,":",dec2 dakika,":",dec2 saniye," ",dec5 adet,13,10] okunan = okunan + 1 goto dng2 SeTbiTTi: kayit = 20 bas = 20 ewrite 1,[kayit] kayitsayisi = 0 ewrite 10,[kayitsayisi] ' adet = 0 ' ewrite 0,[adet] print at 1,1," AKTARIM TAMAMLANDI " delayms 1000 goto basla end
Şifre-Pass: 320volt.com
Yayım tarihi: 2009/05/24 Etiketler: microchip pic projeleri, PIC18F452 picbasic, PIC18F452 tarih saat, picbasic yazıcı, sıramatik devresi
merhabalar hocam. çalışmalarınızı takdir etmekteyim. bende bu devreden yapmak istiyorum bunun için baskı devre çizimini ve varsa pc programlarını mail adresime göndermenizi rica ediyorum. bu yazdırdıgınız yazıcıya nasıl baglayabilirim bunu? sıradan bir laser veya deskjet yazıcı olurmu yoksa ayrı bir yazıcı mı olmalı. cevaplarınızı bekliyor saygılar sunuyorum
konuyla ilgili özel çalişmalar yapiyormusunuz acaba
Devre şemasında rs232 bağlantısı ,iki adet elektrolit kondansatör ve bağlantıları gösterilmemiş.Rica etsem bu bağlantıları da içeren güncel devre şemasını da yayınlayabilir misiniz?
devreyi kurudum fakat yazıcı çıktısı gelmiyor yazıcıdan sürekli bip sesi var bağlantıyı hyper terminale aktardığımda tüm bilgiler terminale geliyor sorun nerdedir.?
bende devreyi kurdum. Aynen blonje de ki gibi bip sesi var. bu devrenin baskı devresini de verebilirmisiniz yada devre elemanlarının tam listesini verebilirmisiniz ? isis deki devre elemanlarıyla yukarıdaki resimdeki devredeki elemanlar aynı değil. resimdeki devre elemanları nın şemasını verebilirmisiniz… Bi türlü yazıcıya ilk hareketi vermiyor…
Belki size bir fikir verebilir diye Aynı projenin bir başka sitedeki Aşağıdaki diyaloğunu aynen yolluyorum.
nureddino
Tarih: 23 06 2010 10:43
——————————————————————————–
ben çalıştıramadım…
Arkadaşlar argox203dt kullandım. seri gnderimde sadece argox’un sağ ledi yanıp sönüyor.
printerden tepki yok. baud rate 2400 yaptım yine sadece led yandı söndü. yani farklı baudratelerde alımı yaptı (yanlış alım yapmış olmalı) ve ledi yaktı kapattı. (Tek yönlü veri gönderiyorum. alım ile ilgilenmedim. Sadece TX ve GND bağladım.) bilgisi olan var mı? teşekkürler
nureddino
Tarih: 24 06 2010 09:57
——————————————————————————–
Aldığım printer bozuk çıktı.. 🙂
19200 baud ile deneyiniz, piyasadaki termal yazıcıların çoğu 9600 ya da 19200 baud ile haberleşir, istisna olanlar da var tabiki.
Merhaba,
Bu projeyle alakalı değil ama benzer bir şey sormak istiyorum. Flash bellekteki resimlerden rasgele birini seçip yazdırmamız mümkün mü? Termal yazıcı Usb yada RS232 bağlatılı olacak.
bu hangi derleyicide derlenmiş acaba microstudio ile derlemeye çalıştıgımda hata veriyor swordfish ilede denedim
bu devreyi denedim , dosya içerisindeki çıkanlar ve resimdeki gözüken devre farkli çalıştırabilen varmı acaba teşekkür ederim iyi günler
Merhaba,
HSEROUT Kısmındaki
“N”,
“q495”,
“Q250”,
“D10”,
“S2”, gibi terimler neyi ifade ediyor acaba?
HSEROUT [“N”,13,10,”ZB”,13,10,”q495″,13,10,”Q250,24″,13,10,”D10″,13,10,”S2″,13,10,”OD,C1″,13,10,”B83,189,0,3,2,4,39,N,”,34,dec2 saniye,dec2 gun,dec2 saat, dec2 dakika,dec3 adet,34,13,10]
hserout [“A160,57,0,5,1,1,N,”,34,dec5 adet,34,13,10,”A156,22,0,3,1,1,N,”,34,”SIRA NUMARASI”,34,13,10]
hserout [“A101,140,0,4,1,1,N,”,34,dec2 gun,45,dec2 ay,45,50,48,dec2 yil,60,62,dec2 saat,58,dec2 dakika,58,dec2 saniye,34,13,10,”A457,205,3,1,1,1,N,”,34,”www.obis.com.tr”,34,13,10,”A46,55,1,1,1,1,N,”,34,”www.obis.com.tr”,34,13,10,”P1,1″,13,10,13,10]
Merhaba,
Sıramatik devresini yapmaya başladım. Kodları devreyi hazırlayıp yükledim. Devre ve lcd ekran sorunsuz çalıştı. Fakat printer çıktıları hem çince hemde küçük çıkıyor. Kodda kullandığınız
HSEROUT ["N",13,10,"ZB",13,10,"q495",13,10,"Q250,24",13,10,"D10",13,10,"S2",13,10,"OD,C1",13,10,"B83,189,0,3,2,4,39,N,",34,dec2 saniye,dec2 gun,dec2 saat, dec2 dakika,dec3 adet,34,13,10]
HSEROUT ["A160,57,0,5,1,1,N,",34,dec5 adet,34,13,10,"A156,22,0,3,1,1,N,",34,"SIRA NUMARASI",34,13,10]
HSEROUT ["A101,140,0,4,1,1,N,",34,dec2 gun,45,dec2 ay,45,50,48,dec2 yil,60,62,dec2 saat,58,dec2 dakika,58,dec2 saniye,34,13,10,"A457,205,3,1,1,1,N,",34,"www.obis.com.tr",34,13,10,"A46,55,1,1,1,1,N,",34,"www.obis.com.tr",34,13,10,"P1,1",13,10,13,10]
satırlarıdaki rakamlar ve A160,A101 vb kullanımların anlamlarını öğrenmek istiyorum. Sanırım printerın satır-kolon kodları ve harf kodları gibi. Ama bu konuyla ilgili internette hiçbirşey bulamadım. Sizden yardım bekliyorum. Aldığım printer ve printer çıktısının resminide ekliyorum. Şimdiden çok teşekkür ederim
https://ibb.co/9NGxSqJ
Merhaba,
yazıda belirttiğim gibi proje bana ait değil. tahminimce çince karakterler yazıcıdan kaynaklanıyor. bu konu hakkında kesin bilgiyi ETE hocam verebilir https://etepic.com/index.php?action=forum
aşağıda ki dökümanlar işinize yarayabilir.
ww1.microchip.com/downloads/en/devicedoc/pbp_reference_manual.pdf
sistemisds.altervista.org/picbasiccompiler.html#19