Microprocessors and Microcontrollers
Introduction, Microprocessors and Microcontrollers, Microprocessors Microcontrollers, Comparing Microprocessors and Microcontrollers, The Z80 and the 8051, A Microcontroller Survey, Four-Bit Microcontroller, Eight-Bit Microcontrollers, Sixteen-Bit Microcontrollers, Thirty-Two Bit Microcontrollers, Development Systems for Microcontrollers.
Numbering Systems and Binary Arithmetic
Introduction, Symbolic Number Systems, Positional Number Systems, Integer Binary , numbers, Binary Digital Computers, The Binary Number System, Conversions Between Decimal and Binary Numbers, Hexadecimal Numbers, Conversions Between Hexadecimal, Binary, and Decimal Numbers, Fractional Binary Numbers, Converting Binary Fractions to Decimal, Converting Hexadecimal Fractions to Decimal, Converting Decimal Fractions to Binary and Hexadecimal
Number System Notation
Binary Addition and Subtraction,Binary Number Addition and Subtraction, Signed Binary Numbers, Complementary Numbers, Two’s Complement Mathematics, Binary Multiplication and Division Binary Multiplication, Binary Division, Binary Codes, Character Codes, Numeric Codes, Other Binary Codes, Error Correction and Detection Codes.
The 8051 Architecture
8051 Microcontroller Hardware, The 8051 Oscillator and Clock, Program Counter and Data Pointer, A and B CPU Registers, Flags and the Program Status Word (PSW), Internal Memory, Internal RAM, The Stack and the Stack Pointer, Special Function Registers, Internal ROM, Input/Output Pins, Ports, and Circuits, Port 0, Port 1, Port 2, Port 3, External Memory, Connecting External Memory
Counter and Timers
Timer Counter Interrupts, Timing, Timer Modes of Operation, Counting, Serial Data Input/Output, Serial Data Interrupts, Data Transmission, Data Reception, Serial Data Transmission Modes, capture Timers, T2 Software Additions, Timer T2 Interrupt, Uses for Timer 2, E.2 A/D and D/A Equipped Family Members, Watchdog Timer, Pulse Width Modulation (PWM), Analog Comparators, Inter-Integrated Circuit (I2C) Serial Bus, Controller Area Network (CAN)
Timer Flag Interrupt, Serial Port Interrupt, External Interrupts, Reset, Interrupt Control, Interrupt Priority, Interrupt Destinations, Software-Generated Interrupts, The Interrupt Enable (IE) Special Function Register, The Enable All Interrupts (EA) Bit, Individual Interrupt Enable Bits, The Interrupt Priority (IP) Special Function Register, Ties, Interrupts and Interrupt Handler Subroutines.
Basic Assembly Language Programming Concepts
Hardware Concepts: The Central Processing Unit, Hardware Concepts: Memory, Software Concepts: Code and Data Memory, Computer Concepts: A Computer Model, Computer Concepts: Starting Up, Computer Concepts: Machine Language, Software Concepts: Assembly Language Mnemonics.
The Mechanics of Programming
Getting Instructions into Code Memory, Computer Languages, Why Use Assembly Language, The Assembly Language Programming Process, The PAL Practice CPU, PAL Instructions
Programming Tools and Techniques, Understanding Assembly Language Syntax, Understanding the Assembler Program, Understanding the Problem to Be Solved, Designing the Program, Flow Charts, Writing and Testing the Program
Moving Data 8051 Microcontrollers
Introduction, Addressing Modes, Immediate Addressing Mode, Register Addressing Mode, Direct Addressing Mode, Indirect Addressing Mode, External Data Moves, Code Memory Read-Only Data Moves, Push and Pop Opcodes, Data Exchanges
Introduction, Byte-Level Logical Operations, Bit-Level Logical Operations, Internal RAM Bit Addresses, SFR Bit Addresses, Bit-Level Boolean Operations, Rotate and Swap Operations, Example Programs
Introduction, Flags, Instructions Affecting Flags, Incrementing and Decrementing, Addition, Unsigned and Signed Addition, Unsigned Addition, Signed Addition, Multiple-Byte Signed Arithmetic, Subtraction, Unsigned and Signed Subtraction, Unsigned Subtraction, Signed Subtraction, Multiplication and Division, Multiplication, Division, Decimal Arithmetic
Jump and Call Instructions
Introduction, The Jump and Call Program Range, Relative Range,Short Absolute Range, Long Absolute Range, Jumps,Bit Jumps, Byte Jumps, Unconditional Jumps, Calls and Subroutines, Subroutines, Calls and the Stack, Calls and Returns, Interrupts and Returns.
An 8051 Microcontroller Design
Introduction, A Microcontroller Specification, A Microcontroller Design, External Memory and Memory Space Decoding, Reset and Clock Circuits, Expanding I/O, Memory-Mapped I/O, Memory Address Decoding, Part Speed, Memory Access Times, Production Concerns, Testing the Design, Crystal Test, ROM , Test, RAM Test.
Time Delays, Pure Software Time Delay, Software Polled Timer, Pure Hardware Delay, Lookup Tables for the 8051, PC as a Base Address, DPTR as a Base Address.
Serial Data Transmission
Character Transmission Using a Time Delay, Character Transmission by Polling, Interrupt-Driven Character Transmission, Receiving Serial Data, Polling for Received Data,Interrupt-Driven Data Reception.
Introduction, Keyboards, Human Factors, Key Switch Factors, Key Configurations, Programs for Keyboards, A Scanning Program for Small Keyboards, Interrupt-Driven Programs for Small Keyboards, Program for a Large Matrix Keyboard, Displays, Seven-Segment Numeric Display, Intelligent LCD Display, Pulse Measurement, Measuring Frequency, Pulse Width Measurement, D/A and A/D Conversions, D/A Conversions, A/D Conversion, Multiple Interrupts, Hardware Circuits for Multiple Interrupts
Serial Data Communication
Introduction, Network Configurations,8051 Data Communication Modes Example Programs, Shift Register Mode, Standard 8-Bit UART Mode, Multiprocessor, RS 232.
8051 Operational Code Mnemonics
A.0 Introduction, A.1 Mnemonics, Arranged by Function, Arithmetic, Logic, Data Moves, Calls and Jumps, Boolean, A.2 Mnemonics, rranged Alphabetically, Mnemonic Acronyms, A.3 Intel Corporation Mnemonics, Arranged Alphabetically, Acronyms, A.4 8051 Instruction Hexadecimal Codes.
How to Use the A51 Assembler
Introduction, Using the Assembler, The Big Picture, How to Assemble, Assembler Directives, Numbers, Labels, Typing a Line, Symbols.
How to Use the Simulator
Introduction, Computer Configuration Needed to Run the Simulator, Features, The Simulator Programs, Starting the Simulator, Running the Simulation of YOURFILE.OBJ, BOOK.BSS Simulator Screens, Changing Register and Memory Contents, Setting Breakpoints, Generating Interrupts, Saving a Session, Creating Your Own Screens, Setting RAM and ROM Window Starting Addresses, Setting Memory Attributes. 8255 Programmable I/O Port, Functional Description, Addressing the 8255, Programming the 8255, 8255 I/O Modes, Reset Condition. Control Special-Function Register Figures, Internal RAM and SFR Addresses