Iar Embedded Workbench For 8051 ~upd~ [WORKING]

#endif #include "device.h" #include "uart.h" __xdata u16 adc_values[100]; // stored in external RAM __data u8 led_counter = 0; // fast access in internal RAM

// Device-specific for AT89S52 #define F_CPU 11059200UL iar embedded workbench for 8051

void delay_ms(u16 ms) u16 i, j; for(i = 0; i < ms; i++) for(j = 0; j < 120; j++); // approx 1ms @ 11.0592 MHz #endif #include "device

// UART receive interrupt #pragma vector = 4 // UART interrupt (address 0x0023) __interrupt void uart_isr(void) if(RI) char c = SBUF; RI = 0; uart_putchar(c); // echo back // process received char for(i = 0

uart_init(9600); // baud rate

// Segment placement -Z(CODE) CSEG, CONST, INTVEC=CODE_START-CODE_END -Z(DATA) DATA, CSTACK, IRQ_STACK=DATA_START-DATA_END -Z(IDATA) IDATA=IDATA_START-IDATA_END -Z(XDATA) XDATA=XDATA_START-XDATA_END # Compile icc8051.exe src\main.c ^ -o output\obj\main.r51 ^ --cpu=8051 ^ --memory_model=large ^ --debug ^ -I.\inc ^ -D F_CPU=11059200 Link xlink.exe output\obj\main.r51 ^ -f iar\my_project.xcl ^ -o output\exe\my_project.hex ^ -F intel-extended ^ -rt lib\cl.r51 Generate debug info ielftool.exe output\exe\my_project.hex output\exe\my_project.sim -S 8. Debugging with C-SPY C-SPY supports multiple drivers: