6. ПРОГРАМИ ТИПОВИХ ПРОЦЕДУР
1. Передати вміст буфера резидентної пам'яті даних по непрямій адресі з R0. Алгоритм програми представления на рисунку 6.1
Текст програми:
Мітка | Команди | Коментар |
cseg | ||
org 2000h | ||
jmp main | ;перехід на виконання головної програми | |
org 2003h | ;початок переривання по INT0 | |
mov DPTR,#0fff2h | ;завантаження адреси лінійки перемикачів | |
movx A,@DPTR | ;прийняття значень перемикачів | |
mov DPTR, #0fff1h | ; завантаження адреси лінійки світодіодів | |
movx @DPTR,A | ;візуалізація значень перемикачів | |
call 0230h | ;затримка 50мс | |
mov R0,A | ;завантаження уведеної адреси | |
mov @R0,SBUF | ;передача байта в РПД | |
mov IE,#0 | ;для запобігання накладення переривань | |
reti | ;кінець програми-оброблювача | |
main: | mov IE, #10000001b | ;активація переривання по INT0 |
loop: | sjmp loop | ;нескінченний цикл |
2. Завантажити в покажчик даних початкову адресу 7F00 масиву даних, розташованого в зовнішній пам'яті даних. Алгоритм програми представления на рисунку 6.2
Текст програми:
Мітка | Команди | Коментар |
counter equ PSW.5 | ||
cseg | ||
org 2000h | ||
jmp main | ;перехід на початок програми | |
org 2003h | ;обробка переривання по INT0 | |
mov IE,#0 | ;для запобігання спрацьовування непотрібного переривання | |
mov A,R0 | ||
call o | ||
call 0220h | ||
mov IE, #10000001b | ;дозвіл переривання по INT0 | |
reti | ;повернення з підпрограми обробки переривання | |
main: | mov IE, #10000001b | ;дозвіл переривання по INT0 |
clr counter | ;обнуління лічильника введених тетрад | |
loop: | mov DPTR,#0FFF2h | ;сканування перемикачів |
movx A,@DPTR | ||
mov DPTR,#0FFF7h | ;для відображення на ССІ | |
call visual | ;підпрограма відображення введеної инф. | |
call 0230h | ;затримка для фіксації значення ССІ | |
sjmp loop | ;цикл сканування введеної инф. | |
visual: | mov R0,A | ;підпрограма зберігає значення Акк. |
anl A,#0Fh | ;виділення мол. тетради для коверции | |
call get_num | ;у код ССИ за допомогою підпрограми | |
movx @DPTR,A | ;відображення мол. частини 16-го числа | |
inc DPTR | ;для відображення ст. частини | |
mov A,R0 | ;відновлення значення Акк. | |
swap A | ;виділення ст. тетради для коверции | |
anl A,#0Fh | ||
call get_num | ;у код ССИ за допомогою підпрограми | |
movx @DPTR,A | ;відображення ст. частини 16-го числа | |
ret | ; кінець підпрограми | |
o: | jb counter,sec | ;лічильник дорівнює 1? |
mov R1,A | ;ні, а значить зберегти введене значення | |
setb counter | ;лічильник – друга тетрада | |
jmp fist | ;завершення циклу уведення першої тетради | |
sec: | mov DPH,A | ;дорівнює, а значить збереження уведеної инф. |
mov DPTR,#0FFF9h | ;візуалізація зі старшого розряду | |
call visual | ;виклик процедури візуалізації | |
mov A,R1 | ;мол. тетрада уведена | |
mov DPL,A | ;запис в DPTR | |
mov DPTR,#0FFF7h | ;візуалізація з мол. розряду | |
call visual | ;візуалізація з мол. розряду | |
l: | jmp l | ;зациклення – кінець програми |
fist: | call 0230h | ;затримка 50 мс |
ret | ;вихід з підпрограми візуалізації | |
get_num: | inc A | ;підпрограма перекладу 16-ССІ |
movc A,@A+PC | ||
ret | ||
db 00111111b | ;0 | |
db 00000110b | ;1 | |
db 01011011b | ;2 | |
db 01001111b | ;3 | |
db 01100110b | ;4 | |
db 01101101b | ;5 | |
db 01111101b | ;6 | |
db 00000111b | ;7 | |
db 01111111b | ;8 | |
db 01101111b | ;9 | |
db 01110111b | ;A | |
db 01111100b | ;B | |
db 00111001b | ;C | |
db 01011110b | ;D | |
db 01111001b | ;E | |
db 01110001b | ;F |
Рисунок 6.2 - Алгоритм програми 2 1
3. Програма виконує завантаження керуючого слова в регістр керування таймером TCON з лінійки перемикачів по перериванню INT0 і візуалізацію слова на лінійці світодіодів. Алгоритм програми представления на рисунку 6.3
Рисунок 6.3 – Алгоритм програми 3
Текст програми:
Мітка | Команди | Коментар |
cseg | ;сегмент коду | |
org 2000h | ;початкова адреса програми | |
jmp main | ;перехід на установку регістра IE | |
org 2003h | ;початок переривання по INT0 | |
mov DPTR,#0fff2h | ;запис адреси лінійки перемикачів | |
movx A,@DPTR | ;збереження даних з перемикачів в А | |
mov DPTR, #0fff1h | ;запис адреси лінійки світодіодів | |
movx @DPTR,A | ;візуалізація байта даних | |
mov TCON,A | ;пересилання байта даних у регістр TCON | |
mov IE,#0 | ;обнуління регістра IE | |
reti | ;вихід з підпрограми переривання | |
main: | mov IE, #10000001b | ;установка регістра IE |
loop: | sjmp loop | ;зациклення (нескінченний цикл) |
... 4. Як графічно позначаються польові транзистори? Інструкційна картка №9 для самостійного опрацювання навчального матеріалу з дисципліни «Основи електроніки та мікропроцесорної техніки» І. Тема: 2 Електронні прилади 2.4 Електровакуумні та іонні прилади Мета: Формування потреби безперервного, самостійного поповнення знань; розвиток творчих здібностей та активізації розумово ...
... ії контурів управління Автоматична система управління дозування формаліна передбачає контролювання таких параметрів як Fстр. кількості постачаємої стружки в дифузійний апарат, є головним чинником який впливає на час подачі формаліна в дифузійну установку, рН дифузійного соку та Т температура середовища протікання процесу, ці показники відображають розвиток мікрофлори в дифузійному апараті та є ...
... для розв'язання особливо складних науково-технічних задач, оброблення великих обсягів даних у реальному масштабі часу, моделювання складних систем, автоматизованого проектування складних об'єктів, а також у системах керування (промислових і військових). Макет найпотужнішого суперкомп'ютера ES (Earth Simulator) Центра моделювання Землі (Earth Simulator Center) у Йокогамі (Японія) показаний рис. ...
... дзеркала над демонстраційною плитою протягом багатьох років з успіхом використовуються в кулінарних училищах. 2.2 Експериментальна перевірка ефективності застосування технічних засобів навчання у навчально-виховному процесі при вивченні дисципліни «Кулінарія» Для перевірки результативності засвоєння знань студентами Чернігівського комерційного технікуму з використанням на заняттях технічних ...
0 комментариев