Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

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 :oops:

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: 84
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top