16F877A ile Led yakma Söndürme (YARDIM)

Başlatan webdzyn, 19 Haziran 2011, 00:16:14

webdzyn

selam arkadaslar..

3 gun sonra microişlemci ve assembler sınavım var..sınavda butonlar ile led yakma söndürme sorulcak..mesela 1.butona basıldıgında yeşil 2.butona bastıgında kırmızı yanacak gibi.Dil 16F877A ile yapılacak..aceba sizde led yakma ile ılgılı basit kodlar var mı..sitede suan arastırıyorum..bu kodlar acil oldugundan konu acma geregi duydum..

tesekkürler..

optimum

#1
buyur dostum burda tamm senin istediğin gibi bir uygulama var daha önceden elimde vardı led yakmayla ilgili birşey biraz değiştirdim.bu linkten indirebilirsin.devre proteus program ccs c ile yazıldı.http://www.dosya.tc/server/MnoQCd/ledyakmauygulamas_.rar.html



sağdaki butona basınca kırmızı led yanıyor.



soldaki butona basınca yeşil led yanıyor.


devrenin programı;

#include <16f877A.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(a)
int1 x;
int1 y;


void main()
{
setup_psp(PSP_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
set_tris_a(0b00000011);
set_tris_b(0x00);



basla:

x=input(pin_a0);
y=input(pin_a1);

output_bit(pin_b0,x);
output_bit(pin_b1,y);
goto basla;

}

sınavda başarılar...

webdzyn

eyvallah sagolasın..peki bunun kodlama türüne nerden bakacam..yani benim istediğim şöyle..CLRF PORTA , TRISB , MOWLF  GİBİ komutlarla yazılmıs olan..

bu kodlarla yapılan varmı aceba ..

optimum

ccs c programında compile menüsünde c/asm list var burdan bu kodun assembly listesini öğrenebilirsin.bu kodun assembly listesi şöyle;

S PCM C Compiler, Version 4.093, 5967               19-Jun-11 08:41

               Filename: C:\Users\Yusuf Süer ERDEM\Desktop\Yeni klasör\2.lst

               ROM used: 70 words (1%)
                         Largest free fragment is 2048
               RAM used: 8 (2%) at main() level
                         8 (2%) worst case
               Stack:    0 locations

*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   004
0003:  NOP
.................... #include <16f877A.h>
.................... //////// Standard Header file for the PIC16F877A device ////////////////
.................... #device PIC16F877A
.................... #list
.................... 
.................... #fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
.................... #use delay(clock=4000000)
.................... #use fast_io(b)
.................... #use fast_io(a)
.................... int1 x;
.................... int1 y;
.................... 
.................... 
.................... void main()
.................... {
*
0004:  CLRF   04
0005:  BCF    03.7
0006:  MOVLW  1F
0007:  ANDWF  03,F
0008:  BSF    03.5
0009:  BSF    1F.0
000A:  BSF    1F.1
000B:  BSF    1F.2
000C:  BCF    1F.3
000D:  MOVLW  07
000E:  MOVWF  1C
.................... setup_psp(PSP_DISABLED);
*
0012:  BSF    03.5
0013:  BCF    09.4
.................... setup_timer_1(T1_DISABLED);
0014:  BCF    03.5
0015:  CLRF   10
.................... setup_timer_2(T2_DISABLED,0,1);
0016:  MOVLW  00
0017:  MOVWF  78
0018:  MOVWF  12
0019:  MOVLW  00
001A:  BSF    03.5
001B:  MOVWF  12
.................... setup_adc_ports(NO_ANALOGS);
001C:  BSF    1F.0
001D:  BSF    1F.1
001E:  BSF    1F.2
001F:  BCF    1F.3
.................... setup_adc(ADC_OFF);
0020:  BCF    03.5
0021:  BCF    1F.0
.................... setup_CCP1(CCP_OFF);
0022:  BSF    21.2
0023:  MOVF   21,W
0024:  BSF    03.5
0025:  MOVWF  07
0026:  BCF    03.5
0027:  CLRF   17
.................... setup_CCP2(CCP_OFF);
0028:  BSF    21.1
0029:  MOVF   21,W
002A:  BSF    03.5
002B:  MOVWF  07
002C:  BCF    03.5
002D:  CLRF   1D
.................... set_tris_a(0b00000011);
002E:  MOVLW  03
002F:  BSF    03.5
0030:  MOVWF  05
.................... set_tris_b(0x00);
0031:  MOVLW  00
0032:  MOVWF  06
.................... 
.................... 
.................... 
.................... basla:
.................... 
.................... x=input(pin_a0);
0033:  BCF    03.5
0034:  BCF    20.0
0035:  BTFSC  05.0
0036:  BSF    20.0
.................... y=input(pin_a1);
0037:  BCF    20.1
0038:  BTFSC  05.1
0039:  BSF    20.1
.................... 
.................... output_bit(pin_b0,x);
003A:  BTFSC  20.0
003B:  GOTO   03E
003C:  BCF    06.0
003D:  GOTO   03F
003E:  BSF    06.0
.................... output_bit(pin_b1,y);
003F:  BTFSC  20.1
0040:  GOTO   043
0041:  BCF    06.1
0042:  GOTO   044
0043:  BSF    06.1
.................... goto basla;
0044:  GOTO   034
.................... 
.................... }
0045:  SLEEP

Configuration Fuses:
   Word  1: 3F39   XT NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT

webdzyn


bgg

bu projenin linki gitmiş arkadaşlar ve benimde şuan aynı şeye ihtiyacım var.yardımcı olurmusunuz