Easyelectronics.ru

Электроника для всех
Текущее время: 01 апр 2020, 14:05

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: PIC16F676 Header file for HI-TECH compilier
СообщениеДобавлено: 13 май 2010, 17:00 
Только пришел

Зарегистрирован: 13 май 2010, 14:37
Сообщения: 27
У кого есть файл описания регистров под HI-TECH для данного контроллера? Пыталcя прикрутить свой и редактировать - немного не получилось. С под F630го тоже не очень дело пошло, не заработало 2 вывода - АЦП нужно отключить, а для этого нужно описать. При добавлении picc.h пишет и, соответственно, указании в начале проекта pic16f676, что не может добавить такой контроллер, потому что на него документа нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC16F676 Header file for HI-TECH compilier
СообщениеДобавлено: 29 май 2010, 06:22 
Старожил
Аватара пользователя

Зарегистрирован: 05 май 2010, 11:56
Сообщения: 1083
Откуда: Иркутск
Файла у меня нет, но в чем проблема заглянуть в даташит и сделать свой, какой угодно.

Цитата:
С под F630го тоже не очень дело пошло, не заработало 2 вывода - АЦП нужно отключить, а для этого нужно описать.


Какие именно выводы не заработали? АЦП по умолчанию отключен, дело может быть в регистре ANSEL или CMCON.

Пардон, только сейчас заметил дату поста, видимо уже не актуально...

_________________
Форум-не место для политических дебатов. Место им в толчке.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC16F676 Header file for HI-TECH compilier
СообщениеДобавлено: 30 май 2010, 11:48 
Только пришел

Зарегистрирован: 13 май 2010, 14:37
Сообщения: 27
Почему не актуально?! Актуально. Вопрос именно в том что нужно дополнительно описать АЦП. Не вышло у меня составить header файл отдельно для него.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC16F676 Header file for HI-TECH compilier
СообщениеДобавлено: 01 июн 2010, 10:42 
Здравствуйте!

Зарегистрирован: 01 июн 2010, 09:49
Сообщения: 1
Заголовочные файлы от компилятора Hi-Tech C Pro Compiler for PIC10, PIC12, PIC16 9.70.0.5239.

Из файла "pic.h":
Код:
#if defined(_16F630)   || defined(_16F676)
   #include   <pic16630.h>
#endif


Файл "pic16630.h":
Код:
#ifndef   _HTC_H_
#warning Header file pic16630.h included directly. Use #include <htc.h> instead.
#endif

/* header file for the MICROCHIP PIC microcontrollers
  * PIC16F630
  * PIC16F676
*/

#ifndef   __PIC16630_H
#define   __PIC16630_H

// Special function register definitions

volatile       unsigned char   INDF      @ 0x00;
volatile       unsigned char   TMR0      @ 0x01;
volatile       unsigned char   PCL      @ 0x02;
volatile       unsigned char   STATUS      @ 0x03;
               unsigned char   FSR      @ 0x04;
volatile       unsigned char   PORTA      @ 0x05;
volatile       unsigned char   PORTC      @ 0x07;
volatile       unsigned char   PCLATH      @ 0x0A;
volatile       unsigned char   INTCON      @ 0x0B;
volatile       unsigned char   PIR1      @ 0x0C;
volatile       unsigned char   TMR1L      @ 0x0E;
volatile       unsigned char   TMR1H      @ 0x0F;
volatile       unsigned char   T1CON      @ 0x10;
volatile       unsigned char   CMCON      @ 0x19;
#if defined(_16F676)
volatile       unsigned char   ADRESH      @ 0x1E;
volatile       unsigned char   ADCON0      @ 0x1F;
#endif
               unsigned char   OPTION      @ 0x81;
volatile       unsigned char   TRISA      @ 0x85;
volatile       unsigned char   TRISC      @ 0x87;
               unsigned char   PIE1      @ 0x8C;
volatile       unsigned char   PCON      @ 0x8E;
               unsigned char   OSCCAL      @ 0x90;
#if defined(_16F676)
               unsigned char   ANSEL      @ 0x91;
