PIC16F84A İle 4 Programlı 8 Ledli Animasyon Devresi

| Mayıs 21, 2023 Tarihinde güncellendi
PIC16F84A İle 4 Programlı 8 Ledli Animasyon Devresi

Kullanılan mikrodenetleyici pic 16f84a 4 Farklı Çalışma programı var 8 adet led kullanılmış anahtar kapatıldığında program çalışmaya başlıyor her anahtar ledlerin farklı şekilde yanması sağlıyor tüm kaynak dosyalar proteus isis simülasyon .DSN ares pcb .LYT Assembly .asm picbasic .bas

Led Animasyon devresinin çalışma örnekleri

Devre Şeması

Proteus İsis üzerinde Devrenin kurulması ve Çalıştırılması

Bilgisayarımızda isis programını açıp çalıştırdığımızda aşağıdaki gibi boş bir ekran gelecek

Ekranın solunda kalan devices yazan kısımdaki ‘p ’ tuşuna fare ile tıklayarak pick diveces ekranının açılmasını sağlanır. Buradan devre için gerekli malzemeleri alırız.

Pick dveces içindeki kütüphane arama motoruna gerekli olan malzemenin ismini yazarak elemanı çağırabiliriz. İlk önce direnç den başlayarak keywords kutucuğunun içine “resistor” yazdığımızda aşağıdaki ekran karşımıza gelecektir.

Buradan istenen özellikteki direnç seçildikten sonra sağ alt kısımda bulunan “ok” butonuna basarak elemanı tasarım platformundaki elman kutusuna taşımış olduk.

Kondansatör içinde aynı şekilde keywords kutucuğunun içine “capasitor” yazdığımızda aşağıdaki ekran karşımıza gelir ve aynı işlemleri tekrar uygulayarak kopasitörü elman kutusuna taşırız.

Ledleri almak içinde yukarıda ki gibi keywords kutucuğuna “led “ yazarak aşağıda gözüktüğü gibi led kütüphane dosyalarını çağıralır. Eğer kullanılacak ledlerin gözle görünür bir şekilde yanmasını istiyorsanız “category” başlığı altındaki “optoeloktronic”dosyası seçin ve karşınıza çıkan ledlerin hangi renkte olmasını terçih edin.

Devremizde pic kullanındığımızdan dolayı kristale ihtiyacımız var. Bunuda aynen yukarıdaki gibi kütüphane dosyalrında “crystal” olarak tarattırdığımızda karşımıza aşağıdaki ekran gelecektir.kristalide yukarıda diğer elmanlar gibi seçerek elman kutumuza alıyoruz.

Devremizdeki butonları almak için kütüphane dosyalarında “buton” u taratırız ve karşımıza aşağıdaki ekran gelir.

Devremizi beslemek için doğru akım kayanğına ihtiyacımız var bunun için ben batarya kullanıcağım ama başka yolları da vardır. Bataryayı almak için kütüphane dosyalarında “battery” i taratırız ve karaşımıza aşağıdaki gibi bir ekran gelir.

Devremizde en son eleman olarak pic 16f84 ‘ü çağıracağız.kütüphane dosyalarından “pic16f84” diyerekten tarattıdığımızda karşımıza 16f84A gelmektedir . 16f84 ile 16f84A nin arasında bir fark olmadığından dolayı bunu kullanabiliriz.aşağıda ekranda görüldüğü gibi ekran karşımıza gelir ve oradan ok tuşuna tıklayarak pic’i elman kutusuna atarız.

Devrede bize gerekli olacak elemanları seçtikten sonra aşağıdaki şekilde görüldüğü gibi elmanlar hepsi “devices” elemanlar kutusunun içinde yer alacak

Yukarıdaki elman kutusundan elemanları alarak tasarım platformunda devreyi kurarız. Devre için gerekli olan topraklamaları ise inter-sheet terminal tuşunu secerek devices kutusundan alınız.

Simulasyona geçmeden önce son adım olarak pic içine atılması gereken hex dosyadır. Pic in icine hex dosyayı atmak için aşağıda da gözüktüğü gibi pic’in özellikler menüsü açılır. Buradan “program file” satırındaki dosya işaretine tıklanır ve yüklenilmesiistene hex dosya için “aç” penceresi gelir buradan hex dosyası alınır ve soğ üsteki okey e basılır .

Assembly .asm Programı

;****************************************************************************
;PIC0003.ASM PIC16F84 4 PROGRAMLI 8 LEDLI ISIK SOVU UYGULAMASI

;****************************************************************************
;****************************************************************************
;	PROGRAM BASLANGICINDA ISLEMCI ILE ILGILI TANIMLAMALAR YAPILMALIDIR
;****************************************************************************
TANIMLAMALAR:
	list      p=16F84             	; DERLEYICIYE ISLEMCI TANITILIR
	#include          	; PIC16F84 TANIMLAMA DOSYASI


	__CONFIG   _CP_OFF & _WDT_ON & _PWRTE_ON & _XT_OSC

