1000 kişiden bir kişi için ! devam.... 320volt blog

Elektronik Devreler Projeler » Microchip PIC devreleri bilgiler, Yazar Projeleri Makaleler Elektronik Genel »

PIC16F84 ile Buton Kontrollü Led Efekt Devresi

PIC16F84 ile Buton Kontrollü Led Efekt Devresi

Basit bir uygulama PIc ile Buton Kontrolü konusunda faydalı olabilcek bir kaynak

Program temel olarak PORTA ya bağlı 4 adet butonu sırası ile kontrol edip
butonlara basılıp basılmadığını kontrol ediyor. Herhangi bir butona basıldığı zaman
programlama aşamasında bizim tasarladığımız komutları yerine getiriyor(ilk 4 ledi yak, son 4 ledi yak vb)

Ledlerin flaş sayısını her BUTON için farklı farklı yapabilirsiniz.Bunun için;

MOVLW 0X03
MOVWF KNT

komut satırlarında yer alan ’0×03′ değeri yerine istedğiniz değeri(0XA3) yazmanız gerekecek.

Flaş sayısın en fazla 255 kere tekrarlatabilirsinz. Çünkü 0×03 yerine
yazacağınız en büyük değer 0xFF dir bunun karşılığıda 255′e denk gelir.

Uygulamanın kod ve simülasyon dosyalar: buton_led_efekt.rar

Akış Diagramı

akis_diagrami

	;PIC16F84 İLE
	;BUTON KONTROLLÜ LED EFEKT DEVRESİ
	;-------------------------------------
	;WWW.320VOLT.COM
	;-------------------------------------
	LIST	 P=16F84		;PIC16F84' Tanıt
	INCLUDE	 "P16F84.INC"	;PIC'in INCLUDE DOSYALARI TANIT
SAY1	EQU	0X0C
SAY2	EQU	0X0D
KNT		EQU	0X0E
	BSF		STATUS,5		;BANK1'E GEÇ
	CLRF	TRISB			;TRIB'Yİ TEMİZLE(PORTB ÇIKIŞ)
	MOVLW	0XFF			;W'YE h'FF' YÜKLE
	MOVWF	TRISA			;W'Yİ TRISA'YA YÜKLE(PORTA GİRİŞ)
	BCF		STATUS,5		;BANK0'A GEÇ
	CLRF	PORTB			;PORTB'Yİ TEMİZLE
BIR_TEST
	BTFSC	PORTA,0			;PORTA'NIN 0. BİTİ '0' MI?
	GOTO	IKI_TEST		;HAYIR. IKI_TEST ETİKETİNE GİT
	MOVLW	0X03			;EVET.	W'YE h'03' YÜKLE
	MOVWF	KNT				;W'Yİ KNT'YE YÜKLE
BIR
	MOVLW	0X0F			;W'YE h'0F' YÜKLE
	MOVWF	PORTB			;W'Yİ PORTB'DEN ÇIK
	CALL	ZAMAN			;ZAMAN ALT PROGRAMINI ÇAĞIR
	CLRF	PORTB			;PORTB'Yİ TEMİZLE
	CALL	ZAMAN			;ZAMAN ALT PROGRAMINI ÇAĞIR
	DECFSZ	KNT,F			;KNT'DEN '1' ÇIKAR KNT'YE YÜKLE. KNT '0' Mİ?
	GOTO	BIR				;HAYIR. BIR ETİKETİNE GİT
	GOTO	BIR_TEST		;EVET. BIR_TEST ETİKETİNE GİT
IKI_TEST
	BTFSC	PORTA,1			;PORTA'NIN 1. BİTİ 'O' MI?
	GOTO	UC_TEST			;HAYIR. UC_TEST ETİKETİNE GİT
	MOVLW	0X03			;EVET. W'YE h'03' YÜKLE
	MOVWF	KNT				;W'Yİ KNT'YE YÜKLE
IKI
	MOVLW	0XF0			;W'YE h'F0' YÜKLE
	MOVWF	PORTB			;W'Yİ PORTB'DEN ÇIK
	CALL	ZAMAN			;ZAMAN ALT PROGRAMINI ÇAĞIR
	CLRF	PORTB			;PORTB'Yİ TEMİZLE
	CALL	ZAMAN			;ZAMAN ALT PROGRAMINI ÇAĞIR
	DECFSZ	KNT,F			;KNT'DEN '1' ÇIKAR KNT'YE YÜKLE. KNT '0' Mİ?
	GOTO	IKI				;HAYIR. IKI ETİKETİNE GİT
	GOTO	BIR_TEST		;EVET. BIR_TEST ETİKETİNE GİT
