бью челом

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Сообщения: 8
Зарегистрирован: Ср янв 20, 2010 17:51:54

Сообщение НуСовсемПлохойЭлектроник »

Ребят, очень прошу - помогите! 23 числа экзамен, попадется одна из ниже следующих задач, если не трудно решите пожалуйста (ну или хотя бы алгоритм какой-нить скажите)
ЗЫ препод сказал задачи "Делать нечего, 5-10 строчек"
программировать надо на асемблере. Микроконтроллер - MCS51
ЗЫЫ надеюсь на вас ;)

1. На порт ввода МПС поступают импульсы от тактового генератора амплитудой 5 В с частотой один герц. Предложить фрагмент принципиальной (функциональной) электрической схемы сопряжения МПС и генератора. Составить программу, накапливающую число секунд в двоичном коде в любом восьмиразрядном регистре.
2. На порт ввода МПС поступают прямоугольные импульсы от тактового генератора амплитудой 5 В с произвольной частотой. Предложить фрагмент принципиальной (функциональной) электрической схемы сопряжения МПС и генератора. Составить программу, формирующую на линии порта вывода МПС прямоугольных импульсов с частотой вдвое меньшей чем у поступающих импульсов.
3. К порту ввода МПС подключены датчики верхней и нижней уставок регулирования технологического параметра ( датчики типа “сухой контакт”), а к порту вывода МПС подключены магнитные пускатели устройств, обеспечивающих увеличение и уменьшение регулируемого параметра . Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Разработать программу на Ассемблере , реализующую релейный двухпозиционный регулятор (с зоной нечувствительности) технологического параметра.
4. К порту вывода МПС подключен дешифратор, выходы которого управляют восемью светодиодами, а к порту ввода подключена кнопка. Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Разработать программу на Ассемблере, обеспечивающую последовательное переключение светодиодов при очередном нажатии на кнопку.
5. К МПС подключен аналоговый мультиплексор (К561КП2) , коммутирующий восемь цифровых сигналов на одну линию порта ввода МПС. Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Разработать программу на Ассемблере , реализующую последовательный опрос коммутируемых линий, причем переход к опросу очередной линии происходит после получение по текущей линии логического нуля.
6. К порту ввода МПС подключены восемь кнопок, а к порту вывода восемь светодиодов. Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Разработать программу на Ассемблере , отображающую состояние кнопок на линейке светодиодов.
7. К порту ввода МПС подключен восьмиразрядный цифровой датчик давления, создаваемого гидропрессом, а к порту вывода магнитный пускатель привода пресса. Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Составить программу, управляющую процессом прессования, который прекращается при достижении давлением заданного значения.
8. К МПС подключены датчики аварийных значений давления, температуры и уровня в реакторе ( типа “сухой контакт” ) , табло световой сигнализации из трех светодиодов и магнитный пускатель звонка. Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Составить программу световой и звуковой сигнализации аварийных значений технологических параметров.
9. Разработать программу на Ассемблере , формирующую на линии порта вывода МПС прямоугольные импульсы с произвольной частотой.
10.Составить подпрограмму на Ассемблере, осуществляющую подсчет числа единичных битов в коде числа, хранящегося в ячейке памяти МПС. Определить механизм передачи параметров в подпрограмму, привести пример вызова разработанной подпрограммы.

И очень прошу извинить за наглость.
Реклама
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Мяу НуСовсемПлохойЭлектроник..
Как всегда, весь семестр пробалбесничал, а перед экзаменами - рему морщить начинаем ? :evil:
..
Из всех заданий, мне больше понравилось шестое:
6. К порту ввода МПС подключены восемь кнопок, а к порту вывода восемь светодиодов. Предложить фрагмент принципиальной (функциональной) электрической схемы МПС . Разработать программу на Ассемблере , отображающую состояние кнопок на линейке светодиодов.
Т.к. оно "самое сложное" и решается кучей символов на клавиатуре или одной строчкой на Асм-е..
..

Код: Выделить всё

mov P1,P0
..
При этом кнопки подключаются к порту P0 и замыкаются на корпус,
а светодиоды - подключаются к порту P1 через сопротивление на +5 вольт... :tea:
Реклама
Сообщения: 8
Зарегистрирован: Ср янв 20, 2010 17:51:54

Сообщение НуСовсемПлохойЭлектроник »

Не то чтобы пробалбесничал, просто весь семестр было куча теории плюс кое-где мелькали примеры осуществления этой теории, а как таковой практики не было. Следовательно понимание мое в асемблере минимально, но к моему удивлению на экзамене кроме теории оказались задачи... Не знал куда больше написать.
Эх, хоть одну задачу знаю как делать. Огромное спасибо!
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

МитяРа!
Пять баллов! :))) :))) :)))
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Приветствую GP1..
Как ты мог заметить /дело не в МК51 или AVR/, а программу-то мя недописал..
Т.е. она будет работать, но только 1 раз.. :)
..
Эх, хоть одну задачу знаю как делать. Огромное спасибо!
Спасать мя не-за-что..
А раз ты всё-же слушал теорию, то сам сообразишь, как сделать так, что-бы моя программа выполнялась не один раз, а - бесконечно..
Надо только добавить одну строчку.. всего-то 6 знаков на клавиатуре..
Давай, шевели теорией... :tea:
Реклама
Сообщения: 8
Зарегистрирован: Ср янв 20, 2010 17:51:54

Сообщение НуСовсемПлохойЭлектроник »

L1:
mov P0,P1
sjmp L1
end

Работает ;)
еще не все потеряно, да?
Зы кнопки к порту П1 подключил.
Реклама
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

НуСовсемПлохойЭлектроник
еще не все потеряно, да?
Теорию знаешь - молодец !!!
..
Зы кнопки к порту П1 подключил.
Практику - вроде тоже умеешь..
А кнопки-то к питанию надеюсь подтянул через сопротивления ?
..
Дальше будем продолжать ?
Сообщения: 8
Зарегистрирован: Ср янв 20, 2010 17:51:54

Сообщение НуСовсемПлохойЭлектроник »

Практику кое-как, похожую схему в лекциях нашел. В протеусе это все искать замучался. Да, через сопротивление, правда это был первый попавшийся резистор. А с теорией у меня немного получше, чем с практикой, но все равно "не айс" :)
А можно еще одну задачу? Тоже хотя бы недоделанную. Глядишь с Вашей помощью я хоть что-то в свою голову запихаю.
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Выбирай цифру.. :tea:
Если не успею с работы - из дома отвечу...
Сообщения: 8
Зарегистрирован: Ср янв 20, 2010 17:51:54

Сообщение НуСовсемПлохойЭлектроник »

3...
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Перечитал задачу и немного не понял..
Сколько входных датчиков и что конкретно подразумевается под словосочетанием "двухпозиционный регулятор"...
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Здесь имеется ввиду, типа две кнопки, сработала кнопка нижнего предела включился скажем подогрев, сработал верхний датчик нагреватель отключился, ну типа того.
между сработками кнопок состояние системы не меняется, проще - гистерезис.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Сообщения: 8
Зарегистрирован: Ср янв 20, 2010 17:51:54

Сообщение НуСовсемПлохойЭлектроник »

Сколько этих датчиков - не знаю, но предполагаю, что одного хватит.
Двух позиционный регулятор ( в моем понимании) - это регулятор, который может держать систему в двух состояниях (или-или). Например: включил - нагрелась - отключил.
Ладно, насчет этой задачи уточню на консультации, не забивайте мозги.
Тогда 9, если еще у Вас желание осталось.
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Хорошо, насчёт 3-го номера - уточни..
Ну ты и номера выбираешь.. 9-я тоже "очень" сложная задача..
Буковок всё больше и больше писать надо..
..

Код: Выделить всё

cpl  P0.0
ljmp 0
..
Импульсы формируются на выводе P0.0...
Сообщения: 8
Зарегистрирован: Ср янв 20, 2010 17:51:54

Сообщение НуСовсемПлохойЭлектроник »

Спасибо!
Cpl это команда инверсии, т.е. когда на выходе 0 она делает 1, а когда 1 она делает 0. Так и формируются импульсы, я правильно понимаю?
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Правильно понимаешь и именно с её помощью формируется импульсы типа "меандр"..
Т.е. у которых длительности 0 и 1 - одинаковые..
..
Следующий номер.. или уже скис от "сложности"?
Сообщения: 8
Зарегистрирован: Ср янв 20, 2010 17:51:54

Сообщение НуСовсемПлохойЭлектроник »

Не, приятно осознавать, что я на экзамене могу осилить аж 20% всех задач =)

Пять...
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»