avatar_ete

İsis de Adım Adım Basic kodu çalıştırma

Başlatan ete, 29 Ocak 2012, 11:23:27

ete

Daha önce pek çok yerde İsis de programda kullanığınız değişken değerlerini izleme yöntemini anlatmış idim. Burada onu vermeyeceğim. Onu ayrı başlık altında yeniden vereceğim. Burada  Debug işlemini yani adım adım program çalıştırma işini anlatmaya çalışacağım.  Açıkçası bu iş yalnızca Proton derleyicisi için geçerli sanıyordum. Ama belliki bu işlem PBP içinde geçerli imiş. Henüz denemedim ama nasıl yapıldığın inceledim ve aşağıda adım adım açıklıyorum.

Bu açıklamalarda yer alan PBP260A sürümü aslında 260 sürümü olup "A" şeklinde bir yama yayınlanmış idi. O yamayı eklemez iseniz sürümünüz 260A haline gelmemiş oluyor.Muhtemelende bu kullanım şekli A yamasının bir marifeti.
Bu yamayı ilişikte veriyorum. İsteyen yükleyip deneyebilir.  ( http://dl.dropbox.com/u/25364674/Yama260A.rar)

1. Birincisi programlarınıza .BAS şeklinde değil .PBP uzantısı verin. Biliyorsunuz bu MCS de bir seçenektir ve View menusunde  Editor Options seçeneğinde altlarda yer alan bir kutucuk var. "Yanında Use PBP or PBC as default extension on file save" şeklinde bir açıklama var. Bu kutucuğu işaretlerseniz programlarınız PBP uzantısı ile kayıt edileceklerdir.
2. MPASMWIN 5.35 versiyonunu kullanmanız gerekiyor. Her hangi bir versiyonla olmuyor. Pek çoğumuz Proteus/Tools menbüsündeki  MPASM yi kullanıyoruz (hangi versiyondur onuda bilmiyorum) bu versiyon olmayabilir. Bu nedenle en son MPASM versiyonunu yüklemeniz öneriliyor.
3. Tabiiki PBP260A versiyonuna sahip olmanızda ayrıca gerekiyor.
4. ISIS de , Yukarıda yer alan Source > Define Code Generation Tools... menüsünü seçin ve NEW (yani YENI) tuşuna tıklayın.
Karşınıza bir dosya aç penceresi gelecektir. Orada PBP2xx klasörünüzü açın ve  PBPMPLAB.BAT dosyasını seçin yada işaretleyin ( c:\pbp260\PBPMPLAB.BAT yada her nerede ise) Bu işlem PBPMPLAB "tool" sisteminin yaratılmasını sağlayacaktır.
Code Generation Tools sayfasında aşağıdaki alanlara karşılarında yazılı olanları doldurun ve en sonunda OK tuşuna tıklayın.
Source Extn: PBP
Obj. Extn: COF
Command Line: %1 -ampasmwin -oq -k#
List File Extn: LS
5. Sonra içinde pic olan bir devre yaratın yada çizin. Sonra onu bir yere kayıt edin.
6. Yukarıda yer alan  Source > Add/Remove Source files... menüsüne girin.
7. Orada "Code Generation Tool" kutusunu yanına tıklayarak açın ve altlarda yer alan  "PBPMPLAB" seçeneğini seçin.
8.NEW tuşuna tıklayın ve ya yeni bir dosya adı yaratın yada eskisini kullanın.
9. Flags isimli kutuya devrenizde kullandığınız işlemciye ait olan ve MPASM klasöründe yer alan P16Fxxx isimli dosya adını yazın.  Diyelimki devrenizde 16F628A kullandınız. Oraya P16F628A yazmanız yeterli olacaktır.
10. Source Code File Name kutusuna zaten programın PBP uzantılı ismini yazacaksınız.
11. Devreyi simule etmeye başladığınızda Isis otomatikman programı derleyecek ve onu kullanmaya başlayacaktır. Tabiiki bu işlem her zaman değil yalnızca programda bir değişiklik yaptığınızda gerçekleşecektir. Gerekirse source menüsünde en altta yer alan "Build All" seçeneğini seçerek derlemeyi kendinizde yaptırabilirsiniz.

Deneyin bakalım sonuç ne olacak.
Kolay gelsin.

Ete

Mucit23

Biraz uğraştırdı ama sonunda çözdüm işi.
Ete hocamız çoğu yeri anlatmış ama ben yinede tekrardan adım adım nasıl yapılması gerektiğini anlatacağım

1- İlk başta yapılması gereken PBPnin Sürünümü yükseltmek gerekiyor. Sağolsun Ete hocamız aşağıdaki linke yüklemiş. Sizde oradan indirebilirsiniz.
( http://dl.dropbox.com/u/25364674/Yama260A.rar)
Daha sonra Programlarımızı MPASM ile derleyeceğimiz için MPASMWIN 5,35 Versiyonun bilgisayara yüklemeniz gerekiyor. Ben internette biraz gezindim ama 2- MPASMWIN 5,35 Tek başına bulamadım. Bende MPLAB 8.56 'yı yükleyip Kendi bünyesindeki MPASM yi kullandım. MPLAB ile gelen MPASM nin versiyonu 5.37 idi. Herhangi bir sorun çıkarmadı. MPASM Bilgisayar üzerinde bulundurduktan sonra View>>Compile at Program Optinons penceresinden Assembler ı seçtikten sonra Find Manually Seçeneğine Tıklayarak Açılan yeni Pencerede C:/Program Files/Microchip/MPASM Suite klasörünü göstermeniz gerekiyor.
3- Derlediğimiz MCS ile Derlediğimiz program .PBP uzantısında olmak zorunda. Bu yüzden Eğer Derleyici .bas uzantılı dosya veriyor ise View>> Editor Optinos 'a tıklayın. Açılan pencereden "Use .PBP or .PBC as default extension on file save" seçeneğini aktif yapmanız yeterlidir.

Şimdi ufak bir Prgoram yazdım.
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [Ferhat YOL]                                      *
'*  Notice  : Copyright (c) 2012 [Mucit23]                      *
'*          : All Rights Reserved                               *
'*  Date    : 29.01.2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
DEFINE OSC 4

@ __config _XT_OSC & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _LVP_OFF & _CP_OFF & _INTRC_OSC_NOCLKOUT

TrisA=$00
TrisB=$00
PORTA=$00
PORTB=$00
;_______________________________________________________________________________
DEFINE LCD_DREG PORTB     'LCD data bacakları hangi porta bağlı?
DEFINE LCD_DBIT 4 'LCD data bacakları hangi bitten başlıyor?
DEFINE LCD_EREG PORTB     'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT 3 'LCD Enable Bacağı Hangi bite bağlı ?
DEFINE LCD_RSREG PORTB  'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT 2 'LCD RS bacağı Hangi Bite bağlı  ?
DEFINE LCD_BITS 4 'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES 2 'LCD Kaç sıra yazabiliyor
;_______________________________________________________________________________

SAYI VAR WORD
PORTB.0=1
PAUSE 200
LCDOUT $FE,1
LCDOUT $FE,$85,"Mucit23"

BASLA:
FOR SAYI=0 TO 1000
   LCDOUT $FE,$c0,"SAYI= ",#SAYI
   pause 10
next
lcdout $FE,1
GOTO BASLA
END


Programı derleyin.

4- Daha sonra Şemamızı çizip Programı derlediğiniz yere kaydedin.
Şemamız bu şekilde

image hosting

5- Daha sonra İsiste Source Menüsünden Defınee Code Generation Tools Seçeneğine tıklayın.
Açılan Pencerede Code Generation Tool Bölümünde Browse seçeneğine tıklayarak PBP klasörünün içindeki PBPMPLAB.BAT  dosyasını seçin. Bundan sonra Tool Bölümünde PBPMPLAB Yazması gerekiyor. Yazmıyorsa eğer listeden PBPMPLAB'ı seçin.
Make Rules bölümünde İse Source Extn bölümünde PBP, OBJ Extn bölümünde COF, Command Line Bölümünde %1 -ampasmwin -oq -k# , List File Extn Bölümünde LS yazması gerekiyor.
Tam olarak aşağıdaki gibi.

image hosting jpeg

6- Son olarak yapılması gereken yine View Menüsünden Add/Remove Source files seçeneğine tıklayıp açılan pencerede Code Generation Tool Bölünde Listeden PBPMPLAB 'ı seçin. Flags yazan yere ise kullandığınız Mcunun adını -pXXFXXX şeklinde girin.
Source Code Filename Bölümünde ise Browse seçeneği ile MCS ile Derlediğiniz .PBP uzantılı dosyayı seçin.

hosting images

Bu işlemleri yaptıktan sonra Source Menüsünden Build All Seçeneğine tıkladığınızda Karşınıza aşağıdaki gibi bir pencere gelecektir.

image hosting jpg
Bu mesajı aldıysanız her şey doğru demektir. İsis  Programı derleyip .cof dosyası oluşturmuştur. Zaten MCUnun program file bölümünde xxx.COF Göreceksiniz.

Bundan sonra Step Seçeneğine Tıklayarak Debug işlemini başatabilirsiniz.
Kısacık bir video.
http://www.youtube.com/watch?v=fRp94ZtVcD0&feature=youtu.be

Çok şükür bu işide böylece aydınlatmış olduk :)
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

MS_59

ellerinize emeğinize sağlık en kısa zamanda bende deneyeceğim verdiğiniz bilgiler altın değerinde
mehmet

KAZIMUGUR

#3
Bir şekilde cof ve ya cod uzantılı dosya üretebildi iseniz , bunu isis de pic e göstermeniz yeterlidir.

MCS - MCSP cof üretmiyor .
Aslında bu mpasm nin işi.
Eski versiyonlar üretiyordu.
Şimdiki versiyon derlerken üretiyor işini bitirince siliyor.
MCSP , use mpasm içinde kod üretiyor.
asm uzantılı ürettiği dosya , use mpasm için farklı - bu seçili değilse farklı oluyor.
use mpasm seçili iken ürettiği asm uzantıya tıklayınca mpasmwin hatasız derliyor.
seçili değilse üretilen asm hata veriyor.

Mplab kullanılarak pbp ve ya bas uzantı include edilerek ve pbp seçilerek yapılan derlemede ise cof dosyası üretiliyor.

Bu cof dosyası pic e yüklenirse kodları adım adım izlemek mümkün.

Bu denemeleri win7-mcsp4-mcsp3.0.05-pbp2.6c-proteus7.9sp1 ile denedim.
pbp3 hata veriyor.
bat dosyası düzenlenirse bir şeyler olabilir...

--------
peç efendinin c versiyonu için :

http://www.fileserve.com/file/THjmGhG/C.rar

File name: C.rar File size: 3.12 MB


kotan04

#4
arkadaşlar anlatımınıza göre yaptım  fakat böyle bir sorun vermekte ayrıca bu sorunun ardından mplab programının son versiyorunu yükledim aynı problem devam etmekte  birde ete hocamız mpasm 5,35 olanını microchip sitesindeki arşivde mevcut değil elinde link olan paylaşabilirmi? Aklıma gelmişken sistemim 64 bit aca ondan olabilirmi?

ete

Sorunun kaynağı sanırım MPASM ile yapılan derleme işlemi.
Bildiğiniz üzere derleme işlemini MPASM ile yapabiliyorsunuz. Bunun için View menüsünde Compile & Program Options seçeneğinde Assembler olarak use MPASM kutusunu işaretliyorsunuz. Zaten MPASM nin yerini orada göstermek zorundasınız.
Bu işlemleri yaptıktan sonra programınızda ufak bir format değişikliği yapmanız gerekiyor.
16F628A kullandığını görüyorum. O halde programındaki sigorta ayarlarını aşağıdaki format ile değiştir.
@ __config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _LVP_OFF & _CP_OFF
ayarları rastgele vermiş olabilirim. Sen kendi ayarlarına göre düzenlersin. Ama şekile ve özellikle @ __Config ifadelerine dokunma. Başında yer alan boşluk bile önem kazanıyor çünki.
Diğer sigorta ayarlarını ya sil yada başlarına ; koyarak kapat.
Sonra aynı işlemi yeniden dene bakalım sonuş ne olacak?

Ete

kotan04

#6
hocam merhaba bu kısımı düzelttim herşeyi silbaştan yapıyorum bu seferde bu şekilde hata almaktayım

ete

Görünüşe bakılırsa hala bas uzantılı dosyayı alıp yüklemeye çalışıyor gibi. Çünki bulamadığı dosya bas uzantılı.
Halbuki dosya pbp uzantılı olmalı idi. Bu konuda pek yardımcı olamayacağım. Tamamen senin kendi yaptığın işlerle ilgili bir durum gibi geldi bana. Mucit23 de bir baksın başına gelmiştir belki.

Ete

Mucit23

Ben hiç Böyle bir problemle karşılaşmadım açıkçası
Hocam Burada MPASM nin versiyonu çok önemli. 5,35 den aşağısı kurtarmıyor. Ben MPLAB 8.56 yı yükledim.
Sizdeki Programların versiyonu nedir.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

#9
Kotan ,
Aşağıdakileri yaparmısın lütfen;
- Add/Remove Source File seçeneğini seç
- Açılan pencerede altta yer alan Remove butonuna tıkla.
- Pencereyi kapat ve yeniden aç
- Altta yer alan NEW butonuna tıkla. Bir doya açma penceresi ekrana gelecektir. Çalıştıracağın xxxx.pbp uzantılı dosyayı göster
- Code Generation Tool kutusunu aç ve altta yer alan PBPMPLAB  seçeneğini seç.
- flag kutusuna -p16F628A  yaz ve sonunda OK tuşuna basarak oradan çık.
- Yeniden yukarıda yer alan Source seçeneğini aç ve altta yer alan Build All seçeneğini seç.
Bakalım bu sefer doğru olacakmıdır.

Bu arada benim denememde bir iki sorun daha çıktı. Birincisi  xxxxx.ls bulunamadı  diye hata verdi.
Bunun sebebi "Define Code Generation Tools" seçeneğine bakarsanız, altta bir  Debug Data Extraction kısmı var. Orada bizim yerleştirdiğimiz bir LS kutusu var ve karşısında Browse butonu mevcut. Bu butona basılarak program derlendiğinde oluşan xxxx.LST dosyasının yerini göstermek gerekiyor. Aslında bunu otomatik alması gerek ama bende almadı her nedense.
Ama sanırım programı yazdıktan sonra MCS de derleme butonuna tıklayarak orada derleme yaptırmak en doğrusu. O zaman hata vermeden adım adım çalışıyor. Kendisine Build All seçeneği ile derletmeye kalkarsanız hata veriyor.

Ete


kotan04

merhaba hocam söylediğiniz gibi uyguladım hata alıyorum

F®T

kotan 04 sigorta ayar satırını tamamen silip build all yaparmısın aynı hata bende vardı bu şekilde sildim derledi.kod çalıştı.ama fuse ayarlarını bi türlü yapamadım.16f88 için
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Mucit23

@Kotan04
Dosyaların bulunduğu yere bir bakabilirmisin. .cof dosyası oluşturulmuşmu. Ben ilk Denediğimde tam tam hatrılamıyorum ama buna benzer bir hata almıştım. Pic'e .cof dosyasını sen göstermen gerekebiliyor.
Pice çift tıklayarak program file bölümünde ne yazıyor?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Fuse ayarının ne olduğuna yada formatına PBP klasörü içinde yer alan 16F88.INC dosyasını yükleyerek bakabilirsiniz.
ama genel format şekli ;
@ __config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _LVP_OFF & _CP_OFF
şeklinde olup 16F88 için olanları  bu satırın peşine aynı mantık ile ekleyebilirsiniz.

Şayet derleme esnasında yeniden hata veriyor ise o zaman PBP klasöründe yer alan 16F88.INC dosyasında altta yer alan config satırını başına ; koyarak kapatıp geri kayıt etmeniz gerekiyor.
(;            __config _CONFIG1, _HS_OSC & _WDT_ON & _LVP_OFF & _CP_OFF  şeklinde)

Ete

Mucit23

@ferittt
Sağolsun Ete hocamız yazmış.
Kullandığınız işlemciye ait olan sigortaları görmek için MPASM klasöründeki PXXFXXX.inc klasörüne bakabilirsiniz.
Örneğin 16F88 için MPASM içerisindeki inc dosyasını inceleyelim.
        LIST
; P16F88.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
        NOLIST

; This header file defines configurations, registers, and other useful bits of
; information for the PIC16F88 microcontroller.  These names are taken to match
; the data sheets as closely as possible. 

; Note that the processor must be selected before this file is
; included.  The processor may be selected the following ways:

;       1. Command line switch:
;               C:\ MPASM MYFILE.ASM /PIC16F88
;       2. LIST directive in the source file
;               LIST   P=PIC16F88
;       3. Processor Type entry in the MPASM full-screen interface

;==========================================================================
;
;       Revision History
;
;==========================================================================

;Rev:   Date:    Reason:

;1.00   07/29/02 Initial Release
;1.01 09/18/02 Changed name of bit-2 in the OSCCON register to IOFS
;1.02 01/10/03 Added bit names for TXSTA & RCSTA registers.
;1.03 01/24/03 Changed Config bit CCP1_RB2 to CCP1_RB0
;1.04 12/02/03 Modified the WRT1:WRT0 bit definition in Config Word 1.
;1.05 02/08/04 Changed bit in _CONFIG1 example from CCP1_RB2 to CCP1_RB0.

;==========================================================================
;
;       Verify Processor
;
;==========================================================================

        IFNDEF __16F88
           MESSG "Processor-header file mismatch.  Verify selected processor."
        ENDIF

;==========================================================================
;
;       Register Definitions
;
;==========================================================================

W                            EQU     H'0000'
F                            EQU     H'0001'

;----- Register Files------------------------------------------------------

INDF                         EQU     H'0000'
TMR0                         EQU     H'0001'
PCL                          EQU     H'0002'
STATUS                       EQU     H'0003'
FSR                          EQU     H'0004'
PORTA                        EQU     H'0005'
PORTB                        EQU     H'0006'
PCLATH                       EQU     H'000A'
INTCON                       EQU     H'000B'
PIR1                         EQU     H'000C'
PIR2                         EQU     H'000D'
TMR1L                        EQU     H'000E'
TMR1H                        EQU     H'000F'
T1CON                        EQU     H'0010'
TMR2                         EQU     H'0011'
T2CON                        EQU     H'0012'
SSPBUF                       EQU     H'0013'
SSPCON                       EQU     H'0014'
CCPR1L                       EQU     H'0015'
CCPR1H                       EQU     H'0016'
CCP1CON                      EQU     H'0017'
RCSTA                        EQU     H'0018'
TXREG                        EQU     H'0019'
RCREG                        EQU     H'001A'
ADRESH                       EQU     H'001E'
ADCON0                       EQU     H'001F'

OPTION_REG                   EQU     H'0081'
TRISA                        EQU     H'0085'
TRISB                        EQU     H'0086'
PIE1                         EQU     H'008C'
PIE2                         EQU     H'008D'
PCON                         EQU     H'008E'
OSCCON     EQU     H'008F'
OSCTUNE       EQU     H'0090'
PR2                          EQU     H'0092'
SSPADD                       EQU     H'0093'
SSPSTAT                      EQU     H'0094'
TXSTA                        EQU     H'0098'
SPBRG                        EQU     H'0099'
ANSEL                        EQU     H'009B'
CMCON       EQU     H'009C'
CVRCON                       EQU     H'009D'
ADRESL                       EQU     H'009E'
ADCON1                       EQU     H'009F'

WDTCON                       EQU     H'0105'
EEDATA                       EQU     H'010C'
EEADR                        EQU     H'010D'
EEDATH                       EQU     H'010E'
EEADRH                       EQU     H'010F'

EECON1                       EQU     H'018C'
EECON2                       EQU     H'018D'

;----- STATUS Bits --------------------------------------------------------
IRP                          EQU     H'0007'
RP1                          EQU     H'0006'
RP0                          EQU     H'0005'
NOT_TO                       EQU     H'0004'
NOT_PD                       EQU     H'0003'
Z                            EQU     H'0002'
DC                           EQU     H'0001'
C                            EQU     H'0000'

;----- INTCON Bits --------------------------------------------------------
GIE                          EQU     H'0007'
PEIE                         EQU     H'0006'
TMR0IE                       EQU     H'0005'
INTE                         EQU     H'0004'
RBIE                         EQU     H'0003'
TMR0IF                       EQU     H'0002'
INTF                         EQU     H'0001'
RBIF                         EQU     H'0000'

;----- PIR1 Bits ----------------------------------------------------------
ADIF       EQU     H'0006'
RCIF                         EQU     H'0005'
TXIF               EQU     H'0004'
SSPIF                        EQU     H'0003'
CCP1IF                       EQU     H'0002'
TMR2IF                       EQU     H'0001'
TMR1IF                       EQU     H'0000'

;----- PIR2 Bits ----------------------------------------------------------
OSFIF                        EQU     H'0007'
CMIF       EQU     H'0006'
EEIF                         EQU     H'0004'

;----- T1CON Bits ---------------------------------------------------------
T1RUN                    EQU     H'0006'
T1CKPS1                      EQU     H'0005'
T1CKPS0                      EQU     H'0004'
T1OSCEN                      EQU     H'0003'
NOT_T1SYNC                   EQU     H'0002'
T1INSYNC                     EQU     H'0002'    ; Backward compatibility only
TMR1CS                       EQU     H'0001'
TMR1ON                       EQU     H'0000'

;----- T2CON Bits ---------------------------------------------------------
TOUTPS3                      EQU     H'0006'
TOUTPS2                      EQU     H'0005'
TOUTPS1                      EQU     H'0004'
TOUTPS0                      EQU     H'0003'
TMR2ON                       EQU     H'0002'
T2CKPS1                      EQU     H'0001'
T2CKPS0                      EQU     H'0000'

;----- SSPCON Bits --------------------------------------------------------
WCOL                         EQU     H'0007'
SSPOV                        EQU     H'0006'
SSPEN                        EQU     H'0005'
CKP                          EQU     H'0004'
SSPM3                        EQU     H'0003'
SSPM2                        EQU     H'0002'
SSPM1                        EQU     H'0001'
SSPM0                        EQU     H'0000'

;----- CCP1CON Bits -------------------------------------------------------
CCP1X                        EQU     H'0005'
CCP1Y                        EQU     H'0004'
CCP1M3                       EQU     H'0003'
CCP1M2                       EQU     H'0002'
CCP1M1                       EQU     H'0001'
CCP1M0                       EQU     H'0000'

;----- RCSTA Bits ---------------------------------------------------------
SPEN                         EQU     H'0007'
RX9                          EQU     H'0006'
RC9                          EQU     H'0006'    ; Backward compatibility only
NOT_RC8                      EQU     H'0006'    ; Backward compatibility only
RC8_9                        EQU     H'0006'    ; Backward compatibility only
SREN                         EQU     H'0005'
CREN                         EQU     H'0004'
ADDEN                        EQU     H'0003'
FERR                         EQU     H'0002'
OERR                         EQU     H'0001'
RX9D                         EQU     H'0000'
RCD8                         EQU     H'0000'    ; Backward compatibility only

;----- ADCON0 Bits --------------------------------------------------------
ADCS1                        EQU     H'0007'
ADCS0                        EQU     H'0006'
CHS2                         EQU     H'0005'
CHS1                         EQU     H'0004'
CHS0                         EQU     H'0003'
GO                           EQU     H'0002'
NOT_DONE                     EQU     H'0002'
GO_DONE                      EQU     H'0002'
ADON                         EQU     H'0000'

;----- OPTION_REG Bits -----------------------------------------------------
NOT_RBPU                     EQU     H'0007'
INTEDG                       EQU     H'0006'
T0CS                         EQU     H'0005'
T0SE                         EQU     H'0004'
PSA                          EQU     H'0003'
PS2                          EQU     H'0002'
PS1                          EQU     H'0001'
PS0                          EQU     H'0000'

;----- PIE1 Bits ----------------------------------------------------------
ADIE                         EQU     H'0006'
RCIE                         EQU     H'0005'
TXIE                         EQU     H'0004'
SSPIE                        EQU     H'0003'
CCP1IE                       EQU     H'0002'
TMR2IE                       EQU     H'0001'
TMR1IE                       EQU     H'0000'

;----- PIE2 Bits ----------------------------------------------------------
OSFIE                        EQU     H'0007'
CMIE                         EQU     H'0006'
EEIE                         EQU     H'0004'

;----- PCON Bits ----------------------------------------------------------
NOT_POR                      EQU     H'0001'
NOT_BO                       EQU     H'0000'
NOT_BOR                      EQU     H'0000'

;----- OSCCON Bits -------------------------------------------------------
IRCF2       EQU     H'0006'
IRCF1       EQU     H'0005'
IRCF0     EQU     H'0004'
OSTS                         EQU     H'0003'
IOFS     EQU     H'0002'
SCS1                         EQU     H'0001'
SCS0                         EQU     H'0000'

;----- OSCTUNE Bits -------------------------------------------------------
TUN5     EQU     H'0005'
TUN4                         EQU     H'0004'
TUN3                         EQU     H'0003'
TUN2             EQU     H'0002'
TUN1                         EQU     H'0001'
TUN0             EQU     H'0000'

;----- SSPSTAT Bits -------------------------------------------------------
SMP                          EQU     H'0007'
CKE                          EQU     H'0006'
D                            EQU     H'0005'
I2C_DATA                     EQU     H'0005'
NOT_A                        EQU     H'0005'
NOT_ADDRESS                  EQU     H'0005'
D_A                          EQU     H'0005'
DATA_ADDRESS                 EQU     H'0005'
P                            EQU     H'0004'
I2C_STOP                     EQU     H'0004'
S                            EQU     H'0003'
I2C_START                    EQU     H'0003'
R                            EQU     H'0002'
I2C_READ                     EQU     H'0002'
NOT_W                        EQU     H'0002'
NOT_WRITE                    EQU     H'0002'
R_W                          EQU     H'0002'
READ_WRITE                   EQU     H'0002'
UA                           EQU     H'0001'
BF                           EQU     H'0000'

;----- TXSTA Bits ---------------------------------------------------------
CSRC                         EQU     H'0007'
TX9                          EQU     H'0006'
NOT_TX8                      EQU     H'0006'    ; Backward compatibility only
TX8_9                        EQU     H'0006'    ; Backward compatibility only
TXEN                         EQU     H'0005'
SYNC                         EQU     H'0004'
BRGH                         EQU     H'0002'
TRMT                         EQU     H'0001'
TX9D                         EQU     H'0000'
TXD8                         EQU     H'0000'    ; Backward compatibility only

;----- ADCON1 Bits --------------------------------------------------------
ADFM                         EQU     H'0007'
ADCS2                        EQU     H'0006'
VCFG1                        EQU     H'0005'
VCFG0                        EQU     H'0004'

;----- WDTCON Bits --------------------------------------------------------
WDTPS3                       EQU     H'0004'
WDTPS2                       EQU     H'0003'
WDTPS1                       EQU     H'0002'
WDTPS0                       EQU     H'0001'
SWDTEN                       EQU     H'0000'
SWDTE                        EQU     H'0000'

;----- ANSEL Bits ---------------------------------------------------------
ANS6                         EQU     H'0006'
ANS5                         EQU     H'0005'
ANS4                         EQU     H'0004'
ANS3                         EQU     H'0003'
ANS2                         EQU     H'0002'
ANS1                         EQU     H'0001'
ANS0                         EQU     H'0000'

;----- CMCON Bits ---------------------------------------------------------
C2OUT                        EQU     H'0007'
C1OUT                        EQU     H'0006'
C2INV                        EQU     H'0005'
C1INV                        EQU     H'0004'
CIS                          EQU     H'0003'
CM2                          EQU     H'0002'
CM1                          EQU     H'0001'
CM0                          EQU     H'0000'

;----- CVRCON Bits --------------------------------------------------------
CVREN                        EQU     H'0007'
CVROE                        EQU     H'0006'
CVRR                         EQU     H'0005'
CVR3                         EQU     H'0003'
CVR2                         EQU     H'0002'
CVR1                         EQU     H'0001'
CVR0                         EQU     H'0000'

;----- EECON1 Bits --------------------------------------------------------
EEPGD                        EQU     H'0007'
FREE     EQU     H'0004'
WRERR                        EQU     H'0003'
WREN                         EQU     H'0002'
WR                           EQU     H'0001'
RD                           EQU     H'0000'

;==========================================================================
;
;       RAM Definition
;
;==========================================================================

        __MAXRAM H'1FF'
        __BADRAM H'07'-H'09', H'1B'-H'1D'
__BADRAM H'87'-H'89', H'91', H'95'-H'97', H'9A'
        __BADRAM H'107'-H'109'
        __BADRAM H'185', H'187'-H'189', H'18E'-H'18F'

;==========================================================================
;
;       Configuration Bits
;
;==========================================================================

_CONFIG1                    EQU     H'2007'
_CONFIG2                    EQU     H'2008'

;Configuration Byte 1 Options
_CP_ALL                      EQU     H'1FFF'
_CP_OFF                      EQU     H'3FFF'
_CCP1_RB0     EQU     H'3FFF'
_CCP1_RB3                    EQU     H'2FFF'
_DEBUG_OFF                   EQU     H'3FFF'
_DEBUG_ON                    EQU     H'37FF'
_WRT_PROTECT_OFF             EQU     H'3FFF' ;No program memory write protection
_WRT_PROTECT_256             EQU     H'3DFF' ;First 256 program memory protected
_WRT_PROTECT_2048            EQU     H'3BFF' ;First 2048 program memory protected
_WRT_PROTECT_ALL             EQU     H'39FF' ;All of program memory protected
_CPD_ON                      EQU     H'3EFF'
_CPD_OFF                     EQU     H'3FFF'
_LVP_ON                      EQU     H'3FFF'
_LVP_OFF                     EQU     H'3F7F'
_BODEN_ON                    EQU     H'3FFF'
_BODEN_OFF                   EQU     H'3FBF'
_MCLR_ON          EQU     H'3FFF'
_MCLR_OFF                    EQU     H'3FDF'
_PWRTE_OFF                   EQU     H'3FFF'
_PWRTE_ON                    EQU     H'3FF7'
_WDT_ON                      EQU     H'3FFF'
_WDT_OFF                     EQU     H'3FFB'
_EXTRC_CLKOUT     EQU     H'3FFF'
_EXTRC_IO     EQU     H'3FFE'
_INTRC_CLKOUT                EQU     H'3FFD'
_INTRC_IO     EQU     H'3FFC'
_EXTCLK     EQU     H'3FEF'
_HS_OSC                      EQU     H'3FEE'
_XT_OSC                      EQU     H'3FED'
_LP_OSC                      EQU     H'3FEC'

;Configuration Byte 2 Options
_IESO_ON                     EQU     H'3FFF'
_IESO_OFF                    EQU     H'3FFD'
_FCMEN_ON                    EQU     H'3FFF'
_FCMEN_OFF                   EQU     H'3FFE'



; To use the Configuration Bits, place the following lines in your source code
;  in the following format, and change the configuration value to the desired
;  setting (such as CP_OFF to CP_ALL).  These are currently commented out here
;  and each __CONFIG line should have the preceding semicolon removed when
;  pasted into your source code.

;Program Configuration Register 1
; __CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC

;Program Configuration Register 2
; __CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF

        LIST


Programın en altında Configuration Bits yazan bir bölüm var. O bölüm altında 16F88' e ait tüm sigortalar verilmiştir.

_CP_ALL                      EQU     H'1FFF'
_CP_OFF                      EQU     H'3FFF'
_CCP1_RB0     EQU     H'3FFF'
_CCP1_RB3                    EQU     H'2FFF'
_DEBUG_OFF                   EQU     H'3FFF'
_DEBUG_ON                    EQU     H'37FF'
_WRT_PROTECT_OFF             EQU     H'3FFF' ;No program memory write protection
_WRT_PROTECT_256             EQU     H'3DFF' ;First 256 program memory protected
_WRT_PROTECT_2048            EQU     H'3BFF' ;First 2048 program memory protected
_WRT_PROTECT_ALL             EQU     H'39FF' ;All of program memory protected
_CPD_ON                      EQU     H'3EFF'
_CPD_OFF                     EQU     H'3FFF'
_LVP_ON                      EQU     H'3FFF'
_LVP_OFF                     EQU     H'3F7F'
_BODEN_ON                    EQU     H'3FFF'
_BODEN_OFF                   EQU     H'3FBF'
_MCLR_ON          EQU     H'3FFF'
_MCLR_OFF                    EQU     H'3FDF'
_PWRTE_OFF                   EQU     H'3FFF'
_PWRTE_ON                    EQU     H'3FF7'
_WDT_ON                      EQU     H'3FFF'
_WDT_OFF                     EQU     H'3FFB'
_EXTRC_CLKOUT     EQU     H'3FFF'
_EXTRC_IO     EQU     H'3FFE'
_INTRC_CLKOUT                EQU     H'3FFD'
_INTRC_IO     EQU     H'3FFC'
_EXTCLK     EQU     H'3FEF'
_HS_OSC                      EQU     H'3FEE'
_XT_OSC                      EQU     H'3FED'
_LP_OSC                      EQU     H'3FEC'

;Configuration Byte 2 Options
_IESO_ON                     EQU     H'3FFF'
_IESO_OFF                    EQU     H'3FFD'
_FCMEN_ON                    EQU     H'3FFF'
_FCMEN_OFF                   EQU     H'3FFE'


Burada istediğiniz sigortayı programınıza ekleyebilirsiniz. En altta örnek kullanım şekli verilmiştir.

__CONFIG   _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC

Programı MCS ile Derlediğimiz için Configlerin Başına @ işareti koymanız gerekir.

@ __CONFIG   _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC

Kolay gelsin
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Powered by EzPortal