Pic 16F84 ile Signboard (İşaret Tahtası) Uygulaması
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
Yorumlarınız
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)
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
başarılarınızın dewamını dileriz hocam :)
donanım bölüm öğrencileri ellerinizden öper!
gerekeni arz ederiz .)
allah razı olsun
Bir yorum ekleyin
İzin verilen html etiketler (tag): <p><div><b><strong><i><u><del><hr><sup><sub><br>