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

 
 
> Помощь новичку в 16F629, Настройка портов ввода-вывода
lagros
сообщение Jun 15 2007, 06:59
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 29-12-05
Пользователь №: 12 678



Долго думал, но решился. Может поможете.
Значит так. Решил попробовать написать программу, в частности, плавного повышения напряжения. Принцип ШИМ.
Описание: первая переменная меняется от 0 до 255. Вторая наоборот от 255 до 0.
первая управляет длительностью "1" на выводе GP2, а вторая соответстванно длительностью "0"
Получается, что на выводе GP2 меняется ширина (скважность) импульса.
Саму программу более-менее написал, но настроить порты GP2 и GP3 (GP3 пока не используется, это для будущего) не могу. Читал даташит, пробовал писать как там приведено в примерах, не получается.
Может поможет кто... В крайнем случае может есть у вас какой исходник, в котором описано все это. Желательно лишнее убрать, чтоб мозги успели все переварить... И если можно, коментарии поподробнее.
В глобальном плане такая задача: При нажатии кнопки (GP3) на выводе GP2 плавно (2-4 сек.) повышается напряжение. Как только оно стало MAX, процесс останавливается, но на выводе, например GP4, также начинает повышение напряжения от 0 до MAX. После этого все останавливается.
Как только отпущена кнопка GP3, все идет в обратной последовательности: сначала плавно понижается напряжение на GP4, потом на GP2. Все.
Исходник приложил.
Прикрепленные файлы
Прикрепленный файл  light.zip ( 730 байт ) Кол-во скачиваний: 100
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vanner
сообщение Jun 15 2007, 14:05
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 23-10-05
Пользователь №: 10 016



У тебя в исходнике:
Код
#define Ligth GP2
#include p12f629.inc

GP2 скорее всего не определена.
Попробуй сделать:
Код
#include p12f629.inc
#define Ligth GP2

Чаще делают даже так:
Код
#define Light GPIO, GP2

В коде тогда используешь bsf Light и т.п.

Дальше, опрос кнопок нужно делать с антидребезгом. Можно опрашивать, по прерыванию или просто в основном цикле.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 12:15
Рейтинг@Mail.ru


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