Iar Embedded Workbench For 8051 -
#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
#pragma location = "MY_SEGMENT" __xdata int my_var; // Interrupt service routine #pragma vector = 0x23 // UART interrupt vector (address 0x23) __interrupt void uart_isr(void) // no prologue/epilogue overhead if __irq iar embedded workbench for 8051
// Device-specific for AT89S52 #define F_CPU 11059200UL #endif #include "device
// Banking support #pragma bank=1 void far_function(void) __banked; 5.1 Project Structure my_project/ βββ src/ β βββ main.c β βββ uart.c β βββ timer.c β βββ isr.c βββ inc/ β βββ device.h β βββ uart.h βββ iar/ β βββ my_project.ewp (project file) β βββ my_project.eww (workspace) β βββ settings/ βββ output/ βββ exe/ βββ obj/ 5.2 Device Header Example (device.h) #ifndef DEVICE_H #define DEVICE_H #include <io8051.h> iar embedded workbench for 8051