#endif
               unsigned char   WPUA      @ 0x95;
               unsigned char   IOCA      @ 0x96;
               unsigned char   VRCON      @ 0x99;
volatile       unsigned char   EEDAT      @ 0x9A;
// alternate definition
volatile       unsigned char   EEDATA      @ 0x9A;
volatile       unsigned char   EEADR      @ 0x9B;
volatile       unsigned char   EECON1      @ 0x9C;
volatile       unsigned char   EECON2      @ 0x9D;
#if defined(_16F676)
volatile       unsigned char   ADRESL      @ 0x9E;
               unsigned char   ADCON1      @ 0x9F;
#endif

/* Definitions for STATUS register */
volatile       bit   CARRY   @((unsigned)&STATUS*8)+0;
volatile       bit   DC   @((unsigned)&STATUS*8)+1;
volatile       bit   ZERO   @((unsigned)&STATUS*8)+2;
volatile       bit   PD   @((unsigned)&STATUS*8)+3;
volatile       bit   TO   @((unsigned)&STATUS*8)+4;
               bit   RP0   @((unsigned)&STATUS*8)+5;

/* Definitions for PORTA register */
volatile       bit   RA0   @((unsigned)&PORTA*8)+0;
volatile       bit   RA1   @((unsigned)&PORTA*8)+1;
volatile       bit   RA2   @((unsigned)&PORTA*8)+2;
volatile       bit   RA3   @((unsigned)&PORTA*8)+3;
volatile       bit   RA4   @((unsigned)&PORTA*8)+4;
volatile       bit   RA5   @((unsigned)&PORTA*8)+5;

/* Definitions for PORTC register */
volatile       bit   RC0   @((unsigned)&PORTC*8)+0;
volatile       bit   RC1   @((unsigned)&PORTC*8)+1;
volatile       bit   RC2   @((unsigned)&PORTC*8)+2;
volatile       bit   RC3   @((unsigned)&PORTC*8)+3;
volatile       bit   RC4   @((unsigned)&PORTC*8)+4;
volatile       bit   RC5   @((unsigned)&PORTC*8)+5;

/* Definitions for INTCON register */
volatile       bit   RAIF   @((unsigned)&INTCON*8)+0;
volatile       bit   INTF   @((unsigned)&INTCON*8)+1;
volatile       bit   T0IF   @((unsigned)&INTCON*8)+2;
               bit   RAIE   @((unsigned)&INTCON*8)+3;
               bit   INTE   @((unsigned)&INTCON*8)+4;
               bit   T0IE   @((unsigned)&INTCON*8)+5;
               bit   PEIE   @((unsigned)&INTCON*8)+6;
volatile bit   GIE   @((unsigned)&INTCON*8)+7;

/* Definitions for PIR1 register */
volatile       bit   TMR1IF   @((unsigned)&PIR1*8)+0;
volatile       bit   CMIF   @((unsigned)&PIR1*8)+3;
#if defined(_16F676)
volatile       bit   ADIF   @((unsigned)&PIR1*8)+6;
#endif
volatile       bit   EEIF   @((unsigned)&PIR1*8)+7;

/* Definitions for T1CON register */
               bit   TMR1ON   @((unsigned)&T1CON*8)+0;
               bit   TMR1CS   @((unsigned)&T1CON*8)+1;
               bit   T1SYNC   @((unsigned)&T1CON*8)+2;
               bit   T1OSCEN   @((unsigned)&T1CON*8)+3;
               bit   T1CKPS0   @((unsigned)&T1CON*8)+4;
               bit   T1CKPS1   @((unsigned)&T1CON*8)+5;
               bit   T1GE   @((unsigned)&T1CON*8)+6;
// alternate definition
               bit   TMR1GE   @((unsigned)&T1CON*8)+6;

/* Definitions for CMCON register */
               bit   CM0   @((unsigned)&CMCON*8)+0;
               bit   CM1   @((unsigned)&CMCON*8)+1;
               bit   CM2   @((unsigned)&CMCON*8)+2;
               bit   CIS   @((unsigned)&CMCON*8)+3;
               bit   CINV   @((unsigned)&CMCON*8)+4;
volatile       bit   COUT   @((unsigned)&CMCON*8)+6;

#if defined(_16F676)
/* Definitions for ADCON0 register */
               bit   ADON   @((unsigned)&ADCON0*8)+0;
volatile       bit   GODONE   @((unsigned)&ADCON0*8)+1;
               bit   CHS0   @((unsigned)&ADCON0*8)+2;
               bit   CHS1   @((unsigned)&ADCON0*8)+3;
               bit   CHS2   @((unsigned)&ADCON0*8)+4;
               bit   VCFG   @((unsigned)&ADCON0*8)+6;
               bit   ADFM   @((unsigned)&ADCON0*8)+7;
#endif

/* Definitions for OPTION register */
               bit   PS0   @((unsigned)&OPTION*8)+0;
               bit   PS1   @((unsigned)&OPTION*8)+1;
               bit   PS2   @((unsigned)&OPTION*8)+2;
               bit   PSA   @((unsigned)&OPTION*8)+3;
               bit   T0SE   @((unsigned)&OPTION*8)+4;
               bit   T0CS   @((unsigned)&OPTION*8)+5;
               bit   INTEDG   @((unsigned)&OPTION*8)+6;
               bit   RAPU   @((unsigned)&OPTION*8)+7;

/* Definitions for TRISA register */
volatile       bit   TRISA0   @((unsigned)&TRISA*8)+0;
volatile       bit   TRISA1   @((unsigned)&TRISA*8)+1;
volatile       bit   TRISA2   @((unsigned)&TRISA*8)+2;
volatile       bit   TRISA3   @((unsigned)&TRISA*8)+3;
volatile       bit   TRISA4   @((unsigned)&TRISA*8)+4;
volatile       bit   TRISA5   @((unsigned)&TRISA*8)+5;

/* Definitions for TRISC register */
volatile       bit   TRISC0   @((unsigned)&TRISC*8)+0;
volatile       bit   TRISC1   @((unsigned)&TRISC*8)+1;
volatile       bit   TRISC2   @((unsigned)&TRISC*8)+2;
volatile       bit   TRISC3   @((unsigned)&TRISC*8)+3;
volatile       bit   TRISC4   @((unsigned)&TRISC*8)+4;
volatile       bit   TRISC5   @((unsigned)&TRISC*8)+5;

/* Definitions for PIE1 register */
               bit   TMR1IE   @((unsigned)&PIE1*8)+0;
               bit   CMIE   @((unsigned)&PIE1*8)+3;
#if defined(_16F676)
               bit   ADIE   @((unsigned)&PIE1*8)+6;
#endif
               bit   EEIE   @((unsigned)&PIE1*8)+7;

/* Definitions for PCON register */
volatile       bit   BOR   @((unsigned)&PCON*8)+0;
volatile       bit   POR   @((unsigned)&PCON*8)+1;

/* Definitions for OSCCAL register */
               bit   CAL0   @((unsigned)&OSCCAL*8)+2;
               bit   CAL1   @((unsigned)&OSCCAL*8)+3;
               bit   CAL2   @((unsigned)&OSCCAL*8)+4;
               bit   CAL3   @((unsigned)&OSCCAL*8)+5;
               bit   CAL4   @((unsigned)&OSCCAL*8)+6;
               bit   CAL5   @((unsigned)&OSCCAL*8)+7;

#if defined(_16F676)
/* Definitions for ANSEL register */
               bit   ANS0   @((unsigned)&ANSEL*8)+0;
               bit   ANS1   @((unsigned)&ANSEL*8)+1;
               bit   ANS2   @((unsigned)&ANSEL*8)+2;
               bit   ANS3   @((unsigned)&ANSEL*8)+3;
               bit   ANS4   @((unsigned)&ANSEL*8)+4;
               bit   ANS5   @((unsigned)&ANSEL*8)+5;
               bit   ANS6   @((unsigned)&ANSEL*8)+6;
               bit   ANS7   @((unsigned)&ANSEL*8)+7;
#endif

/* Definitions for WPUA register */
               bit   WPUA0   @((unsigned)&WPUA*8)+0;
               bit   WPUA1   @((unsigned)&WPUA*8)+1;
               bit   WPUA2   @((unsigned)&WPUA*8)+2;
               bit   WPUA4   @((unsigned)&WPUA*8)+4;
               bit   WPUA5   @((unsigned)&WPUA*8)+5;

/* Definitions for IOCA register */
               bit   IOCA0   @((unsigned)&IOCA*8)+0;
               bit   IOCA1   @((unsigned)&IOCA*8)+1;
               bit   IOCA2   @((unsigned)&IOCA*8)+2;
               bit   IOCA3   @((unsigned)&IOCA*8)+3;
               bit   IOCA4   @((unsigned)&IOCA*8)+4;
               bit   IOCA5   @((unsigned)&IOCA*8)+5;

/* Definitions for VRCON register */
               bit   VR0   @((unsigned)&VRCON*8)+0;
               bit   VR1   @((unsigned)&VRCON*8)+1;
               bit   VR2   @((unsigned)&VRCON*8)+2;
               bit   VR3   @((unsigned)&VRCON*8)+3;
               bit   VRR   @((unsigned)&VRCON*8)+5;
               bit   VREN   @((unsigned)&VRCON*8)+7;

/* Definitions for EECON1 register */
volatile       bit   RD   @((unsigned)&EECON1*8)+0;
volatile       bit   WR   @((unsigned)&EECON1*8)+1;
volatile       bit   WREN   @((unsigned)&EECON1*8)+2;
volatile       bit   WRERR   @((unsigned)&EECON1*8)+3;

#if defined(_16F676)
/* Definitions for ADCON1 register */
               bit   ADCS0   @((unsigned)&ADCON1*8)+4;
               bit   ADCS1   @((unsigned)&ADCON1*8)+5;
               bit   ADCS2   @((unsigned)&ADCON1*8)+6;
#endif

extern unsigned char __osccal_val(void);
#define   _READ_OSCCAL_DATA()   __osccal_val()

#define CONFIG_ADDR   0x2007
// Configuration Mask Definitions
// bandgap calibration
#define BGHIGH      0x3FFF   // highest bandgap voltage
#define BGLOW      0x0FFF   // lowest bandgap volatage
// data code protection
#define CPD      0x3EFF   // protect data memory
#define UNPROTECT   0x3FFF   // do not protect memory
// code protection
#define CPROTECT   0x3F7F   // protect program memory
// brown-out detect enable
#define BOREN      0x3FFF   // brown-out reset enabled
#define BORDIS      0x3FBF   // brown-out reset disabled
// RA3/MCLR pin function select
#define MCLREN      0x3FFF   // MCLR pin function enabled
#define MCLRDIS      0x3FDF   // MCLR pin function disabled
// power-up timer enable
#define PWRTEN      0x3FEF   // power-up timer enabled
#define PWRTDIS      0x3FFF   // power-up timer disabled
// watchdog timer enable
#define WDTEN      0x3FFF   // watchdog timer enabled
#define WDTDIS      0x3FF7   // watchdog timer disabled
// oscillator selection
#define RCCLKO      0x3FFF   // RC osc, RA4 pin is CLKOUT
#define RCIO      0x3FFE   // RC osc, RA4 pin is IO
#define INTOSCCLKO   0x3FFD   // INTOSC, RA4 pin is CLKOUT
#define INTOSCIO   0x3FFC   // INTOSC, RA4 pin is IO
#define EC      0x3FFB   // external clock
#define HS      0x3FFA   // high speed XTAL/resonator
#define XT      0x3FF9   // XTAL/resonator
#define LP      0x3FF8   // low power XTAL/resonator

#endif


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC16F676 Header file for HI-TECH compilier
СообщениеДобавлено: 01 июн 2010, 18:12 
Только пришел

Зарегистрирован: 13 май 2010, 14:37
Сообщения: 27
О, спасибо огромное!!! Я набрал PIC16F676, прикручивал к ним MRF49 и как оказалось к нему нет заголовочного файла. Оказывается есть.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB