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.

How t generate the .hex ( hexadecimal) from Basecom-AVR IDE

Status
Not open for further replies.

Ravi Dutt

Newbie level 2
Joined
Aug 19, 2011
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
NEW DELHI
Activity points
1,291
Dear All
Please help me on this issue.
i am using the software -Basecom-AVR IDE & using the Atmel AT89S52 writing a program
i want to know how to generate the .hex (hexadecimal) from blow mention program
& where it save when we generate the file.

Regards....
Ravi Dutt



Code:
        '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'                      G R T I
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'                          Fire Panel 4 Zone
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

$large
$crystal = 12000000
'***************************************************************************
'                      Trip all output ports  to zeros
'***************************************************************************
Reset P2.0
Reset P2.1
Reset P2.2
Reset P2.3
Reset P3.0
Reset P3.1
Reset P3.7
'***************************************************************************
'                             LCD port configuration
'***************************************************************************
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7 = P1.7 , E = P3.4 , Rs = P3.2
'***************************************************************************
'***************************************************************************
'                        Configure input & output ports
'***************************************************************************
'***************************************************************************
Cfire Alias P3.0                                            ' Common Fire Output
Cfault Alias P3.1                                           ' Common Fault Output
Trsil Alias P3.5                                            ' Trouble Silence Input
Alsil Alias P3.6                                            ' Alarm Silence Input
Buz Alias P3.7                                              ' Buzzer Output
'***************************************************************************
'                       Inputs for Zones 1, 2 & 3
'***************************************************************************
F1 Alias P0.0                                               ' Zone-1 fire
O2 Alias P0.1                                               ' Zone-2 open
S1 Alias P0.2                                               ' Zone-1 short
S2 Alias P0.3                                               ' Zone-2 short
O1 Alias P0.4                                               ' Zone-1 open
F2 Alias P0.5                                               ' Zone-2 fire
F3 Alias P0.6                                               ' Zone-3 fire
S3 Alias P0.7                                               ' Zone-3 short
'***************************************************************************
'                       Outputs for hooters in Z1-4
'***************************************************************************
H1 Alias P2.0                                               ' Zone-1 hooter
H2 Alias P2.1                                               ' Zone-2 hooter
H3 Alias P2.2                                               ' Zone-3 hooter
H4 Alias P2.3                                               ' Zone-4 hooter
'***************************************************************************
'                       Inputs for Zones 3 & 4
'***************************************************************************
O4 Alias P2.4                                               ' Zone-4 open
F4 Alias P2.5                                               ' Zone-4 fire
O3 Alias P2.6                                               ' Zone-3 open
S4 Alias P2.7                                               ' Zone-4 short
'***************************************************************************
'***************************************************************************
'                       System variable declaration
'***************************************************************************
'***************************************************************************

Dim Message2 As String * 16 , Errorno As Byte ,             'Message1 As String * 16
Dim I As Byte , Fire1 As Bit

Dim Fire2 As Bit , Fire3 As Bit , Fire4 As Bit , Fault1 As Bit , Fault2 As Bit
Dim Fault3 As Bit , Fault4 As Bit , Firesil As Bit , Faultsil As Bit
Dim Sfault1 As Bit , Ofault1 As Bit , Sfault2 As Bit , Ofault2 As Bit
Dim Sfault3 As Bit , Ofault3 As Bit , Sfault4 As Bit , Ofault4 As Bit
Dim Firesil1 As Bit , Firesil2 As Bit , Firesil3 As Bit , Firesil4 As Bit
'***************************************************************************
'***************************************************************************
'                       System subroutine declarations
'***************************************************************************
'***************************************************************************
Declare Sub Lcd_disp()
Declare Sub Fire_alarm()
Declare Sub Chck_port()
Declare Sub Z1()
Declare Sub Z2()
Declare Sub Z3()
Declare Sub Z4()
Declare Sub Disp()
Declare Sub Trsil()
'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
'                          All variable initilization
'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fire1 = 1
Fire2 = 1
Fire3 = 1
Fire4 = 1
Fault1 = 1
Fault2 = 1
Fault3 = 1
Fault4 = 1
Firesil1 = 0
Firesil2 = 0
Firesil3 = 0
Firesil4 = 0
'***************************************************************************
'***************************************************************************
'                          System main program
'***************************************************************************
'***************************************************************************
   Waitms 200
   Cursor Off
   Cls
   Message1 = Lookupstr(4 , Msgidx)
   Message2 = Lookupstr(0 , Msgidx)
   Call Lcd_disp
   Do

      Call Chck_port
   Loop
   End
'***************************************************************************
'***************************************************************************
'                             System subroutines
'***************************************************************************
'***************************************************************************


'###########################################################################
'                             Zone 1 - 4 scanner
'###########################################################################
Sub Chck_port()
   Call Z1
   Waitms 200
   Call Z2
   Waitms 200
   Call Z3
   Waitms 200
   Call Z4
   Waitms 200
End Sub
'###########################################################################
'                             Alphanumeric Display
'###########################################################################
Sub Lcd_disp()
   Cls
   'Locate 1 , 1
   'Lcd Message1
   Locate 1 , 1
   Lcd Message2
   Waitms 300
End Sub
'###########################################################################
'                          Alarm for Fire Z 1-4
'###########################################################################
Sub Fire_alarm()
   For I = 1 To 3
      Set Buz
      Waitms 100
      Reset Buz
      Waitms 100
   Next
End Sub

Sub Trsil()
   If Trsil = 0 Then
      Reset Trsil
      Reset Buz
   Else
      Set Buz
   End If
End Sub

'###########################################################################
'                           System LCD display routine
'###########################################################################
    Sub Disp()
       If Fire1 = 0 Or Fire2 = 0 Or Fire3 = 0 Or Fire3 = 0 Or Fire4 = 0 Then
            Set Cfire
            Message1 = Lookupstr(4 , Msgidx)
            Call Lcd_disp
       Else
            Reset Cfire
            Set Alsil
            Firesil1 = 0
            Firesil2 = 0
            Firesil3 = 0
            Firesil4 = 0
            Reset H1
            Reset H2
            Reset H3
            Reset H4
            If Fault1 = 0 Or Fault2 = 0 Or Fault3 = 0 Or Fault4 = 0 Then
               Set Cfault
               Message1 = Lookupstr(4 , Msgidx)
               Call Lcd_disp
            Else
               Reset Cfault
               Set Trsil
               Reset Buz
               Message1 = Lookupstr(4 , Msgidx)
               Message2 = Lookupstr(0 , Msgidx)
               Call Lcd_disp
            End If
       End If
    End Sub
'###########################################################################
'                       System check I/O & act
'###########################################################################

    '***********************************************************************
    '                          Zone-1  status monitor
    '***********************************************************************
        Sub Z1()
           Errorno = 1
           If F1 = 0 Then
               If Alsil = 0 And Fire1 <> 0 Then
                     Set Alsil
                  End If
               Message2 = Lookupstr(1 , Msgidx)
               Message2 = Message2 + Str(errorno)
               If Fire1 = 1 Then
                  If Alsil = 1 And Firesil1 = 0 Then
                     Fire1 = 0
                     Set H1
                     Call Fire_alarm
                  End If
               Else
                  If Alsil = 0 And Firesil1 = 0 Then
                     Reset Alsil
                     Reset H1
                     Firesil1 = 1
                     'Fire1 = 1
                  End If

                  If Firesil1 = 0 Then
                     Fire1 = 0
                     Set H1
                     Call Fire_alarm
                  End If
               End If
           Else
            Fire1 = 1
            Firesil1 = 0
            Reset H1
            If S1 = 0 Then
               If Trsil = 0 And Sfault1 <> 0 Then
                  Set Trsil
               End If
               Fault1 = 0
               Sfault1 = 0
               Message2 = Lookupstr(3 , Msgidx)
               Message2 = Message2 + Str(errorno)
               If Sfault1 = 0 Then
                  Call Trsil
               End If
            Else
               Fault1 = 1
               Sfault1 = 1
               If O1 = 0 Then
                  If Trsil = 0 And Ofault1 <> 0 Then
                     Set Trsil
                  End If
                  Fault1 = 0
                  Ofault1 = 0
                  Message2 = Lookupstr(2 , Msgidx)
                  Message2 = Message2 + Str(errorno)
                  If Ofault1 = 0 Then
                     Call Trsil
                  End If
                  Call Disp
               Else
                  Fault1 = 1
                  Ofault1 = 1
               End If
            End If
           End If
           Call Disp
        End Sub
    '***********************************************************************
    '                          Zone-2  status monitor
    '***********************************************************************
       Sub Z2()
         Errorno = 2
           If F2 = 0 Then
               If Alsil = 0 And Fire2 <> 0 Then
                     Set Alsil
               End If
               Message2 = Lookupstr(1 , Msgidx)
               Message2 = Message2 + Str(errorno)
               If Fire2 = 1 Then
                  If Alsil = 1 And Firesil2 = 0 Then
                     Fire2 = 0
                     Set H2
                     Call Fire_alarm
                  End If

               Else
                  If Alsil = 0 And Firesil2 = 0 Then
                     Reset Alsil
                     Reset H2
                     Firesil2 = 1
                  End If

                  If Firesil2 = 0 Then
                     Fire2 = 0
                     Set H2
                     Call Fire_alarm
                  End If
               End If
           Else
            Fire2 = 1
            Firesil2 = 0
            Reset H2
            If S2 = 0 Then
               If Trsil = 0 And Sfault2 <> 0 Then
                  Set Trsil
               End If
               Fault2 = 0
               Sfault2 = 0
               Message2 = Lookupstr(3 , Msgidx)
               Message2 = Message2 + Str(errorno)
               If Sfault2 = 0 Then
                  Call Trsil
               End If
            Else
               Fault2 = 1
               Sfault2 = 1
               If O2 = 0 Then
                  If Trsil = 0 And Ofault2 <> 0 Then
                     Set Trsil
                  End If
                  Fault2 = 0
                  Ofault2 = 0
                  Message2 = Lookupstr(2 , Msgidx)
                  Message2 = Message2 + Str(errorno)
                  If Ofault2 = 0 Then
                     Call Trsil
                  End If
               Else
                  Fault2 = 1
                  Ofault2 = 1
                  Call Disp
               End If
            End If
           End If
           Call Disp
       End Sub

    '***********************************************************************
    '                          Zone-3 Alarm status monitor
    '***********************************************************************
       Sub Z3()
         Errorno = 3
         If F3 = 0 Then
            If Alsil = 0 And Fire3 <> 0 Then
                     Set Alsil
               End If
               Message2 = Lookupstr(1 , Msgidx)
               Message2 = Message2 + Str(errorno)
               If Fire3 = 1 Then
                  If Alsil = 1 And Firesil3 = 0 Then
                     Fire3 = 0
                     Set H3
                     Call Fire_alarm
                  End If
               Else
                  If Alsil = 0 And Firesil3 = 0 Then
                     Reset Alsil
                     Reset H3
                     Firesil3 = 1
                  End If
                  If Firesil3 = 0 Then
                     Fire3 = 0
                     Set H3
                     Call Fire_alarm
                  End If
               End If
         Else
            Fire3 = 1
            Firesil3 = 0
            Reset H3
            If S3 = 0 Then
               If Trsil = 0 And Sfault3 <> 0 Then
                  Set Trsil
               End If
               Fault3 = 0
               Sfault3 = 0
               Message2 = Lookupstr(3 , Msgidx)
               Message2 = Message2 + Str(errorno)
               If Sfault3 = 0 Then
                  Call Trsil
               End If
            Else
               Fault3 = 1
               Sfault3 = 1
               If O3 = 0 Then
                  If Trsil = 0 And Ofault3 <> 0 Then
                     Set Trsil
                  End If
                  Fault3 = 0
                  Ofault3 = 0
                  Message2 = Lookupstr(2 , Msgidx)
                  Message2 = Message2 + Str(errorno)
                  If Ofault3 = 0 Then
                     Call Trsil
                  End If
               Else
                  Fault3 = 1
                  Ofault3 = 1
                  Call Disp
               End If
            End If
           End If
           Call Disp
       End Sub

    '***********************************************************************
    '                          Zone-4 Alarm status monitor
    '***********************************************************************
       Sub Z4()
         Errorno = 4
         If F4 = 0 Then
            If Alsil = 0 And Fire4 <> 0 Then
                     Set Alsil
               End If
               Message2 = Lookupstr(1 , Msgidx)
               Message2 = Message2 + Str(errorno)
               If Fire4 = 1 Then
                  If Alsil = 1 And Firesil4 = 0 Then
                     Fire4 = 0
                     Set H4
                     Call Fire_alarm
                  End If
               Else
                  If Alsil = 0 And Firesil4 = 0 Then
                     Reset Alsil
                     Reset H4
                     Firesil4 = 1
                  End If
                  If Firesil4 = 0 Then
                     Fire4 = 0
                     Set H4
                     Call Fire_alarm
                  End If
               End If
         Else
            Fire4 = 1
            Firesil4 = 0
            Reset H4
            If S4 = 0 Then
               If Trsil = 0 And Sfault4 <> 0 Then
                  Set Trsil
               End If
               Fault4 = 0
               Sfault4 = 0
               Message2 = Lookupstr(3 , Msgidx)
               Message2 = Message2 + Str(errorno)
               If Sfault4 = 0 Then
                  Call Trsil
               End If
            Else
               Fault4 = 1
               Sfault4 = 1
               If O4 = 0 Then
                  If Trsil = 0 And Ofault4 <> 0 Then
                     Set Trsil
                  End If
                  Fault4 = 0
                  Ofault4 = 0
                  Message2 = Lookupstr(2 , Msgidx)
                  Message2 = Message2 + Str(errorno)
                  If Ofault4 = 0 Then
                     Call Trsil
                  End If
               Else
                  Fault4 = 1
                  Ofault4 = 1
                  Call Disp
               End If
            End If
           End If
           Call Disp
      End Sub

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'                       System LCD Message table
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Msgidx:
Data " SYSTEM NORMAL  " , " F IN ZONE " , " O IN ZONE " , " S IN ZONE "
Data "F A P"
 
Last edited by a moderator:

Hi,

To generate the HEX file, you will need to set the compiler options to do so, then compile your program. The resulting HEX file will be saved in your project directory by default.

Here is the user manual:

Bascom-AVR Manual

Reference the "Program Compile" section for complete details.

BigDog
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top