ilk projem yardım lütfen

Başlatan adiga, 12 Ağustos 2015, 22:35:10

adiga

arkadaşlar sayenizde bir şeyler öğrenip yapmaya başladım. Ekteki dosyada ccs ve isis dosyaları mevcuttur fakat similasyonda ledi açıp kapatmalı iken yakmıyor bile. nerede hata yapıyorum yardımlarınızı beklerim.

. Kağan

Merhaba Hoşgeldin.

Önce proteus ta led için + besleme vermemişsin. Sadece etiket değerinde 2v yazıyor. 2 volt vermiyor. :)
Bunu düzeltmek için 2v yazısını sil. Isıste solda "Terminal Mode" butonuna tıkla ve Powere tıkla. Sonra ekleyeceğin yere tıkla. Yukarı ok simgesi çıkacak. Üzerine sol tıkla ve gelen pencereden power i seç.

Kod konusuna gelince bende sendeki derleyici yok ve ben  Pic Basıc pro kullanıyorum.

Örnek kod istersen:

;----[12F675 Hardware Configuration]--------------------------------------------
#IF __PROCESSOR__ = "12F675"
  #DEFINE MCU_FOUND 1
#CONFIG
cfg = _INTRC_OSC_NOCLKOUT     ; INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN
cfg&= _WDT_OFF                ; WDT disabled
cfg&= _PWRTE_OFF              ; PWRT disabled
cfg&= _MCLRE_ON               ; GP3/MCLR pin function is MCLR
cfg&= _BODEN_ON               ; BOD enabled
cfg&= _CP_OFF                 ; Program Memory code protection is disabled
cfg&= _CPD_OFF                ; Data memory code protection is disabled
  __CONFIG cfg

#ENDCONFIG

#ENDIF


Define OSCCAL_1K 1  ' Calibrate internal oscillator
DEFINE OSC 4
DEFINE ADC_BITS    10           
DEFINE ADC_CLOC   3           
DEFINE ADC_SAMPLEUS  100

'-------------------------------------------------------------------------


   LED Con 0     '  GPIO.0 'ı LED bağlantısına tanımlıyor.

   ANSEL = 0     ' Set all digital
   CMCON = 7     ' Analog comparators off

main:
   Low LED       ' Turn on LED connected to GPIO.0
   Pause 500     ' Delay for .5 seconds
   High LED      ' Turn off LED connected to GPIO.0
   Pause 500     ' Delay for .5 seconds

   Goto main      ' Başa main:'e dön.

   End

adiga

Alıntı yapılan: kaganayanoglu - 13 Ağustos 2015, 10:47:26
Merhaba Hoşgeldin.

Önce proteus ta led için + besleme vermemişsin. Sadece etiket değerinde 2v yazıyor. 2 volt vermiyor. :)
Bunu düzeltmek için 2v yazısını sil. Isıste solda "Terminal Mode" butonuna tıkla ve Powere tıkla. Sonra ekleyeceğin yere tıkla. Yukarı ok simgesi çıkacak. Üzerine sol tıkla ve gelen pencereden power i seç.

Kod konusuna gelince bende sendeki derleyici yok ve ben  Pic Basıc pro kullanıyorum.

Örnek kod istersen:

;----[12F675 Hardware Configuration]--------------------------------------------
#IF __PROCESSOR__ = "12F675"
  #DEFINE MCU_FOUND 1
#CONFIG
cfg = _INTRC_OSC_NOCLKOUT     ; INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN
cfg&= _WDT_OFF                ; WDT disabled
cfg&= _PWRTE_OFF              ; PWRT disabled
cfg&= _MCLRE_ON               ; GP3/MCLR pin function is MCLR
cfg&= _BODEN_ON               ; BOD enabled
cfg&= _CP_OFF                 ; Program Memory code protection is disabled
cfg&= _CPD_OFF                ; Data memory code protection is disabled
  __CONFIG cfg

