12f1822 ile basit bir led yakıp söndürme.

Başlatan dyonizos, 07 Kasım 2012, 23:56:51

dyonizos

selamlar arkadaşlar,
12F1822 ile basit bir ledi yakıp söndürmek istiyorum ama daha ledi bile yakamadım. Normal olarak öalıştırabilsem başka şeyler deniycem ama led bile yanmadı daha. Dahili olarak 16Mhz osilator olduğu için bunu seçmiştim ama ayarları sanırım beni aşıyor. 12f1822 ile çalışan oldumu acaba aranızda?
aşağıdaki kod neden çalışmıyor olabilir.

Device = 12F1822

  Config1 FOSC_INTOSC, WDTE_OFF, PWRTE_OFF, MCLRE_OFF, CP_OFF, CPD_OFF, BOREN_OFF, CLKOUTEN_OFF, IESO_OFF, FCMEN_OFF
  Config2 WRT_OFF, PLLEN_OFF, STVREN_OFF, BORV_25, LVP_OFF

  Xtal = 16
ANSELA=0
PORTA=0
TRISA=%00000000
OSCCON=$FF
OPTION_REG.7=0

Symbol ledPIN = TRISA.0 

basla:
High ledPIN
DelayMS 500
Low ledPIN
DelayMS 500

GoTo basla

Maxim

1822 de çok acayip özellikler var o yüzden biraz karışık
All_Digital = TRUE yazın üst satıra bir yere bence
osccon satırınıda kaldırın

dyonizos

çalışmadı :(
Acaip güzel bir pic ama işin içinden çıkamadım. 8 pininde 8 marifet var :)
peki 8 pinli dahili osilatörü 10-20 mhz e kadar çıkabilen başka bir pic varmı önerebileceğiniz.
Yada bu kodlar için başka önerileriniz.

sadogan

Bir kaç uygulama yaptım bu yeni nesil piclerle.
Ama ccs c ile yazdım programları proton bilmiyorum.
sigortalarda sorun olabilir.
Ben yinede ccs c led yak söndür için uygulama codu vereyim en azında
sigortalarda ve mcu yu hazırlamakta faydası olabilir.
kolay gelsin
#include <12F1822.h>
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES NOCPD                    //No EE protection
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOMCLR                     //Master Clear pin disable
//#FUSES MCLR                     //Master Clear pin enabled
#FUSES PUT                      //Power Up Timer
#FUSES BROWNOUT                 //Reset when brownout detected
#FUSES NOIESO                     //Internal External Switch Over mode disabled
//#FUSES IESO                     //Internal External Switch Over mode enabled
#FUSES NOFCMEN                    //Fail-safe clock monitor enabled
//#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES DEBUG                     //Debug mode for ICD
#FUSES NOWRT                      //Program Memory Write Protected
#FUSES PLL_SW               // PLL under software control, disabled
#FUSES STVREN                   //Stack full/underflow will cause reset
#FUSES NOLVP                    //No low voltage prgming,
#FUSES BORV25                   //Brownout reset at 2.5V
#FUSES NOCLKOUT                   //Output clock on OSC2
#use delay(clock=16000000)
void main()
{
   setup_oscillator(OSC_16MHZ);
   delay_us(20);
   setup_comparator(NC_NC);
     
   setup_dac(DAC_OFF);
   setup_spi(SPI_SS_DISABLED);
     setup_timer_1(T1_DISABLED);
   
    setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_OFF);
   setup_comparator(NC_NC);
   Setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   set_tris_a(0b00000000);

  DISABLE_interrupts(GLOBAL);   

    delay_ms(100);
      while (true)
      {
       
        output_low( pin_A5);
        delay_ms(500);
        output_high( pin_A5);
        delay_ms(500);             
         
      }


}

dyonizos

En son aşağıdakileri denedim ancak yine çalışmadı. Derleyicide problem olduğunu düşünmeye başladım. Neredeyse tüm sigorta ayarlarını denedim.

Device = 12F1822

  Config1 FOSC_INTOSC, WDTE_OFF, PWRTE_ON, MCLRE_OFF, CP_OFF, CPD_OFF, BOREN_ON, CLKOUTEN_OFF, IESO_OFF, FCMEN_OFF
  Config2 WRT_OFF, PLLEN_OFF, STVREN_ON, BORV_25, LVP_OFF

Xtal 16
All_Digital=TRUE
ANSELA=0
PORTA=0
TRISA=%00000000
OPTION_REG.7=0
CM1CON0=0
ADCON0=0

Symbol ledPIN = TRISA.0 

basla:
High ledPIN
DelayMS 500
Low ledPIN
DelayMS 500

GoTo basla

