Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 12.02.2013, 19:44   #1
artmasterpro
Junior Member
 
Регистрация: 04.01.2010
Возраст: 42
Сообщений: 21
Вес репутации: 100/41
artmasterpro will become famous soon enoughartmasterpro will become famous soon enough
По умолчанию Не работает сенсорный модуль CPS 12F1822

Уже 3й день не могу найти причину. не получается запустить модуль емкостного сенсора CPS встроенный в контроллер 12F1822 все делаю по даташиту. Быть может у кого нибудь есть рабочий пример, если нет ниже выкладываю код я его обрезал до банального.
Суть такая: Конфигурируем регистр CPSCON0 и регистр T1CON таймера1. Таймер тактируем от модуля CPS следовательно он должен переполнится и зажечь светодиод.
И тут происходит следующее, в протеусе все так и работает а вот в железе, нет светодиод не зажигается.
Помогите пожалуйста очень нужно!

Код:
#include <htc.h>
#include <stdio.h>
#include <pic12f1822.h>;

__CONFIG(WDTE_OFF   & FOSC_INTOSC & PWRTE_OFF & MCLRE_OFF & CP_OFF &  CPD_OFF & BOREN_OFF & CLKOUTEN_OFF & IESO_OFF &  FCMEN_OFF & WRT_OFF  & PLLEN_OFF & STVREN_OFF &  LVP_OFF  );

unsigned int porog, tmp;

void interrupt isr(void){
    
   
   if (TMR1IF == 1) { 
RA0 = 1;
TMR1IF = 0;
 }
   }

void
main (void)
{
    OSCCON = 0b01101011; // 4Mhz
    GIE = 1;
    PEIE=1;
   

    OPTION_REG=0b00100000; 
    INTCON=0b11100000;   

   CPSCON0 = 0b10001100;
   ANSA2 = 1;// set sense-input to analog
   TRISA2 = 1;
   PORTA=0;   
  T1CON = 0b11000001;      // TMR1 capacitive sensing osc, prescaler 1/1, decicated osc disabled,no synch,timer1 enabled
  T1GCON = 0;       
  TMR1IE = 1;     
  TMR1L   = 0x00;                                                                       
  TMR1H   = 0x00; 
  TRISA0 = 0;
  RA0 = 0;
     
 while (1);
 
 {}
 }

}
artmasterpro вне форума   Ответить с цитированием
Старый 13.02.2013, 17:56   #2
Alex_Bak
Junior Member
 
Регистрация: 04.03.2010
Возраст: 52
Сообщений: 12
Вес репутации: 100/41
Alex_Bak will become famous soon enoughAlex_Bak will become famous soon enough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Я использовал для 1823 на 4 канала.

Код:
interrupt void Interrupt(void)
    {
    GIE = 0;
/****Считываем уровень сигнала с датчика**********************/
    if(TMR0IF)
        {//CPSCON0 = 0b00000000;
        TMR1ON = 0;
                
        Sensor_Temp.Ch[0] = TMR1L;
        Sensor_Temp.Ch[1] = TMR1H;
        
        Temp_1 = Sensor[i].In;
        Temp_1 += Sensor_Temp.In;
        Temp_1 >>= 1;
        Sensor[i].In = (int)Temp_1;

        TMR1H = 0;
        TMR1L = 0;
        
        //if(++i >= 4) i = 0;

        switch(i)
            {
            case 0: {CPSCON1 = 0b00000101; i = 1;}break;   //5 канал           
            case 1: {CPSCON1 = 0b00000110; i = 2;}break;   //6 канал 
            case 2: {CPSCON1 = 0b00000111; i = 3;}break;   //7 канал
            case 3: {CPSCON1 = 0b00000100; i = 0;}break;   //4 канал
            }
//        NOP();
//        NOP();
//        NOP();
        
        TMR0 = 0;
        TMR0IF = 0;
        TMR1ON = 1;
        //CPSCON0 = 0b10001101;
        }

    GIE = 1;
    }

