Podcast
Questions and Answers
In the table provided, which of the following register banks corresponds to the RS1 = 1 and RS0 = 0 values?
In the table provided, which of the following register banks corresponds to the RS1 = 1 and RS0 = 0 values?
What does the 'ADD' instruction do to the CY, P, AC, and OV flags based on the table provided?
What does the 'ADD' instruction do to the CY, P, AC, and OV flags based on the table provided?
According to the given content, which of the following instructions DO NOT affect the Carry (CY) flag?
According to the given content, which of the following instructions DO NOT affect the Carry (CY) flag?
From the provided content, which instruction sets the Carry (CY) flag to 1?
From the provided content, which instruction sets the Carry (CY) flag to 1?
Signup and view all the answers
In the context provided, what might the 'OV' flag stand for?
In the context provided, what might the 'OV' flag stand for?
Signup and view all the answers
Identify the instruction used to set the Carry (CY) flag to 0 based on the provided content.
Identify the instruction used to set the Carry (CY) flag to 0 based on the provided content.
Signup and view all the answers
If '38H' and '2FH' are added using the 'ADD' instruction, and the CY flag is set, what is the result of the addition (in hexadecimal)?
If '38H' and '2FH' are added using the 'ADD' instruction, and the CY flag is set, what is the result of the addition (in hexadecimal)?
Signup and view all the answers
Based on the provided content, what could be a potential reason for the 'ADD' instruction affecting the Overflow (OV) flag?
Based on the provided content, what could be a potential reason for the 'ADD' instruction affecting the Overflow (OV) flag?
Signup and view all the answers
What is the hex equivalent of the decimal number 62910?
What is the hex equivalent of the decimal number 62910?
Signup and view all the answers
What is the binary representation of the hex number 6B21?
What is the binary representation of the hex number 6B21?
Signup and view all the answers
What is the sum of the hex digits when adding 23D9 and 94BE?
What is the sum of the hex digits when adding 23D9 and 94BE?
Signup and view all the answers
How is a carry handled when the sum of hex digits exceeds 16?
How is a carry handled when the sum of hex digits exceeds 16?
Signup and view all the answers
What decimal value does the hex number 275 represent?
What decimal value does the hex number 275 represent?
Signup and view all the answers
While adding hex values, if the least significant digit's sum is less than 16, what is done?
While adding hex values, if the least significant digit's sum is less than 16, what is done?
Signup and view all the answers
What binary representation corresponds to the decimal number 171410?
What binary representation corresponds to the decimal number 171410?
Signup and view all the answers
What is the first step in hex addition when two digits are added?
What is the first step in hex addition when two digits are added?
Signup and view all the answers
After executing the instruction 'MOV SP, #5FH', what does the stack pointer (SP) equal?
After executing the instruction 'MOV SP, #5FH', what does the stack pointer (SP) equal?
Signup and view all the answers
What happens to the stack and register bank 1 once the 8051 microcontroller powers up?
What happens to the stack and register bank 1 once the 8051 microcontroller powers up?
Signup and view all the answers
What is the initial value of the stack pointer (SP) before any PUSH operations are performed?
What is the initial value of the stack pointer (SP) before any PUSH operations are performed?
Signup and view all the answers
How does executing 'PUSH 2' affect the stack content in the first memory location after the operation?
How does executing 'PUSH 2' affect the stack content in the first memory location after the operation?
Signup and view all the answers
What will the content of memory location 60H be after executing the movements of the values R2 and R1?
What will the content of memory location 60H be after executing the movements of the values R2 and R1?
Signup and view all the answers
Where is the stack initially allocated in RAM after setting SP to 5FH?
Where is the stack initially allocated in RAM after setting SP to 5FH?
Signup and view all the answers
Which of the following instructions directly decreases the value of stack pointer (SP)?
Which of the following instructions directly decreases the value of stack pointer (SP)?
Signup and view all the answers
What value will be present in memory location 62H after executing 'PUSH 4'?
What value will be present in memory location 62H after executing 'PUSH 4'?
Signup and view all the answers
What is the purpose of the instruction 'MOV SP, #XX' in the context of stack management?
What is the purpose of the instruction 'MOV SP, #XX' in the context of stack management?
Signup and view all the answers
What happens to the stack pointer (SP) after executing a PUSH instruction?
What happens to the stack pointer (SP) after executing a PUSH instruction?
Signup and view all the answers
Which of the following registers will be populated after executing 'POP 3' if the initial stack pointer is 0B?
Which of the following registers will be populated after executing 'POP 3' if the initial stack pointer is 0B?
Signup and view all the answers
Why is it important for the stack to grow towards RAM location 7FH?
Why is it important for the stack to grow towards RAM location 7FH?
Signup and view all the answers
What will be the value of R2 after executing 'POP 2' when the stack pointer is at 08?
What will be the value of R2 after executing 'POP 2' when the stack pointer is at 08?
Signup and view all the answers
In the context of CALL instructions, what does the CPU store on the stack?
In the context of CALL instructions, what does the CPU store on the stack?
Signup and view all the answers
If the stack pointer were decremented after a PUSH operation, what effect would that have?
If the stack pointer were decremented after a PUSH operation, what effect would that have?
Signup and view all the answers
What does the MOV instruction do in assembly language?
What does the MOV instruction do in assembly language?
Signup and view all the answers
What indicates that a value is a direct value to be loaded in assembly language?
What indicates that a value is a direct value to be loaded in assembly language?
Signup and view all the answers
What can happen if a value larger than 8 bits is moved into a register?
What can happen if a value larger than 8 bits is moved into a register?
Signup and view all the answers
What is a characteristic of assembly language compared to high-level programming languages?
What is a characteristic of assembly language compared to high-level programming languages?
Signup and view all the answers
What is the correct order of steps to create an 8051 assembly program?
What is the correct order of steps to create an 8051 assembly program?
Signup and view all the answers
What does the 'ORG' directive do in an assembly language program?
What does the 'ORG' directive do in an assembly language program?
Signup and view all the answers
In assembly instructions, which part is optional?
In assembly instructions, which part is optional?
Signup and view all the answers
What type of file is produced after the assembly process that includes the opcode and addresses?
What type of file is produced after the assembly process that includes the opcode and addresses?
Signup and view all the answers
What is a primary feature of the program counter in the 8051 architecture?
What is a primary feature of the program counter in the 8051 architecture?
Signup and view all the answers
What happens to the program counter after the 8051 is powered on?
What happens to the program counter after the 8051 is powered on?
Signup and view all the answers
What must happen before the object file can be used in the 8051 environment?
What must happen before the object file can be used in the 8051 environment?
Signup and view all the answers
Which of the following assembly instructions is valid?
Which of the following assembly instructions is valid?
Signup and view all the answers
What information does a list file typically provide?
What information does a list file typically provide?
Signup and view all the answers
If a programmer writes 'MOV A, #5', what will be the binary representation in register A?
If a programmer writes 'MOV A, #5', what will be the binary representation in register A?
Signup and view all the answers
Which of the following accurately describes the differences between microprocessors and microcontrollers?
Which of the following accurately describes the differences between microprocessors and microcontrollers?
Signup and view all the answers
What is the purpose of the HALT instruction in the given text?
What is the purpose of the HALT instruction in the given text?
Signup and view all the answers
What is the significance of address 1406 in the given text?
What is the significance of address 1406 in the given text?
Signup and view all the answers
Based on the provided text, what can we infer about the 8051 Microcontroller?
Based on the provided text, what can we infer about the 8051 Microcontroller?
Signup and view all the answers
Which of the following is NOT a component commonly found in a microcontroller?
Which of the following is NOT a component commonly found in a microcontroller?
Signup and view all the answers
What distinguishes microcontrollers from general-purpose microprocessors?
What distinguishes microcontrollers from general-purpose microprocessors?
Signup and view all the answers
Why are microcontrollers commonly used in embedded systems?
Why are microcontrollers commonly used in embedded systems?
Signup and view all the answers
What is the primary function of a microcontroller's CPU?
What is the primary function of a microcontroller's CPU?
Signup and view all the answers
Study Notes
Book Cover Information
- Book title: The 8051 Microcontroller and Embedded Systems
- Authors: Muhammad Ali Mazidi and Janice Gillispie Mazidi
- Publisher: Prentice-Hall, Inc.
- A second edition is mentioned
8051 Microcontroller and Embedded Systems (Page 2)
- Book title: The 8051 Microcontroller and Embedded Systems
- Chapters covered include Introduction to Computing, The 8051 Microcontrollers, 8051 Assembly Language Programming, Branch Instructions, I/O Port Programming, 8051 Addressing Modes, Arithmetic & Logic Instructions and Programs, 8051 Programming in C, 8051 Hardware Connection and Hex File, 8051 Timer/Counter Programming, 8051 Serial Port Programming, Interrupts Programming, 8051 Interfacing to External Memory, 8051 Real-World Interfacing (LCD, ADC, etc...), and Interfacing with 8255.
- Also, topics concerning sensors, LCD, and keyboard interfacing are addressed.
Introduction to Computing (Page 3)
- Authors: Mazidi, Mazidi, and McKinlay
- Course presenter: Chung-Ping Young
- Topics include numbering and coding systems, digital primer, and inside the computer.
Numbering and Coding Systems (Page 5)
- Human beings use base 10 (decimal) arithmetic.
- Computers use base 2 (binary) system
- Binary digits are commonly referred to as bits
Converting from Decimal to Binary (Page 6)
- To convert a decimal number to binary: repeatedly divide the decimal number by 2, keep track of the remainders, continue this process until the quotient becomes zero, and write the remainders in reverse order.
- Example: 2510 = 110012
Converting from Binary to Decimal (Page 7)
- To convert a binary number to decimal: know the weight of each bit in a binary number and add them together.
- Example: 110012 = 2510
Hexadecimal System (Page 8)
- Base 16, the hexadecimal system, is used as a convenient representation of binary numbers .
- Example conversion: 0 = 0000, 1 = 0001, 2 = 0010, 9 = 1001
Converting between Binary and Hex (Page 9)
- To represent a binary number as its equivalent hexadecimal number. Start from the right and group 4 bits at a time, replacing each 4-bit binary number with its hex equivalent.
- Example: 100111110101 in hex is 9 F 5
- To convert from hex to binary: Each hex digit is replaced with its 4-bit binary equivalent.
- Example: 29B in binary is 0010 1001 1011
Converting from Decimal to Hex (Page 10)
- Convert to binary first and then convert to hex
- Convert directly from decimal to hex by repeated division, keeping track of the remainders
Converting from Hex to Decimal (Page 11)
- Convert from hex to binary and then to decimal
- Convert directly from hex to decimal by summing the weight of all digits
Addition of Hex Numbers (Page 12)
- Adding the digits together from the least significant digits. If the result is less than 16, write that digit as the sum for that position. If it is greater than 16, subtract 16 from it to get the digit and carry 1 to the next digit.
- Example: 23D9 + 94BE = B897
Subtraction of Hex Numbers (Page 13)
- If the second digit is greater than the first, borrow 16 from the preceding digit
ASCII Code (Page 14)
- The ASCII code assigns binary patterns to numbers 0-9, letters of the English alphabet (uppercase and lowercase) and punctuation marks.
- The ASCII system uses 7 bits to represent each code.
- Example: A = 41, a = 61, Z= 5A, z= 7A
Digital Primer - Binary Logic (Page 15)
- Two voltage levels can be represented as 0 and 1.
- Signals in digital electronics have two distinct voltage levels with built-in tolerances for variations in voltage. A valid digital signal should be within either of the two shaded areas.
Logic Gates (Page 16)
- AND gate: X = A • B
- OR gate: X = A + B
- Tri-state buffer
- Inverter: X=A'
- XOR gate: X=A⊕B
- NAND gate: X = (A • B)'
- NOR gate
Logic Design Using Gates (Pages 17-18)
- Half Adder
- Full Adder
- 4-bit adder
Decoders (Page 19)
- Decoders are widely used for address decoding in computer design
Flip-flops (Page 20)
- Flip-flops are frequently used to store data.
Important Terminology (Page 21)
- Bit (binary digit which can be 0 or 1)
- Byte (8 bits)
- Nibble (4 bits)
- Word (2 bytes, or 16 bits)
- Kilobyte (K) (210 bytes over 1 thousand)
- Megabyte (M) (220 bytes over 1 million)
- Gigabyte (G) (230 bytes over 1 billion)
- Terabyte (T) (240 bytes/over a trillion)
Internal Organization of Computers (Pages 22-24)
- CPU(Central Processing Unit) executes information in memory.
- I/O (input-output) devices provide a way to communicate with the CPU..
- Memory is temporary storage for programs and data during computer operation.
- RAM (temporary storage for programs and data when computer is running, lost when turned off).
- ROM (contains instructions and data essential for computer operation).
Inside The Computer - More About Data Bus (Page 26)
- The more data buses available, the better the CPU
- More data buses mean a more expensive CPU and computer
- The average size of data buses in CPUs varies between 8 and 64
- Data buses are bidirectional (can receive or send data)
- The processing power of a computer is related to the size of its buses
Inside The Computer - More About Address Bus (Page 27)
- The more address buses available, the larger the number of devices that can be addressed
- The number of locations a CPU can access is equal to 2x, where x is the number of address lines, regardless of the data bus size
- Each location can hold a maximum of 1 byte of data in a general-purpose CPU.
CPU's Relation to RAM and ROM (Page 28)
- The process for the CPU to process information is to retrieve the data needed in RAM or ROM.
- ROM contains fixed and permanent information and tables.
- RAM contains information that can potentially change with time.
- The CPU first accesses information in RAM or ROM, and if information is not found, it seeks from secondary storage and transfers it to RAM.
Registers (Pages 29-30)
- CPU uses registers to store information temporarily
- Values to be processed
- Address of values to be fetched from memory
- Registers range from 8-bit to 64-bit but larger registers are more expensive
- Example of some registers are the flags, ALU, Program counter, Instruction register, instruction decoder, timing and control components.
ALU (arithmetic/logic unit) (Page 31)
- Performs arithmetic functions (add, subtract, multiply, and divide), and logical functions (AND, OR, NOT).
- A CPU capable of executing more instructions require more transistors to design.
Internal Working of Computers (Pages 32-37)
- The actions performed by the CPU are explained in context of putting specific values into different registers and operations.
8051 Microcontrollers (Page 40)
- The 8051 Microcontroller and Embedded Systems: Using Assembly and C
- Authors: Mazidi, Mazidi, and McKinlay
- Course presenter: Chung-Ping Young
- General-purpose microprocessors.
General-purpose vs. Microcontroller (Pages 41-44)
- General-purpose microprocessors (like Intel x86) do not have built-in memory or I/O ports, requiring add-on modules which makes the system more complex and expensive
- Microcontrollers (like the 8051 family) on the other hand do have RAM, ROM, and I/O ports on the chip
Microcontrollers for Embedded Systems (Pages 45-47)
- An embedded product uses a single microprocessor to perform a single task.
- As opposed to a general-purpose computer, an embedded product is designed for single task operations, using limited resources.
- Examples: home appliances, office machines, and automobiles.
Choosing a Microcontroller (Page 49)
- 8-bit: Motorola's 6811, Intel's 8051, Zilog's Z8, Microchip's PIC
- 16- and 32-bit microcontrollers also exist
Criteria for Choosing a Microcontroller (Page 50)
- Availability, wide availability, reliability of the microcontroller, diversified suppliers (Intel, Atmel)
- Speed, packaging, power consumption, the amount of RAM and ROM are significant considerations for use in embedded systems
Overview of the 8051 family (Page 52)
- Introduced by Intel in 1981, called the MCS-51.
- It is an 8-bit processor.
- 128 bytes of RAM
- 4kb of on-chip ROM
- Two timers
- One serial Port
- Four I/O ports (each 8-bits wide)
8051 Architecture (Page 53)
- Includes the CPU, OSC, and other components wired in a bus structure
Various 8051 Microcontrollers (Pages 54-56)
- 8751 microcontroller (UV-EPROM)
- AT89C51 from Atmel Corporation (Flash)
- DS89C4x0 from Maxim Corp (Flash)
- Others such as DS5000 with NV-RAM (non-volatile random access memory) and RTC (real-time clock) and OTP (one-time programmable)
8051 Assembly Language Programming (Page 57)
- Registers are used to store information temporarily.
- The 8 bits of a register are shown from MSB D7 to the LSB D0.
- Any data larger than 8 bits must be broken into 8-bit chunks before processing.
MOV Instruction (Pages 61-62)
- MOV destination, source; copy source to dest.
- Instruction that tells the CPU to move (or copy) the source operand to the destination operand.
- Some values use a # and indicate that value is a value as opposed to a location in memory.
ADD Instruction (Page 63)
- ADD A, source; adds the source operand to the accumulator
- The source operand can be a register or immediate data
8051 Assembly Language Programming (Page 64)
- In the early days of the computer, programmers coded in machine language.
- Assembly languages use mnemonics for machine instructions.
- An assembly program consists of a series of assembly language instructions and directives.
Assembly Language Instruction (Page 65)
- Assembly language instruction includes a mnemonic, the commands to the CPU, telling it what to do with items, possibly followed by one or two operands, the data items being manipulated
- A given assembly language program consists of a series of statements, or lines
- Assembly language instructions tell the CPU what to do.
An Assembly Language Instruction (Page 66)
- An assembly language instruction consists of four fields: [label:] Mnemonic [operands] [;comment]
Assembling and Running an 8051 Program (Page 67)
- Steps to assembling and running an 8051 program in sequence, including using an editor, assembler, linker, and an object hex converter.
1st File (Page 71)
- List all the opcodes and addresses used.
- Programmers can use the ist file to find the syntax errors.
Program Counter and ROM Space (Pages 72-78)
- The program counter points to the address of the next instruction to be executed.
- All 8051 members start at memory address 0000 when they are powered up.
- The program counter is a 16-bit register.
- The 8051 can access 64K addresses and 64K bytes
8051 Data Types and Directives (Page 79)
- The DB directive is used to define 8-bit data.
- The ORG directive is used to indicate the beginning of an address.
- The number following ORG can be decimal or hex.
- The END directive indicates the end of the source file.
8051 Data Types and Directives - Extra Information (Pages 80-83)
• The EQU (equate) directive assigns a symbolic name to a constant value in a program. • The Equate directive has these steps: The assembler determines the value of the label and substitutes it for any future mention of the label in your program.
Flag bits and PSW Register (Pages 84-89)
- Program Status Word (PSW) register is an 8 bit register used in arithmetic and other operation.
- Example of operations of the PSW register that are affected during ADD operations
- Example operations of PSW register that are affected during different types of operation
Register Banks and Stack (Pages 90-95)
- The 8051 has 128 bytes of RAM
- Addresses 00H-1FH are reserved for register banks of R0-R7 and the stack
- Addresses 20H-2FH are for bit-addressable memory
- 30H-7FH are reserved for scratchpad
Pushing Onto the Stack (Page 98)
- A program can store registers to the stack and retrive them.
- The stack pointer(SP) is the register used to track the last used location, therefore as you place data onto the stack the SP is incremented every time.
Popping From the Stack (Page 99)
- The process for retrieving items placed on the stack is retrieving the data currently at the top of the stack.
- The stack pointer(SP) is decremented after each retrieval
Jump, Loop, and Call Instructions (Page 104)
- Repeating a set of instructions a certain number of times is called a loop
- The DJNZ reg, Label instruction will decrement the register given by 'reg' and jump to the instruction 'label' if the register value is not 0.
- Nested loop refers to when a loop instruction is inside a loop.
- We can use JZ instruction to jump to an instruction if the contents of register A is equal to 0.
Jump Instructions (Pages 107-108)
- Jump only if a condition is met
- The JZ instruction will jump to a certain address if the contents of register A is 0.
- JNC instructions will jump to a certain address if there is no overflow.
Call Instructions (Pages 113-114)
- Call instructions are used to call subroutines
- When a subroutine is called the address of the instruction below the CALL instruction is saved in the stack.
Calculating Short Jump Address (Page 115)
- The second byte is added to the PC (Program Counter) of the jump instruction.
Assembling and Running an 8051 Program (Pages 111-112-115)
- Describes the assembly and execution steps of an 8051 program, including using an editor, assembler, and other tools.
Time Delay for Various 8051 Chips (Page 121)
- CPU execution of an instruction takes a certain number of clock cycles that are referred to as machine cycles.
Time Delay Calculation for Other 8051 (Cont.) (Page 122)
- Explains how to calculate machine cycles using the clock frequency with a particular set of instructions.
Timing Delay calculation for other 8051 (cont.) (Page 123-125 )
- The use of calculation of frequency cycle with the appropriate values of A, R5 to calculate time delays in milliseconds.
- The duration of a machine cycle depends on the clock frequency of the crystal, which might vary depending on the specific 8051 chip used
Interfacing to ADC and Sensors (Page 129), LCD and Keyboard Interfacing (Page 135), Various 8051 Microcontroller (Page 138)
- This section covers different aspects of interfacing to various devices such as LCDs, keyboard, ADCs, and sensors.
8051 Data Types And Directives (Page 157)
- Immediate, register, direct, register indirect, and indexed modes are used to access data.
SFR Registers and Their Addresses (Pages 163-165)
- Instructions can access memory or registers via their names, or their actual memory addresses
- Example of SFR addresses and names of several registers commonly used, such as: ACC, B, PSW, SP, DPTR, DPL, DPH, P0, P1.
Interfacing to external RAM (Pages 166-172)
- The MOVX (move extended) instruction is used to access data outside of the internal memory.
Indexed Addressing Mode and On-Chip ROM Access (Pages 173-174)
- The MOV instruction allows accessing data in a look-up table stored in the program ROM.
RAM Locations 30 -7FH as Scratch Pad (Pages 177-177)
- The use of RAM locations ranges 30H through 7FH, called the scratchpad, as temporary storage in 8051 programming
8051 Data Types and Directives (Pages 188-194)
Explains how to write and use 8051 programs and using various data types in the program-such as flags, values, data types and other important features.
Arithmetic and Logic Instructions and Programs (Pages 195-202)
- The ADD instruction is used to add two operands
- The destination operand is the register A.
- The source operand can be a register, an immediate data value , or a memory location
- DA instruction corrects for addition problems with BCD (Binary coded decimal).
- Example: Adding two 8-bit BCD numbers.
Subtraction of Unsigned Numbers (Pages 204-206)
- Using 2s complement operation and bit-wise inversion of the subrahand will yield a result which can then be used for bit-wise addition to produce the correct subtracted result
- The SUBB instruction takes account of any carry
Unsigned Multiplication (Page 207)
- The MUL instruction performs byte by byte multiplication.
- 16-bit result is placed in the B, and A registers.
Unsigned Division (Page 208)
- The DIV instruction performs byte by byte division to yield the quotient, and the remainder.
Application for DIV (Page 209)
- Instructions to convert hex data from port I to decimal data
Signed 8-bit Operands (Pages 210-211)
- The 8 bits of a register are shown as MSB D7 to LSB D0 and a bit for the sign, if D7=0 its a positive number otherwise its negative.
- The method of calculating 2's complement for a signed number is provided
- Showing how to represent -34H
Overflow Problem (Page 212)
- Describing what occurs when arithmetic results (sums and subtractions) in 8-bit processors exceeds the representation range
- Example showing how the overflow problem can occur in computation.
OV Flag (Pages 213-214)
- Describing the overflow flag (bit) which must be monitored by the programmer so as not to exceed the 8-bit limitation (0-255)
2's Complement (Page 216)
- Describes and shows the calculation, for obtaining the 2's complement of a number
- Example: 1's complement of 55H is AAH, add 1 to get 2's complement
Logic and Compare Instructions (Pages 217-220, 222)
- AND ( & ), OR ( | ),EX-OR( ^ ), Inverter ( ~ ),SHIFT RIGHT ( >> ), and Shift Left ( << )
- The specific instruction CJNE will compare two operands and jump if they don't equal-otherwise they are the same and the jump wont be made.
- The Instruction JNC will jump to an instruction if there is no carry over from the previous operation.
Unconditional Jump Instructions(Page 225)
- LJMP (long jump) 3-byte instruction (any memory location from 0000 to FFFFH)
- SJMP (short jump) 2-byte instruction (relative target address 00 to FFH from current PC)
Calculating Short Jump Address (Page 226)
- How to calculate the target address of a short jump
Other Widely Used Decoders (Page 229):
- Programmable logic chips are other decoders for specific combinations of address ranges
Overview of the 8051 family (Page 231 - 232):
- The information on the different kinds of 8051 microcontrollers.
I/O Programming (Pages 251-275):
- Describes how to program input/output ports of 8051s
- Provides details for different modes and associated instructions
- Addresses the programming of ports for input, output, and bidirectional operation, for use as scratchpads.
Data Types (Pages 247-254):
- A discussion on various data types used in programming the 8051 including, their usage, advantages, and limitations concerning RAM capacity
Time Delay (Pages 255-260):
- Calculating the time delays in ms
I/O Programming: Bit-addressable I/O (Pages 266-273):
- Programming 8051 using various data types
- Addresses the programming of ports for input
I/O Programming: Bit Operations (Pages 275-291)
- Programming of various data types in 8051 programs from ASCII to BCD and other conversions
Interfacing External ROM (Pages 291-295 -305)
- Discusses interfacing the 8051 to external ROM.
- The 8031 architecture is designed for accessing memory from external resources, since it does not have ROM on the chip.
- Explains how to implement address and data paths.
Programming the 8255 (Pages 565-575):
- Describes the 8255 features, how to interface to the 8051, how to program the 8255 in Mode 1, and example programming, using the 8255 as an address decoder for external devices as well as interfacing 8051 to external memory
8255 Address Aliases (Pages 581-590):
- Discusses the 8255's address aliases.
- Explains how to use a logical gate to decode addresses.
Interfacing to External ROM (Pages 505-517):
- Discusses the different types of ROM, how they work, why different options exist, and their applications
8051 Data Memory Space-Interfacing to Large External Memory (pages 520-517):
- Discusses how to access large amounts of RAM memory using the MOVX instruction.
- Provides methods and diagrams for using external memory addressing
Real-World Interfacing I - LCD, ADC, and Sensors (Page 528)
- Discusses use and interfacing to LCD and keyboard devices, including types of LCD addressing
- Includes a table of LCD commands and a diagram showing pin connections
Serial Communication (Pages 358-401)
- A discussion on the various features and programming of serial communication in the 8051, including baud rates, different protocols, and types of communication
Interrupt Programming (Pages 418-473)
- Explores various methods for working with interrupts in 8051 type microcontrollers including different types of interrupts, Interrupt Service Routines (ISRs), and how to disable/enable interrupts using assembly or C.
- Also, specific examples of programming timer and external interrupts are provided.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your understanding of digital logic, particularly focusing on register banks, flag operations in instructions, and hexadecimal arithmetic. This quiz includes questions on the Carry and Overflow flags, as well as conversions between decimal, hex, and binary formats. Challenge yourself to understand how different instructions interact with flags and register values.