Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
59
Добавлен:
14.04.2015
Размер:
2.03 Mб
Скачать

Keil Software — A51/AX51/A251 Macro Assembler and Utilities

399

 

 

Appendix A. Application Examples

This chapter illustrates project development for the x51 microcontroller family.

A

The sample programs are found in the C:\KEIL\C51\EXAMPLES\ or

C:\KEIL\C251\EXAMPLES\ folder. Each sample program is stored in a separate

 

folder along with µVision2 project files that help you quickly build each sample

 

program.

 

 

The following table lists the sample programs that are discussed in the following

 

section and their folder names.

 

 

 

 

Example

Description

 

ASM

This section describes a short x51 program, developed in assembler

 

 

language. The program displays the text "PROGRAM TEST" on the serial

 

 

interface.

 

CSAMPLE

Simple addition and subtraction calculator that shows how to build a C

 

 

application.

 

BANK_EX1

C application for a classic 8051 device that shows code banking.

 

BANK_EX2

C program for a classic 8051 device that stores constants in different code

 

 

banks.

 

BANK_EX3

Intel PL/M-51 application that uses code banking.

 

Philips 80C51MX

Assembler example that demonstrates the new instructions of the Philips

 

\ASM

80C51MX.

 

Philips 80C51MX

C Compiler example that shows how to use the extended address space of the

 

\Banking

Philips 80C51MX.

 

The folder EXAMPLES contains several other example programs that are described in the

µVision2 for the x51 Family User’s Guide.

ASM – Assembler Example

This section shows you how to create a x51 program, developed in assembler language. The program outputs the text "PROGRAM TEST" on the serial interface. The program consists of three modules that can be translated using the various tool versions.

400 Appendix A. Application Examples

 

 

Using A51 and BL51

A

 

The following commands are required to translate and link the ASM example

 

with the A51 macro assembler and the BL51 linker/locater. The output file can

 

 

be converted into an Intel HEX file with the OH51 hex file converter.

 

 

 

 

 

A51 ASAMPLE1.A51 DEBUG XREF

 

 

A51 ASAMPLE2.A51 DEBUG XREF

 

 

A51 ASAMPLE3.A51 DEBUG XREF

 

 

The XREF control causes the A51 assembler to include in the listing (LST) files

 

 

a cross reference report of the symbols used in the module. The DEBUG control

 

 

includes complete symbol information in the object file.

 

 

After assembly, the files are linked by the BL51 linker/locator with:

 

 

 

 

 

BL51 ASAMPLE1.OBJ, ASAMPLE2.OBJ, ASAMPLE3.OBJ PRECEDE (VAR1) IXREF

 

 

In the above linker command line, the PRECEDE control locates the VAR1

 

 

segment before other internal data memory segments. The IXREF control

 

 

includes a cross reference report of all public and external symbols in the linker

 

 

listing (M51) file. The linker creates an absolute object module that is stored in

 

 

the file ASAMPLE1. This file can be used as input for debuggers or may be used

 

 

to create an Intel HEX file using the OH51 object hex converter with the

 

 

following command:

 

 

 

 

 

OH51 ASAMPLE1

Keil Software — A51/AX51/A251 Macro Assembler and Utilities

401

 

 

Using AX51 and LX51

The commands for translating the application with the AX51 macro assembler

A

and the LX51 linker/locater are:

AX51 ASAMPLE1.A51 DEBUG XREF

AX51 ASAMPLE2.A51 DEBUG XREF

AX51 ASAMPLE3.A51 DEBUG XREF

After assembly, the files are linked by the LX51 linker/locator with:

LX51 ASAMPLE1.OBJ, ASAMPLE2.OBJ, ASAMPLE3.OBJ SEGMENTS (VAR1) IXREF

The SEGMENTS control replaces the PRECEDE control used in the BL51 command line to locate the VAR1 segment before other internal data memory segments. The IXREF control includes a cross reference in the linker listing (MAP) file. The file ASAMPLE1 is the absolute object module created by the linker. This file can be used as input for debuggers or may be converted into an Intel HEX file using OHX51 with the following command:

OHX51 ASAMPLE1

Using A251 and L251

The Intel/Atmel WM 251 application is build with the following commands:

A251 ASAMPLE1.A51 DEBUG XREF

A251 ASAMPLE2.A51 DEBUG XREF

A251 ASAMPLE3.A51 DEBUG XREF

L251 ASAMPLE1.OBJ, ASAMPLE2.OBJ, ASAMPLE3.OBJ SEGMENTS (VAR1) IXREF

The SEGMENTS control locates the VAR1 segment before other internal data memory segments. The IXREF control includes a cross reference in the linker listing (MAP) file. The file ASAMPLE1 is the absolute object module created by the linker. This file can be used as input for debuggers or may be converted into an Intel HEX file using OH251 with the following command:

OH251 ASAMPLE1

Соседние файлы в папке HLP