void main(void)
    {
    CLRWDT(); // Сброс сторожевого таймера
/*********инициализация*********************************************************/
    GIE = 0;                //Запрет прерывания
    OSCCON = 0b01011010;    // 1 МГц

    /***Настройка емкостного модуля*************************/
    CPSCON0 = 0b11001101;
    CPSCON1 = 0b00000100;   //4 канал
    T1CON = 0b11000101;
    T1GCON = 0b10000001;
    TMR1H = 0;
    TMR1L = 0;
    OPTION_REG = 0b00000100;
   // TMR0CS = 0;
    TMR0IF = 0;             // clear TMR0 interrupt flag
    TMR0IE = 1;             //Прерывание от 0 таймера
    TMR1GIF = 0;            // Clear Gate Interrupt Flag
    TMR1GIE = 0;            // Enable Gate Interrupt

        //********Вечный цикл***********************************************
    while (1)
        {
         
        }
    }
Alex_Bak вне форума   Ответить с цитированием
Старый 13.02.2013, 19:36   #3
artmasterpro
Junior Member
 
Регистрация: 04.01.2010
Возраст: 42
Сообщений: 21
Вес репутации: 100/41
artmasterpro will become famous soon enoughartmasterpro will become famous soon enough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Что то не работает. а можно для тупых полный код программы вместе с конфигурационным словом и срабатывание сенсора (одного из 4х) просто зажигать светодиод на RA0 например.

Спасибо!
artmasterpro вне форума   Ответить с цитированием
Старый 14.02.2013, 10:58   #4
Alex_Bak
Junior Member
 
Регистрация: 04.03.2010
Возраст: 52
Сообщений: 12
Вес репутации: 100/41
Alex_Bak will become famous soon enoughAlex_Bak will become famous soon enough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Номер канала сенсора задается CPSCON1. У меня значения выдавались на USART(разъем программирования). Если есть вопросы скайп alexandrbaybak , только в текстовом режиме.
Вложения
Тип файла: rar main.rar (1.5 Кб, 42 просмотров)
Alex_Bak вне форума   Ответить с цитированием
Старый 16.09.2013, 15:23   #5
Петръ
Junior Member
 
Регистрация: 12.10.2012
Возраст: 37
Сообщений: 5
Вес репутации: 100/0
Петръ will become famous soon enoughПетръ will become famous soon enough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Цитата:
Сообщение от Alex_Bak Посмотреть сообщение
Номер канала сенсора задается CPSCON1. У меня значения выдавались на USART(разъем программирования). Если есть вопросы скайп alexandrbaybak , только в текстовом режиме.
Добрый день! Спасибо за подробный пример!!!
Очень с большим трудом начинаю разбираться с языком СИ(до этого программировал на Ассемблере в мплабе), и очень хочу сделать программу на CSM модуле, т.к. процессор 12F1824 уже есть. Хочу сделать именно локальную версию работы с сенсорными кнопками.
На сколько я понял в данной программе нет именно детектирования касания, этим видимо, занималась програмка на компе, куда по шине данных отправляли значение таймера 1.
Можете накидать подпрограммку детектирования на Си?

С Уважением Петр.
Петръ вне форума   Ответить с цитированием
Старый 16.09.2013, 23:18   #6
Alex_Bak
Junior Member
 
Регистрация: 04.03.2010
Возраст: 52
Сообщений: 12
Вес репутации: 100/41
Alex_Bak will become famous soon enoughAlex_Bak will become famous soon enough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Детектирование сигнала определяется по превышению заданного порога разности между отжатой кнопкой( большое значение) и текущему состоянию кнопки. Порог определяется экспериментально( я так делал через USART).
Значение отжатой кнопки надо запоминать отдельно(надо знать логику работы устройства).
Это самый простой вариант. На С одна строка.
Alex_Bak вне форума   Ответить с цитированием
Старый 16.09.2013, 23:51   #7
fantom
Senior Member
 
Регистрация: 27.02.2007
Адрес: Рязань
Возраст: 45
Сообщений: 2,610
Вес репутации: 2570/102
fantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond repute
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Цитата:
Сообщение от Alex_Bak Посмотреть сообщение
Я использовал для 1823 на 4 канала.

Код:
interrupt void Interrupt(void)
{
    GIE = 0;

    GIE = 1;
}
Можно узнать зачем в прерывании эти команды?
fantom вне форума   Ответить с цитированием
Старый 17.09.2013, 08:56   #8
Петръ
Junior Member
 
Регистрация: 12.10.2012
Возраст: 37
Сообщений: 5
Вес репутации: 100/0
Петръ will become famous soon enoughПетръ will become famous soon enough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Цитата:
Сообщение от Alex_Bak Посмотреть сообщение
Детектирование сигнала определяется по превышению заданного порога разности между отжатой кнопкой( большое значение) и текущему состоянию кнопки. Порог определяется экспериментально( я так делал через USART).
Значение отжатой кнопки надо запоминать отдельно(надо знать логику работы устройства).
Это самый простой вариант. На С одна строка.
Что-то типа такого "if(Sensor[0].Ch[0]>5);"? На сколько я понял счетчик 16ти разрядный, и сравнивать надо 16ти разрядную величину с константой. И этой константой же можно задать порог по шумам, так?

Цитата:
Сообщение от fantom Посмотреть сообщение
Можно узнать зачем в прерывании эти команды?
На сколько я понимаю это запрещение прерываний вначале прерывания и разрешение их в конце. Нужно для корректного выполнения прерывания.
Петръ вне форума   Ответить с цитированием
Старый 17.09.2013, 10:08   #9
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 38
Сообщений: 4,264
Вес репутации: 2731/117
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Цитата:
Сообщение от Петръ Посмотреть сообщение
На сколько я понимаю это запрещение прерываний вначале прерывания и разрешение их в конце. Нужно для корректного выполнения прерывания.
Ответ неверный.
Читаем даташит, раздел Interrupts.
Цитата:
The following events happen when an interrupt event
occurs
while the GIE bit is set:
GIE bit is cleared

The RETFIE instruction exits the ISR by popping the
previous address from the stack, restoring the saved
context from the shadow registers and setting the GIE
bit
.
__________________
read only
Machine slave вне форума   Ответить с цитированием
Старый 17.09.2013, 10:14   #10
Alex_Bak
Junior Member
 
Регистрация: 04.03.2010
Возраст: 52
Сообщений: 12
Вес репутации: 100/41
Alex_Bak will become famous soon enoughAlex_Bak will become famous soon enough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

1. Изменение сигнала на много больше, чем шумы. По крайней мере это было в моем случае. Порог 300 ед, шумы до 15ед.
2. По прерыванием в принципе правильно. Они нужны, что бы во время выполнения прерывания небыло возможности возникновения еще одного прерывания
Alex_Bak вне форума   Ответить с цитированием
Старый 17.09.2013, 10:25   #11
fantom
Senior Member
 
Регистрация: 27.02.2007
Адрес: Рязань
Возраст: 45
Сообщений: 2,610
Вес репутации: 2570/102
fantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond reputefantom has a reputation beyond repute
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Цитата:
Сообщение от Alex_Bak Посмотреть сообщение
2. По прерыванием в принципе правильно. Они нужны, что бы во время выполнения прерывания не было возможности возникновения еще одного прерывания
Цитату Machine slave не читали?
fantom вне форума   Ответить с цитированием
Старый 20.09.2013, 09:41   #12
Петръ
Junior Member
 
Регистрация: 12.10.2012
Возраст: 37
Сообщений: 5
Вес репутации: 100/0
Петръ will become famous soon enoughПетръ will become famous soon enough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Вроде заработала программка. Для начала вижу что реагирует на палец.
У меня вопрос к знатокам Си, как сделать что бы два 8ми ричных числа(в данном случае это значение 16тиричного таймера записанное в 2х регистрах) преобразовать в одно значение, с которым было бы удобно работать и проводить арифметические вычисления?
Петръ вне форума   Ответить с цитированием
Старый 10.06.2020, 12:48   #13
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/58
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Цитата:
Сообщение от Петръ Посмотреть сообщение
Вроде заработала программка.
А у меня ну никак не хочет работать.
Разбираюсь с модулем тач CSM. Для начала написал тестовый код для примерного определения частоты встроенного генератора CSM на два пина без пальцев. Пульсы с гены считает TMR1, базовое время формируется по переполнению TMR0. Все это рекомендованно по даташиту.
Поскольку в МПлабе генератор CSM не симулируется, то просто сохраняю значение счетчика TMR1 в EEPROM, а потом считываю его программатором PIckit3.
В результате читаю из EEPROM только нули. Т.е. или генератор CPS не генерит, или TMR1 его не считает. Однако, если источником для TMR1 выбрать Tosc/4, то все пишется исправно, как и в симуляторе.
Испытывал два нетронутых 12F1822, потом портировал на 16F1827 того же семейства, но все по прежнему.

Что я делаю не так?
Спасибо.

Код:
  
#include    <P12F1822.inc>    ;f=32,0 MHz INTRC
       list    P=12F1822
__CONFIG _CONFIG1,_PWRTE_ON&_MCLRE_OFF&_IESO_OFF&_FOSC_INTOSC&_FCMEN_OFF;&_CP_ON
  cblock 0x20
   STATE,MEM,MEM1,NL0,NH0,NL1,NH1,SET_NL0,SET_NH0,SET_NL1,SET_NH1
   PARA1
  endc
;-------------------------------------------------------
    #define    SV0    PORTA,4    ;светодиод SV0
    #define    SV1    PORTA,5    ;светодиод SV1
      ;#define    CPS0    PORTA,0    ;touchsensor CPS0
      ;#define    CPS1    PORTA,1    ;touchsensor CPS1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ИНИЦИАЛИЗАЦИЯ
  org    0x00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    
  org    0x00
    GOTO    INIT_ALL
  org    0x04
    GOTO    SRV_INT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INIT_ALL    
    BANKSEL    PORTA
    CLRF    PORTA
;--------------------    ;настройка блока CPS
    MOVLW    B'10001000'    ;источник от CPS, ток Medium
    MOVWF    CPSCON0        ;Fixed Voltage References
    MOVLW    B'00000000'    ;канал сенсора CPS0
    MOVWF    CPSCON1
    MOVLW    B'11000101'    ;источник для TMR1 от CPS
    ;MOVLW    B'00000101'    ;источник для TMR1 от OSC/4
    MOVWF    T1CON        ;включен с преддел. 1:1
    MOVLW    B'10000001'    ;Gate от переполнения TMR0
    MOVWF    T1GCON        ;
    ;BSF    T1GCON,T1GTM    ;Togle mode
    ;BSF    T1GCON,T1GPOL    ;Polarity
;--------------------    ;настройка портов
    BANKSEL    LATA
    CLRF    LATA
    BANKSEL    ANSELA
    MOVLW    B'00000011'
    MOVWF    ANSELA        ;сенсор CPS0,CPS1 аналог
    BANKSEL    TRISA
    MOVLW    B'00000011'    
    MOVWF    TRISA        ;сенсор CPS0,CPS1 на вход
    ;MOVLW    B'00001100'    ;неиспользуемый  в CPS канал
    ;MOVWF    ADCON0
;--------------------    ;настройка INTOSC и WDT
    MOVLW    B'11110000'    ;F = 32 MHz INTRCIO
    MOVWF    OSCCON
    MOVLW    B'01010001'    ;F = 32 MHz INTRCIO
    MOVWF    OSCSTAT
    MOVLW    B'00001000'    ;16 msec
    MOVWF    WDTCON
