The Microprocessor System. A semester course review. Summarize important points for whole subject. Using the 8051 architecture as the practical and projects development.
The document discusses various aspects of 8051 assembly language programming including:
- The most commonly used 8-bit registers in the 8051 and the 16-bit program counter and data pointer registers.
- Examples of MOV and ADD instructions to move data between registers and perform arithmetic operations in the accumulator register.
- The steps required to assemble and run an 8051 program, including creating an assembly source file, assembling it to produce object and list files, and optionally linking files to run on a simulator.
- Memory allocation and usage in the 8051 including the 64KB program memory space accessed by the 16-bit program counter and RAM allocation for registers and stack.
This document discusses the 8051 assembly language. It covers assembler directives, data transfer instructions, addressing modes, and data processing instructions. Data transfer instructions include MOV, PUSH, POP, and XCH. Addressing modes allow accessing data using immediate, direct, register, indirect, indexed, and stack addressing. Data processing instructions include arithmetic instructions like ADD, SUB, INC, DEC, MUL, DIV, and logic instructions like AND, OR, XOR for performing operations on data.
The document discusses Assembly Language programming for the 8051 microcontroller. It describes how Assembly Language uses mnemonics to represent machine code instructions. It also explains key aspects of 8051 programming including registers, flags, memory organization, and assembler directives. Assembly Language requires knowledge of the CPU's instruction set and internal details. Programs are assembled into machine code before being run on the 8051.
The document provides an overview of 8051 assembly language programming. It discusses the 8051 programming model, assembly language syntax, operation codes and operands, machine instructions, and the 8051 instruction set. Key concepts covered include 8051 registers, addressing modes, data movement instructions like MOV, arithmetic and logic instructions like ADD, and pseudo-instructions to control program assembly. Examples of assembly language code are provided to illustrate various instructions and concepts.
The document discusses Assembly Language Programming of the 8051 microcontroller. It covers the following key points in 3 sentences:
Assembly language uses mnemonics to represent machine code instructions and provides a lower level of programming than high-level languages. The 8051 has 8-bit registers including the accumulator register A used for arithmetic, and 4 status flags in the PSW register for carry, overflow, auxiliary carry, and parity. Assembly language programs are assembled into machine code using an assembler and can access different register banks by setting bits in the PSW register.
The document provides an introduction to 8051 assembly language programming. It discusses that CPUs can only work with binary but programming in 0s and 1s is tedious for humans. Assembly language was developed to provide mnemonics for machine code instructions and make programming faster and less error prone. It also summarizes key aspects of 8051 architecture like registers, memory allocation, timers and counters.
This document provides an overview of programming the 8051 microcontroller in C. It discusses machine language, assembly language, and high-level languages. It then demonstrates how to create a hex file using a compiler, burn it to a microcontroller, and use ISP and a universal programmer. Several examples of 8051 C code are provided, including toggling port bits, using data types like unsigned char, delay loops, and reading/writing port values.
This document provides an overview of the instruction set of the 8085 microprocessor. It begins by defining what an instruction is and the classification of the 8085 instruction set. It then proceeds to describe various data transfer, arithmetic, logical, branching, and control instructions in detail through opcode, operands, examples, and before/after execution illustrations. The document aims to provide a comprehensive reference for the complete set of 246 instructions supported by the 8085 microprocessor.
The document provides an overview of the 8051 instruction set, including the various addressing modes and instruction types. It discusses the 8 addressing modes - register, direct, indirect, immediate, relative, absolute, long, and indexed. It also covers the 5 types of instructions - arithmetic operations, logical operations, data transfer, boolean variable operations, and program branching instructions. Examples are provided for many of the addressing modes and instruction types.
Data transfer instruction set of 8085 micro processorvishalgohel12195
Data transfer instruction set of 8085 micro processor
WHAT IS INSTRUCTION?
CLASSIFICATION OF INSTRUCTION.
DATA TRANSFER INSTRUCTION.
EXAMPLES
PROGRAMME OF DATA TRANFER INSTRUCTION
This presentation gives the details about the data types available in Embedded C. It also discusses the pros and cons of writing codes in C for 8051. Different example codes are considered.
Stack in microprocessor 8085(presantation)Safin Biswas
The stack is a group of memory locations used for temporary storage during program execution. Information is stored and retrieved from the stack using the PUSH and POP instructions in a LIFO manner. Subroutines allow a group of instructions to be called repeatedly from the main program. The CALL instruction stores the return address on the stack and transfers execution to the subroutine. The RET instruction retrieves the return address from the stack and transfers execution back to the main program.
This document summarizes sections from a book on microcontroller solutions. It discusses 8-bit microcontrollers and provides examples of code. It covers topics like registers, ports, bit manipulation, timers, and interrupts. It gives code examples to blink LEDs, delay, use timers, and perform math operations with registers. Overall it provides an overview of programming and interfacing with an 8-bit microcontroller.
This document contains details of a student's microcontroller lab tasks, including the student's name, registration number, course code, and instructor details. It also includes 8 questions involving assembly language programs to perform tasks like arithmetic operations, data transfers, and conversions. The programs are written in assembly language for the 8051 microcontroller and include steps to test the programs using a simulator.
This document discusses microprocessor instructions and data formats used by the 8085 microprocessor. It describes the different types of instructions based on byte size - 1-byte, 2-byte, and 3-byte instructions. It explains the opcode and operand parts of instructions. It also discusses various data formats used like ASCII, BCD, hexadecimal, signed and unsigned integers.
The instruction set of the 8085 microprocessor contains 246 instructions that are classified into different types such as data transfer, arithmetic, logical, branching, and control instructions. Data transfer instructions move data between registers and memory locations. Arithmetic instructions perform operations like addition, subtraction, increment, and decrement. Logical instructions perform logical operations like AND, OR, XOR on registers and memory.
Genius it ians™ 8085 programming (part 2)Manoj Shahu
The document contains several assembly language programs for the 8085 microprocessor. The programs include:
1) A program to generate Fibonacci numbers that uses counters and registers to add and store successive numbers.
2) A program to generate a 0.4 second delay using an operating frequency of 2.5MHz and calculating the required number of T-states.
3) A program to find the factorial of a number between 0-8 using registers, a subroutine, and stack pointer to recursively multiply numbers.
8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction setSaumitra Rukmangad
The document provides information about the 8085 microprocessor. It describes the 8085 as an 8-bit processor with 40 pins that can access 64KB of memory and 256 I/O ports. It has 5 hardware interrupts, 8 general purpose registers including the program counter and stack pointer, and provides 74 instructions across 5 addressing modes.
The document discusses various aspects of the 8051 microcontroller such as instruction types, addressing modes, RAM space allocation, and instruction sets. It explains that 8051 instructions are divided into one-byte, two-byte, and three-byte instructions depending on the number of bytes required to represent them. It describes the five addressing modes - register, direct, indirect, immediate, and index. It also provides examples of different instruction types like data transfer, arithmetic, logical, and branching instructions.
The document describes the instruction set of the 8085 microprocessor, which includes 5 groups: data transfer, arithmetic, logical, branching/loop, and stack and machine control. It provides details on 13 instructions in the data transfer group, which allow moving data between registers and memory. The instructions copy data between registers, immediate data to registers/memory, 16-bit data to register pairs, and data indirectly using register pairs as pointers to memory.
This document provides an overview of the instruction set for the 8051 microcontroller. It describes the 8 addressing modes - register, direct, indirect, immediate, relative, absolute, long, and indexed. It provides examples of instructions using each addressing mode, including their opcodes, machine code encoding, operations performed, and examples of usage. Common instructions for moving data, logical operations, and arithmetic are demonstrated for each addressing mode. The relative jumps, absolute jumps, and subroutine calls are also detailed.
The document discusses the instruction set of the 8085 microprocessor. It contains 13 categories of instructions - data transfer, arithmetic, logical, branching, and control instructions. The data transfer instructions include MOV, MVI, LDA, STA, etc. The arithmetic instructions perform operations like addition, subtraction, increment, decrement. Some examples of instructions and their operations are provided.
This document discusses arithmetic operations and conversions using the 8085 microprocessor. It includes algorithms and programs for 8-bit addition, subtraction, multiplication, and division. It also covers sorting algorithms to find the ascending and descending order of numbers, and algorithms to find the minimum and maximum numbers in a data set. Additionally, it explains programs that demonstrate the rotate instructions RLC, RRC, RAL, and RAR. Finally, it provides examples of conversions between ASCII, hexadecimal, and BCD codes.
The document discusses stacks, subroutines, and the 8085 microprocessor. It provides the following key points:
1. The stack is an area of memory used for temporary storage of information in LIFO (last in first out) order, growing backwards into memory with the stack pointer register defining the bottom.
2. Subroutines allow groups of instructions to be called from different locations to avoid repetition. The 8085 uses CALL to redirect execution to a subroutine and RTE to return to the calling routine.
3. Data can be passed to subroutines through registers or memory locations. Proper subroutines only enter at the start and exit at the end, with a single entry point
The document discusses various addressing modes and instructions of the 8051 microcontroller. It describes the five addressing modes - immediate, register, direct, register indirect and indexed. It explains each addressing mode in detail. It also explains the various instruction groups - data transfer, arithmetic, logical, boolean and branching instructions. It provides examples of instructions like MOV, ADD, ANL, JMP etc. and how they are used to manipulate data in the 8051.
Programming with 8085-Microprocessor and interfacingAmitabh Shukla
Here are the key steps to separate the digits of a hexadecimal number and store them in two locations:
1. Load the packed BCD number into the accumulator register using LDA instruction
2. Mask the lower nibble using ANI instruction with F0H to isolate the lower digit
3. Rotate the accumulator right through carry three times using RRC instruction to shift the higher digit into the lower position
4. Store the lower and higher digits into two separate memory locations
This separates the digits of the hexadecimal number by isolating and adjusting the position of each digit, allowing them to be stored independently.
This document provides an overview of memory and registers in the 8051 microcontroller. It discusses the on-chip ROM and RAM memory, as well as the various registers including the 8-bit registers (A, B, R0-R7) and 16-bit registers (DPTR, PC). It also covers the register banks and stack area in RAM, as well as data types and directives like DB and EQU that can be used to define data. Finally, it discusses addressing modes and instruction formats for the 8051 assembly language.
This document provides an overview of microcontroller architecture and programming using the 8051 microcontroller. It discusses the objectives of studying the 8051 microcontroller, its programming model including instruction classification and addressing modes. It describes the different types of instructions like data transfer, arithmetic, logical, and branching instructions. It also discusses assembler directives like ORG, DB, END and provides examples of 8051 programming and interfacing techniques.
The document provides information about microcontrollers and the 8051 microcontroller family. It defines a microcontroller as a programmable digital processor with on-chip memory and peripherals. It then compares microcontrollers to microprocessors, noting that microcontrollers have on-chip memory and peripherals while microprocessors require external memory. The document proceeds to discuss the development and classification of microcontrollers like the Intel 4004 and 8051. It provides details on the architecture, memory structure, instructions, and I/O ports of the 8051 microcontroller.
The document provides an overview of the 8051 instruction set, including the various addressing modes and instruction types. It discusses the 8 addressing modes - register, direct, indirect, immediate, relative, absolute, long, and indexed. It also covers the 5 types of instructions - arithmetic operations, logical operations, data transfer, boolean variable operations, and program branching instructions. Examples are provided for many of the addressing modes and instruction types.
Data transfer instruction set of 8085 micro processorvishalgohel12195
Data transfer instruction set of 8085 micro processor
WHAT IS INSTRUCTION?
CLASSIFICATION OF INSTRUCTION.
DATA TRANSFER INSTRUCTION.
EXAMPLES
PROGRAMME OF DATA TRANFER INSTRUCTION
This presentation gives the details about the data types available in Embedded C. It also discusses the pros and cons of writing codes in C for 8051. Different example codes are considered.
Stack in microprocessor 8085(presantation)Safin Biswas
The stack is a group of memory locations used for temporary storage during program execution. Information is stored and retrieved from the stack using the PUSH and POP instructions in a LIFO manner. Subroutines allow a group of instructions to be called repeatedly from the main program. The CALL instruction stores the return address on the stack and transfers execution to the subroutine. The RET instruction retrieves the return address from the stack and transfers execution back to the main program.
This document summarizes sections from a book on microcontroller solutions. It discusses 8-bit microcontrollers and provides examples of code. It covers topics like registers, ports, bit manipulation, timers, and interrupts. It gives code examples to blink LEDs, delay, use timers, and perform math operations with registers. Overall it provides an overview of programming and interfacing with an 8-bit microcontroller.
This document contains details of a student's microcontroller lab tasks, including the student's name, registration number, course code, and instructor details. It also includes 8 questions involving assembly language programs to perform tasks like arithmetic operations, data transfers, and conversions. The programs are written in assembly language for the 8051 microcontroller and include steps to test the programs using a simulator.
This document discusses microprocessor instructions and data formats used by the 8085 microprocessor. It describes the different types of instructions based on byte size - 1-byte, 2-byte, and 3-byte instructions. It explains the opcode and operand parts of instructions. It also discusses various data formats used like ASCII, BCD, hexadecimal, signed and unsigned integers.
The instruction set of the 8085 microprocessor contains 246 instructions that are classified into different types such as data transfer, arithmetic, logical, branching, and control instructions. Data transfer instructions move data between registers and memory locations. Arithmetic instructions perform operations like addition, subtraction, increment, and decrement. Logical instructions perform logical operations like AND, OR, XOR on registers and memory.
Genius it ians™ 8085 programming (part 2)Manoj Shahu
The document contains several assembly language programs for the 8085 microprocessor. The programs include:
1) A program to generate Fibonacci numbers that uses counters and registers to add and store successive numbers.
2) A program to generate a 0.4 second delay using an operating frequency of 2.5MHz and calculating the required number of T-states.
3) A program to find the factorial of a number between 0-8 using registers, a subroutine, and stack pointer to recursively multiply numbers.
8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction setSaumitra Rukmangad
The document provides information about the 8085 microprocessor. It describes the 8085 as an 8-bit processor with 40 pins that can access 64KB of memory and 256 I/O ports. It has 5 hardware interrupts, 8 general purpose registers including the program counter and stack pointer, and provides 74 instructions across 5 addressing modes.
The document discusses various aspects of the 8051 microcontroller such as instruction types, addressing modes, RAM space allocation, and instruction sets. It explains that 8051 instructions are divided into one-byte, two-byte, and three-byte instructions depending on the number of bytes required to represent them. It describes the five addressing modes - register, direct, indirect, immediate, and index. It also provides examples of different instruction types like data transfer, arithmetic, logical, and branching instructions.
The document describes the instruction set of the 8085 microprocessor, which includes 5 groups: data transfer, arithmetic, logical, branching/loop, and stack and machine control. It provides details on 13 instructions in the data transfer group, which allow moving data between registers and memory. The instructions copy data between registers, immediate data to registers/memory, 16-bit data to register pairs, and data indirectly using register pairs as pointers to memory.
This document provides an overview of the instruction set for the 8051 microcontroller. It describes the 8 addressing modes - register, direct, indirect, immediate, relative, absolute, long, and indexed. It provides examples of instructions using each addressing mode, including their opcodes, machine code encoding, operations performed, and examples of usage. Common instructions for moving data, logical operations, and arithmetic are demonstrated for each addressing mode. The relative jumps, absolute jumps, and subroutine calls are also detailed.
The document discusses the instruction set of the 8085 microprocessor. It contains 13 categories of instructions - data transfer, arithmetic, logical, branching, and control instructions. The data transfer instructions include MOV, MVI, LDA, STA, etc. The arithmetic instructions perform operations like addition, subtraction, increment, decrement. Some examples of instructions and their operations are provided.
This document discusses arithmetic operations and conversions using the 8085 microprocessor. It includes algorithms and programs for 8-bit addition, subtraction, multiplication, and division. It also covers sorting algorithms to find the ascending and descending order of numbers, and algorithms to find the minimum and maximum numbers in a data set. Additionally, it explains programs that demonstrate the rotate instructions RLC, RRC, RAL, and RAR. Finally, it provides examples of conversions between ASCII, hexadecimal, and BCD codes.
The document discusses stacks, subroutines, and the 8085 microprocessor. It provides the following key points:
1. The stack is an area of memory used for temporary storage of information in LIFO (last in first out) order, growing backwards into memory with the stack pointer register defining the bottom.
2. Subroutines allow groups of instructions to be called from different locations to avoid repetition. The 8085 uses CALL to redirect execution to a subroutine and RTE to return to the calling routine.
3. Data can be passed to subroutines through registers or memory locations. Proper subroutines only enter at the start and exit at the end, with a single entry point
The document discusses various addressing modes and instructions of the 8051 microcontroller. It describes the five addressing modes - immediate, register, direct, register indirect and indexed. It explains each addressing mode in detail. It also explains the various instruction groups - data transfer, arithmetic, logical, boolean and branching instructions. It provides examples of instructions like MOV, ADD, ANL, JMP etc. and how they are used to manipulate data in the 8051.
Programming with 8085-Microprocessor and interfacingAmitabh Shukla
Here are the key steps to separate the digits of a hexadecimal number and store them in two locations:
1. Load the packed BCD number into the accumulator register using LDA instruction
2. Mask the lower nibble using ANI instruction with F0H to isolate the lower digit
3. Rotate the accumulator right through carry three times using RRC instruction to shift the higher digit into the lower position
4. Store the lower and higher digits into two separate memory locations
This separates the digits of the hexadecimal number by isolating and adjusting the position of each digit, allowing them to be stored independently.
This document provides an overview of memory and registers in the 8051 microcontroller. It discusses the on-chip ROM and RAM memory, as well as the various registers including the 8-bit registers (A, B, R0-R7) and 16-bit registers (DPTR, PC). It also covers the register banks and stack area in RAM, as well as data types and directives like DB and EQU that can be used to define data. Finally, it discusses addressing modes and instruction formats for the 8051 assembly language.
This document provides an overview of microcontroller architecture and programming using the 8051 microcontroller. It discusses the objectives of studying the 8051 microcontroller, its programming model including instruction classification and addressing modes. It describes the different types of instructions like data transfer, arithmetic, logical, and branching instructions. It also discusses assembler directives like ORG, DB, END and provides examples of 8051 programming and interfacing techniques.
The document provides information about microcontrollers and the 8051 microcontroller family. It defines a microcontroller as a programmable digital processor with on-chip memory and peripherals. It then compares microcontrollers to microprocessors, noting that microcontrollers have on-chip memory and peripherals while microprocessors require external memory. The document proceeds to discuss the development and classification of microcontrollers like the Intel 4004 and 8051. It provides details on the architecture, memory structure, instructions, and I/O ports of the 8051 microcontroller.
The document discusses numerical bases used in programming such as hexadecimal, binary, and BCD. It provides examples of converting between decimal, binary, hexadecimal and BCD representations of numbers. It also summarizes common registers, memory mapping, addressing modes, and basic instructions of the 8051 microcontroller.
This document discusses microcontrollers and the 8051 microcontroller architecture. It provides details on:
- Criteria for choosing microcontrollers, including computing needs, software availability, and availability of the microcontroller.
- Features of the 8051 microcontroller such as its 8-bit CPU, memory spaces, I/O lines, timers, interrupts, and oscillators.
- The architecture of the 8051 including its block diagram, registers, memory organization, addressing modes, and instruction set.
- How to program the 8051 using both assembly language and C language. Examples of 8051 programs for tasks like delays, I/O, arithmetic, and logic operations are provided.
The document discusses the 8085 microprocessor. It describes the internal structure of the 8085 including the accumulator, flag register, general purpose registers, stack pointer and program counter. It also covers the instruction set of 8085 including data transfer, arithmetic, logical, branching and machine control instructions as well as addressing modes, instruction format and timing.
The document discusses different aspects of microprocessors and microcontrollers including hardware, software, common components like CPU, memory, I/O ports, and differences between microprocessors and microcontrollers. It provides block diagrams of a general microprocessor system and microcontroller with descriptions of each component. Examples given include the Intel 8051 microcontroller and its pin descriptions and registers.
The document classifies and describes the instruction set of the 8051 microcontroller. It discusses the different types of instructions including data transfer, logical, arithmetic, bit-level, rotate/swap, and jump/call instructions. It provides examples of instructions for moving data to and from memory, performing logical and arithmetic operations, manipulating bits, and rotating/swapping values. Details are given on addressing modes, registers, flags, and how the instructions interact with memory and I/O.
The instruction set of the 8051 microcontroller is classified into several categories based on the type of operations performed. These include data transfer instructions, byte-level logical instructions, arithmetic instructions, bit-level instructions, rotate and swap instructions, and jump and call instructions. Data transfer instructions move data between registers, memory, and I/O ports using various addressing modes. Byte-level logical instructions perform AND, OR, and XOR operations. Arithmetic instructions support operations like addition, subtraction, multiplication, and division. Bit-level instructions manipulate individual bits in registers and memory. Rotate and swap instructions rotate and rearrange bits and nibbles in the accumulator.
The instruction set of the 8051 microcontroller is classified into several categories based on the type of operations performed. These include data transfer instructions, byte-level logical instructions, arithmetic instructions, bit-level instructions, rotate and swap instructions, and jump and call instructions. Data transfer instructions move data between registers, memory, and I/O ports using various addressing modes. Byte-level logical instructions perform AND, OR, and XOR operations. Arithmetic instructions support operations like addition, subtraction, multiplication, and division. Bit-level instructions manipulate individual bits in registers and memory. Rotate and swap instructions rotate and rearrange bits and nibbles in the accumulator.
The document discusses different addressing modes in 8051 microcontroller - immediate, register, direct, register indirect and indexed addressing. It provides examples of instructions using each addressing mode like MOV, ADD etc. and explains how the address is specified directly or indirectly using registers in each mode.
The document discusses the 8085 microprocessor architecture, its instruction set, and assembly language programming. It describes the 8085 features, registers, bus structure, and instruction types. Examples are provided of assembly language programs to perform arithmetic operations, data transfers, and a factorial calculation using subroutines.
Buy Embedded Systems Projects Online,Buy B tech Projects OnlineTechnogroovy
like our page for more updates:
https://www.facebook.com/Technogroovyindia
With Best Regard's
Technogroovy Systems India Pvt. Ltd.
www.technogroovy.com
Call- +91-9582888121
Whatsapp- +91-8800718323
The document compares microprocessors and microcontrollers and provides details about the 8051 microcontroller architecture. It describes that microcontrollers contain a microprocessor, memory, I/O interfaces and peripheral devices while microprocessors only contain an ALU, control unit and registers. It then provides details about the 8051 architecture such as its ports, registers, memory organization, and instruction set which includes data transfer, arithmetic, logical and I/O instructions.
The document provides information on the 8085 microprocessor and 8051 microcontroller. It discusses the functional blocks and architecture of the 8085 microprocessor, including the ALU, register array, control unit, registers, addressing modes, instruction sets, pin diagram, signals and timing diagrams. It also provides a overview of the 8051 microcontroller, describing its features such as the 8-bit CPU, on-chip oscillator, memory sizes, registers, I/O lines, timers and address spaces. The block diagram of the 8051 microcontroller is also shown.
The document describes the architecture and instruction set of the 8051 microcontroller. It includes details about the memory map, internal data memory organization, special function registers, addressing modes, and common instructions. The 8051 has 4KB of on-chip ROM, 128 bytes of internal RAM, 21 special function registers, and supports operations on bytes, bits, and 16-bit data using various addressing modes like register, direct, indirect, and immediate addressing. Instructions allow data transfer, arithmetic, logic, and program control operations.
Introduction to ANN, McCulloch Pitts Neuron, Perceptron and its Learning
Algorithm, Sigmoid Neuron, Activation Functions: Tanh, ReLu Multi- layer Perceptron
Model – Introduction, learning parameters: Weight and Bias, Loss function: Mean
Square Error, Back Propagation Learning Convolutional Neural Network, Building
blocks of CNN, Transfer Learning, R-CNN,Auto encoders, LSTM Networks, Recent
Trends in Deep Learning.
Design of Variable Depth Single-Span Post.pdfKamel Farid
Hunched Single Span Bridge: -
(HSSBs) have maximum depth at ends and minimum depth at midspan.
Used for long-span river crossings or highway overpasses when:
Aesthetically pleasing shape is required or
Vertical clearance needs to be maximized
How to Build a Desktop Weather Station Using ESP32 and E-ink DisplayCircuitDigest
Learn to build a Desktop Weather Station using ESP32, BME280 sensor, and OLED display, covering components, circuit diagram, working, and real-time weather monitoring output.
Read More : https://circuitdigest.com/microcontroller-projects/desktop-weather-station-using-esp32
この資料は、Roy FieldingのREST論文(第5章)を振り返り、現代Webで誤解されがちなRESTの本質を解説しています。特に、ハイパーメディア制御やアプリケーション状態の管理に関する重要なポイントをわかりやすく紹介しています。
This presentation revisits Chapter 5 of Roy Fielding's PhD dissertation on REST, clarifying concepts that are often misunderstood in modern web design—such as hypermedia controls within representations and the role of hypermedia in managing application state.
The use of huge quantity of natural fine aggregate (NFA) and cement in civil construction work which have given rise to various ecological problems. The industrial waste like Blast furnace slag (GGBFS), fly ash, metakaolin, silica fume can be used as partly replacement for cement and manufactured sand obtained from crusher, was partly used as fine aggregate. In this work, MATLAB software model is developed using neural network toolbox to predict the flexural strength of concrete made by using pozzolanic materials and partly replacing natural fine aggregate (NFA) by Manufactured sand (MS). Flexural strength was experimentally calculated by casting beams specimens and results obtained from experiment were used to develop the artificial neural network (ANN) model. Total 131 results values were used to modeling formation and from that 30% data record was used for testing purpose and 70% data record was used for training purpose. 25 input materials properties were used to find the 28 days flexural strength of concrete obtained from partly replacing cement with pozzolans and partly replacing natural fine aggregate (NFA) by manufactured sand (MS). The results obtained from ANN model provides very strong accuracy to predict flexural strength of concrete obtained from partly replacing cement with pozzolans and natural fine aggregate (NFA) by manufactured sand.
David Boutry - Specializes In AWS, Microservices And Python.pdfDavid Boutry
With over eight years of experience, David Boutry specializes in AWS, microservices, and Python. As a Senior Software Engineer in New York, he spearheaded initiatives that reduced data processing times by 40%. His prior work in Seattle focused on optimizing e-commerce platforms, leading to a 25% sales increase. David is committed to mentoring junior developers and supporting nonprofit organizations through coding workshops and software development.
2. Contents:Introduction
Block Diagram and Pin Description of the 8051
Registers
Some Simple Instructions
Structure of Assembly language and Running an
8051 program
Memory mapping in 8051
8051 Flag bits and the PSW register
Addressing Modes
16-bit, BCD and Signed Arithmetic in 8051
Stack in the 8051
LOOP and JUMP Instructions
CALL Instructions
I/O Port Programming
6. Introduction
• CPU for Computers
• No RAM, ROM, I/O on CPU chip itself
• Example : Intel’s x86, Motorola’s 680x0
CPU
General-
Purpose
Micro-
processor
RAM ROM I/O
Port
Timer
Serial
COM
Port
Data Bus
Address Bus
General-Purpose Microprocessor System
Many chips on mother’s board
General-purpose microprocessor
8. • A smaller computer
• On-chip RAM, ROM, I/O ports...
• Example : Motorola’s 6811, Intel’s 8051, Zilog’s Z8 and PIC 16X
RAM ROM
I/O
Port
Timer
Serial
COM
Port
Microcontroller
CPU
A single chip
Microcontroller :
12. Microprocessor
• CPU is stand-alone, RAM,
ROM, I/O, timer are
separate
• designer can decide on the
amount of ROM, RAM and
I/O ports.
• expansive
• versatility
• general-purpose
Microcontroller
• CPU, RAM, ROM, I/O and
timer are all on a single chip
• fix amount of on-chip ROM,
RAM, I/O ports
• for applications in which cost,
power and space are critical
• single-purpose
Microprocessor vs. Microcontroller
14. • Embedded system means the processor is embedded into
that application.
• An embedded product uses a microprocessor or
microcontroller to do one task only.
• In an embedded system, there is only one application
software that is typically burned into ROM.
• Example : printer, keyboard, video game player
Embedded System
16. The Intel 8051 microcontroller system circuitry
Intel
8051
17. Overview of the 8051 Family
One of the oldest (Intel MCS-51 in 1981) and probably the most
popular microcontroller. Many derivatives are marketed by a number
of manufacturers
Common features,
– 8-bit processor
– 4 I/O ports each 8bits wide
– max of 64K on-chip ROM (usually 0k to 4k)
– max of 64K external data memory
– max of 64K external code memory
– 2 timers, one serial port
– 128 bytes of on-chip RAM
– various speeds from 12MHz
Clones may have different on-chip memory, timers etc
25. Mnemonic Operand(s) Description
ACALL addr11 Absolute subroutine call
ADD A,Rn Add register to Accumulator
ADD A,direct Add direct byte to Accumulator
ADD A,@Ri Add indirect RAM to Accumulator
ADD A,#data Add immediate data to Accumulator
ADDC A,Rn Add register to Accumulator with carry
ADDC A,direct Add direct byte to Accumulator with carry
ADDC A,@Ri Add indirect RAM to Accumulator with carry
ADDC A,#data Add immediate data to Accumulator with carry
AJMP addr11 Absolute jump
ANL A,Rn AND Register to Accumulator
ANL A,direct AND direct byte to Accumulator
ANL A,@Ri AND indirect RAM to Accumulator
ANL A,#data AND immediate data to Accumulator
ANL direct,A AND Accumulator to direct byte
ANL direct,#data AND immediate data to direct byte
ANL C,bit AND direct bit to carry
ANL C,/bit AND complement of direct bit to carry
CJNE A,direct,rel Compare direct byte to Acc and jump if not equal
CJNE A,#data,rel Compare immediate to Acc and jump if not equal
CJNE RN,#data,rel Compare immediate to register and jump if not equal
CJNE @Ri,#data,rel Compare immediate to indirect and jump if not equal
CLR A Clear Accumulator
CLR C Clear carry
CLR bit Clear direct bit
CPL A Complement Accumulator
CPL C Complement carry
CPL bit Complement direct bit
DA A Decimal Adjust Accumulator
DEC A Decrement Accumulator
DEC Rn Decrement Register
DEC direct Decrement direct byte
DEC @Ri Decrement indirect RAM
DIV AB Divide A by B
DJNZ Rn,rel Decrement register and jump if not zero
DJNZ direct,rel Decrement direct byte and jump if not zero
INC A Increment Accumulator
INC Rn Increment register
INC direct Increment direct byte
INC @Ri Increment indirect RAM
INC DPTR Increment Data Pointer
JB rel Jump if direct bit is set
JBC bit,rel Jump if direct bit is set and clear bit
JC rel Jump if carry is set
JMP @A+DPTR Jump indirect relative to the DPTR
JNB rel Jump if direct bit is not set
JNC rel Jump if carry not set
JNZ rel Jump if Accumulator is not zero
JZ rel Jump if Accumulator is zero
LCALL addr16 Long subroutine call
LJMP addr16 Long jump
MOV A,Rn Move register to Accumulator
MOV A,direct Move direct byte to Accumulator
MOV A,@Ri Move indirect RAM to Accumulator
MOV A,#data Move immediate data to Accumulator
MOV Rn,A Move Accumulator to register
MOV Rn,direct Move direct byte to register
MOV RN,#data Move immediate data to register
MOV direct,A Move Accumulator to direct byte
MOV direct,Rn Move register to direct byte
MOV direct,direct Move direct byte to direct
MOV direct,@Ri Move indirect RAM to direct byte
MOV direct,#data Move immediate data to direct byte
MOV @Ri,A Move Accumulator to indirect RAM
MOV @Ri,direct Move direct byte to indirect RAM
MOV @Ri,#data Move immediate data to indirect RAM
MOV DPTR,#data16 Load Data Pointer with a 16-bit constant
MOV C,bit Move direct bit to carry
MOV bit,C Move carry to direct bit
MOVC A,@A+DPTR Move Code byte relative to DPTR to Accumulator
MOVC A,@A+PC Move Code byte relative to PC to Accumulator
MOVX A,@Ri Move external RAM (8-bit addr) to Accumulator
MOVX A,@DPTR Move external RAM (16-bit addr) to Accumulator
MOVX A,@Ri,A Move Accumulator to external RAM (8-bit addr)
MOVX @DPTR,A Move Accumulator to external RAM (16-bit addr)
MUL AB Multiply A and B
NOP none No operation
ORL A,Rn OR register to Accumulator
ORL A,direct OR direct byte to Accumulator
ORL A,@Ri OR indirect RAM to Accumulator
ORL A,#data OR immediate data to Accumulator
ORL direct,A OR Accumulator to direct byte
ORL direct,#data OR immediate data to direct byte
ORL C,bit OR direct bit to carry
The 8051 Instruction set
26. Assembly Language programming:
• Hand assembly:
- translate manually
- key-in opcodes for instruction
- time consuming & error prone.
• Assembly language.
- use assembler program to generate
machine codes.
- easier and faster.
29. Programming is both a science and art !!
Science – rules of grammar, punctuation,
spelling & structure.
Art – how the words are arranged
30. How to tell a lump of sand what to do:
1. study common programming techniques
2. analyze example programs
3. write many practice programs
31. Structure of Assembly language and
Running an 8051 program
ORG 0H
MOV R5,#25H
MOV R7,#34H
MOV A,#0
ADD A,R5
ADD A,#12H
END
EDITOR
PROGRAM
ASSEMBLER
PROGRAM
LINKER
PROGRAM
OH
PROGRAM
Myfile.asm
Myfile.obj
Other obj file
Myfile.lst
Myfile.abs
Myfile.hex
32. Move Data
concepts:
• data is stored at a source address
moved to (actually, data is copied)
a destination address.
= Addressing modesAddressing modes.
44. Arithmetic
ADD A,Rn Add register to Accumulator
ADD A,direct Add direct byte to Accumulator
ADD A,@Ri Add indirect RAM to Accumulator
ADD A,#data Add immediate data to Accumulator
ADDC A,Rn Add register to Accumulator with carry
ADDC A,direct Add direct byte to Accumulator with carry
ADDC A,@Ri Add indirect RAM to Accumulator with carry
ADDC A,#data Add immediate data to Accumulator with carry
DIV AB Divide A by B
MUL AB Multiply A and B
SUBB A,Rn Subtract Register from Accumulator with borrow
SUBB A,direct Subtract direct byte from Accumulator with borrow
SUBB A,@Ri Subtract indirect RAM from Accumulator with borrow
SUBB A,#data Subtract immediate data from Acc with borrow
45. Logic
ANL A,Rn AND Register to Accumulator
ANL A,direct AND direct byte to Accumulator
ANL A,@Ri AND indirect RAM to Accumulator
ANL A,#data AND immediate data to Accumulator
ANL direct,A AND Accumulator to direct byte
ANL direct,#data AND immediate data to direct byte
ANL C,bit AND direct bit to carry
ANL C,/bit AND complement of direct bit to carry
ORL A,Rn OR register to Accumulator
ORL A,direct OR direct byte to Accumulator
ORL A,@Ri OR indirect RAM to Accumulator
ORL A,#data OR immediate data to Accumulator
ORL direct,A OR Accumulator to direct byte
ORL direct,#data OR immediate data to direct byte
ORL C,bit OR direct bit to carry
ORL C,/bit OR complement of direct bit to carry
46. Logic
XRL A,Rn Exclusive-OR register to Accumulator
XRL A,direct Exclusive-OR direct byte to Accumulator
XRL A,@Ri Exclusive-OR indirect RAM to Accumulator
XRL A,#data Exclusive-OR immediate data to Accumulator
XRL direct,A Exclusive-OR Accumulator to direct byte
XRL direct,#data Exclusive-OR immediate data to direct byte
Example: ANL A,1AH
ANL 22H,#11H
ORL A,R1
ORL A,@R1
XRL A,4FH
XRL 2AH,#AAH
Simulation
47. ADD A, Source ;A=A+SOURCE
ADD A,#6 ;A=A+6
ADD A,R6 ;A=A+R6
ADD A,6 ;A=A+[6] or A=A+R6
ADD A,0F3H ;A=A+[0F3H]
48. SETB bit ; bit=1
CLR bit ; bit=0
SETB C ; CY=1
SETB P0.0 ;bit 0 from port 0 =1
SETB P3.7 ;bit 7 from port 3 =1
SETB ACC.2 ;bit 2 from ACCUMULATOR =1
SETB 05 ;set high D5 of RAM loc. 20h
Note:
CLR instruction is as same as SETB
i.e:
CLR C ;CY=0
But following instruction is only for CLR:
CLR A ;A=0
Bit Addressable
Page 359,360
50. DEC byte ;byte=byte-1
INC byte ;byte=byte+1
INC R7
DEC A
DEC 40H ; [40]=[40]-1
CPL A ;1’s complement
Example:
MOV A,#55H ;A=01010101 B
L01: CPL A ;A=10101010 B
MOV P1,A
ACALL DELAY
SJMP L01
NOP & RET & RETI
All are like 8086 instructions.
CALL
53. Program Control - Jump
AJMP addr11 Absolute jump
JB rel Jump if direct bit is set
JBC bit,rel Jump if direct bit is set and clear bit
JC rel Jump if carry is set
JMP @A+DPTR Jump indirect relative to the DPTR
JNB rel Jump if direct bit is not set
JNC rel Jump if carry not set
JNZ rel Jump if Accumulator is not zero
JZ rel Jump if Accumulator is zero
LJMP addr16 Long jump
SJMP rel Short jump (relative addr)
58. 8051 Instruction Set
ACALL: Absolute Call
ADD, ADDC: Add Acc. (With Carry)
AJMP: Absolute Jump
ANL: Bitwise AND
CJNE: Compare & Jump if Not Equal
CLR: Clear Register
CPL: Complement Register
DA: Decimal Adjust
DEC: Decrement Register
DIV: Divide Accumulator by B
DJNZ: Dec. Reg. & Jump if Not Zero
INC: Increment Register
JB: Jump if Bit Set
JBC: Jump if Bit Set and Clear Bit
JC: Jump if Carry Set
JMP: Jump to Address
JNB: Jump if Bit Not Set
JNC: Jump if Carry Not Set
JNZ: Jump if Acc. Not Zero
JZ: Jump if Accumulator Zero
LCALL: Long Call
LJMP: Long Jump
MOV: Move Memory
MOVC: Move Code Memory
MOVX: Move Extended Memory
MUL: Multiply Accumulator by B
NOP: No Operation
ORL: Bitwise OR
POP: Pop Value From Stack
PUSH: Push Value Onto Stack
RET: Return From Subroutine
RETI: Return From Interrupt
RL: Rotate Accumulator Left
RLC: Rotate Acc. Left Through Carry
RR: Rotate Accumulator Right
RRC: Rotate Acc. Right Through Carry
SETB: Set Bit
SJMP: Short Jump
SUBB: Sub. From Acc. With Borrow
SWAP: Swap Accumulator Nibbles
XCH: Exchange Bytes
XCHD: Exchange Digits
XRL: Bitwise Exclusive OR
Undefined: Undefined Instruction
60. ABITEC Application Board programming:
1. Eight large LED arrays
2. Eight switches array
3. Two Dual seven segment displays
4. DC Motor & Control
5. Semiconductor temperature sensor
6. Speaker
7. Heater control circuit
8. Telephone type keypad matrix
9. Fibre optic transmitter and receiver
10. Slider potentiometer - variable analogue voltage
11. An 8 bit Digital to Analogue Converter (DAC) and
comparator to enable programming of ADC functions
• Optional:
• LCD interface
• Stepper Motor Control (D4 - D7)
62. Time Delay
•To write accurate time delay routine.
•Using the DJNZ or CJNE instruction.
64. Interrupts
1. Enabling and Disabling Interrupts
2. Interrupt Priority
3. Writing the ISR (Interrupt Service
Routine)
66. Interrupt Vectors
Interrupt Vector Address
System Reset 0000H
External 0 0003H
Timer 0 000BH
External 1 0013H
Timer 1 001BH
Serial Port 0023H
Timer 2 002BH
67. Writing the ISR
Example:
Writing the ISR for Timer0 interrupt
ORG 0000H ;reset
LJMP MAIN
ORG 000BH ;Timer0 entry point
T0ISR: . ;Timer0 ISR begins
.
RETI ;return to main program
MAIN: . ;main program
.
.
END
#13: versatility 多用途的: any number of applications for PC
#15: processor 整合到整個系統中, 你只看到此系統的外觀, 應用, 感覺不到有 processor 在其中.
Embedded system 通常只有一項應用, 而 PC 有許多 applications (game, accounting, fax, mail...)
A printer is an example of embedded system since the processor inside it performs one task only.