;****************************************************************************
;	PROGRAMDA KULLANILAN DEGISKENLER TANIMLANMALIDIR
;	DEGISKEN TANIMLARKEN DESISKENIN ALACAGI DEGER VEYA HANGI 
;	RAM HUCRESI OLDUGUNU GOSTERMEK YETERLIDIR
;	EQU... ESITLE ANLAMINDADIR
;****************************************************************************
DEGISKENLER:
	lsb		equ	H'0020'
	msb		equ	H'0021'


BASLANGIC:
;****************************************************************************
;	ISLEMCI RESETLENDIGINDE TUM UCLARI GIRIS DURUMUNDADIR
;	ISLEMCI UCLARINI ISTENILEN DURUMA AYARLAMAK GEREKIR
;	BU ISLEM GEREKTIGINDE PROGRAMIN BASKA ADIMLARINDA DA YAPILABILIR
;	TRISA VE TRISB KAYDEDICILERI PIC16F84 UN RAM HAFIZA BOLGESININ IKINCI
;	PORTA VE PORTB NIN UCLARININ HANGISININ	GIRIS HANGISININ CIKIS 
;	OLACAGINI BELIRTIR 0=CIKIS, 1=GIRIS. 
;****************************************************************************
PORTLARI_AYARLA:
	CLRF	PORTB			; RESET portb
	CLRF	PORTA			; RESET portA

	BSF	STATUS, RP0		; BANK 1 GECILIR
	MOVLW	B'00000000'		; RB0..7=CIKIS
	MOVWF	TRISB
	MOVLW	B'00011111'		; RA0-5=GIRIS
	MOVWF	TRISA
	BCF	STATUS, RP0		; BANK 0 GECILIR



;****************************************************************************
;	4 KONUMLU ISIK SOVU PROGRAMI
;****************************************************************************	

PROGRAM:

TEST_PORTA:
	BTFSS	PORTA,0
	GOTO	ALG1			;PORTA,0="0" ISE ALG1 PROGRAMINA GIDER
	NOP

	BTFSS	PORTA,1
	GOTO	ALG2			;PORTA,0="0" ISE ALG2 PROGRAMINA GIDER
	NOP

	BTFSS	PORTA,2
	GOTO	ALG3			;PORTA,0="0" ISE ALG3 PROGRAMINA GIDER
	NOP

	BTFSS	PORTA,3			;PORTA,0="0" ISE ALG4 PROGRAMINA GIDER
	GOTO	ALG4
	NOP

; PORTA NIN HICBIR UCU "0" DEGILSE SADECE 1.LED YANIK BEKLER
	MOVLW	B'00000001'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CLRDWT
	GOTO PROGRAM		;ALGORITMA TEKRARLANIR


ALG1:
	;*********************************************************************
	;	SAGDAN SOLA YURUYEN ISIK ALGORITMASI
	;*********************************************************************
				;1.ADIM
	MOVLW	B'00000001'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;2.ADIM
	MOVLW	B'00000010'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;3.ADIM
	MOVLW	B'00000100'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;4.ADIM
	MOVLW	B'00001000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;5.ADIM
	MOVLW	B'00010000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;6.ADIM
	MOVLW	B'00100000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;7.ADIM
	MOVLW	B'01000000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;8.ADIM
	MOVLW	B'10000000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

	GOTO PROGRAM		;ALGORITMA TEKRARLANIR
ALG2:
	;*********************************************************************
	;	SOLDAN SAGA YURUYEN ISIK ALGORITMASI
	;*********************************************************************
				;1.ADIM
	MOVLW	B'10000000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;2.ADIM
	MOVLW	B'01000000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;3.ADIM
	MOVLW	B'00100000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;4.ADIM
	MOVLW	B'00010000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;5.ADIM
	MOVLW	B'00001000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;6.ADIM
	MOVLW	B'00000100'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;7.ADIM
	MOVLW	B'00000010'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;8.ADIM
	MOVLW	B'00000001'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

	GOTO PROGRAM		;ALGORITMA TEKRARLANIR

ALG3:
	;*********************************************************************
	;	ALG3 ISIK ALGORITMASI
	;*********************************************************************
				;1.ADIM
	MOVLW	B'00000001'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;2.ADIM
	MOVLW	B'00000011'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;3.ADIM
	MOVLW	B'00000111'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;4.ADIM
	MOVLW	B'00001111'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;5.ADIM
	MOVLW	B'00011111'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;6.ADIM
	MOVLW	B'00111111'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;7.ADIM
	MOVLW	B'01111111'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;8.ADIM
	MOVLW	B'11111111'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;9.ADIM
	MOVLW	B'11111110'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;10.ADIM
	MOVLW	B'11111100'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME


				;11ADIM
	MOVLW	B'11111000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;12.ADIM
	MOVLW	B'11110000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;13.ADIM
	MOVLW	B'11100000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;14.ADIM
	MOVLW	B'11000000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;15.ADIM
	MOVLW	B'10000000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;16.ADIM
	MOVLW	B'00000000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

	GOTO PROGRAM		;ALGORITMA TEKRARLANIR

ALG4:
	;*********************************************************************
	;	ALG4 ISIK ALGORITMASI
	;*********************************************************************
				;1.ADIM
	MOVLW	B'10000001'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;2.ADIM
	MOVLW	B'01000010'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;3.ADIM
	MOVLW	B'00100100'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;4.ADIM
	MOVLW	B'00011000'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;5.ADIM
	MOVLW	B'00100100'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

				;6.ADIM
	MOVLW	B'01000010'	;AKU YE SABIT BIR SAYI YUKLENIR
	MOVWF	PORTB		;AKUDEKI SAYI PORTB YE YUKLENIR
	CALL	BEKLET_100MS	; 0.1Sn BEKLETME

	GOTO PROGRAM		;ALGORITMA TEKRARLANIR


;****************************************************************************
;	4MHz CLOCK ICIN BEKLETME RUTINLERI
;****************************************************************************
BEKLET_100MS:
	DLY_100MS		;YAKLASIK 100 MILI SANIYE
		CLRWDT
	        movlw   D'200'
        	movwf   msb
		GOTO	DLY1
	DLY1
		movlw   D'168'
	        movwf   lsb
	DLY2			;YAKLASIK 3 MICRO SANIYE
		decfsz  lsb,F	;1 INS
	        goto    DLY2	;2 INS
	        decfsz  msb,F	;1 INS
        	goto    DLY1	;2 INS
	RETURN

;****************************************************************************
;	PROGRAMI SONLANDIRMAK ICIN PROGRAM SONUNA END YAZILIR
;****************************************************************************
END

Hazırlayan: Selçuk Bayrak Emeği geçen kişilere Teşekkürler

pic16f84a-ile-4-programli-8-ledli-animasyon-devresi

Şifre-Pass: 320volt.com

Yayım tarihi: 2008/10/03 Etiketler: , , , , , , ,