;--------------------    ;настройка TMR0, TMR2
    MOVLW    B'00000110'    ;настройка таймера TMR0
    MOVWF    OPTION_REG    ;с преддел. 1:128
    BANKSEL    TMR2
    MOVLW    0xFF        ;
    MOVWF    PR2        ;T=4*Tosc*(PR2+1)*(TMR2 Prescale)
    MOVLW    B'00000111'    ;включить TMR2
    MOVWF    T2CON        ;предделитель TMR2 1:64
    ;BSF    INTCON,PEIE    ;разрешить прерывание периферии
;-----------------------
ClrMem    MOVLW    0x20        ;очистка памяти RAM
    MOVWF    FSR0        ;
ClrMem1    CLRF    INDF0
    INCF    FSR0
    BTFSS    FSR0,7        ;всего кол-во памяти
    GOTO    ClrMem1
;-------------------------------    
        CALL    NO_FINDER    ;начальные значения CPS без пальца
        BSF    INTCON,TMR0IE    ;разрешить прерывание TMR0
        ;BSF    INTCON,GIE    ;разрешить прерывания
        
        ;BANKSEL    PIE1
        ;BSF    TMR2IE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAIN    CALL    D2
    
        GOTO    MAIN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D2    
    BANKSEL    TMR2
    CLRF    TMR2        ;задержка
    BCF    PIR1,TMR2IF    ;на 2 mсек
    CLRWDT
    BTFSS    PIR1,TMR2IF
    GOTO    $-2
    RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
NO_FINDER    ;сохраняем начальные значения без пальца в EEPROM
    BANKSEL    TMR0
    CLRF    CPSCON1        ;канал 0
    CLRF    EE_ADR        ;нулевой адрес
    
    BSF    T1CON,TMR1ON
    CLRF    TMR0
    CLRF    TMR1H
    BCF    PIR1,TMR1IF
    CLRF    TMR1L
    
    BCF    INTCON,TMR0IF    ;ожидание 4 mсек
    CLRWDT
    BTFSS    INTCON,TMR0IF
    GOTO    $-2
    BCF    T1CON,TMR1ON    ;стоп TMR1
    
    BTFSC    PIR1,TMR1IF    ;если переполнение TMR1
    RETURN            ;то выход без записи
    
    MOVFW    TMR1H
    MOVWF    EE_DATA
    CALL    EE_WR        ;сохраняем TMR1H в EEPROM
    INCF    EE_ADR        ;следующий адрес
    MOVFW    TMR1L
    MOVWF    EE_DATA    
    CALL    EE_WR        ;сохраняем TMR1L в EEPROM
    
    INCF    CPSCON1        ;следующий канал 1
    INCF    EE_ADR        ;следующий адрес
    
    BSF    T1CON,TMR1ON
    CLRF    TMR0
    CLRF    TMR1H
    BCF    PIR1,TMR1IF
    CLRF    TMR1L
    
    BCF    INTCON,TMR0IF    ;ожидание 4 mсек
    CLRWDT
    BTFSS    INTCON,TMR0IF
    GOTO    $-2
    BCF    T1CON,TMR1ON    ;стоп TMR1
    
    BTFSC    PIR1,TMR1IF    ;если переполнение TMR1
    RETURN            ;то выход без записи
    
    MOVFW    TMR1H
    MOVWF    EE_DATA
    CALL    EE_WR        ;сохраняем TMR1H в EEPROM
    INCF    EE_ADR        ;следующий адрес
    MOVFW    TMR1L
    MOVWF    EE_DATA    
    CALL    EE_WR        ;сохраняем TMR1L в EEPROM
    
    RETURN
ИС-Xantia вне форума   Ответить с цитированием
Старый 10.06.2020, 16:13   #14
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/58
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Может надо емкости на пины повесить?
ИС-Xantia вне форума   Ответить с цитированием
Старый 11.06.2020, 09:07   #15
ИС-Xantia
Senior Member
 
