pıc to pıc seri iletişim

Başlatan asof544, 12 Nisan 2015, 18:03:47

asof544

merhaba arkadaşlar

1.mikroişlemci: MIK1
2.mikroişlemci:MIK2
3.mikroişlemci:MIK3

MIK1 ve MIK2 yi birbirine seri port üzerine bağladım. MIK2'nin p1 portunu MIK3 ün p1 portuna bağladım ve MIK2'nin p3.6 portunu MIK3'ün kesmesine bağladım. MIK2 MIK1 den aldığı veriyi p1 portuna göndermesi gerektiğinde p3.6 portu MIK3 te kesme oluşturuyor.

Mesela MIK'ün p2.2 portu 30 saniye süreyle yanaack veri geldi MIK2den..

mesela buna #13h diyelim. p1 portuna 13h sayısı geldiğinde p2.2 portunu set ediyorum 30 sn lik delay programını çağırıp sonra clr ediyorum.

SORUN: Anlamadığım bir şekilde proteus ta simulasyon yaparken bu lamba 30 sn yanıyor ama bir kaç ms sonra tekrar yanıyor. Bunu engellemek için ne yapmak lazım? Acaba sorun MIK3 te mi yoksa MIK2 demi?

Şimdiden teşekkürler..

MIK-2-org 0000hljmp mainorg 0030hmain: clr p0.0clr p0.1clr p0.2clr p0.3clr p0.4clr p0.5clr p0.6clr p0.7clr p1.0clr p1.1clr p1.2clr p1.3clr p1.4clr p1.5clr p1.6clr p1.7clr p2.0clr p2.1clr p2.2clr p2.3clr p2.4clr p2.5clr p2.6clr p2.7clr p3.6mov scon #52hmov tmod #20hmov th1 #-13mov tl1 #-13setb tr1al:jnb RI alclr RImov a sbufcjne a #123 devam2setb p2.0clr p2.0ljmp sicaklik_alljmp aldevam2:cjne a #124 devam3setb p2.1clr p2.1...devam16:setb p3.6nopnopnopnopclr p3.6mov p1anopnopnopnopmov p1 #00hMIK-3-org 0000hljmp mainorg 0003h ljmp kesme1org 0030hmain:mov IE #85h ;kesme yetkilendirmeclr p2.0clr p2.1clr p2.2clr p2.3clr p2.4clr p2.5clr p2.6clr p2.7beklee: sjmp bekleekesme1:mov a p1cjne a #01 aa1setb p0.0aa1:cjne a #02 aa2setb p0.0aa2:cjne a #03 aa3setb p0.1aa3:cjne a #04 aa4setb p0.1aa4:cjne a#05 aa5setb p0.2call delay ;________30 sn lik delay programıclr p0.2aa5:cjne a#06 aa6setb p0.3call delayclr p0.3aa6:cjne a #07 aa7setb p0.4call delayclr p0.4aa7:cjne a #08 aa8setb p0.5call delayclr p0.5aa8:cjne a #09 aa9setb p0.6call delayclr p0.6aa9:cjne a #10 aa10setb p0.7call delayclr p0.7 aa10:cjne a #11 aa11setb p2.0call delayclr p2.0aa11:cjne a #12 aa12setb p2.1call delayclr p2.1aa12:cjne a #13 aa13setb p2.2call delayaa13:cjne a #14 aa14clr p0.0 aa14:cjne a #16 aa15clr p0.1aa15:cjne a #26 aa16clr p2.2 aa16: retIdelay:mov r7 #01delay2: mov r6 #20delay3: mov tmod #01hmov th0 #high(-50000)mov tl0 #low(-50000)setb tr0jnb tf0 $clr tr0clr tf0djnz r6 delay3djnz r7 delay2ret

ete

Farklı dünyalardayız gibi geliyor bana.
Burası pic microdenetleyicileri konu alan ve genel picBasic üzerine tartışma yaptığımız ama zaman zamanda Asm , C dili gibi diğer derleyiciler üzerinde de konuştuğumuz bir platform.
Gerek açıklamalarına ve gerekse yazdığın koda bakınca farklı bir platformdan bahsettiğini anlıyorum. En azından mikrodenetleyicin farklı olmalı zira bizim işlemcilerde P portu diye bir şey yok.
Asm komutlarında bildiğim kadarı ile ,
-jnb
-cjne
Gibi komutlar yok.
Tabiiki yazdığın mesaja şema eklemediğin , hangi işlemcilerden bahsettiğini açıklamadığın için mesajını anlayamadık. Ama farklı bir mikrodenetleyici olduğu kesin.

Ete

est32

#2
Yanlış bilmiyorsan bu kodlar ve port tanımları 8051 ASM kodları.
başlığı C/P yapmayı unutmuş;
http://www.proelo.com/genel-assembly-40/89c52-seri-haberlesme-1358/

Powered by EzPortal