Azərbaycan Respublikası Təhsil Nazirliyi


Download 5.01 Kb.
Pdf ko'rish
bet119/157
Sana21.11.2023
Hajmi5.01 Kb.
#1792576
1   ...   115   116   117   118   119   120   121   122   ...   157
Bog'liq
2014-2730 (2)

Köməkçi modullar bölməsi 
ALTPROQRAMLAR VƏ KÖMƏKÇİ MODULLAR ******* 
.include “delays.asm” 
;***************************************** 
Proqramın başa çatması əmri (vacib deyil)
.exit 
Assembler dilində proqramın xüsusiyyəti lokal verilənlərin olmamasıdır. 
Assembler birbaşa mikrokontrollerin fiziki yaddaşı ilə işləyir, ona görə də lokal 
dəyişənlərin seçilməsi məqsədəuyğun olmur. Məhz buna görə yüksək səviyyəli 
dillərdən fərqli olaraq köməkçi modullar proqramın başlanğıcında yox, sonunda 
qoşulurlar. 
Mərhələ №3. Praktiki proqramlaşdırma.
Kompilyasiya və səhvlərin düzəldilməsi. Kompilyasiya proqramı layihə 
kataloqunda avtomatik yerinə yetirilir. Kompilyasiyanı yerinə yetirmək üçün F7 
düyməsini, yaxud, alətlər panelində uyğun düyməni basmaq lazımdır. 
İşıqdiodlarının idarə olunması modulunun işlənməsi. Konkret qurğunun 
qoşulması məsələsinin həll edilməsi üçün iki məsələni: - köməkçi modullar 


249
yaratmaq və ilkin olaraq işıqdiodlarının mikrokontrollerə qoşulması sxemini 
diqqətlə öyrəndikdən sonra proqramı yazmaq məsələlərini həll etmək lazımdır.
Yeni modulun yaradılması üçün layihənin yeni pəncərəsini (File→ 
New File) yaratmaq lazımdır. Sonra əsas layihənin kataloqunda onu, faylın adını 
və genişləndirilməsini mütləq göstərməklə məsələn, ini_device.asm) saxlamaq 
lazımdır (File→Save As). Bundan sonra faylın adı görünəcək. Köməkçi modulu 
əsas proqrama baş proqramda altproqramlar və köməkçi modullar bölməsində 
.unclude “ini_device.asm” direktivilə qoşmaq olar. 
Bundan sonra ini_device köməkçi modul pəncərəsində proqramı yığmaq 
lazımdır: 
;xarici kontakt və qurğuların inisializasiyası 
;işıqdiodları – uc-elektrodlara
sbi ddrb,1;LED0 
sbi ddrb,0;LED1 
sbi ddrd,6;LED2 
sbi ddrb,2;LED3 
sbi ddrb,3;LED4 
sbi ddrb,4;LED5 
sbi ddrd,5;LED6 
sbi ddrd,2;LED7 
;düymələr – daxil etməyə 
cbi ddrd,3;BUTT 1 
cbi ddrd,4;BUTT 2 
;ardıcıl portların rəqəmli kontaktları ayrılır (söndürülür) 
cbi ddrd,0;RxD 
cbi portd,0; 
cbi ddrd,1;TxD 
cbi portd,1 
;***************************************** 
Bu əmrlər mikrokontrollerlərin işıq diodları qoşulmuş kontaktlarını 
informasiyanın çıxarılması vəziyyətinə - «OUTPUT», düymələrin qoşulduğu 
kontaktlar isə informasiyanın daxil edilməsi -«INPUT» vəziyyətinə keçirirlər. 
Bundan başqa COM-portla fərdi kompüterlə əlaqəyə girmək üçün istifadə 
ediləcək daxiletmə/ çıxarma portlarını söndürürlər. Daxiletmə/çıxarma 
portlarının konkret proqramlaşdırılması qaydası uyğun ədəbiyyatlarda verilir. 
Növbəti addım – işıqdiodlarının idarə olunması üçün köməkçi modulun 
yaradılmasıdır. Bunun üçün yuxarıda qeyd olunduğu kimi leds pəncərəsi 
yaradılır. Bundan sonra pəncərəyə aşağıdakı proqram testini daxil etmək 
lazımdır: 


250
;************************************ 
;İŞIQDİODLARININ İDARƏ OLUNMASI ALTPROQRAMI 
;************************************ 
;********* SET LED'S ***** 
led_code: 
lds data,leds 
com data 
;---- set led0 
bst data,0 ;biti registrdən Т-yə yükləməli 
brts led0_1 ;əgər Т=1, onda işarəyə
cbi portb,1 ;əgərТ=0, onda PORT atılmalı (sıfırlanmalı) 
rjmp led1 ;çıxış 
led0_1: 
sbi portb,1 ;PORT qoymaq (quraşdırmaq) 
;---- set led 1 
led1: 
bst data,1 
brts led1_1 
cbi portb,0 
rjmp led2 
led1_1: 
sbi portb,0 
;---- set led 2 
led2: 
bst data,2 
brts led2_1 
cbi portd,6 
rjmp led3 
led2_1: 
sbi portd,6 
;---- set led 3 
led3: 
bst data,3 
brts led3_1 
cbi portb,2 
rjmp led4 
led3_1: 
sbi portb,2 


251
;---- set led 4 
led4: 
bst data,4 
brts led4_1 
cbi portb,3 
rjmp led5 
led4_1: 
sbi portb,3 
;---- set led 5 
led5: 
bst data,5 
brts led5_1 
cbi portb,4 
rjmp led6 
led5_1: 
sbi portb,4 
;---- set led 6 
led6: 
bst data,6 
brts led6_1 
cbi portd,5 
rjmp led7 
led6_1: 
sbi portd,5 
;---- set led 7 
led7: 
bst data,7 
brts led7_1 
cbi portd,2 
rjmp led_end 
led7_1: 
sbi portd,2 

led_end: 
ret 
Bu proqramda aşağıdakı məsələ həll olunur - leds dəyişənindən bir bitə 
görə ardıcıl olaraq nömrələri həmin bitin sıra qiyməti ilə üst-üstə düşən 
işıqdiodlarını ardıcıl olaraq seçmək və yandırmaq, yaxud söndürmək lazımdır. 
Əgər seçilmiş bit qoyulubsa, onda işıqdiodunu qoşmaq, əgər atılıbsa 


252
(sıfırlanıbsa), onda söndürmək lazımdır. Bu məsələ aşağıdakı əmrlər yığımının 
köməyi ilə həll olunur: 
lds data,leds ; leds dəyişəninin qiymətini data registrinə yükləməli
com data ;registrin bitlərini invertləyib data 
;---- set led0 
bst data,0 ;kiçik biti T registrinə yükləməli 
brts led0_1 ;если Т=1, то на метку led0_1 
cbi portb,1 ;əgər Т=0, onda 1 PORTВ kontaktını atmalı (sıfırlamalı)
rjmp led1 ;çıxış 
led0_1: 
sbi portb,1 ; 1 PORTВ kontaktını quraşdırmaq(qoymaq)
Daha sonra alqoritm təkrarlanır - dəyişənin bütün bitləri yoxlanılır, yaxud, 
mikrokontrollerin uyğun kontaktları atılır (sıfırlanır). 
AT90S2313 mikrokontrolleri əsasında qurulmuş icraedici qurğuların: 
işıqdiodlarının və idarə etmə düymələrinin qoşulma sxemi şəkil 12.12-də 
göstərilmişdir. 
Şəkil 12.13-də nümunə olaraq, mikrokontroller əsasında yığılmış tipik 
rəqəmli elektron qurğularının xarici görünüşü verilmişdir. 

Download 5.01 Kb.

Do'stlaringiz bilan baham:
1   ...   115   116   117   118   119   120   121   122   ...   157




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling