This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

T89C51RD2

Can I compile C-code for the TEMIX (now ATMEL) T89C51RD2 micro using the old "C51 Professional Developers Kit Version 5.1" ?
Is it sufficient to use the include file REG51RX2.H available on the website or do I need to upgrade the compiler itself?

Parents
  • Yes. You don't even need the header file to use all the peripherals of any 8051. Just define the sfr's and sbit's in your C files that you use. Here's an example from one of my C files:

    //   Functional Name       Addr            Hardware Name
    sfr  r_datBus            = 0x80;        // P0
    
    sfr  r_cmdBus            = 0xA0;        // P2 (lower 4 bits)
    sbit r_cmd0              = r_port2 ^ 0; // P2.0
    sbit r_cmd1              = r_port2 ^ 1; // P2.1
    sbit r_cmd2              = r_port2 ^ 2; // P2.2
    sbit r_cmd3              = r_port2 ^ 3; // P2.3
    //   GAP                                   P2.4 & P2.5
    sbit r_req_              = r_port2 ^ 6; // P2.6
    sbit r_ack_              = r_port2 ^ 7; // P2.7
    
    sbit r_enableTiIntr      = r_ie    ^ 0; // IE.EX0
    sbit r_TiIntr            = r_tcon  ^ 1; // TCON.IE0
    sbit r_negEdge0          = r_tcon  ^ 0; // TCON.IT0
    
    I don't ever include regXXX.h, don't need them. The only thing you won't get from an older compiler is support for dual-data pointers and things of that nature if they have been recently added to the new compiler.

    - Mark

Reply
  • Yes. You don't even need the header file to use all the peripherals of any 8051. Just define the sfr's and sbit's in your C files that you use. Here's an example from one of my C files:

    //   Functional Name       Addr            Hardware Name
    sfr  r_datBus            = 0x80;        // P0
    
    sfr  r_cmdBus            = 0xA0;        // P2 (lower 4 bits)
    sbit r_cmd0              = r_port2 ^ 0; // P2.0
    sbit r_cmd1              = r_port2 ^ 1; // P2.1
    sbit r_cmd2              = r_port2 ^ 2; // P2.2
    sbit r_cmd3              = r_port2 ^ 3; // P2.3
    //   GAP                                   P2.4 & P2.5
    sbit r_req_              = r_port2 ^ 6; // P2.6
    sbit r_ack_              = r_port2 ^ 7; // P2.7
    
    sbit r_enableTiIntr      = r_ie    ^ 0; // IE.EX0
    sbit r_TiIntr            = r_tcon  ^ 1; // TCON.IE0
    sbit r_negEdge0          = r_tcon  ^ 0; // TCON.IT0
    
    I don't ever include regXXX.h, don't need them. The only thing you won't get from an older compiler is support for dual-data pointers and things of that nature if they have been recently added to the new compiler.

    - Mark

Children
No data