Группа
4133
Пятница, 2024-05-03, 7:18 AM
Приветствую Вас Гость | RSS
 
Главная страница РегистрацияВход
Меню сайта
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » 4133 » Наш форум » Задачи по ЦУиМП
Задачи по ЦУиМП
ПашаДата: Воскресенье, 2007-06-10, 9:18 PM | Сообщение # 1
Сержант
Группа: Администраторы
Сообщений: 31
Репутация: 1
Статус: Offline
Во внутреннем ОЗУ с адреса 5000Н и до адреса 50FFH лежит массив чисел. Сравнить их с эталоном который подается на порт Р1 и вывести количество совпадений в последовательный порт.

Решение:

ORG 00H
MOV DPTR,#5000H
MOV R6,#0
MOV R7,#0

START:
MOVX A,@DPTR
CJNE A,P1,FINISH
INC R6

FINISH:
INC DPTR
DJNZ R7,START

K:
JNB TI,K
MOV SBUF,R6
CLR TI
RET
END

Сообщение отредактировал Паша - Воскресенье, 2007-06-10, 9:49 PM
 
ПашаДата: Воскресенье, 2007-06-10, 9:23 PM | Сообщение # 2
Сержант
Группа: Администраторы
Сообщений: 31
Репутация: 1
Статус: Offline
Сформировать импульс низкого уровня длительностью 10000 мкс на одном из выходов микроконтроллера при обнаружении перепада с 0 на 1 на другом выходе.

Решение:

1/10000мкс = 100 Гц
100*4 = 400 Гц
Fosc = 4МГц
4МГц/400Гц = 10000
RCAP2H,RCAP2L(DEC): 65536-10000=55536
RCAP2H,RCAP2L(HEX): D8F0H
RCAP2H: 0D8H
RCAP2L: 0F0H

ORG 00H
JMP START

ORG 002BH
JMP INT_T2

ORG 003H
JMP IN_INT0

START:
MOV T2CON,#0H
MOV T2MOD,#0H
MOV RCAP2H,#0D8H
MOV RCAP2L,#0F0H
MOV TH2,RCAP2H
MOV TL2,RCAP2L
SETB ET2
SETB P1.0
SETB EA
SETB EX0
SETB IT0

LOOP: JMP LOOP

IN_INT0:
CLR P1.0
SETB TR2
RETI

INT_T2:
CLR TR2
CPL P1.0
RETI

RET
END

Сообщение отредактировал Паша - Воскресенье, 2007-06-10, 9:43 PM
 
ПашаДата: Воскресенье, 2007-06-10, 9:34 PM | Сообщение # 3
Сержант
Группа: Администраторы
Сообщений: 31
Репутация: 1
Статус: Offline
Таймер Т0 работает в режиме автозагрузки. Прерывания происходят каждые 100 мкс. Сформировать меандр с частотой F=5кГц и F=2,5кГц на выводах Р2.0 и Р1.0.

Решение:

Т=1/F
5кГц: Т = 200 мкс
2,5кГц: Т = 400 мкс

ORG 00H
MOV R7,#0
SETB P2.0
SETB P1.0
JMP START

ORG 0BH
INC R7
CPL P2.0
CJNE R7,#2,M2
CPL P1.0
CLR R7
M2:
RETI

START:
MOV TMOD,#2
MOV TH0,#156
SETB TR0
SETB EA
SETB ET0

MM: JMP MM

END

Сообщение отредактировал Паша - Среда, 2007-06-13, 5:24 PM
 
ПашаДата: Воскресенье, 2007-06-10, 9:36 PM | Сообщение # 4
Сержант
Группа: Администраторы
Сообщений: 31
Репутация: 1
Статус: Offline
Во внешнем ПЗУ с адреса 5000Н содержится текстовая информация. Вывести ее в последовательный порт. Вывод закончить в случае если выведено 80 символов или если встретится символ 0.

Решение:

ORG 00H
MOV DPTR,#5000H
MOV R7,#81

START:
MOVC A,@A+DPTR
CJNE A,#0,FINISH
DJNZ R7,FINISH

K:
JNB TI,K
MOV SBUF,A
CLR TI

FINISH:
RET
END

Сообщение отредактировал Паша - Понедельник, 2007-06-11, 12:09 PM
 
ПашаДата: Воскресенье, 2007-06-10, 9:38 PM | Сообщение # 5
Сержант
Группа: Администраторы
Сообщений: 31
Репутация: 1
Статус: Offline
Написать программу которая выводит на экран среднее арифметическое 256 точек, кторые поступают с порта.

Решение:

MOV 30H,#0
MOV 31H,#0
MOV R0,#0
START:
MOV A,P1
ADD A,30H
MOV 30H,A
MOV A,31H
ADDC A,#0
MOV 31H,A
DJNZ R0,START
MOV A,31H
CALL ACCDEC
RET

Сообщение отредактировал Паша - Понедельник, 2007-06-11, 6:10 PM
 
Форум » 4133 » Наш форум » Задачи по ЦУиМП
  • Страница 1 из 1
  • 1
Поиск:

Форма входа
Друзья сайта
Статистика
Copyright MyCorp © 2006