14 Yorum “PIC16F84A İle 4 Programlı 8 Ledli Animasyon Devresi

  1. lokmanlokman

    Devre çok güzel ancak bunun hex dosyasını nereden bulabilirim yardımcı olursanız sevinirim

    CEVAPLA
  2. emesutemesut

    Animasyonlar harika olmuş.
    Devreyi kurup denemdim ama isisde simüle ettim güzel çalışıyor.

    CEVAPLA
  3. koralkoral

    hocam benim bir problem var 16f84a kullanıyorum 2 adet birden birbiriyle bağlantılı iki chipin içinede aynı programı attım program isis te çalışıyor ama devrede kendi kendine komut veriyor program aşağıda

    void main() {

    TRISA = 0x04;
    TRISB = 0xc3;
    portb=0;
    basla:
    portb=8;
    while(1){
    if (porta=0x04==1)/*ortaya gider*/
    PORTB=12;
    else{goto basla}/*basılmadıysa başa döner*/
    goto piston
    piston: /*diger piston mıknatıs komutları*/
    portb=12;
    delay_ms(100);
    while(1){
    if(portb=0x03==1) /*diğer piston yerine ulastıysa bekler ve diğer harekete geçer*/
    {PORTB=60;
    delay_ms(3000);}
    else{goto piston} /*dpiston ulasmadiysa ulaşmasını bekler*/
    goto hareket1
    hareket1:
    PORTB=4;
    if(PORTA=0X02==1)
    PORTB=12;
    else{goto hareket1}/*basılmadıysa başa döner*/
    goto piston2
    piston2:
    portb=12;
    delay_ms(100);
    while(1){
    if(portb=0x66==1) /*diğer piston yerine ulastıysa bekler ve diğer harekete geçer*/
    {PORTB=60;
    delay_ms(3000);}
    else{goto piston2} /*dpiston ulasmadiysa ulaşmasını bekler*/
    portb=60;
    delay_ms(5000);
    goto basla
    }
    }
    }
    }

    CEVAPLA
  4. MuratMurat

    __CONFIG _CP_OFF & _WDT_OFF & _BOREN_ON & _PWRTE_ON & _INTOSC_OSC_NOCLKOUT & _LVP_OFF & _MCLRE_OFF & _DATA_CP_OFF

    LIST P=P16F628A
    #INCLUDE P16F628A.INC

    SAYAC1 EQU 0X20
    SAYAC2 EQU 0X21
    SAYAC3 EQU 0X22
    ORG 0X00
    GOTO BASLIYOR

    BASLIYOR
    CLRF PORTB
    BSF STATUS,5
    CLRF TRISB
    MOVLW B’11111111′;
    MOVWF TRISA;
    BCF STATUS,5

    ;SOLDAN SAGA TEK TEK YAK SONDUR

    RRF PORTB, 1;

    MOVLW B’00000001′;SAG 1 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CALL SWITCHTEST;
    CLRF PORTB
    MOVLW B’00000010′;SAG 2 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’00000100′;SAG 3 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’00001000′;SAG 4 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’00010000′;SAG 5 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’00100000′;SAG 6 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’01000000′;SAG 7 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’10000000′;SAG 8 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB

    ;SOLDAN SAGA SIRA ILE YAK

    MOVLW B’00000001′;SAG 1 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’00000010′;SAG 2 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’00000100′;SAG 3 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’00001000′;SAG 4 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’00010000′;SAG 5 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’00100000′;SAG 6 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’01000000′;SAG 7 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB
    MOVLW B’10000000′;SAG 8 LAMBA
    MOVWF PORTB
    CALL GECIKME1
    CLRF PORTB

    GOTO BASLIYOR

    BASLANGIC2

    RRF PORTA, 0;

    MOVLW B’1111110′;SAG 1 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CALL SWITCHTEST;
    CLRF PORTA
    MOVLW B’11111101′;SAG 2 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’11111011′;SAG 3 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’11110111′;SAG 4 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’11101111′;SAG 5 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’11011111′;SAG 6 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’10111111′;SAG 7 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’01111111′;SAG 8 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA

    ;SOLDAN SAGA SIRA ILE YAK

    MOVLW B’11111110′;SAG 1 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’11111101′;SAG 2 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’11111011′;SAG 3 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’11110111′;SAG 4 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’11101111′;SAG 5 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’11011111′;SAG 6 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’10111111′;SAG 7 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA
    MOVLW B’01111111′;SAG 8 LAMBA
    MOVWF PORTA
    CALL GECIKME1
    CLRF PORTA

    GOTO BASLIYOR

    GOTO BASLANGIC2

    SWITCHTEST

    BTFSS PORTA,0
    RETURN
    GOTO BASLANGIC2
    RETURN

    GECIKME
    MOVLW D’30’
    MOVWF SAYAC1
    DON_C MOVLW D’30’
    MOVWF SAYAC2
    DON_B MOVLW D’30’
    MOVWF SAYAC3
    DON_A DECFSZ SAYAC3,F
    GOTO DON_A
    DECFSZ SAYAC2,F
    GOTO DON_B
    DECFSZ SAYAC1,F
    GOTO DON_C
    RETURN

    GECIKME1
    MOVLW D’30’
    MOVWF SAYAC1
    DON_3 MOVLW D’30’
    MOVWF SAYAC2
    DON_2 MOVLW D’30’
    MOVWF SAYAC3
    DON_1 DECFSZ SAYAC3,F
    GOTO DON_1
    DECFSZ SAYAC2,F
    GOTO DON_2
    DECFSZ SAYAC1,F
    GOTO DON_3
    RETURN

    GECIKME2
    MOVLW D’40’
    MOVWF SAYAC1
    DON_6 MOVLW D’40’
    MOVWF SAYAC2
    DON_5 MOVLW D’40’
    MOVWF SAYAC3
    DON_4 DECFSZ SAYAC3,F
    GOTO DON_4
    DECFSZ SAYAC2,F
    GOTO DON_5
    DECFSZ SAYAC1,F
    GOTO DON_6
    RETURN
    END

    Main function is not defined yazıyor acaba hata nerede yardımcı olabilirmisiniz.

    CEVAPLA
  5. furkanfurkan

    hocam lise 4e gidiyorum şu sorunun cevabını bir türlü bulamadım cevap hakkında yardımc olurmusunuz

    SORU :pıc16f84a microdenetleyicisinde giriş port b çıkış port a devresinin komutları

    ŞİMDİDEN TEŞEKKÜRLER…

    CEVAPLA
  6. Emir GÜLEmir GÜL

    Hocam lise 3 sınıfa gidiyorum bi sorum olucaktı pıc16f84a devresine flip flop (polis çakarı) nasïl yaptırabilirm.
    ASM programını verir mısınız.

    CEVAPLA
  7. Onur ÇevlikOnur Çevlik

    hocam bu devrenin ares çizimini nerden bulabilirim acilen lazım..

    CEVAPLA
  8. muhammedmuhammed

    hex dosyası nerde belirtilen adres hata veriyor yardımcı olablirmisiniz?

    CEVAPLA
  9. AlperenAlperen

    ya kardeşim bi hata veriyor hala cözemedim bu nasıl birsey

    CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir