Свет дома

Светодиоды, лазеры, лампы накаливания...
RGB
Читатель
Читатель
Сообщения: 62
Зарегистрирован: 20 сен 2010, 15:23

Re: Свет дома

Сообщение RGB »

Хорошему выключателю не помешает упровление с пульта. Предстовляю интересный вариант- IR конструктор на PIC12F629 настраиваемый приемник на 5 каналов.
Вложения
IR Konstruktor.rar
(3.97 МБ) 674 скачивания
RGB
Читатель
Читатель
Сообщения: 62
Зарегистрирован: 20 сен 2010, 15:23

Re: Свет дома

Сообщение RGB »

Всем привет! Помогите разобраться. МК Pic16F628A как настроить выходы RA4 (подтянут к + питания), RA6 и RA7 на выход т.е. не получаеться выдать 1 на выход. Компораторы отключены. В архиве код инициализации на АSМЕ. Не в МК не в протеусе не получаеться. :-? :?:
Вложения
Super sensor.rar
Код инициализации PIC16F628A
(1.32 КБ) 469 скачиваний
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Свет дома

Сообщение rhf-admin »

bcf STATUS,RP1
BANK0 ; Банк 0
clrf STATUS ; Банк
clrf INTCON ; Запрет прерываний и сброс флагов.
movlw B'00000000'
movwf INTCON
Повторения одного и того же в разных местах программы я думаю от отчаяния? :lol:
По поводу проблемы я думаю что надо попробовать следующие варианты:
1) прямо указать __config b'11111100010000' (сильные подозрения в неправильной установке осциллятора, особенно в связи с невозможностью управления именно RA6, RA7). Можно скомпилированный уже файл открыть в каком-нибудь ICProg и посмотреть какие получились биты конфигурации.
2) попробовать не использовать #include "P16F628A.INC" (зачем он кстати?)

И ещё. В программе надо указывать не абсолютный адрес регистра в памяти, а его смещение относительно начала банка в котором он находится. То есть, например, для регистра TRISA надо указывать адрес не 85h, а 05h. Контроллер сам поймёт о ком идёт речь по тому, в каком банке происходят манипуляции. (Хотя это по-моему не критично, он вроде как сам должен лишнее от адреса отрезать. И тем не менее.)
С уважением, администрация сайта.
RGB
Читатель
Читатель
Сообщения: 62
Зарегистрирован: 20 сен 2010, 15:23

Re: Свет дома

Сообщение RGB »

Спасибо! Буду разбираться о результате - отпишусь.
RGB
Читатель
Читатель
Сообщения: 62
Зарегистрирован: 20 сен 2010, 15:23

Re: Свет дома

Сообщение RGB »

Вообщем в основном занимался PIC12F629, на 16F628А только гонял шаговый движок. Сейчас занялся новым проектом на 16F628A, и выводов для проекта хватает, но пока не разберусь не могу идти дальше. Даташит уже снится, ТЫРНЕТ по данному запросу не помошник. В общем, что нашел - в основном на этом МК все обходят эти порты (им и не надо) есть пару схем с использованием их, пытался разобрать дизасемблер с НЕХ - тупик. Удивило на самом деле скудность информации. Сам из опыта знаю, это вроде мелочь (комуто простая истина) может являться камнем..... --- к суициду (шутка)
Будем разбираться, кто присоединиться с помощью - низкий поклон.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Свет дома

Сообщение rhf-admin »

Попробуй вот такой код:

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

list    p = 16f628a
__config b'11111100010000'
Status     equ         03h
TrisA      equ         05h
PortA      equ         05h
Cmcon    equ         1Fh
    org 0
start     movlw       .7
            movwf       Cmcon
            clrf              PortA
            bsf              Status,5
            movlw        .0
            movwf        TrisA
            bcf              Status,5
            bsf              PortA,4
            bsf              PortA,6
            bsf              PortA,7
    end
После этого на выходах RA4,RA6, RA7 должны быть единицы. А потом попробуй менять по чуть чуть и смотреть, когда перестанет работать.

P.S. Вот в этой проге, например, RA6, RA7 настроены как выходы и отлично работают: http://radiohlam.ru/program/dot_matrix_LCD_prg.htm
С уважением, администрация сайта.
RGB
Читатель
Читатель
Сообщения: 62
Зарегистрирован: 20 сен 2010, 15:23

Re: Свет дома

Сообщение RGB »

Начнем по порядку. строка - #include "P16F628A.INC" добовляет в проект библиотеку регистров (может еще что-то) с ней можно ручками не прописывать регистры (хотя один раз столкнулся с проблемой на 12f629 не был прописан GPIO и все прекрасно работало до одного момента, так что думаю лучше добавить лишнею строчку). Ваш код работает, прикол в следующем на этих ногах можно установить полноценный 0, 1 тоже установливаеться но нагрузить их светодиодом нельзя идет сильное подение напряжения. Не знаю так и должно быть? Спасибо за участие!!!
RGB
Читатель
Читатель
Сообщения: 62
Зарегистрирован: 20 сен 2010, 15:23

Re: Свет дома

Сообщение RGB »

Прикреплен исходник инициализации и проект в протеусе. С этоми портами не стоит применять инструкцию BSF/BCF (из за чтения/модификация/запись). Может есть данные о их RA4/RA6/RA7 нагрузочных способностях?
Вложения
16F628A test.rar
(42.31 КБ) 463 скачивания
RGB
Читатель
Читатель
Сообщения: 62
Зарегистрирован: 20 сен 2010, 15:23

Re: Свет дома

Сообщение RGB »

Все равно непонятки какие то. Вот ведь человек, как то включает светодиоды на выходах RA6 и RA7 http://ra3ggi.qrz.ru/FT817/panel_817.shtml
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Свет дома

Сообщение rhf-admin »

прикол в следующем на этих ногах можно установить полноценный 0, 1 тоже установливаеться но нагрузить их светодиодом нельзя идет сильное подение напряжения.
Все равно непонятки какие то. Вот ведь человек, как то включает светодиоды на выходах RA6 и RA7
:lol2: :lol2: :lol2: Так он их включает через токоограничительные резисторы R6, R7 по 510 Ом. Если светодиоды подключать без токоограничительных резисторов, то тут возможны только 2 исхода: 1) горелые порты или 2) горелые светодиоды. На обычном светодиоде падает около 2-х вольт, а когда порт подтянут к питанию, то на выходе 5 Вольт. Куда денутся ещё 3 вольта ??? Они могут или упасть на тоограничительном резисторе или если его нет вызвать резкое увеличение тока, которое в итоге спалит или порт или светодиод.
P.S. Максимальная нагрузочная способность портов 25 мА
С уважением, администрация сайта.
Ответить