Maxim

son koda OSCCON=%01111011 eklermisin
pll ayarı varmış ondan olabilir o kapalı olacak
böyle çalışması lazım


Device = 12F1822
Xtal=16

OSCCON=%01111011
  
Config1 FOSC_INTOSC, WDTE_OFF, PWRTE_ON, MCLRE_OFF, CP_OFF, CPD_OFF, BOREN_ON, CLKOUTEN_OFF, IESO_OFF, FCMEN_OFF
Config2 WRT_OFF, PLLEN_OFF, STVREN_ON, BORV_25, LVP_OFF


ANSELA=0
PORTA=0
TRISA=%00000000
OPTION_REG.7=0
CM1CON0=0
ADCON0=0

All_Digital=TRUE

Symbol ledPIN = TRISA.0 

basla:
High ledPIN
DelayMS 500
Low ledPIN
DelayMS 500

GoTo basla

dyonizos

#6
Malesef bu şekilde de olmadı. Şu anda pickit3 le değil pickit2 ile deniyorum. Pickit3 de sanki doğru yazamıyor. Verify ettiğim zaman hata veriyor.
belkide pickit den kaynaklanıyordur yada derleyiciden.

mesaj birleştirme:: 08 Kasım 2012, 11:21:33

Pickit2 desteklemiyormuş bu pic i :)
pickit3 le denemeye devam.


mesaj birleştirme:: 08 Kasım 2012, 11:40:17

Proton IDE 2.0.1.0
Loader 3.5.2.7
Compiler 3.5.3.5

Bunlardan daha yeni bir versiyon varmı elinizde? Belki compile ederken sıkıntı yaşıyorumdur.

Bu arada Hex dosyasının
0000  0000  0000   2823  ..........

şeklinde sıfırlar ile başlaması normal mi?

Maxim

hex bu
proteustamı yoksa gerçek devredemi dediyorsun ?

:020000040000FA
:100000000000000000002328A301A200FF30A20787
:10001000031CA307031C08000330A100E5301220D5
:10002000F533A101FB3EA000A109FF30031C033200
:10003000A0070318FD33A0070000A10FF93300004B
:100040000800200008007B302100990023008C016B
:1000500020008C0121008C019513220091012100C8
:100060009D0122009101073021009E0023008C0198
:10007000200021000C100C1401302000A300F430EB
:10008000052021000C100C1001302000A300F430DA
:0600900005203828FF33B3
:020000040001F9
:02000E0084CF9D
:02001000FFDA15
:00000001FF


sadogan

Pickit2 yi update etmeniz gerekiyo
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805
PICkit 2 v2.61 yükleyip
Device File 1.62.14 bunuda kopyalarsan sorun kalmıyor



dyonizos

#9
Gerçek devrede deniyorum. Proteusta 1822 yı bulamadım.

Bu en son sizin gönderdiğiniz kodun hex dosyasımı?


Alıntı yapılan: Maxim - 08 Kasım 2012, 11:57:39
hex bu
proteustamı yoksa gerçek devredemi dediyorsun ?

:020000040000FA
:100000000000000000002328A301A200FF30A20787
:10001000031CA307031C08000330A100E5301220D5
:10002000F533A101FB3EA000A109FF30031C033200
:10003000A0070318FD33A0070000A10FF93300004B
:100040000800200008007B302100990023008C016B
:1000500020008C0121008C019513220091012100C8
:100060009D0122009101073021009E0023008C0198
:10007000200021000C100C1401302000A300F430EB
:10008000052021000C100C1001302000A300F430DA
:0600900005203828FF33B3
:020000040001F9
:02000E0084CF9D
:02001000FFDA15
:00000001FF


mesaj birleştirme:: 08 Kasım 2012, 12:35:06

Deniycem hemen. teşekkürler.
Alıntı yapılan: sadogan - 08 Kasım 2012, 12:29:51
Pickit2 yi update etmeniz gerekiyo
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805
PICkit 2 v2.61 yükleyip
Device File 1.62.14 bunuda kopyalarsan sorun kalmıyor

mesaj birleştirme:: 08 Kasım 2012, 12:47:06

Evet HEX Dosyası bendeki compile sonunda aynısı cıkıyor.
Bu durumda Pickit update denemek kalıyor sanırım geriye.


mesaj birleştirme:: 08 Kasım 2012, 12:59:51

PikKit3 orjinal ancak Pickit2 Delab pickit2 ve update yaptıktan sonrada pic i tanımıyor malesef. Yine Pickit3 e kaldım. Zaten niye çalışmıyorsa anlamadım pickit3. En son ihtimal sorun bende :)

sadogan

Proteus 7.9 ve 7.10 var
ccs c de yazılmıs codu denemek istersen

:100000008031192800002030850006308400000867
:10001000031918280130A100A001A00B0D28A10B85
:100020000C284A30A000A00B13281628800B0A28A1
:100030000800850184011F3083056A302100990082
:1000400023008C0122009201910178302100990057
:1000500006302000A000A00B2B28000022009201F7
:10006000910198019D121D132400951221000C107E
:100070000C158C10013024009500003094002100F4
:100080001508C039950022009D11200098019901A2
:1000900022009D1105302000980099010030A10038
:1000A0009C0000309B00F030250093052200920157
:1000B000910121001E109E10003023008C008E0044
:1000C00021001D1065000B138B138B1B64286430FB
:1000D0002000A600032021008C1222008C12023086
:1000E0002000A500FA30A6000320A50B72282100ED
:1000F0008C1222008C1602302000A500FA30A600D7
:0A0100000320A50B7E286B28630086
:020000040001F9
:04000E00840FFF0A52
:00000001FF
;PIC12F1822
;CRC=58D9  CREATED="08-Kas-12 01:52"

led A5 baglı

dyonizos

CSS C ile yazılan kod çalıştı.
O zaman sorun Pickit3 de de değil :)
Geriye sadece Proton kaldı problem olarak. Bakalım nasıl çözülecek.

Alıntı yapılan: sadogan - 08 Kasım 2012, 13:13:21
Proteus 7.9 ve 7.10 var
ccs c de yazılmıs codu denemek istersen

:100000008031192800002030850006308400000867
:10001000031918280130A100A001A00B0D28A10B85
:100020000C284A30A000A00B13281628800B0A28A1
:100030000800850184011F3083056A302100990082
:1000400023008C0122009201910178302100990057
:1000500006302000A000A00B2B28000022009201F7
:10006000910198019D121D132400951221000C107E
:100070000C158C10013024009500003094002100F4
:100080001508C039950022009D11200098019901A2
:1000900022009D1105302000980099010030A10038
:1000A0009C0000309B00F030250093052200920157
:1000B000910121001E109E10003023008C008E0044
:1000C00021001D1065000B138B138B1B64286430FB
:1000D0002000A600032021008C1222008C12023086
:1000E0002000A500FA30A6000320A50B72282100ED
:1000F0008C1222008C1602302000A500FA30A600D7
:0A0100000320A50B7E286B28630086
:020000040001F9
:04000E00840FFF0A52
:00000001FF
;PIC12F1822
;CRC=58D9  CREATED="08-Kas-12 01:52"

led A5 baglı

sadogan

Alıntı yapılan: dyonizos - 08 Kasım 2012, 13:39:16
CSS C ile yazılan kod çalıştı.
O zaman sorun Pickit3 de de değil :)
Geriye sadece Proton kaldı problem olarak. Bakalım nasıl çözülecek.

İyi saç baş yolmacalar  :)

Maxim

#13
o kod proteusta çalışıyor
3.5.2.7 ile derledim

hex o koda ait

mesaj birleştirme:: 08 Kasım 2012, 14:06:09

zannetmiyorum ondan olsun ama 3.5.5.3 versiyonuda var
https://www.picproje.org/index.php/topic,43164.0.html

mesaj birleştirme:: 08 Kasım 2012, 14:18:16

hiç bir şeyde problem yok
problem sizin devrede-bağlantıda-yüklemede vs vs vs

denedim o kod çalışıyor gayet düzgün

şu an gözümün önünde led yanıp sönüyor işlemci 12F1822


dyonizos

Valla bu kod gercek devrede calısmıyor.
Bendekı compiler ile derlediğimde de (aynı versiyon) aynı HEX elde ediyorum. Doğal olarak ikiside çalışmıyor.

Proteusta acaba picte farklı bir ayar varmı menulerınde.
CCS C ıle yapılmış HEX çalıştı. CCS deki sigorta ayarları neler acaba? aynı ayarları yapıp denesek birde.



Alıntı yapılan: Maxim - 08 Kasım 2012, 14:03:04
o kod proteusta çalışıyor
3.5.2.7 ile derledim

hex o koda ait

mesaj birleştirme:: 08 Kasım 2012, 14:06:09

zannetmiyorum ondan olsun ama 3.5.5.3 versiyonuda var
https://www.picproje.org/index.php/topic,43164.0.html

mesaj birleştirme:: 08 Kasım 2012, 14:18:16

hiç bir şeyde problem yok
problem sizin devrede-bağlantıda-yüklemede vs vs vs

denedim o kod çalışıyor gayet düzgün

şu an gözümün önünde led yanıp sönüyor işlemci 12F1822