Philips Semiconductors

 

 

 

 

User’s Manual - Preliminary -

 

 

 

 

 

 

FLASH PROGRAM MEMORY

P89LPC901/902/903

 

 

r

 

 

 

 

 

 

 

 

;*

Inputs:

data

to write(byte)

 

*

 

 

;*

R5 =

 

*

 

 

;*

R7 = element address(byte)

 

*

 

 

;*

Outputs:

 

 

 

*

 

 

;*

None

 

 

 

 

*

 

 

CONF EQU

6CH

 

 

 

 

 

 

WR_ELEM:

FMADRL,R7

;write the address

 

 

 

MOV

 

 

 

MOV

FMCON,#CONF

;load CONF command

 

 

 

MOV

FMDAT,R5

;write

the data

 

 

 

 

MOV

R7,FMCON

;copy status for return

 

 

 

MOV

A,R7

 

;read status

 

 

 

 

ANL

A,#0FH

;save only four lower bits

 

 

 

JNZ

BAD

 

;see if good or bad

 

 

 

CLR

C

 

;clear error flag if good

 

 

 

RET

 

 

;and return

 

 

 

BAD:

C

 

;set error flag if bad

 

 

 

SETB

 

 

 

 

RET

 

 

;and return

 

 

 

 

 

 

 

 

 

 

Figure 14-4: Assembly language routine to erase/program a flash element

 

 

 

 

 

 

 

 

unsigned char

Fm_stat;

 

// status result

 

 

bit PGM_EL (unsigned char, unsigned char);

 

 

 

bit prog_fail;

 

 

 

 

 

 

void main ()

 

 

 

 

 

 

 

{

prog_fail=PGM_EL(0x02,0x1C);

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

bit PGM_EL (unsigned char el_addr, unsigned char el_data)

 

 

 

{

#define CONF

0x6C

// access flash elements

 

 

 

 

 

 

 

FMADRL

 

= el_addr;

//write element address to addr reg

 

 

 

FMCON = CONF;

//load command, clears page reg

 

 

 

FMDATA

 

= el_data;

//write

data and start the cycle

 

 

 

Fm_stat = FMCON;

//read the result status

 

 

 

if ((Fm_stat & 0x0F)!=0) prog_fail=1; else prog_fail=0;

 

 

 

return(prog_fail);

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 14-5: C-language routine to erase/program a flash element

 

2003 Dec 8

98

Page 98
Image 98
Philips P89LPC902, P89LPC901, P89LPC903 user manual Fmadrl

P89LPC903, P89LPC902, P89LPC901 specifications

The Philips P89LPC901, P89LPC902, and P89LPC903 are a series of 8-bit microcontrollers designed for embedded system applications. These models, which belong to the LPC900 series, are notable for their affordability and versatility, making them an attractive choice for both hobbyists and professional developers.

One of the core features of the P89LPC901, P89LPC902, and P89LPC903 microcontrollers is their powerful 8-bit architecture. Operating at clock speeds up to 20 MHz, they deliver efficient performance suited for a range of tasks. Each model includes a comprehensive instruction set that supports various data manipulation and arithmetic functions, enabling extensive programming capabilities.

These microcontrollers come with built-in memory, with configurations that vary among the three models. The P89LPC901 typically features 4 KB of Flash memory and 256 bytes of RAM, while the P89LPC902 and P89LPC903 offer enhanced memory options. This Flash memory allows for reprogrammability, making it easier to update and modify applications as needed.

Another significant characteristic of the LPC900 series is their integrated peripherals. These models are equipped with a variety of I/O ports, allowing for easy interfacing with other devices and components. The P89LPC901 supports up to 32 I/O pins, while the P89LPC902 and P89LPC903 provide additional features such as analog-to-digital converters (ADCs), timers, and serial communication interfaces. This broad range of peripherals empowers developers to design complex applications without needing extra hardware.

Power consumption is also a key consideration for microcontroller applications. The P89LPC901, P89LPC902, and P89LPC903 are designed with low power consumption in mind, making them ideal for battery-operated devices and energy-efficient projects. They can operate in various power modes, allowing for greater flexibility in deployment.

In terms of technology, these microcontrollers utilize advanced CMOS technology, ensuring high reliability and durability. Their design offers a robust solution for numerous applications, including consumer electronics, industrial controls, and automation systems.

In summary, the Philips P89LPC901, P89LPC902, and P89LPC903 microcontrollers present an attractive combination of performance, integrated peripherals, low power consumption, and versatility. Their features cater to a wide array of applications, keeping them relevant in a rapidly evolving technology landscape. For hobbyists and professionals alike, these microcontrollers represent a reliable foundation for embedded system development.