![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| rytikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.12.2010 Репутация: нет Всего: нет |
Помогите, пожалуйста, с задачей:
Принять данные из 8-разрядного АЦП. Запуск АЦП выполняется положительным импульсом 5 мкс. Данные считываются по срезу сигнала готовности 10 мкс. Количество данных l(7:0). Обработке подлежат данные, находящиеся в диапазоне Nдоп1<=Ni<=Nдоп2. Подсчитать количество данных этого диапазона. Исходный массив сохранить во внешнем ОЗУ данных. Полученные значения преобразовать с помощью таблицы, хранящейся в ПЗУ команд и сформировать новый массив. Размер таблицы 256*8. Этот прием используется, когда необходимо выполнить сложные функциональные преобразования (тригонометрические, экспоненциальные функции и т.д.). Сформированный таким образом массив передать через последовательный порт, работающий в режиме 1 на скорости 9600 бит/с, если пришел внешний запрос на прерывание. Решить необходимо на ассемблере. |
|||
|
||||
| Mazzi |
|
|||
|
Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
А что именно у вас не получается?
-------------------- Мне нужны помощники. |
|||
|
||||
| rytikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.12.2010 Репутация: нет Всего: нет |
Не понимаю, как сделать это: Обработке подлежат данные, находящиеся в диапазоне Nдоп1<=Ni<=Nдоп2.
Подсчитать количество данных этого диапазона. Исходный массив сохранить во внешнем ОЗУ данных. Полученные значения преобразовать с помощью таблицы, хранящейся в ПЗУ команд и сформировать новый массив. Размер таблицы 256*8. |
|||
|
||||
| Mazzi |
|
|||
|
Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Выложите свой исходник.
-------------------- Мне нужны помощники. |
|||
|
||||
| rytikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.12.2010 Репутация: нет Всего: нет |
Начал с этого, а дальше не знаю
n EQU 8; k EQU 10; ORG 10h; mov R2, #n; mov R3, #k mov R6, #3 clr A mov R4, A mov R5, A mov P2, #0ffh; mov P1, #1bh setb P1.1 wait1: jnb P1.0, wait1; mov A, P2; cjne A, #10,M1; M2: clr C; add A, R4; M1: jnc wait1; sjmp M2; |
|||
|
||||
| Mazzi |
|
||||||||
|
Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Это значит, что полученное значение обрабатывается только тогда, когда оно больше или равно Nдоп1 и меньше или равно Nдоп2.
То есть, если полученные данные соответствуют вышеуказанному условию, то нужно увеличить переменную-счётчик на 1.
Для работы с внешней и внутренней памятью используются разные ассемблерные команды.
Табличное преобразование. Поищите книжку "Проектирование цифровых устройств на однокристальных микроконтроллерах", авторы Урусов и Сташин. Там всё это есть. Если дела совсем плохи, то можно перенести тему в раздел "Работа". Это сообщение отредактировал(а) Mazzi - 3.12.2010, 17:27 -------------------- Мне нужны помощники. |
||||||||
|
|||||||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |