Professional Documents
Culture Documents
No :
1) Bir elektronik sistem için gerekli olan kare dalga sinyali mikroişlemci vasıtasıyla
sağlanmaktadır. Üretilen kare dalga P2.0’dan dışarıya verilecektir. Mikroişlemci Port-1’e ait
LSB 4 biti ile kare dalganın periyodu belirlenmektedir. Port-1 LSB 4 bitteki bilgi iki katı kare
dalganın saniye cinsinden periyodunu vermektedir. Buna göre gerekli programı yazınız.
(Xtal:12MHz)
NOT: Keil programında Options for Target a tıkladıktan XTAL sekmesine 12MHz olarak kristal
hızı değiştirilmelidir. Ayrıca Options sayfasındaki Debug sekmesinde Limit Speed işaretli
olmalıdır.
ana:
mov tmod,#01h //mod1 16bit
mov p1,#0F1h
mov a,p1
anl a,#0fh
mov r2,a
//mov r2,#01d
acall sn
cpl p2.0
sjmp ana
2) Bir metro turnikesinden geçen insanların sayısı 8051 aracılığıyla tespit edilmektedir. Metro
turnikesi P3.4 pinine bağlıdır. Gün boyu turnikeden geçen toplam kişi sayısı R0 registerinde
tutulmaktadır. Turnikeden geçen toplam kişi sayısı 5 olduğunda toplam kişi sayısı R0’a
ekleyerek tekrar turnikeden geçen kişileri saymaya başlayan programı yazınız.
COUNT equ 5
ana:
mov tmod,#06h //mod1 8bit
mov th0,#-COUNT //Tasma oldugunda TL0'a aktarilacak degeri tutar
mov tl0,#-COUNT
mov r0,#0
git:
setb tr0
jnb tf0,$
clr tf0
clr tr0
mov a,r0
add a,#COUNT
mov r0,a
cpl p2.0
sjmp git
end
Ad Soyad: Uygulama-4
No :
3) p2.0 üzerinden dolgu oranı (duty cycle) %50 olan ve frekansı 5 kHz olan bir kare dalga üreten
assembly kodunu yazınız. (autoreload timer kullanınız.) Proteus üzerinden yazdığınız kodu test
ediniz.
ana:
mov tmod,#02h //mod2 8bit autoreload timer
mov th0,#-BEKLE
mov tl0,#-BEKLE
devam:
setb tr0
jnb tf0,$
clr tf0
clr tr0
cpl p2.0
sjmp devam
end
4) Bir arabanın hızı hesaplanmak istenilmektedir. Arabanın tekerleğinden her turda 1 pulse
gelmektedir. Pulse p3.4’e bağlıdır. Tekerleği yarı çapı 31.83cm’dir. (1 turda 2*pi*31.83≈2m)
aracın hızını m/s olarak hesaplayıp P1’e yansıtınız (ölçümleri her 4s’de bir yapınız.)
basla:
setb tr1
setb tr0
tekrar:
mov th0,#0
mov tl0,#0
acall Dort_saniye
mov a,tl0 ;aracin hizi 128 m/sn 'yi geçemez kabul edildi
;veya 460 km/sa
mov b,#2
div ab
mov p1,a
sjmp tekrar
Ad Soyad: Uygulama-4
No :
Dort_saniye:
mov r3,#100
dongu2:
mov r2,#200
dongu1:
jnb tf1,$
clr tf1
djnz r2,dongu1
djnz r3,dongu2
ret
end