#ENDCONFIG

#ENDIF


Define OSCCAL_1K 1  ' Calibrate internal oscillator
DEFINE OSC 4
DEFINE ADC_BITS    10           
DEFINE ADC_CLOC   3           
DEFINE ADC_SAMPLEUS  100

'-------------------------------------------------------------------------


   LED Con 0     '  GPIO.0 'ı LED bağlantısına tanımlıyor.

   ANSEL = 0     ' Set all digital
   CMCON = 7     ' Analog comparators off

main:
   Low LED       ' Turn on LED connected to GPIO.0
   Pause 500     ' Delay for .5 seconds
   High LED      ' Turn off LED connected to GPIO.0
   Pause 500     ' Delay for .5 seconds

   Goto main      ' Başa main:'e dön.

   End

teşekkürler hocam akşam deneyeceğim.

bilsisco

hocamın yazdığı kodda 4mhz.
isiste ekli işlemcinin özelliğine 20mhz ayarlamışın, buna dikkat et

adiga

Alıntı yapılan: bilsisco - 13 Ağustos 2015, 14:16:28
hocamın yazdığı kodda 4mhz.
isiste ekli işlemcinin özelliğine 20mhz ayarlamışın, buna dikkat et

teşekkürler akşama düzenlemeyi yapar sonuçları yazarım

adiga

Alıntı yapılan: bilsisco - 13 Ağustos 2015, 14:16:28
hocamın yazdığı kodda 4mhz.
isiste ekli işlemcinin özelliğine 20mhz ayarlamışın, buna dikkat et
denedim fakat ledi yakıp söndüremedim. Yardımlarınızı beklerim nerede hata yapıyorum.

. Kağan

Alttakiler bende çalışıyor.

;----[12F675 Hardware Configuration]--------------------------------------------
#CONFIG
cfg = _INTRC_OSC_CLKOUT       ; INTOSC oscillator: CLKOUT function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN
cfg&= _WDT_OFF                ; WDT disabled
cfg&= _PWRTE_OFF              ; PWRT disabled
cfg&= _MCLRE_OFF              ; GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD
cfg&= _BODEN_OFF              ; BOD disabled
cfg&= _CP_OFF                 ; Program Memory code protection is disabled
cfg&= _CPD_OFF                ; Data memory code protection is disabled
  __CONFIG cfg

#ENDCONFIG




Define OSCCAL_1K 1  ' Calibrate internal oscillator
DEFINE OSC 4
DEFINE ADC_BITS    10           
DEFINE ADC_CLOC   3           
DEFINE ADC_SAMPLEUS  100

     
   LED VAR GPIO.0     '  GPIO.0 'ı LED bağlantısına tanımlıyor.
   ANSEL = 0          ' Set all digital
   CMCON = 7          ' Analog comparators off

main:
   HIGH LED       ' Turn on LED connected to GPIO.0
   Pause 500     ' Delay for .5 seconds
   LOW LED      ' Turn off LED connected to GPIO.0
   Pause 500     ' Delay for .5 seconds

   Goto main      ' Başa main:'e dön.

   End

adiga

#7
Alıntı yapılan: kaganayanoglu - 13 Ağustos 2015, 21:48:15
Alttakiler bende çalışıyor.

;----[12F675 Hardware Configuration]--------------------------------------------
#CONFIG
cfg = _INTRC_OSC_CLKOUT       ; INTOSC oscillator: CLKOUT function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN
cfg&= _WDT_OFF                ; WDT disabled
cfg&= _PWRTE_OFF              ; PWRT disabled
cfg&= _MCLRE_OFF              ; GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD
cfg&= _BODEN_OFF              ; BOD disabled
cfg&= _CP_OFF                 ; Program Memory code protection is disabled
cfg&= _CPD_OFF                ; Data memory code protection is disabled
  __CONFIG cfg

#ENDCONFIG




