Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

pic 16f877 page

Başlatan acemintel, 22 Ağustos 2004, 19:33:15

acemintel

pic lerde 2k program yazdıktan sonra 1.page pitiyor açaba page degiştirmek nasıl oluyor mesala 8k lık bir program yazdım diyelim fakat 2k yı geçin ce goto lar falan sapıtıyor
basic de böyle birşey yoktu yardım .....................

asm_Coder

Status yazmacının RP0 ve RP1 bitlerini değiştir.

Şöyleki

                RP1   RP0
Bank0         0       0
Bank1         0       1    
Bank2         1       0
Bank3         1       1

bcf status,rp0
bsf status,rp0  
bcf status,rp1
bsf status,rp1
y=f(x);

acemintel

arkadaşım senin dedigin olay ram bellekteki özel yani mesala trısa gibi registerlere ulaşmak için kullanılır ilgin için sana teşekkür ederim fakat hiç 3k lık bir proram asm koduyla yazmıssan anlarsın demek istedigimi sagol saygılar

DumrulBey

Merhaba,

Öncelikle aramıza yeni katılan arkadaşımıza ufak bir mesaj:
Hoş geldin "acemintel"  ;)

Alt programların için sayfalama (paging) yapacaksan başlangıç adreslerini (origin: ORG) iyi tanımlamalısın. Başka sayfaki alt programı çağırmak için PCLATH'ın 4. ve 3. bitlerini kullanıyorsun. Aşağıda orijinal MicroChip belgelerinden alınma bir kod var. Kodlar incele çünkü herşey açık bir şekilde anlaşılıyor...

ORG 0x500
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL SUB1_P1 ;Call subroutine in
: ;page 1 (800h-FFFh)
:
ORG 0x900 ;page 1 (800h-FFFh)
SUB1_P1
: ;called subroutine
: ;page 1 (800h-FFFh)
:
RETURN ;return to Call subroutine
;in page 0 (000h-7FFh)

Başarılar...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)

acemintel

teşekkür ederim dumrul bey buradaki ilgiden dolayı sagolun bir deneyim

HEXF2

Alıntı yapılan: "DumrulBey"Merhaba,

Öncelikle aramıza yeni katılan arkadaşımıza ufak bir mesaj:
Hoş geldin "acemintel"  ;)

Alt programların için sayfalama (paging) yapacaksan başlangıç adreslerini (origin: ORG) iyi tanımlamalısın. Başka sayfaki alt programı çağırmak için PCLATH'ın 4. ve 3. bitlerini kullanıyorsun. Aşağıda orijinal MicroChip belgelerinden alınma bir kod var. Kodlar incele çünkü herşey açık bir şekilde anlaşılıyor...

ORG 0x500
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL SUB1_P1 ;Call subroutine in
: ;page 1 (800h-FFFh)
:
ORG 0x900 ;page 1 (800h-FFFh)
SUB1_P1
: ;called subroutine
: ;page 1 (800h-FFFh)
:
RETURN ;return to Call subroutine
;in page 0 (000h-7FFh)

Başarılar...


arkadaşım şu PCLATH yazmacını kullanmayı biraz daha detaylı anlatırsan sevinirim

DumrulBey

Merhaba,

Bu sorun daha önce aşağıdaki başlıkta tartışılmıştı. Ustalar gererekli açıklamaları yapmışlar. Eğer yeterli olmaz ise o başlık altında soru sorabilirsiniz...

:arrow: 16f877 çıldırdırtıyor


Başarılar...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)