Реферат: KURS
значение B (счетчик шагов) уменьшается на 1 и при B0 осуществляется переход на метку M1
2
AJMP M5
1
M3:
MOV R4, #135
1
CLR C
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 |
К-во Просмотров: 959
Бесплатно скачать Реферат: KURS
|