Define OSCCAL_1K 1  ' Calibrate internal oscillator
DEFINE OSC 4
DEFINE ADC_BITS    10           
DEFINE ADC_CLOC   3           
DEFINE ADC_SAMPLEUS  100

     
   LED VAR GPIO.0     '  GPIO.0 'ı LED bağlantısına tanımlıyor.
   ANSEL = 0          ' Set all digital
   CMCON = 7          ' Analog comparators off

main:
   HIGH LED       ' Turn on LED connected to GPIO.0
   Pause 500     ' Delay for .5 seconds
   LOW LED      ' Turn off LED connected to GPIO.0
   Pause 500     ' Delay for .5 seconds

   Goto main      ' Başa main:'e dön.

   End

teşekkürler üstad. bu demek oluyor ki şuanki devrem çalışıyor. kodlarda sorun var...


#include <12F675.h>
#device ADC=16

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES NOBROWNOUT               //No brownout reset

#use delay(crystal=40MHz)




#include <main.h>

void main()
{

set_tris_a(0x00);
output_a(0x00);


   while(TRUE)
   {
      output_high(pin_a0);
      delay_ms(250);
      output_low(pin_a0);
      delay_ms(250);
     
   }

}


nerede hata yapıyorum

. Kağan

Dediğim gibi senin kullandığın derleyici ve sistem hakkında bilgim yok. Ama 12f675 için konfigrasyonu doğru yapmıyor olabilirsin. Ancak bu kadar yardımcı olabileceğim.

;----[12F675 Hardware Configuration]--------------------------------------------
#CONFIG
cfg = _INTRC_OSC_CLKOUT       ; INTOSC oscillator: CLKOUT function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN
cfg&= _WDT_OFF                ; WDT disabled
cfg&= _PWRTE_OFF              ; PWRT disabled
cfg&= _MCLRE_OFF              ; GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD
cfg&= _BODEN_OFF              ; BOD disabled
cfg&= _CP_OFF                 ; Program Memory code protection is disabled
cfg&= _CPD_OFF                ; Data memory code protection is disabled
  __CONFIG cfg

#ENDCONFIG




Define OSCCAL_1K 1  ' Calibrate internal oscillator
DEFINE OSC 4
DEFINE ADC_BITS    10           
DEFINE ADC_CLOC   3           
DEFINE ADC_SAMPLEUS  100


kısmını sen kendi programına göre ayarlamalısın.

adiga

Alıntı yapılan: kaganayanoglu - 13 Ağustos 2015, 22:02:09
Dediğim gibi senin kullandığın derleyici ve sistem hakkında bilgim yok. Ama 12f675 için konfigrasyonu doğru yapmıyor olabilirsin. Ancak bu kadar yardımcı olabileceğim.

;----[12F675 Hardware Configuration]--------------------------------------------
#CONFIG
cfg = _INTRC_OSC_CLKOUT       ; INTOSC oscillator: CLKOUT function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN
cfg&= _WDT_OFF                ; WDT disabled
cfg&= _PWRTE_OFF              ; PWRT disabled
cfg&= _MCLRE_OFF              ; GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD
cfg&= _BODEN_OFF              ; BOD disabled
cfg&= _CP_OFF                 ; Program Memory code protection is disabled
cfg&= _CPD_OFF                ; Data memory code protection is disabled
  __CONFIG cfg

#ENDCONFIG




Define OSCCAL_1K 1  ' Calibrate internal oscillator
DEFINE OSC 4
DEFINE ADC_BITS    10           
DEFINE ADC_CLOC   3           
DEFINE ADC_SAMPLEUS  100


kısmını sen kendi programına göre ayarlamalısın.

hocam dediğin gibi fiş ayarlarında sorun varmış.. başka ccs kaynaklarından bulup düzelttim şuan çalışıyor. yardımı olan herkese teşekkür ederim.

Powered by EzPortal