Новичок
Регистрация: 23.03.2011
Сообщений: 8
Репутация: 30
|
Требуется помощь в написании программы для МК 12F629.
Суть работы устройства, подаем питание на МК, он ждет команду, для начала работы устройства, нажали отпустили кнопку на одном выводе порта (GP3 вывод 4), на другом выводе порта (GP2 вывод 5) засветился светодиод, говорит нам о том что процесс начал работу, еще на одном выводе порта (GP0 вывод 7) выход прямоугольных импульсов, меандр частотой 350 герц, после повторного нажатия и отпускания кнопки, процесс останавливается и ждет следующего нажатия на кнопку. почему именно этот МК, устройство заводское, он уже там стоит, только выполняет другие задачи, т.е перешивкой мк, устройство будет выполнять, нужные мне задачи. |
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 641
|
стучите в личку обсудим
|
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 641
|
Цитата:
ну а теперь все это забудьте... 1. в директории c:\Program Files\Microchip\MPASM Suite создайте свою папку будущего проекта в папке МЛАБа найдите шаблон для 629-го: c:\Program Files\Microchip\MPASM Suite\Template\Code\12F629TEMP.ASM и скопируйте в папку проекта , туда же копируете c:\Program Files\Microchip\MPASM Suite\P12F629.INC 2. в МЛАБе создаете новый проект и указываете путь размещения папку созданную в п.1, в окне запрса добавления файлов: добавляете скопированные файлы(МЛАБ их покажет) 3. отсюда :http://wiki.pic24.ru/doku.php/articles/list скачиваете полезную статью:http://wiki.pic24.ru/doku.php/osa/articles/modules и очень внимательно изучаете оную (отпадет больше половины вопросов) 4 ну и попытайтесь написать прогу мигания СД с нужной вам частотой, пока без использования кнопок.... |
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 641
|
алгоритмы не правильный (нет обработки дребезга контактов кнопки)
вариантов обработки достаточно много , самый простой выглядит примерно так: 1 при инициализации проги читаете порт GIPIO и сбрасываете флаг GPIF регистра INTCON 2 в основном цикле проверяете установку флага GPIF , если произошла установка читаете состояние бита GP3, если GP3 =0 запускаете процедуру задержки на 5-10мсек, опять проверяете бит GP3 =0, если равен устанавливаете флаг нажатия кнопки(или запрещаете/разрешаете работу таймера и устанавливаете биты GP2=0, GP0=0 ) и далее в замкнутом цикле ждете пока на GP3 не появится "1" , появилась , делаете задержку на 5-10 мсек , читаете порт GIPIO, сбрасываете флаг GPIF |
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |