Skip to main content

Programming Intel's MCS 51 microcontroller family using 'C', 1999

 Item — Call Number: MU Thesis Par
Identifier: b2087940

Scope and Contents

From the Collection:

The collection consists of theses written by students enrolled in the Monmouth University graduate Electrical Engineering program. The holdings are bound print documents that were submitted in partial fulfillment of requirements for the Master of Science degree.

Dates

  • Creation: 1999

Creator

Conditions Governing Access

The collection is open for research use. Access is by appointment only.

Access to the collection is confined to the Monmouth University Library and is subject to patron policies approved by the Monmouth University Library.

Collection holdings may not be borrowed through interlibrary loan.

Research appointments are scheduled by the Monmouth University Library Archives Collections Manager (723-923-4526). A minimum of three days advance notice is required to arrange a research appointment for access to the collection.

Patrons must complete a Researcher Registration Form and provide appropriate identification to gain access to the collection holdings. Copies of these documents will be kept on file at the Monmouth University Library.

Extent

1 Items (print book) : 91 pages ; 8.5 x 11.0 inches (28 cm).

Language of Materials

English

Abstract

This project is basically a step towards programming applications on microcontrollers using high-level languages. The family of microcontroller under consideration is Intel MCS 51. Traditionally, since the last two-decade the microntrollers have been programmed using assembly language. Here an application has been developed on the Intel 87C51FA chip using 'C' language.

The original application was developed in assembly language. With today's higher-level languages and optimizing compilers we can reduce development time and human error to a greater extent. The development cycle can be much easier and it is easy to maintain. The output of the original code written in assembly language is as efficient as one written using 'C' language. But since 'C' is a structured language, it is much easier to understand and can be seamlessly adapted by other developers with a minimal learning curve. The whole project is a comparison between the two different types of programming languages. I have shown how to use different kind of memory models for different program sizes.

An important feature of higher-level language that is widely used is modular programming. It is a really useful technique I have used for developing small functions and testing them individually and reused them in the main application. Modular programming gives a feel for how the compiler produces efficient code. It is useful to know assembly language -- if for no other reason than to understand the C compiler when it doesn't behave as you expect. It is really helpful while debugging an application. Also, with a good grasp of assembly instructions, we can see how they are built up to produce complex operations. In my opinion it is always advantageous to know the assembly language, but from a modern perspective, Software Engineering, higher-level language is a better choice for efficient maintenance.

Partial Contents

Introduction -- Programming embedded controllers -- Keil C51 compiler basics -- 8051 memory configurations -- Modular programming -- The development cycle -- The multi tone signal source -- The final code -- 'C' coder for MTSS -- Linking the object file -- Bibliography.

Source

Repository Details

Part of the Monmouth University Library Archives Repository

Contact:
Monmouth University Library
400 Cedar Avenue
West Long Branch New Jersey 07764 United States
732-923-4526