Menu

need help

Help
notanerd
2016-01-26
2016-02-10
  • notanerd

    notanerd - 2016-01-26

    Hi,

    can you translate for me this program for sdcc (from keil)

    Regards

    / Variablen-Deklaration (sbit = Bit im "special function register") /
    sbit LED1 = P1^0; / Bit 0 von Port P1 /
    sbit Taste1 = P0^0; / Bit 0 von Port P0 /
    / Hauptprogramm /
    void main(void)
    {
    while (1) / Endlosschleife /
    {
    LED1 = Taste1; / LED1 = 0, wenn Taste1 = 0 /
    }
    }

     
  • Frieder Ferlemann

    Hi,

    note, Keil uses a different syntax to define SFR and sbits. Maybe also check chapter 6.1 "Porting code from or to other compilers".

    #include <8051.h>
    
    #define Taste1 P0_0 /* Bit 0 von Port P0: __sbit __at (0x80) P0_0 */
    #define LED1   P1_0 /* Bit 0 von Port P1 */
    /* Hauptprogramm */
    void main(void)
    {
        while (1)
        {
            LED1 = Taste1; /* LED1 = 0, wenn Taste1 = 0 */
        }
    }
    

    compiles to

          000062                        312 _main:
                                        321 ;   p00_to_p10.c:8: while (1)
          000062                        322 00102$:
                                        323 ;   p00_to_p10.c:10: LED1 = Taste1; /* LED1 = 0, wenn Taste1 = 0 */
          000062 A2 80            [12]  324     mov c,_P0_0
          000064 92 90            [24]  325     mov _P1_0,c
          000066 80 FA            [24]  326     sjmp    00102$
    
     

Log in to post a comment.