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

 
 
> Помощь новичку в 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, 11:12
Сообщение #2


Участник
*

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



Это для 12f675, сотри ее. И не сбивай с бестолку, где у тебя ошибка, пик 12f629 в исходниках, 16f629 в теме?

Сообщение отредактировал vanner - Jun 15 2007, 11:17
Go to the top of the page
 
+Quote Post
lagros
сообщение Jun 15 2007, 13:02
Сообщение #3





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



Цитата(vanner @ Jun 15 2007, 15:12) *
Это для 12f675, сотри ее. И не сбивай с бестолку, где у тебя ошибка, пик 12f629 в исходниках, 16f629 в теме?

12F629 Извини, торопился... smile.gif


vanner, обьясни мне еще:
1. Команда #define Ligth GP2 - присваивает выводу GP2 имя Light?
2. Команда bsf GPIO, Ligth - устанавливает на выводе Light лог. "1"?
У меня это не получается. GP2 принимает какие-то другие значения, но не те, что надо. Не пойму в чем дело...
Извини за тупые вопросы...
Прикрепленный исходник изменен...

Вроде чуть продвинулся...
Дело в том, что в русском переводе, которым я и пользовался, при инициализации стояля команда
movwf TRISA
а в англоязычной:
movwf TRISIO
Как только я исправил TRISA на TRISIO, все заработало.
Теперь вопрос: это ошибка перевода или я что-то не так описал?

Сообщение отредактировал lagros - Jun 15 2007, 12:18
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  light.zip ( 873 байт ) Кол-во скачиваний: 65
 
Go to the top of the page
 
+Quote Post



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

 


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


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