MEMORY PARTITIONS

5.3.2.4Unsupported Locations Windowing Example (8XC196NP Only)

Assume that you wish to access location 1FE7H (the EP_PIN register, a memory-mapped SFR) with direct addressing through a 128-byte window. This location is in the range of addresses (1FE0–1FFFH) that cannot be windowed. Although you could set up the window by writing 1FH to the WSR, reading this location through the window would return FFH (all ones) and writing to it would not change the contents. However, you could directly address the remaining SFRs in the range of 1F80–1FDFH.

5.3.2.5Using the Linker Locator to Set Up a Window

In this example, the linker locator is used to set up a window. The linker locator locates the win- dow in the upper register file and determines the value to load in the WSR for access to that win- dow. (Please consult the manual provided with the linker locator for details.)

*********

 

mod1

**************

mod1

module main

 

;Main module for linker

public function1

 

 

extrn

?WSR

 

;Must declare ?WSR as external

wsr

equ

 

14h:byte

 

sp

equ

 

18h:word

 

oseg

 

 

 

 

 

 

var1:

dsw

1

;Allocate variables in an overlayable segment

 

var2:

dsw

1

 

 

var3:

dsw

1

 

cseg

 

 

 

 

 

function1:

 

 

 

 

push

 

wsr

 

;Prolog code for wsr

 

ldb

 

wsr, #?WSR

;Prolog code for wsr

 

add

var1, var2, var3

;Use the variables as registers

 

;

 

 

 

 

 

;

 

 

 

 

 

;

 

 

 

 

 

ldb

 

wsr, [sp]

;Epilog code for wsr

 

add

sp, #2

 

;Epilog code for wsr

 

ret

 

 

 

 

end

 

 

 

 

 

********

 

mod2

**************

5-19

Page 92
Image 92
Intel Microcontroller Unsupported Locations Windowing Example 8XC196NP Only, Using the Linker Locator to Set Up a Window

Microcontroller, 80C196NU, 8XC196NP specifications

The Intel 8XC196NP and 80C196NU microcontrollers are part of Intel's renowned 16-bit microcontroller series that gained popularity in the 1980s and 1990s for embedded systems applications. Designed for a variety of applications, these microcontrollers are characterized by their robust performance, versatility, and industry-standard architecture.

The 8XC196NP features an enhanced instruction set with over 100 instructions, allowing for efficient code execution. It operates at clock speeds up to 16 MHz, which contributes to improved performance in time-sensitive applications. The microcontroller is equipped with a 16-bit data bus, enabling more efficient data handling compared to its 8-bit predecessors, thus accommodating complex algorithms and large data sets.

In terms of memory architecture, the 8XC196NP supports an addressable memory space of up to 64 KB of program memory and 64 KB of data memory. This configuration provides sufficient space for large applications while ensuring fast data access. The microcontroller includes integrated features such as timers, serial I/O capabilities, and interrupt processing, which enhance its functionality for real-time applications and control mechanisms.

The 80C196NU, on the other hand, is designed for lower power operation, making it suitable for battery-powered devices. This microcontroller maintains similar features to the 8XC196NP while offering advancements that support low-power consumption. The 80C196NU can also function in a range of temperature environments, making it adaptable for industrial applications.

Both the 8XC196NP and 80C196NU support external memory interfacing, allowing designers to expand the system's capability by connecting additional ROM and RAM. This flexibility makes them appealing for developing complex systems, such as motor controls, industrial automation, and consumer electronics.

Another standout feature of these microcontrollers is their built-in debugging capabilities. Intel provided hardware and software tools that enabled developers to test and troubleshoot their applications effectively, reducing the development time and increasing reliability.

Overall, the Intel 8XC196NP and 80C196NU microcontrollers stand out for their dependability, versatility, and performance, contributing significantly to the evolution of embedded system design. Their legacy continues to influence modern microcontroller technology, ensuring their relevance in a wide array of applications today.