UC_TEST
	BTFSC	PORTA,2			;PORTA'NIN 2. BİTİ 'O' MI?
	GOTO	DORT_TEST		;HAYIR. DORT_TEST ETİKETİNE GİT
	MOVLW	0X03			;EVET. W'YE h'03' YÜKLE
	MOVWF	KNTQ			;W'Yİ KNT'YE YÜKLE
UC
	MOVLW	0XFF			;W'YE h'FF' YÜKLE
	MOVWF	PORTB			;W'Yİ PORTB'DEN ÇIK
	CALL	ZAMAN			;ZAMAN ALT PROGRAMINI ÇAĞIR
	CLRF	PORTB			;PORTB'Yİ TEMİZLE
	CALL	ZAMAN			;ZAMAN ALT PROGRAMINI ÇAĞIR
	DECFSZ	KNT,F			;KNT'DEN '1' ÇIKAR KNT'YE YÜKLE. KNT '0' Mİ?
	GOTO	UC				;HAYIR. UC ETİKETİNE GİT
	GOTO	BIR_TEST		;EVET. BIR_TEST ETİKETİNE GİT
DORT_TEST
	BTFSC	PORTA,3			;PORTA'NIN 3. BİTİ 'O' MI?
	GOTO	BIR_TEST		;HAYIR. BIR_TEST ETİKETİNE GİT
	MOVLW	0X03			;EVET. W'YE h'03' YÜKLE
	MOVWF	KNT				;W'Yİ KNT'YE YÜKLE
DORT
	MOVLW	0X0F			;W'YE h'0F' YÜKLE
	MOVWF	PORTB			;W'Yİ PORTB'DEN ÇIK
	CALL	ZAMAN			;ZAMAN ALT PROGRAMINI ÇAĞIR
	MOVLW	0XF0			;W'YE h'F0' YÜKLE
	MOVWF	PORTB			;W'Yİ PORTB'DEN ÇIK
	CALL	ZAMAN			;ZAMAN ALT PROGRAMINI ÇAĞIR
	DECFSZ	KNT,F			;KNT'DEN '1' ÇIKAR KNT'YE YÜKLE. KNT '0' Mİ?
	GOTO	DORT			;HAYIR. UC ETİKETİNE GİT
	CLRF	PORTB			;EVET. PORTB'Yİ TEMİZLE
	GOTO	BIR_TEST		;BIR_TEST ETİKETİNE GİT
ZAMAN
	MOVLW	0XFF			;W'YE h'FF' YÜKLE
	MOVWF	SAY1			;W'Yİ SAY1'E YÜKLE
TEK1
	MOVLW	0XFF			;W'YE h'FF' YÜKLE
	MOVWF	SAY2			;W'Yİ SAY2'E YÜKLE
TEK2
	DECFSZ	SAY2,F			;SAY2'DEN '1' ÇIKAR SAY2'YE YÜKLE. SAY2 '0' Mİ?
	GOTO	TEK2			;HAYIR. TEK2 ETİKETİNE GİT
	DECFSZ	SAY1,F			;EVET. SAY1'DEN '1' ÇIKAR SAY1'YE YÜKLE. SAY1 '0' Mİ?
	GOTO	TEK1			;HAYIR. TEK1 ETİKETİNE GİT
	RETURN					;EVET. ALT PROGRAMIN SONU
	END						;PROGRAMIN SONU 

sakla feedmail facebook twit  

Etiketler: , , , ,

Yazar: Ramazan

Yazarımızın 320volt.com Blog üzerinde şu an okuduğunuz yazı dahil 16 yazısı bulunmaktadır. Yazarımız hakkında bilgileri ve diğer yazılarını görmek için bakınız;

online elektronik komponent satışı

 
  1. kprm diyor ki:

    iyi günler hocam burada bir iki sorum olacak acaba bu videoda kullandığınız kristal 4mhz mi? ayrıca pic 16f84a yı programlarken configuration ayarları ne olmalı

Yorum yapın

Doğrulama: (kutuyu işaretleyiniz)


  • Lütfen Türkçe imla kurallarına dikkat etmeye özen gösteriniz.
  • Yorumunuz yönetici tarafından kontrol edilmeden yayımlanmaz.
  • Paylaşılan devrelerin malzeme listesini istemeyiniz. Olsa zaten paylaşılırdı şema üzerinden listeyi çıkartabilirsiniz
  • Gavatar sitesine avatarınızı yükleyebilirsiniz.
sponsor

sponsor

diptrace

diptrace

sponsor

sponsor

embeddedtrading

embeddedtrading

sponsor

sponsor

seo

Seo Danışmanlığı

feed save face twit  
Translate: TürkçeEnglish

Forum Son İletiler