Регистрация: 23.03.2007
Возраст: 65
Сообщений: 519
Вес репутации: 291/58
ИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the roughИС-Xantia is a jewel in the rough
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Посмотрел осциллом пины сенсоров - никаких сигналов не наблюдается, а ведь должна быть генерация. Похоже, модуль CSM не генерит почему-то...
ИС-Xantia вне форума   Ответить с цитированием
Старый 11.06.2020, 20:02   #16
sdn_sdn
Senior Member
 
Регистрация: 18.10.2016
Сообщений: 143
Вес репутации: 386/20
sdn_sdn is just really nicesdn_sdn is just really nicesdn_sdn is just really nicesdn_sdn is just really nice
По умолчанию Re: Не работает сенсорный модуль CPS 12F1822

Из моей работающей программы пример инициализации таймеров, модуля CSM, DAC (DAC управляет частотой CSM, оптимальная частота = 150 кгц ):

MOVLW (1<<CPSON | 1<<CPSRM | 0<<CPSRNG1 | 1<<CPSRNG0 | 0<<T0XCS) ;CPSRM = 1 - референсное напряжение от DAC
BANKSEL CPSCON0 ;0-bank
MOVWF CPSCON0 ;CPSRNG1:CPSRNG0 - low range freq.

MOVLW (1<<TMR1CS1 | 1<<TMR1CS0 | 0<<T1CKPS1 | 0<<T1CKPS0 | 0<<T1OSCEN | 1<<NOT_T1SYNC)
MOVWF T1CON

MOVLW (0<<TMR1GE | 1<<T1GPOL | 0<<T1GTM | 0<<T1GSPM | 0<<T1GGO | 0<<T1GVAL| 0<<T1GSS1 | 1<<T1GSS0)
MOVWF T1GCON

MOVLW (1<<DACEN | 0<<DACLPS | 0<<DACOE | 0<<DACPSS1 | 0<<DACPSS0); DACPSS1 - DACPSS0 = 0 - reference voltage = VDD
BANKSEL DACCON0
MOVWF DACCON0


MOVLW (0<<FVREN | 1<<CDAFVR1 |1<<CDAFVR0) ;Если DACPSS1 - DACPSS0 = 0, то reference voltage = VDD при CDAFVR1 - CDAFVR0 = 1
MOVWF FVRCON

;конфигурирование портов
BANKSEL ANSELA ;аналоговая переферия отключена от выводов порта
CLRF ANSELA

MOVLW (0<<LATA5 | 0<<LATA4 | 0<<LATA2| 0<<LATA2 | 0<<LATA0)
BANKSEL LATA
MOVWF LATA

MOVLW (0<<WPUA5 | 0<<WPUA4 | 1<<WPUA3 | 0<<WPUA2 | 0<<WPUA1 | 0<<WPUA0)
BANKSEL WPUA ;4-bank
MOVWF WPUA

MOVLW (0<<TRISA5 | 0<<TRISA4 | 1<<TRISA3| 0<<TRISA2 | 0<<TRISA1 | 1<<TRISA0)
BANKSEL TRISA
MOVWF TRISA

p.s.
Кроме того вы можете реализовать сенсорные кнопки методом CVD.

p.p.s.
смотрите личку.

Последний раз редактировалось sdn_sdn; 11.06.2020 в 20:19.
sdn_sdn вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многофункциональные часы. Н.Заяц.Книга 4. samko Вопросы начинающих 11 12.06.2012 09:26
и снова не работает RA4 pic16F84 Serg.mib Вопросы начинающих 9 11.09.2011 09:02
Графические среды Vidoc Общетехнические вопросы 47 10.02.2010 06:18
USB + PIC18F4550, не понял, как работает themaster Продукция MICROCHIP 4 08.02.2010 03:09


Часовой пояс GMT +3, время: 16:17.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot