скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыОтчет по практике: Мікропроцесорна техніка

Текст програми:

port equ0fffch ;port адреса порту А
regcon equ0ffffh ;regcon адреса регістра керування
cseg ;директива початку сегмента коду
mov a,#10010000b ;порт А – вивід, У и С – уведення
movdptr,#regcon ;завантаження адреси регістра керування
movx @dptr,a ;настроювання ППИ
mov dptr,#port ;завдання адреси порту А
mov a,#11010110b ;установлюємо відповідні біти

14.      Записати "0" до 0,1, 4, 5, 7 бітів порту А стенда УУМС-2


Текст програми:

port equ 0fffch ;port адреса порту А
port equ 0fffdh ;port
regcon equ 0ffffh ;regcon адреса регістра керування
cseg ;директива початку сегмента коду
mov a,#10010000b ;порт А – вивід, У и С – уведення
movdptr,#regcon ;завантаження адреси регістра керування
movx @dptr,a ;настроювання ППИ
movdptr,#port ;завантаження адреси порту В
movA,@dptr ;уведення інформації через порт В
mov r1,#01001100b ;вказівка бітів для скидання
anla,r1 ;скидання зазначених бітів
movx@dptr,#port ;завдання адреси порту А
movx@dptr,a ;вивід нформації через порт А

15.      Проінвертувати нформацію з порту В у відповідні одиничні біти акумулятора стенда УУМС-2

Текст програми:

port equ 0fffdh ;port
regcon equ 0ffffh ;regcon адреса регістра керування
cseg ;директива початку сегмента коду
mov a,#10010000b ;порт А – вивід, У и С – уведення
movdptr,#regcon ;завантаження адреси регістра керування
movx @dptr,a ;настроювання ППИ
movdptr,#port ;завантаження адреси порту В
movA,@dptr ;уведення інформації через порт В
movr0,a ;зберігаємо уведене значення
mova,#01010011b ;слово відповідно до якого
;буде зроблена інверсія
xrla,r0 ;інверсія значення порту по Асс
movx@dptr,#port ;завдання адреси порту А
movx@dptr,a ;вивід нформації через порт А

15.      Прочитати стан перемикачів, зберегти в А, проінвертувати 0, 3, 6, 7 біти акумулятора й видати на лінійку світодіодів.


Текст програми:

Delay equ 0220h Delay адреса затримки 1 сек.
Button equ 0fff2h button відповідає адресі перемикачів
ldiodequ 0fff1h ldood відповідає адресі світодіодів
cseg директива повідомляє про початок сегмента коду
callDelay затримки 2із для можливості установки
callDelay потрібного значення на перемикачах
movdptr,#button завантаження в dptr адреси перемикачів
movxa,@dptr збереження стану перемикачів в А
xrl a,#11001001 інвертування зазначених бітів А
movdptr,#ldiod завантаження в dptr адреси світодіодів
movx @dptr,a

відображення на лінійці світодіодів

кінцевого значення

16.      Проінвертувати 1, 2, 4, 6, 7 біти порту В, і видати отримане слово на порт А стенда УУМС-2Текст програми:

Текст програми:

port equ0fffch ;port адреса порту А
port equ 0fffdh ;port адреса порту В
regcon equ0ffffh ;regcon адреса регістра керування
cseg ;директива початку сегмента коду
mov a,#10010000b ;порт А – вивід, У и С – уведення
movdptr,#regcon ;запис в regcon керуючої інформації
movx @dptr,a ;настроювання ППИ
movdptr,#port ;завантаження адреси порту В (прийом)
movxa,@dptr ;зчитуємо значення з порту В
xrla,#01101011b ;інвертуємо зазначені біти
mov dptr,#port ;завдання адреси порту А
movx @dptr,a

;виводимо на порт А значення з

;проінвертованими бітами

17.      Програма видає вміст акумулятора в послідовному коді через зазначену лінію порту, залишаючи без зміни інші біти порту. Передача виробляється з молодшого біта.



Текст програми:

cseg ;сегмент коду
org 2000h ;початкова адреса програми
MOV R2, #8 ;лічильник біт => R2
MET: RRC A ;зрушення Асс через прапор З
MOV P1.0, C ;передача біта в Порт Р1
NOP ;виклик затримки
DJNZ R2, MET ;зменшення лічильника й повтор

18.      Програма організує послідовну передачу даних акумулятора на зазначений вивід порту в манчестерському коді. Біт передається двома інтервалами: перший - інверсія, другий - пряме значення біта.


Текст програми:

cseg ;сегмент коду
org 2000h ;початкова адреса програми
mov R0,#8 ;лічильник
loop: rrc a ;зсув А вправо через прапор переносу
cpl c ;інвертування біта
mov P2.0,c ;передача нверсного значення біта
cpl c ;відновлення прямого значення біта
call 0230h ;затримка для вирівнювання тривалості інтервалів
mov P2.0,c ;передача прямого значення біта
djnz R0,loop ;цикл

ІНДИВІДУАЛЬНІ ПРОЦЕДУРИ

1.         Процедура відображення уведеної з перемикачів інформації на семисегментном індикаторі в шестнадцатеричном коді.

Уведення й відображення значень перемикачів здійснюється за допомогою регістра DPTR по адресах відповідно 0FFF2h й 0FFF1h.

Візуалізацію здійснює процедура visual, що послідовно виділяє те молодшу, те старшу частину слова для конвертування 4 біт двійкової системи вирахування в код семисегментного індикатора, відповідно до таблиці символів get_num.


Подпись: Рисунок 1 - Алгоритм роботи програми

Відповідно до алгоритму роботи програми варто написати код програми.

Текст програми:

cseg
org 2000h
jmp main
main:
loop: mov DPTR,#0FFF2h ;прийняття значень перемикачів
movx A,@DPTR
mov DPTR,#0FFF7h ;завдання нач. адресі СС індикатора для процедури візуалізації
call visual ;виклик процедури візуалізації
call 0203h ;затримка для фіксації значення
sjmp loop ;цикл сканування перемикачів
visual: mov R0,A ;в R0 зберігається тимчасове значення аккум.
anl A,#0Fh ;виділення мол. 4 біт
call get_num ;конвертування в СС-код
movx @DPTR,A ;вивід
inc DPTR ;наступна цифра
mov A,R0 ;перезапис значення
swap A ; виділення ст. 4 біт
anl A#0Fh
call get_num ;конвертування в СС-код
movx @DPTR,A ;вивід
ret
get_num:inc A ;функція одержання семисегметного коду
movx A,@A+PC ;таблиця кодів
db 00111111b ;0
db 00000111b ;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 01111101b ;B
db 00111001b ;C
db 01011110b ;D
db 01111001b ;E
db 01110001b ;F
ret

2.         Функція уведення числа й паралельного його відображення з можливістю підтвердження уведення.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.