Скачиваний:
18
Добавлен:
01.05.2014
Размер:
38.91 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет

Кафедра ВТ

Микропроцессорные системы

Отчет по лабораторной работе №2

Вариант 1

Выполнили: Попов А.

Таранюк М.

Гр.2372

Проверила: Головина Л.К.

Санкт-Петербург

2006

  1. Пересылка массива констант из Code Memory в IDATA

В 1 варианте данные в Code Memory должны начинаться с 0-го сектора 3-ей страницы. Т.к. страница имеет размер 64 байта, то 3 страница начинается с 3*64 = 192, или в 16-ричной форме С0. Используя этот адрес организуем передачу:

punkt1:

mov dptr,#0c0h //addres 3-i stranici

mov r0,#20h

mov r1,#08h

mov r2,#00h

L1:

mov a,r2

movc a,@a+dptr

mov @r0,a

inc r0

inc r2

djnz r1,L1

jmp IDLE

  1. Пересылка содержимого регистра специальных функций в РПД

Адреса: DPL – 82h, DPH – 83h, ICRAL –AAh, IP0 – B8h.

punkt2:

mov r0,#0F0h

mov 82h,#01h //DPL

mov 83h,#02h //DPH

mov 0AAh,#03h //ICRAL

mov 0B8h,#04h //IP0

mov @r0,82h

inc r0

mov @r0,83h

inc r0

mov @r0,0AAh

inc r0

mov @r0,0B8h

inc r0

mov @r0,#0FFh

jmp IDLE

  1. Обработка измерительной информации

punkt3:

mov r0,#0h

mov dptr,#0c0h

mov r1,#0h

mov r2,#08h

L31:

mov a,r1

inc r1

movc a,@a+dptr // peresilka dannih iz Code Memory v XDATA

movx @r0,a

inc r0

djnz r2,L31

mov r0,#0h

movx a,@r0 //chtenie 1-go elementa massiva

mov r1,a

mov r2,#07h //schetchik cicla

mov r3,#00h //schetchik perenosov v starshii razriad

inc r0

jmp L32

LC:

inc r3 //bil perenos, uvelichivaem schetchik

jmp LCReturn

L32:

movx a,@r0 //schitivaem element massiva

inc r0

add a,r1 //skladivaem ego s summoi predidushih

jc LC //esli bil perenos ...

LCReturn:

mov r1,a //zapisivaem novuiu summu elementov

djnz r2,L32

mov a,r1 //zapisivaem i sdvigaem mladshuiu chast' summi

rr a

rr a

rr a

anl a,#1fh //obnuliaem nenugnie razriadi

mov r7,a

jmp Start

LC1:

mov r4,#20h

jmp LC1R

LC2:

mov r5,#40h

jmp LC2R

LC3:

mov r6,#80h

jmp LC3R

Start:

mov a,r3 // zapisivaem i sdvigaem starshuiu chast' chisla

rrc a

jc LC1

LC1R:

rrc a

jc LC2

LC2R:

rrc a

jc LC3

LC3R:

mov a,#0h

add a,r4

add a,r5

add a,r6

add a,r7 //skladivaem starshuiu chast' s mladshei

mov r7,a

mov dptr,#0c0h

mov a,#08h

movc a,@a+dptr

mov r0,a //schitivaem niznuiu ustavku Qmin

mov a,#09h

movc a,@a+dptr

mov r1,a //schitivaem verhnuiu ustavku Qmax

mov a,r1

subb a,r7 //Qmax - Xsred

jc P11 //esli Qmax<Xsred

mov a,r7

subb a,r0 //Xsred - Qmin

jc P00 //esli Qmin>Xsred

mov p2,#10h // esli Qmin<Xsred<Qmax

jmp IDLE

P11:

mov p2,#11h

jmp IDLE

P00:

mov p2,#00h

jmp IDLE

IDLE:

jmp IDLE

END

Соседние файлы в папке Лабораторная работа 2