Показать сообщение отдельно
Старый 19.06.2017, 19:46   #1
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 31
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Как читать Даташит? Pic16f1847 не работает нога на вход.

Вообщем есть у меня платка с МК pic16f819, код накодил все работает. Но перестало хватать места и нашел pic16f1847 с местом побольше, чтобы платку не переделывать.
Начал вспоминать программирование, что то работает что то нет, вообщем весь день убил на то чтобы заставить работать. Не работает нога на вход.
Как вообще работать с даташитом? Куда смотреть? Вот у меня есть проблема, не работает нога на вход, ну логически думаю дай посмотрю PIN ALLOCATION TABLE
типо как нога может быть задействована, смотрю в книгу вижу фигу =(

PHP код:

void init
(void)
 {
//регистры относящиеся к TMR0
CPSCON0 0b00000001//page 323
OPTION_REG 0b10000000//page 175
TMR0 0//сбрасываем таймер в 0  page 173
TRISA 0b00001001//все порты RA на выход. кроме RA0  RA3 они на вход
//

//регистры относящиеся к TMR1
ANSELB 0b00000000;    //page 127 //все порты RB цифровые
CCP1CON 0b00000100//page 226 //выбор режима, захват сравнение или шим
PIE1 0b00000101;//page 89 //разрешение прерываний
PIR1 0b00000000;  //page 93    //interrupt is pending
PORTB 0b00000000//page 126
TMR1L=0;  //обнуляем значение таймера
TMR1H=0;
TRISB 0b00001000// RB3 на вход для модуля захвата CCP
T1CON 0b01011101;   //page 185
T1GCON 0b00000000;  //page 186
//

//регистры которые имеют отношения ко многому
INTCON 0b11101000//page 88
//
}

void main(){

  
init(); //вызывается функция init
  
Delay_ms(1000);
  
RA2_bit=1;
  
Delay_ms(1000);
  
RA2_bit=0;

  while(
1)
  {
  if (
RA0_bit==1){
                 
RA2_bit=1;  //поджигаем светодиод
                 
}
 if (
RA0_bit==0){
                 
RA2_bit=0;
                 }

  } 
//скобка while 1
}// скобка main 
Конфигурация вот такая:


Среда MicroC
Даташит Pic16f1847
Zombie47 вне форума   Ответить с цитированием