PIC Assembly - PIC C 16F877A İle Display Uygulaması (9’dan 0’a Geri Sayıcı) By Burak Ablay Posted on 26 Şubat 2015 4 min read 4 1 22,085 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Çevrim / Bakış tabloları ile bir kodu başka bir koda dönüştürmek için kullanılırlar. Örneğin PIC mikro denetleyiciyi portlarına bağlı 7 Segment display / gösterge üzerinde hexadecimal (onaltılık tabandaki) sayıları göstermek, sıcaklık dönüşümü(derece-fahrenayt gibi) yapma, sinus, kosinus alma gibi işlemlerde dönüşüm/çevrim tabloları kullanılır. 7 Segment display kodlaması için aşağıdaki tablo kullanılır. DİSPLAY 7 segment displaylerin içerisinde aslında 8 adet led bulunmaktadır. Her bir segment bu ledler ile oluşturulmuştur ve göstergenin hangi segmentinin yanmasını istiyor isek o ledi yakarız. 7 segment displayler ortak anot ve ortak katotlu olmak üzere iki farklı şekilde bulunurlar. Displayde 10 adet uç vardır. Diğer elektronik elemanlar gibi + ve – ucu yoktur.Ortak anot yada ortak katot dediğimiz bir sistem vardır.Yani alt sıra ve üst sıradaki 5 adet bacağın ortasındaki uçlara ya ikisinide + uç yani bu ortak katot demektir , yada – uç buda ortak katot demek oluyor takılmalıdır. Eğer ortak katot ise 16f877A nın uçlarında + çıkmalıdır içlerinde led olduğu için aktif hale gelicektir.Ortak anotsa PİC in uçlarında – uçla display kontrol edilir. Bizim bu uygulamada kullandığımız display ortak ANOT tur. DEVRENİN ŞEMASI DEVRE ŞEMASI KODLAR [php] LIST P=16F877A #INCLUDE<P16F877A.INC> __CONFIG 0X3FF1 SAYAC EQU h’20’ SAYAC1 EQU h’30’ SAYAC2 EQU h’40’ SAYAC3 EQU h’50’ CLRF PORTB CLRF SAYAC BSF STATUS,5 CLRF TRISB BCF STATUS,5 BASLA INCF SAYAC,F MOVF SAYAC,W SUBLW d’10’ ;W=10-W BTFSS STATUS,Z GOTO DISPLAY MOVLW h’00’ MOVWF SAYAC GOTO DISPLAY GOTO BASLA DISPLAY CALL DIZI MOVWF PORTB CALL BEKLE GOTO BASLA BEKLE MOVLW h’FF’ MOVWF SAYAC2 DON1 MOVLW h’FF’ MOVWF SAYAC3 DON2 DECFSZ SAYAC3,F GOTO DON2 DECFSZ SAYAC2,F GOTO DON1 RETURN DIZI ADDWF PCL,F RETLW b’11000000′ ;.GFEDCBA RETLW b’11111001′ RETLW b’10100100′ RETLW b’10110000′ RETLW b’10011001′ RETLW b’10010010′ RETLW b’10000010′ RETLW b’11111000′ RETLW b’10000000′ RETLW b’10010000′ END [/php] Devrenin hex dosyasını buradan bulabilirsiniz..