Elektronik ve Teknoloji Merkezi Elektrotekno.com
Elektronik ve Teknoloji Merkezi




Click here to go to the original topic

Elektrotekno.com Ana Sayfa Programlanabilir Cihaz ve Elemanlar
Yazar Mesaj
ozerdenizege
Tarih: 16.03.2008, 15:40 Mesaj konusu: 8051 ile Klima Kontrolü Programı(Yardım)

arkadaşlar aranızda 8051 ile ilgilenen varsa yardımlarınızı bekliyorum..

uygulama 4: kl��ma
bu uygulamada once lm35 ve adc ile bir s��cakl��k ölçüm düzene��i kurman��z isteniyor.
ınt1 giri��ine uygulanacak bir kesme ile keypaddan s��cakl��k için alt ve üst limitler girilecek
(mesela 20 ile 30 derece) . s��cakl��k girilen bu limitler aras��nda iken 1 sn aral��klarla ölçülen
����cakl��k de��erleri lcd de gösterilecek. s��cakl��k alt limitten a�������� dü��erse sar��, üst limitten
yukar�� �karsa k��rm������ uyar�� ledi yanacak.

progamı yazdım fakat adc'den çıkış alamıyorum.diğer bir sorun da programın kesme servis rutininden çıkamamsı kodlar ve devre şeması aşağıda.. yardımcı olabilirseniz cok sevinirim.

org 00h
ljmp maın

;||* keypad taranarak alt ve üst sıcaklık limitlerinin*||
;||* alınıp kaydedildiği kesme altrutini*||

org 0003h
ljmp ex0ısr



;||*ana program bloğu*||
maın:
mov ıe,#81h
mov p1,#00h
mov r3,#00h
mov r4,#00h
clr p3.0
clr p3.1
mov p2,#00h

;||* ortamdaki sıcaklık değerlerinin 1sn*||
;||* aralıklarla ölçülmesi ve lcd'ye yansıtılması*||

recdata:

setb p3.4 ;clock pini
clr p2.4 ;cs pini
acall delay5ms
clr p3.4
acall delay5ms

setb p3.4
mov a,p3.5 ;data out pini
acall delay5ms
clr p3.4
acall delay5ms

agaın:

ınc r4
setb p3.4
mov c,p3.5
acall delay5ms
rlc a
clr p3.4
acall delay5ms
cjne r4,#07h,agaın
mov r4,#00h
lcall cevır

;||* cs'yi lojik 0 yaparak bilgi gönderimini
;||* başlatıyoruz...
setb p3.4
setb p2.4
acall delay5ms
clr p3.4
acall delay5ms

;||* lcd'yi on komutu göndererek dac'ın
;||* data out çıkışından alınan bilgiyi
;||* lcd'ye yansıtıyoruz...

clr p3.6
mov p1,#00001111b
setb p3.7
acall delay5ms
clr p3.7

setb p3.6
mov r4,a
anl a,#11110000b
mov b,#10h
dıv ab
add a,#45
mov p1,a
setb p3.7
acall delay5ms
clr p3.7

mov a,r4
anl a,00001111b
add a,#45
mov p1,a
setb p3.7
acall delay5ms
clr p3.7

clr p3.6
mov p1,#00000001b
setb p3.7
acall delay5ms
clr p3.7

acall delay1s
sjmp compare

;||* acc'ye yüklediğimiz sayısal bilgiyi
;||* dereceye çeyiriyoruz...

cevır:mov b,#5
dıv ab
mov b,#2
mul ab
ret

;||* kullanıcı tarafından girilen alt ve
;||* üst limitlerle anlık sıcaklığı
;||* karşılaştırıyoruz...

compare:mov r3,a
clr c
mov a,52h
mov b,#10h
mul ab
add a,53h
subb a,r3
jc lowtemp
clr c
mov a,50
mov b,#10h
mul ab
add a,51h
subb a,r3
jnc hıghtemp
ljmp recdata

lowtemp:setb p3.0
acall delay5ms
clr p3.2
ljmp recdata

hıghtemp:setb p3.1
acall delay5ms
clr p3.3
ljmp recdata

;||* gecikme alt programları *||

delay5ms:count1 equ -1000
mov tmod,#01h
mov r4,#05h

agaın5: mov th0,#hıgh count1
mov tl0,#low count1
setb tr0
jnb tf0,$
clr tr0
clr tf0
djnz r4,agaın5
ret

delay1s:count2 equ -10000
mov tmod,#01h
mov r4,#90

agaın1s: mov th0,#hıgh count2
mov tl0,#low count2
setb tr0
jnb tf0,$
clr tr0
clr tf0
djnz r4,agaın1s
ret

ex0ısr:

mov p2,#00h
mov r2,#00h
mov r5,#00h

scan:

satır1:mov p2,#11111110b
jnb p2.5, bır
jnb p2.6, ıkı
jnb p2.7, uc


satır2:mov p2,#11111101b
jnb p2.5, dort
jnb p2.6, bes
jnb p2.7, altı


satır3:mov p2,#11111011b
jnb p2.5, yedı
jnb p2.6, sekız
jnb p2.7, dokuz


satır4:mov p2,#11110111b
jnb p2.6,sıfır
sjmp scan

sıfır: mov r5,#00h
sjmp updownlımıt

bır: mov r5,#01h
sjmp updownlımıt

ıkı: mov r5,#02h
sjmp updownlımıt

uc: mov r5,#03h
sjmp updownlımıt

dort: mov r5,#04h
sjmp updownlımıt

bes: mov r5,#05h
sjmp updownlımıt

altı: mov r5,#06h
sjmp updownlımıt

yedı: mov r5,#07h
sjmp updownlımıt

sekız: mov r5,#08h
sjmp updownlımıt

dokuz: mov r5,#09h
sjmp updownlımıt

;||* keypad'ten alınan değerlerin*||
;||* kaydedildiği altprogram*||

updownlımıt:

tus1:cjne r2,#00h,tus2
ınc r2
mov 50h,r5
acall delay5ms
ljmp scan

tus2:cjne r2,#01h,tus3
ınc r2
mov 51h,r5
acall delay5ms
ljmp scan

tus3:cjne r2,#02h,tus4
ınc r2
mov 52h,r5
acall delay5ms
ljmp scan

tus4:mov r2,#00h
mov 53h,r5

retı

end


ozerdenizege
Tarih: 23.03.2008, 17:16 Mesaj konusu: Hallettim

Arkadaşlar hallettim programı...Düzenledikten sonra projeler kısmında paylaşırım herkesle...

İlgilenen herkese tşkr..
Elektrotekno.com Ana Sayfa Programlanabilir Cihaz ve Elemanlar
1. sayfa (Toplam 1 sayfa)

8051 ile Klima Kontrolü Programı(Yardım)

Gizlilik Politikası

PLC programming