Em hi-tech não se define o pic usado dessa maneira!!!
O PIC correto é identicado na hora de compilar na linha de comandos ou no projeto dentro do MPLAB.
E não precisa mais do
#include <pic.h> para as versões mais novas do compilador hi-tech c.
E para funcionar na placa, tem que usar um resistor de 10k do VCC para o pino MRCLR do PIC e também o cristal.
Código Hi-tech c
- Código: Selecionar todos
#include <htc.h>
__CONFIG ( FOSC_HS & WDTE_OFF & PWRTE_OFF & BOREN_OFF & LVP_OFF );
#define _XTAL_FREQ 20000000
void main()
{
TRISD = 0;
PORTD = 0;
while(1)
{
RD7=1;
__delay_ms(500);
RD7=0;
__delay_ms(500);
}
}
E o cristal até 4MHz é usado o fuse XT, se for maior, utilize o fuse HS!!!
Codigo CCS C
- Código: Selecionar todos
#include <16F877A.h>
#fuses HS, NOWDT, NOPUT, NOBROWNOUT, NOLVP
#use delay(crystal=20000000)
void main()
{
SET_TRIS_D(0x00);
OUTPUT_D(0x00);
while(TRUE)
{
output_high(PIN_D7);
delay_ms(500);
output_low(PIN_D7);
delay_ms(500);
}
}
Agora sim temos dois códigos iguais... funcionando da mesma forma.
Codigo MikroC:
- Código: Selecionar todos
void main()
{
TRISD = 0;
PORTD = 0;
while(1)
{
PORTD.F7=1;
delay_ms(500);
PORTD.F7=0;
delay_ms(500);
}
}
Para definir os fuses, utilize
CTRL +
SHIFT +
E ou menu Project / Edit Project.
Os códigos HEX tiveram diferenças, mas todos funcionaram normalmente.
Hitech PRO 8.93 (código otimizado):
- Código: Selecionar todos
:060000000A128A11D72F3D
:100FAE0083010A128A11DB2F8316880183128801AE
:100FBE00831203130D308817F200AF30F100C130E9
:100FCE00F000F00BE82FF10BE82FF20BE82F640086
:100FDE00831203130D308813F200AF30F100C130CD
:100FEE00F000F00BF82FF10BF82FF20BF82F640036
:020FFE00DF2FE3
:02400E003AFF77
:00000001FF
CCS C Compiler 5.025 (PCWHD):
- Código: Selecionar todos
:1000000000308A0018280000223084008313000882
:10001000031917280630F800F701F70B0D28F80B25
:100020000C287B30F700F70B1328800B0A280800F8
:1000300003081F39830083161F149F141F159F1177
:1000400007309C00831300308800880183128801E8
:1000500083168813831288170230A100FA30A20099
:100060000420A10B2E2883168813831288130230D4
:10007000A100FA30A2000420A10B3928282863002F
:02400E003A3F37
:00000001FF
;PIC16F877A
;CRC=7C7F CREATED="13-jan-15 21:54"
mikroC PRO for PIC 6.5.0
- Código: Selecionar todos
:020000001628C0
:0E0006008312031321088A00200882000800DC
:1000140003208A110A128000840AA00A0319A10A83
:08002400F003031D0A28080087
:10002C008316031388018312880188170D30FB0097
:10003C00AF30FC00B630FD00FD0B2228FC0B222853
:10004C00FB0B2228000088130D30FB00AF30FC00A6
:10005C00B630FD00FD0B3028FC0B3028FB0B302894
:06006C0000001B283828EB
:02400E000A2F77
:00000001FF
Flw...