Реферат: KURS

значение B (счетчик шагов) уменьшается на 1 и при B0 осуществляется переход на метку M1

2

AJMP M5

осуществляется безусловный переход на метку M5

1

M3:

MOV R4, #135

инициализация счетчика программной задержки

1

CLR C

флаг С устанавливается в 0

1

DEC R2

значение R2 (Uупр) уменьшается на 1

1

MOV A, R2

в A помещается значение Uупр из R2

1

MOV P2, A

в порт P2 помещается значение Uупр из A

1

SETB 3.7

формирование отрицательного импульса для включения АЦП.

1

CLR 3.7

1

SETB 3.7

1

M4:

NOP

оператор задержки

2

DJNZ R4, M4

значение R4 (счетчик программной задержки) уменьшается на 1 и при R40 осуществляется переход на метку M4

1

MOV A, P1

в A помещается содержимое Uk+1 из порта P1

1


SUBB A, R3

из A вычитается R3 (Uk сравнивается с Uk+1)

1

MOV A, P1

в A записывается Uk+1 из порта P1

1

MOV R3, A

в R3 помещается значение Uk из A

2

JC M3

если флаг C=0 (Uk>Uk+1), то осуществляется переход на метку M3

1

M5:

NOP

оператор задержки

END

конец модуля программы

7. Контрольный пример.

Для просмотра результатов вместо порта P1 будем значения Uk, будут помещаться во внутреннюю память, начиная с адреса 20H и заканчивая адресом 27H , в R0 будет размещаться адрес внутренней памяти и “MOV A, P1” заменяется на “MOV A, @R0”. Так же уменьшим количество шагов и время программной задержки.

NAME 78


CSEG AT 0H



ORG 0H


MOV 21H, #1

задаются значения Uk

MOV 22H, #3

MOV 23H, #6

MOV 24H, #9

MOV 25H, #6

MOV 26H, #7

MOV 27H, #9

MOV R0, #20H

в R0 помещается адрес 20H

MOV R2, #3

в R2 помещается начальное значение Uупр

MOV B, #10

в B помещается количество шагов

MOV A @R0

в A помещается содержимое ячейки с адресом R0

MOV R3, A

в R3 помещается содержимое А (ячейки с адресом 20H)

M1:

INC R0

значение R0 (адрес внутренней памяти) увеличивается на 1

MOV R4, #3

инициализация счетчика программной задержки

MOV A, R2


MOV P2, A


M2:

NOP


DJNZ R4, M2

значение R4 (счетчик программной задержки) уменьшается на 1 и при R40 осуществляется переход на метку M2

MOV A, @R0

в A помещается содержимое ячейки с адресом R0 (Uk+1)

SUBB A, R3

из A вычитается R3 (Uk+1 сравнивается с Uk)

JC M3

если флаг C=0 (Uk>Uk+1), то осуществляется переход на метку M3

MOV A, @R0

в A помещается содержимое ячейки с адресом R0

MOV R3, A

в R3 помещается значение Uk+1 из A

INC R2

значение R2 (Uупр) увеличивается на 1

INC R2

значение R2 (Uупр) увеличивается на 1

INC R2

значение R2 (Uупр) увеличивается на 1

DJNZ B M1

значение B (счетчик шагов) уменьшается на 1 и при B0 осуществляется переход на метку M1

AJMP M5

осуществляется безусловный переход на метку M5

M3:

INC R0

значение R0 (адрес внутренней памяти) увеличивается на 1

DEC R2

значение R2 (Uупр) уменьшается на 1

MOV R4, #3

инициализация счетчика программной задержки

CLR C

флаг С устанавливается в 0

MOV A, R2


MOV P2, A


M4:

NOP


MOV A, @R0

в A помещается содержимое ячейки с адресом R0 (Uk+1)

SUBB A, R3

К-во Просмотров: 927
Бесплатно скачать Реферат: KURS