pic16f873a



Автор Егор поршов задал вопрос в разделе Другие языки и технологии

Программирование кнопок для PIC16F873A и получил лучший ответ

Ответ от
Глядя на исходники, мысли такие:
1. отключить сторожевой таймер _WDT_OFF, т.к. он в программе нигде не сбрасывается командой CLRWDT.
2. настроить порт А как дискретные входа, т.к. при включении он весь работает как аналоговые на АЦП,
и отключить компараторы:
START BCF STATUS,RP1;
BSF STATUS,RP0;
movlw .0
movwf TRISC
movlw 0x07
movwf CMCON
movlw 0x06
movwf ADCON1
movlw 0x3F
movwf TRISA
BCF STATUS,RP0
3. проверить схему подключения кнопок, которых 3. Должны подключены к выводам RA1, RA2, RA3 и замыкать входы порта через резисторы на плюс питания.

По второй программе:
Кнопка должна быть подключена к выводу RC7 тоже через резистор на плюс.
Но... порт настраивается на ввод с вывода RC0 и ничего в порт C не записывается для включения светодиода. Гашение программа выполнит при правильно подключенной кнопке, а зажигание - нет.

От себя.
Нет подавления дребезга контактов кнопок, хотя здесь это не критично - кнопки без триггерного эффекта.
Задержку я бы сделал по прерыванию от таймера, и в нем же сделал защиту от дребезга.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Программирование кнопок для PIC16F873A
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*