Teknomerkez
TR EN ES
Konular

Pic 16F84 ile Signboard (İşaret Tahtası) Uygulaması

Yazar: Mümin Kahraman
Tarih: 22.08.2005
Türkçe

Pic 16f84 ile yapılmış olan bir signboard (İşaret tahtası) uygulaması görülmektedir. Bu devrede toplam 16*16 256 adet LED lamba kullanılmıştır. Lambalar 74154 entegresi tarama mantığında 74373 entegreleri ise 16 adet satıra denk gelen dataları sürme işleminde kullanılmıştır. 74373 entegresi, 8 bitlik latch entegredir. Tabi ki uygun işaret için gerekli datalar ise pic16f84 entegresi tarafından gönderilmektedir. Sizlerde isterseniz istediğiniz amblemi kodlarda değişiklik yaparak oluşturabilirsiniz. Devre PROTEUS 6.2 de hem simülasyonu yapılarak çalıştırılmış, hem de elemanlarla birlikte bir breadboard üzerine kurularak denenmiştir. Sadece entegre çıkışları doğrudan ledlere gönderildiği için ledler sönük yandığı gözlemlenmiştir. Uygun transistörler ile sürüldüğünde daha iyi sonuçlar alınabilir. Bu uygulama signboard uygulamalarının ilki olduğu için eksiklikler tabi ki vardır. İnşallah bundan sonraki uygulamalar daha gelişmiş olacağı kanısındayım. Küçük bir hatırlatma, bu devrede asıl işi yapan kısım kuşkusuz mikro denetleyicideki programdır. Program assembly dilinde yazılmış olup bu devreyi uygulamayı düşünen arkadaşlarıma tavsiyem ise, programın çalışma mantığını anlayarak programı daha kapsamlı bir signboard haline getirmek sizlerin elindedir. 16*16 signboard değilde 32*32 signboard yada daha yukarısı neden olmasın.

Çalışmam esnasında istemeden eksiklikler oluştuysa sizlerden özür diliyor, benden yardım isteyen arkadaşlara da bu sitedeki mail adresime mail atarak ilettiklerinde yardımcı olabileceğimi belirtmek isterim...

Devrenin Şeması:

Ekler:
signboard.zip (Devre için gerekli dosyaların hepsini tıklayarak indirebilirsiniz.)

Devrenin ASM kodları aşağıdadır.
Not: Aşağıdaki kodları kopyalama yöntemiyle kullandığınızda hata verebilir. Ekteki ASM dosyayı kullanınız.

; PICSIGNBOARD
; PIC16C84 ILE YAPILAN 16*16=256 LED LI KARE SHOW DEVRESİ
; 32 KARAKTER KULLANILABILIR
LIST P = 16F84
;PIC84 equ H'03FF'
INCLUDE "P16F84.INC"

;----------- USER REGISTERS --------------------------

LINE1 EQU H'0010'
LINE2 EQU H'0011'
LINE3 EQU H'0012'
LINE4 EQU H'0013'
LINE5 EQU H'0014'
LINE6 EQU H'0015'
LINE7 EQU H'0016'
LINE8 EQU H'0017'
LINE9 EQU H'0018'
LINE10 EQU H'0019'
LINE11 EQU H'001A'
LINE12 EQU H'001B'
LINE13 EQU H'001C'
LINE14 EQU H'001D'
LINE15 EQU H'001E'
LINE16 EQU H'001F'
LINE17 EQU H'0020'
LINE18 EQU H'0021'
LINE19 EQU H'0022'
LINE20 EQU H'0023'
LINE21 EQU H'0024'
LINE22 EQU H'0025'
LINE23 EQU H'0026'
LINE24 EQU H'0027'
LINE25 EQU H'0028'
LINE26 EQU H'0029'
LINE27 EQU H'002A'
LINE28 EQU H'002B'
LINE29 EQU H'002C'
LINE30 EQU H'002D'
LINE31 EQU H'002E'
LINE32 EQU H'002F'
TARA EQU H'000C'
SATIRLAR EQU H'0031'
I EQU H'0032'

ZAMAN equ H'003E'
DISP EQU H'003F'
msb equ 0x39
lsb equ 0x3A

START
call SETCPUPORTSTATUS
MOVLW B'11111110' ;BTL simgesinin olusması icin gerekli kodlar giriliyor
MOVWF LINE1 ;BTL ( Bilgisayar Teknik Lisesi )
MOVLW B'11111110'
MOVWF LINE2
MOVLW B'10010010'
MOVWF LINE3
MOVLW B'11111100'
MOVWF LINE4
MOVLW B'10010010'
MOVWF LINE5
MOVLW B'11000000'
MOVWF LINE6
MOVLW B'10010010'
MOVWF LINE7
MOVLW B'11000000'
MOVWF LINE8
MOVLW B'01101100'
MOVWF LINE9
MOVLW B'11000000'
MOVWF LINE10
MOVLW B'00000000'
MOVWF LINE11
MOVLW B'11000000'
MOVWF LINE12
MOVLW B'00010000'
MOVWF LINE13
MOVLW B'11000000'
MOVWF LINE14
MOVLW B'00010000'
MOVWF LINE15
MOVLW B'10000000'
MOVWF LINE16
MOVLW B'11110000'
MOVWF LINE17
MOVLW B'10000111'
MOVWF LINE18
MOVLW B'00010001'
MOVWF LINE19
MOVLW B'00000000'
MOVWF LINE20
MOVLW B'00010011'
MOVWF LINE21
MOVLW B'00000000'
MOVWF LINE22
MOVLW B'00000011'
MOVWF LINE23
MOVLW B'01111111'
MOVWF LINE24
MOVLW B'00000011'
MOVWF LINE25
MOVLW B'01000000'
MOVWF LINE26
MOVLW B'00000011'
MOVWF LINE27
MOVLW B'01000000'
MOVWF LINE28
MOVLW B'01111111'
MOVWF LINE29
MOVLW B'01000000'
MOVWF LINE30
MOVLW B'11111111'
MOVWF LINE31
MOVLW B'01000000'
MOVWF LINE32

ANA
BCF PORTA,0 ;DATA1 DISABLE
BCF PORTA,1 ;DATA2 DISABLE
BSF PORTA,2 ;LOAD DISABLE
BSF PORTA,3 ;74154 DISABLE

CLRF TARA ;74154 0. SIRA ENABLE (TARAMA=0)

MOVLW .16 ;DÖNGÜ SAYISI YÜKLENDI
MOVWF I ; ( I = 15)
MOVLW LINE1 ;İLK SIRA DATA1 YÜKLENDI FSR YE
MOVWF FSR

DEVAM MOVF INDF,W
MOVWF PORTB
BSF PORTA,0 ;DATA1 ENABLE
;CALL GECIK
BCF PORTA,0 ;DATA1 DISABLE

INCF FSR ; İKİNCİ SIRA DATA2 YÜKLENDİ FSR YE
MOVF INDF,W
MOVWF PORTB
BSF PORTA,1 ;DATA2 ENABLE
;CALL GECIK
BCF PORTA,1 ;DATA2 DISABLE

CLRF PORTB
BCF PORTA,2 ;LOAD ENABLE 0 YÜKLENEREK
MOVF TARA,W
MOVWF PORTB
BCF PORTA,3 ;74154 ENABLE 0 YÜKLENEREK
CALL GECIKME
BSF PORTA,2 ;LOAD DISABLE 1 YÜKLENEREK
BSF PORTA,3 ;74154 DISABLE 1 YÜKLENEREK

INCF FSR
MOVLW B'00000001'
ADDWF TARA,1


DECFSZ I
GOTO DEVAM
GOTO ANA

;
;******************************************************
SETCPUPORTSTATUS
bsf STATUS,RP0
movlw H'00000000'
movwf TRISB
movlw B'00000000'
movwf TRISA
bcf STATUS,RP0

RETURN
;******************************************************
;*- Gecikme Döngüleri -*
;******************************************************

GECIK ;(lsb = ff icin 750nsec gecikme)
movlw .1
movwf msb
d3 movlw .1
movwf lsb
d4 decfsz lsb,F
goto d4
decfsz msb,F
goto d3
return

GECIKME ;750 MİKRO SANİYE
movlw .2
movwf msb
d1 movlw .255
movwf lsb
d2 decfsz lsb,F
goto d2
decfsz msb,F
goto d1
return
;******************************************************
FINISH
goto START
end


Etiketler: Pic 16F84A Asm

Yorumlarınız

H.Demir - 06.11.2005
Söyleyecek ne söz olabilir !?
Türkçe sitelerdeki olmayan içerik ve kapsam sorununu halletmeye çalışıyorsunuz.
Keşke herkes sizin gibi düşünse.(bu sitedeki diğer yazarlar ve bu kapsamda olanlar istisna).
Bir PIC16F84'ün sitesinde 88 sayfa , 1,46MB (pdf) data sheet'i var.Her şeyini açıklamışlar.
Bizimkilere de yaptıkları bir iş hakkında bir soru soruyorsunuz.Devlet sırrıymış gibi söylemiyorlar.(Mesela bir ürünün açık devre şeması)(En fazla 3 gün içinde açık devre şeması çıkarılabilir-tek taraflı board)

osman - 15.12.2005
elektronik 4. sınıf öğrencisiyim. 4 tane araştırma projem var ve bunlarla ilgili bilgi toplama konusunda internete mahkumum ancak türkçe kaynak neredeyse yok denecek kadar az.türk mallarına ait datasheet leri bile rus sitelerinde bulabiliyorum. vestel 11ak17 lazım mesela yok. vestel ihracat yapmışsa ne ala yabancı sitelerde mevcut. yoksa ara dur. sonra da kalifiye eleman arasınlar.
multiplexer - 03.01.2006
öncelikle herşey için teşekkürler çok güzel olmuş ancak bazı arkadaşalr Türkçe kaynak bulamadıklarından yakınıyor o halde ingilizce öğrenmeleri gerektiğini anlayamıyorlarmı? Gelişmek için sadece araştırma yapmak değil insanın kendisinide geliştirmesi gerekir.
no mercy ss - 07.02.2006
ne dıyebilirim ki tek kelimeyle mükemmell ellerinize sağlıkkk .........
Ad belirtilmedi - 18.04.2006
kimseyi küçük düşürmek alay konusu yapmak veya dalga geçmek gibi bir niyetim yok.sadece
ingilizce öğrenmek şart demişsinizde japon sitelerine veya üreticilerin çin sitelerine veya rusların sitelerine bakmak için de bu dilleri öğrensekmi ne dersiniz. dediğiniz kültür ve lisan açısından iyi fakat daha çok türkçe sitelerde olsa kötümü yani herkez öğrensin ne var millet olarak kalkınalım.
greenroad1
yasar - 08.08.2006
Ben bu işe yenı baslamama rahmen yapableceklerım dısında bırse varmı dıye gezerken karmasık bır devre daha doğrusu ararken bu devreyı buldum gercekten harıka bır ıs tebrikler.Basarılarınızın devamıdılerım.
çağlar - 02.09.2006
ben elektroniğe daha yeni merak sardım.özellikle bu pıc çok hoşuma gitti.ben pic programlamak istiyorum.ne yapmam gerkir.bunun programlarını nereden bulabilirim. bana yardımcı olursanız çok sevinirim.şimdiden Allah hepinizden Razı Olsun
FATİH - 22.03.2007
merhaba devreiz cok güzel olmuş sizden rica etsem bana bu devreden isis te tasarlayıp mail atarmısınız ''MKU'' yazarsanız çok sevinirim
ASLI - 29.04.2007
ÇOK GÜZEL BİRŞEY YAPTIĞINIZI BİLİYORMUSUNUZ BANA ÇOK LAZIM OLAN BU BİLGİLERİN ÇOK YARARI OLDUĞUNU BELİRTMEK İSTİYORUM SAYENİZDE BU SENE PROJEMİ ÇOK GÜZEL ŞEKİLDE YAPTIM VE BİTİRDİM
NİHAT ÇABUK - 02.10.2007
ÇOK MÜKEMMEL BİR ÇALIŞMA TEBRİKLER
cem - 06.10.2007
TEBRİK EDERİM :-) ÇOK GÜZEL OLMUŞ...
cafer - 06.12.2007
bu çalışmalarınızdan dolayı teşekkür ederiz!
başarılarınızın dewamını dileriz hocam :)
donanım bölüm öğrencileri ellerinizden öper!
gerekeni arz ederiz .)
cumali - 09.02.2009
ben ilk önce şunu demek istiyorum ben sizin öğrencinizim 11c-s sınıufın dan hocam hersey güzelde bari kayan yazı hakında biraz kod yada benim işime yarıyacak yani yılık ödevim çin bana yardımcı olmanızı istiyorum
muratyamak - 05.12.2012
gerçekten çok teşekkür ederim arkadaşlara ve bu projeyi yapan arkadaşın allah youlunu açık etsin.proje yaparak bilgi seviyemizi yükseltiyorsunuz
allah razı olsun

Bir yorum ekleyin

İsim:
E-posta:
Yorumunuz:
Güvenlik Kodu:
 
Tüm alanları doldurmak zorunludur. Yorumunuz kontrol edilince yayınlanacaktır. E-posta adresi yayınlanmaz.
İzin verilen html etiketler (tag): <p><div><b><strong><i><u><del><hr><sup><sub><br>