Quick Links for:

Embedded Engineers
Consultants

Locations:

Corporate Office
As of September 1, 2009:

4575 Cushing Parkway
Fremont, CA 94538

510-770-1417
510-657-5055 (fax)

R&D Office

155 'B' Avenue, Suite 200
Lake Oswego, OR 97034
503-675-6464
503-675-7554 (fax)
 

How Does the Microcontroller LCD Work?

A standard asynchronous serial port connects your system's microcontroller to the serial LCD controller. Simple ASCII commands are used to draw images, text, controls, and other LCD interface elements, on the screen. The controls report back over the serial line when they are activated or changed. Images are stored on the serial LCD controller in flash memory. 
Your microcontroller connects via serial commands to the Reach module

Microcontroller display simple to integrate

All microcontrollers, and even some DSP, have a serial port. In an upgrade situation, if no free port is available, the SLCD's second serial port can be used in "pass-thru" mode to connect to the replaced device. Serial transmit and receive are easily interrupt- driven, and the received control packets are small, to minimize processor overhead.Sample Buttons

Simple-to-program LCD user interface

This simple control panel (see image at right) sets the state of three relays and shows the status of three signals. It is implemented by the following code.

Want more detail?

Get the Software Reference Manual from the Download Center. It contains a complete description of the "bdc" and "xi" commands used in this example.

 

// this code assumes bitmaps 1 and 2 are the buttons
// and 3 and 4 are the indicators
//
// main code loop or process calls drawScreen() to show the screen and
// updateScreen() to update it.
//
// define button #1 at x=20, y=20, type 2 (on/off), text for both
// undepressed and depressed states are the same, use bitmaps 1 and 2
// for the button images

void drawScreen(void){
	printf("bdc 1 20 20  2 "RELAY 1" "RELAY 1" 1 2/r");

	// create Relay 2 button at x=20, y=95
	printf("bdc 2 20 95  2 "RELAY 2" "RELAY 2" 1 2/r");

	// create Relay 3 button at x=20, y=170
	printf("bdc 3 20 170 2 "RELAY 3" "RELAY 3" 1 2/r");
	}



 

void drawIndicator(int num, int state) {

if( 1 == num ){

if(state == 0) printf("xi 3 130  20/r"); // draw bitmap #3 at(130,20)

else           printf("xi 4 130  20/r"); // draw bitmap #4 at(130,20)  

if( 2 == num ){

if(state == 0) printf("xi 3 130  95/r");

else           printf("xi 4 130  95/r");

}  

if( 3 == num ){

if(state == 0) printf("xi 3 130 170/r");

else           printf("xi 4 130 170/r");

}  

}

 

void updateScreen(void) {

char inBuf[10];

unsigned int button;

enum {up, down} state;

// check for incoming control string in the form 's'<button>  if( EOF != gets(inBuf) ) {       // split control string to button and state       button = inBuf[1]-'0';       state = inBuf[2]-'0';       // handle the button pressed or released       if( button == 1 ) relay1Handler(state);       if( button == 2 ) relay2Handler(state);       if( button == 3 ) relay3Handler(state);  }  // update the display  if( relay1Sense() ){ drawIndicator(1, 1); else drawIndicator(1, 0);  if( relay2Sense() ){ drawIndicator(2, 1); else drawIndicator(2, 0);  if( relay3Sense() ){ drawIndicator(3, 1); else drawIndicator(3, 0);  }    </button>

 

No particular operating system required

Reach microcontroller displays work with any operating system, with or without a host OS. From full-blown, embedded systems running Windows, Linux, or QNX, to small RTOS, or a "bare metal" code, the LCD interface is the same.

No graphics library required

The library is built into Reach microcontroller displays. Your embedded system does not require additional memory overhead for library code, and has more resources to perform its main tasks of controlling your product. 

Reach microcontroller display configurations

Reach serial LCD displays come in these configurations:

Enclosed Units

Enclosed Units

Ready to go for applications requiring a NEMA 4 class case, or for any application where a completely enclosed unit is desirable... More

Display Modules

Display Modules

Completely assembled graphic-display units help you rapidly integrate an intelligent display system into your product... More

Controller Boards

Controller Boards

Board-only products for full design flexibility... More

Development Kits

Low Cost Microcontroller Display Development Kits

Our low-cost, low-risk development kits contain everything you need to get a color touchscreen up and running in a matter of days... More

How to learn more

You can do any, or all, of these:


Have more technical questions?

Get more information about how Reach products work with your product. Call our research and development office at 503-675-6464 or email a microcontroller display engineer.

 
 

Will the Microcontroller Display Work with my Product?

The answer is yes if your host microcontroller or microprocessor has an Asynchronous Serial port or a USB host port and you don't need to display video or movie clips.... More

Try Before You Buy

Order a microcontroller LCD development kit which contains everything you need to get a touch interface up and running in a matter of days...More

Why Reach?

Reach Technology gives embedded engineers adding an Embedded LCD Touch Screen to their product a jump start. They see lower development costs, reduced risk and decreased time-to-market... More

Free Download

Sign up for the Embedded LCD Touch Screen newsletter to download the Embedded Control Surface Handbook.


Want more detail?

Download the microcontroller display Software Reference Manual from the Download Center. The manual contains a complete description of the "bdc" and "xi" commands used in this example.

Have Questions?

Call sales and customer service
at 510-770-1417 or email us.
Call technical support at 503-675-6464 or email a microcontroller display engineer.

© 2010 Reach Technology Inc. All right reserved.