Заманауи микроконтроллер



Pdf көрінісі
бет39/64
Дата31.12.2021
өлшемі3,85 Mb.
#21593
1   ...   35   36   37   38   39   40   41   42   ...   64
қосалқы қосылған файлдар 
.include "m8535def.inc";
ATmega8535 файлдың жазуы 
.include«1 файлдың аты.кеңейту»;  қосалқы файлдың қосылуы 
.include«2 файлдың аты.кеңейту»;   
***** 
*глобальды конетант 
;
******* 
бағдарлама асты 2 subr2: <команда>хххх ret 
******** INTO
жөндеуші үзілу бағдарламасы: <команда>хххх reti 
/ бағдарламаның соңы ешқандай мән бермейді. 
Төмен  қарай  оңай  бағдарламалар,  демонстрацияланған  ассемблер 
директивін қолдану. Бағдарламаны 5 санынан 3 санына шегереді. Егер сигнал 
рұқсаты берілсе («1» РА4 шығуға), онда индикацияға (РС0...РС7 бит - сегменті, 
РВЗ  бит  -  индикаторы)  нәтижені  шегеру  беріледі.  Егер  рұқсат  болмаса,  онда 
индикацияны  нөл  санына  шығарады.  ПА.1  суретте  алгортим  бағдарламасы 
көрсетілген. 
 
 
 
Сурет ПАЛ – Алгоритм бағдарламасы 


90 
 
#include "m8535def.inc" /ATmega8535 
9 жазуы үшін файлды қосу  /сегмент 
мәліметі 
.equ 
cod0=$64  /SRAM 
-equ 
codl=$ 65 
-equ 
cod2=$66 
•equ 
cod3=$67 
•equ 
cod4=$68 
.equ 
cod5=$69 
•equ 
cod6=$6a 
.equ 
cod7=$6b 
-equ 
cod8=$6c 
-equ 
cod9=$6d 
. cseg 
. org 

rjmp  reset 
or
9  $30 
/бағдалманың басы 
reset: 
ldirl6,$00 
/определение стека с вершиной по адресу $00ff 
out sph,r!6 ldi r!6,$ff out 
spl,rl6 
dizl,$64 , 
ldizh,$00 
ldi rl6,$ff /
С портын шығуға күйіне келтіру 
outddrc,rl6 
ldi rl6,00 / 
А портын кіруге күйіне келтіру 
outddra,rl6 
ldi r!6,$c 
/В портын күйіне келтіру: 2 және3  биттерін  сыртқа,  ал  қалғаны 
ішке 
out ddrb,rl6 
ldi r!6,$f0 
/ Д портын күйіне келтіру: 0...4 биттерін сыртқа, ал қалғаны ішке 
out ddrd,rl6 
sbi portB,3 
/В портынан 3 разрядына 1 жіберу 
ldi rl7,$3f 
/жетісегментті код тапсырмасы 
sts codO,rl7 
ldi rl7,$06 
-. 
sts codl,rl7 
ldi rl7,$5b 
sts cod2,rl7 
ldi rl7,$4f 
sts cod3,rl7 
ldi r17,$ 66 
sts cod4,rl7 
ldi rl7,$ 6d 
sts cod5,rl7 
ldi rl7,$7d 


91 
 
sts cod6,rl7 
ldi rl7,$07 
sts cod7,rl7 
ldi rl7,$7f 
sts cod8,rl7 
ldi r17,$ 6f 
sts cod9,rl7 
ldi rl7,5 
/ бөліну тапсырмасы 
ldi rl8,3 /
шегеру тапсырмасы 
ml: sbispina,4  / 
SA1  тумблері  қосылған  болса,
ОНДА  КЕЛЕСІ  КОМАНДАНЫ 
ЖІБЕРЕДІ
 
rjmp m2 
mov r20,rl7 
sub r20,rl8 
rjmpvv 
m2: 
ldi r20, 0 
vv: 
pushzl /zl
в стектесақтау 
addzl,r20 /zl
с нәтижесін қосу 
Idr0,z 
/г20 жетісегментті код нәтижесін лақтыру 
Popzl /zl 
стектан өшіру 
outportc,r0 
/нәтижесін индикацияға беру 
rjmpml 


92 
 


Достарыңызбен бөлісу:
1   ...   35   36   37   38   39   40   41   42   ...   64




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет