MPLab C18 Hex File Creating

Status
Not open for further replies.

nicoise

Newbie level 5
Joined
Jul 31, 2012
Messages
9
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,339
May someone create a HEX file for my PIC18F452 with this codes? i will be grateful

Code:
//ALI EMRE MENTES//
#include <p18f452.h>
#pragma config OSC = XT, PWRT = ON, WDT = OFF, LVP = OFF, DEBUG = OFF
#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF, CPB = OFF, CPD = OFF
#pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF, WRTB = OFF,WRTC = OFF, WRTD = OFF
#pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF, EBTRB = OFF
void bekle(void)    //BEKLEME FONKSİYONU TANIMLANDI
{
unsigned int m,n;   //DÖNGÜNÜN DEĞİŞKENLERİ TANIMLANDI
for(m=0; m<300; m++)   //İÇ İÇE DÖNGÜ OLUŞTURARAK BEKLEME ZAMANI AYARLANDI
for(n=0; n<100; n++); { };
}
void main(void)   //MAİN FONKSİYONU TANIMLANDI
{
int i,j,l;   //İLERİDEKİ DÖNGÜLERDE KULLANILACAK DEĞİŞKENLER TANIMLANDI
i=0;      //DEĞİŞKENLER SIFIRA EŞİTLENDİ
j=0;
l=0;
TRISB=0x00;   //PORTLAR GİRİŞ VE ÇIKIŞ OLARAK AYARLANDI
TRISC=0XFF;
TRISE=0X00;
PORTC=0X00;   //PORTLAR SIFIRLANDI
PORTB=0X00;
PORTE=0X00;
while(1)   //SONSUZ DÖNGÜ OLUŞTURULDU
{
if(PORTCbits.RC0==1)   //1. BUTONA BASILINCA
{
i=i+1;               //İ'Yİ 1 ARTIR
while(PORTCbits.RC0)   //1. BUTANA BASILIP ÇEKİLENE KADAR BEKLEMESİ SAĞLANIYOR
bekle();            //BEKLEME FONKSİYONU ÇAĞRILIYOR
if(i==3)            //EĞER BUTONA 3 KEZ BASILMIŞSA YANİ İ=3 İSE AŞAĞIDAKİ FONKSİYONLARI ÇALIŞTIR
{
PORTB=0;            //B PORTUNU SIFIRLA
PORTB=0X01;            //B PORTUNUN SADECE 1. PİNİNİ YAK
i=0;               //İ'Yİ SIFIRLA
}
}

while(PORTCbits.RC1)   //2. BUTONA BASILDIĞIN AŞAĞIDAKİ KOMUTLARI ÇALIŞTIR
{      
PORTB=0;            //B PORTUNU SIFIRLA
PORTB=0X01;            //B PORTUNUN 1. PİNİNİ 1 YAP
bekle();            
PORTB=0X03;            //B PORTUNUN İLK 2 PİNİNİ 1 YAP
bekle();
PORTB=0X07;            //B PORTUNUN İLK 3 PİNİNİ 1 YAP
bekle();
PORTB=0X0F;            //B PORTUNUN İLK 4 PİNİNİ 1 YAP
bekle();
PORTB=0X1F;            //B PORTUNUN İLK 5 PİNİNİ 1 YAP
bekle();
PORTB=0X3F;            //B PORTUNUN İLK 6 PİNİNİ 1 YAP
bekle();
PORTB=0X7F;            //B PORTUNUN İLK 7 PİNİNİ 1 YAP
bekle();
PORTB=0XFF;            //B PORTUNUN BÜTÜN PİNİNİ 1 YAP
bekle();
}

while(PORTCbits.RC2)   //3. BUTONA BASILDIĞIN AŞAĞIDAKİ KOMUTLARI ÇALIŞTIR
{                  //BİR ÖNCEKİ WHİLE DÖNGÜSÜNÜN TERS ŞEKLİ HALİNDE ÇALIŞMASI
PORTB=0;
PORTB=0X80;
bekle();
PORTB=0XC0;
bekle();
PORTB=0XE0;
bekle();
PORTB=0XF0;
bekle();
PORTB=0XF8;
bekle();
PORTB=0XFC;
bekle();
PORTB=0XFE;
bekle();
PORTB=0XFF;
bekle();
}

while(PORTCbits.RC3)   //4. BUTONA BASILDIĞIN AŞAĞIDAKİ KOMUTLARI ÇALIŞTIR
{
PORTB=0;            //B PORTU SIFIRLANDI
for(j=0; j<256; j++)   //FOR DÖNGÜSÜ İLE J DEĞİŞKENİ 0 DAN 255 KADAR 1 ARTIRARAK SAYIYOR
{
PORTB=j;            //J DEĞİŞKENİ PORTB'YE ATANARAK J NİN 2 LİK TABANDAKİ DEĞERLERİNİ PİNLERE ATANIYOR
bekle();
}
}

while(PORTCbits.RC4)   //5. BUTONA BASILDIĞIN AŞAĞIDAKİ KOMUTLARI ÇALIŞTIR
{
PORTB=0;
PORTB=0X55;            //B PORTUNUN ÇİFT PİNLERİ 1 YAPILARAK TEK NUMARALI LEDLER YAKILDI
bekle();
}

while(PORTCbits.RC5)   //6. BUTONA BASILDIĞIN AŞAĞIDAKİ KOMUTLARI ÇALIŞTIR
{
PORTB=0;
PORTB=0XAA;            //B PORTUNUN TEK PİNLERİ 1 YAPILARAK ÇİFT NUMARALI LEDLER YAKILDI
bekle();
}

while(PORTCbits.RC6)   //7. BUTONA BASILDIĞIN AŞAĞIDAKİ KOMUTLARI ÇALIŞTIR
{
bekle();
l=l+1;               //L DEĞİŞKENİNİ 1 ARTIR
if(l==1)            //L=1 İSE İF DÖNGÜSÜNE GİR
{
PORTB=0x01;            //PORTB NİN 1. PİNİNİ YAK
while(PORTCbits.RC6)   //BUTONA BASILIP L=1 OLDUKTAN SONRA HALA BUTONA BASILIYSA BEKLEMEYİ SAĞLIYOR 
bekle();
}                  //AŞAĞIDAKİ KOMUTLARDA AYNI MANTIKLA ÇALIŞIYOR
if(l==2)
{
PORTB=0x02;
while(PORTCbits.RC6)
bekle();
}
if(l==3)
{
PORTB=0x04;
while(PORTCbits.RC6)
bekle();
}
if(l==4)
{
PORTB=0x08;
while(PORTCbits.RC6)
bekle();
}
if(l==5)
{
PORTB=0x10;
while(PORTCbits.RC6)
bekle();
}
if(l==6)
{
PORTB=0x20;
while(PORTCbits.RC6)
bekle();
}
if(l==7)
{
PORTB=0x40;
while(PORTCbits.RC6)
bekle();
}
if(l==8)
{
PORTB=0x80;
while(PORTCbits.RC6)
bekle();
}
if(l==8)
l=0;               //L DEĞİŞKENİ 0 YAPILARAK DÖNGÜNÜN TEKRAR ÇAILŞMASINA OLANAK SAĞLANIYOR
}

while(PORTCbits.RC7)   //8. BUTONA BASILDIĞIN AŞAĞIDAKİ KOMUTLARI ÇALIŞTIR
{
PORTB=0;            //PORTB Yİ SIFIRLA
PORTEbits.RE1=1;      //E PORTUNUN 1.PİNİNİ 1 YAP VE BUZZERİN ÇALIŞMASINI SAĞLA
bekle();
}
PORTEbits.RE1=0;      //E PORTUNUN 1. PİNİNİ 0 YAP
}
}
//ALI EMRE MENTES//
 

hello


I get an error of compile

Code:
while(PORTCbits.RC6)   //7. BUTONA BASILDIGIN AªAGIDAKI KOMUTLARI ÇALIªTIR
{
 bekle();
 l=l+1;               //L DEGIªKENINI 1 ARTIR
 if(l==1)            //L=1 ISE IF DÖNGÜSÜNE GIR
 {
 PORTB=0x01;            //PORTB NIN 1. PININI YAK
  //BUTONA BASILIP L=1 OLDUKTAN SONRA HALA BUTONA BASILIYSA BEKLEMEYI SAGLIYOR 
 while(PORTCbits.RC6)   bekle();
 }                  //AªAGIDAKI KOMUTLARDA AYNI MANTIKLA ÇALIªIYOR

so,i moved the comment before bekle();
maybe because while not linked to..if comment between ?

result of compiling

Code:
----------------------------------------------------------------------
Release build of project `C:\_C18\_MesProjets_C18\18Fxxxx_to_Test\18F452_test.mcp' started.
Language tool versions: mpasmwin.exe v5.47, mplink.exe v4.45, mcc18.exe v3.44, mplib.exe v4.45
Tue Mar 12 17:26:08 2013
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\mplabc18\bin\mcc18.exe" -p=18F452 /i"C:\Program Files\Microchip\mplabc18\h" "18f452_test.c" -fo="C:\_C18\_MesProjets_C18\18Fxxxx_to_Test\18f452_test.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: "C:\Program Files\Microchip\mplabc18\bin\mplink.exe" /p18F452 /l"C:\Program Files\Microchip\mplabc18\lib" /k"C:\Program Files\Microchip\mplabc18\bin\LKR" "18f452_test.o" /u_CRUNTIME /z__MPLAB_BUILD=1 /o"C:\_C18\_MesProjets_C18\18Fxxxx_to_Test\18F452_test.cof" /M"C:\_C18\_MesProjets_C18\18Fxxxx_to_Test\18F452_test.map" /W
MPLINK 4.45, Linker
Device Database Version 1.10
Copyright (c) 1998-2011 Microchip Technology Inc.
Errors    : 0
MP2HEX 4.45, COFF to HEX File Converter
Copyright (c) 1998-2011 Microchip Technology Inc.
Errors    : 0
Loaded C:\_C18\_MesProjets_C18\18Fxxxx_to_Test\18F452_test.cof.
----------------------------------------------------------------------
Release build of project `C:\_C18\_MesProjets_C18\18Fxxxx_to_Test\18F452_test.mcp' succeeded.
Language tool versions: mpasmwin.exe v5.47, mplink.exe v4.45, mcc18.exe v3.44, mplib.exe v4.45
Tue Mar 12 17:26:10 2013
----------------------------------------------------------------------
BUILD SUCCEEDED


hex attached is obtained by Export ( wich include bits configuration) and usable directly by Pickit3 or ...

Please, in return, explain what does this program ..
 

Attachments

  • 18F452_test.zip
    14.1 KB · Views: 94
Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…