реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Правильно ли я сделал?
DASM
сообщение May 8 2008, 01:36
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Цитата(haker_fox @ May 8 2008, 05:33) *
А может быть применить микроконтроллер (МК)? Я сильнро сомневаюсь, что разработанную схему на микропроцессорном комплекте кто-то будет собирать, а тем более отлаживать и тд. А вот собрать ее на МК и отладить на один - два порядка проще. И появляется очень огромный плюс - наглядность!

Курсовые не для этого пишутся, БП на транзисторах тоже рассчитывал, когда LM317 уже повсюду валялась.
Go to the top of the page
 
+Quote Post
na1s
сообщение May 15 2008, 11:51
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 87
Регистрация: 30-07-07
Из: Челябинск
Пользователь №: 29 459



И вот еще одна идея.
Как лучше сделать обработку кнопки "Готов"?
1) Использование 1 режима, т.е. когда сигналы С2 и С4 - стробы.
1) Вместо использования портов C2 и С4, можно использовать кнопку на любой разряд порта С, но в режиме 0, т.е. просто проверять значение разряда.
2) Использовать вывод INT, на который завести эту кнопку, и завести через резисторы 10кОм на D7-0 +5В. Когда процессор считает вектор прерывания, а это будет команда RST7, произойдет вызов прерывания и в нем я и обработаю нажатие. Причем после обработки сделаю так:
IE
HLT
Т.е. приостанавлю работу процессора пока снова не придет сигнал нажатия кнопки. Т.е. буду экономить энергию:-) Чем я бы я в цикле проверял значение порта С.
Так какой вариант лучше? Мне стал сейчас нравиться 3. Но может в нем есть какие-то ошибки, которые я не увидел?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 15 2008, 12:02
Сообщение #18


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(na1s @ May 15 2008, 17:51) *
2) Использовать вывод INT, на который завести эту кнопку, и завести через резисторы 10кОм на D7-0 +5В. Когда процессор считает вектор прерывания, а это будет команда RST7, произойдет вызов прерывания и в нем я и обработаю нажатие. Причем после обработки сделаю так:
IE
HLT
Т.е. приостанавлю работу процессора пока снова не придет сигнал нажатия кнопки. Т.е. буду экономить энергию:-) Чем я бы я в цикле проверял значение порта С.
Так какой вариант лучше? Мне стал сейчас нравиться 3. Но может в нем есть какие-то ошибки, которые я не увидел?
На общую шину данных никаких кнопок и резисторов цеплять недопустимо. Тем более она уже перегружена. Кажется ВВ55 умел вызывать прерывание при активности на каком-то порте.

ЗЫ. Энергию ВМ80 не умеет экономить. Это же не микроконтроллер. Ну может быть какие-нибудь еденицы процентов.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 15 2008, 12:09
Сообщение #19


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



вот что точно неправильно, так это вешать такую массивную картину в начале темы. Можно было файл прикрепить. Я так и не дождался, пока она целиком вылезет.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
DpInRock
сообщение May 15 2008, 12:21
Сообщение #20


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата(na1s @ May 15 2008, 15:51) *
2) Использовать вывод INT, на который завести эту кнопку, и завести через резисторы 10кОм на D7-0 +5В. Когда процессор считает вектор прерывания, а это будет команда RST7, произойдет вызов прерывания и в нем я и обработаю нажатие. Причем после обработки сделаю так:
IE
HLT

Проще завести эту кнопку на РЕСЕТ. Тем более, что прерывания требуют ОЗУ. Которого у вас нет.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
rezident
сообщение May 15 2008, 13:53
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(DpInRock @ May 15 2008, 18:21) *
Проще завести эту кнопку на РЕСЕТ. Тем более, что прерывания требуют ОЗУ. Которого у вас нет.
Прерывания прежде всего требуют контроллера прерываний 580ВН59, которого нет. А фиксировать нажатие кнопки лучше всего традиционным способом: по опросу.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение May 15 2008, 15:11
Сообщение #22


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Контроллер прерывания необязателен. Просто все вектора надо забить одинаковым значением. Какой-нибудь да сработает.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
rezident
сообщение May 15 2008, 15:24
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(DpInRock @ May 15 2008, 21:11) *
Контроллер прерывания необязателен. Просто все вектора надо забить одинаковым значением. Какой-нибудь да сработает.
Я извиняюсь за может быть провокационный или глупый вопрос: а вы случайно процессор К580ВМ80 не путаете с микроконтроллером AVR? Вы вообще знакомы с его архитектурой? А то, я что-то не пойму, про какие такие вектора прерываний в процессоре вы тут упоминаете? cranky.gif
Go to the top of the page
 
+Quote Post
DpInRock
сообщение May 15 2008, 15:59
Сообщение #24


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Насколько я припоминаю контроллер прерываний выставляет на шину данных адрес обработчика (или вектор). Или номер. Уже не помню.
Но то, что что-то высталяет на шину - точно помню. Если адрес - то тогда да, ничего не забъешь.

Вроде вспомнил. Он выставляет код CD (вызов подпрограммы CALL), а потом 2 байта адреса.
Значит, если резюками создать слабые подтяжки вверх и вниз, то можно симитировать обработчик прерывания по адресу CDCD. Вот так примерно.

Сообщение отредактировал DpInRock - May 15 2008, 16:05


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
na1s
сообщение May 15 2008, 16:06
Сообщение #25


Частый гость
**

Группа: Свой
Сообщений: 87
Регистрация: 30-07-07
Из: Челябинск
Пользователь №: 29 459



ВН 59 не обязательно нужен, можно просто завести на D7-0 единицу. Тогда при попытку считывания команды, будет считано FF, что являяется командой RST7, которая передаст управление на адресс 7*8.
Там я и размещу обработчик приема данных.
И еще вопрос. А что по приходу команды HLT, процессор отрубается в спящий режим. Так разве в этом режиме не будет экономия энергии, ну и просто мне кажется это лучше, чем если бы он постоянно проверял разряд порта?
Go to the top of the page
 
+Quote Post
DpInRock
сообщение May 15 2008, 16:40
Сообщение #26


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Вы лучше программу попробуйте написать для начала без вызовов подпрограмм.
Сомнения сильные охватывают. Что удастся.

По поводу хальта - вам экономия не нужна.
По хальту можно сделать завершение алгоритма, по ресету (кнопка готовности) - начало. Заодно избавитесь от необходимости всякие дребезки убирать. Хотя их и не сильно нужно убирать.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016