SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
MICROCONTROLLER
ARCHITECTURE &
ASSEMBLY LANGUAGE
PROGRAMMING
Noriah bt Mustafa
POLITEKNIK SULTAN HAJI AHMAD SHAH
CHAPTER 2 – Part 2
EC501 EMBEDDED SYSTEM APPLICATIONS
OUTCOMES
 Know PIC Assembly Language fundamental
Overview
 PIC - "Peripheral Interface Controller”
 How to use PIC microcontroller?
 Hardware
 Software - programming
 Programming language
 Machine language – machine code
 Assembly language
 High level language  C, C++, Basic
Low level
language
Introduction
 Assembly language is programming language
use to write programs using instructions that are
the symbolic code called mnemonic.
 Assembly language programs must to be
translated into machine code by a program
called assembler.
 To program in assembly language, the
programmer must know all the registers of the
CPU and the size of each, as well as other
details.
Assembling and linking process
 First use a text editor to type program in assembly
language. In the case of PIC microcontrollers, we use the
MPLAB IDE.
 The “asm” source file is fed into PIC assembler. The
assembler converts the instructions into machine code.
 The third step is called linking. The link program takes
one or more object files and produces a hex file, a list
file, a map file, an intermediate abject file and a debug
file.
 After a successful link, the hex file is ready to be burned
into PIC’s program ROM and is downloaded into PIC
trainers.
Sample o a PIC Assembly Source Code (asm file)
Assembler Directives
 While instruction tell the CPU what to do, directives
(also called pseudo-instructions) give direction to the
assembler.
 Assembler directives are instruction used to tell the
CPU what to do.
 Examples of assembler directive :
EQU – equate (use to define value or a fixed address)
ORG – origin (use to indicate the beginning of the address for
code or data)
END – indicate the end of the source (asm) file.
Review Questions
1. What is the purpose of pseudo-instructions?
2. _____________ are translated by the assembler into
machine code, whereas _____________are not.
3. True or false. Assembly language is a high- level
language.
4. Pseudo- instruction are also called __________.
5. True or false. Assembler directives are not used by the
CPU itself. /they are simply guide to the assembler.
6. Which one the following is an assembler directive?
a) MOVLW 25H b) ADDLW 12 c) ORG 200H d) GOTO HERE
Data Format Representation
 The following are data type and data format
using for PIC microcontrollers.
Data Type Data Format
Hexadecimal 99H
0X99
h’99’
99
Decimal D’12’
Binary B’10011001’
ASCII A’2’
PIC18F instruction set.
 PIC18F2455/2550/4455/4550 devices
incorporate the standard set of 75 core instructions.
PIC18F
instruction
set.
PIC18F instruction set (cont.)
PIC18F instruction set (cont.)
MOVLW Instruction
 MOVLW Instruction moves 8-bit data into WREG
register. It has the following format:
MOVLW K ;move literal value K into WREG
 Example: Load the WREG register with value 25H.
MOVLW 25H ;move value 25H into WREG (WREG = 25H)
Operation: k → W
MOVWF Instruction
 The MOVWF instruction tells the CPU to move (in reality,
copy) the source register of WREG to a destination
register in file register (F).
 Example: Load value 66H into Port B, C and D.
MOVLW 66H ;move the value 66H to WREG (WREG = 66H)
MOVWF PORTB ; move the value in WREG to PORTB (PORTB = 66H)
MOVWF PORTC ;PORTC = 66H
MOVWF PORTD ;PORTD = 66H
MOVWF Move W to f Operation: (W) → f
Example
 Write assembly instruction to make the I/O port as
below :
a) RB4 and RB5 as input
b) PORTC as output
Solution:
a) MOVLW B’00110000’
MOVWF TRISB
b) MOVLW B’00110000’
MOVWF TRISB
Arithmetic Instruction
 Instructions for performing 8-bit addition,
subtraction and multiplication operation.
Addition
 These ADD instructions are design to perform 8-
bit addition.
 The execution result of the ADD instruction will
affect all flag bits of the STATUS register.
Operation: (W) + k → W
Addition (cont..)
Example
Write a program that add the hexadecimal numbers 0x20
and 0x30. Store the sum in data register at 0x50.
ORG 0X00
MOVLW 0X20
ADDLW 0X30
MOVWF 0X50,A
END
Example
Subtraction
• PIC18 microcontroller has two SUBTRACT
instructions. Subtract instruction will also affect all the
flag of STATUS register.
SUBLW Subtract W from Literal Operation: k – (W) → W
SUBWF Subtract W from f Operation: (f) – (W) → dest
Subtraction
Example
 Write a program to subtract 5 from 40H. Identify the
flag bit in status register.
Solution:
#include <pic18f4550>
ORG 0X00
MOVLW D’5’
SUBLW 0X40
END
Logic Instruction
 The logical instruction allow user to perform AND, OR,
exclusive-OR and complementing on 8-bit numbers.
Example
Example :
Write assembly statement for the operation 0XFF ||
0X55
MOVLW 0XFF ;move the value 0xFFin to WREG
IORLW 0X55 ;OR the value in WREG with value 0x55
Review Questions
Bit manipulation
 The bit operations set, clear and toggle
test only a single bit. The bit oriented
instructions available to PIC family are
BCF, BSF, BTFSC, BTFSS and BTG.
BCF Bit Clear f
Operation: 0 → f<b>
BSF Bit Set f Operation: 1 → f<b>
Bit manipulation
Example:
Write an assembly statement to make RB4 as
input an RC7 as output using bit addressable.
Solution:
BSF TRISB,4 ; set RB4 as input
BCF TRISC,7 ; make RC7 as output
Rotate Instruction
 PIC 18 families has four rotate instructions. Figure 2.
Illustrates this four rotate instructions.
RLCF Rotate Left f through Carry
RLNCF Rotate Left f (No Carry)
RRCF Rotate Right f through Carry
RRNCF Rotate Right f (No Carry)
Rotate
Example: RLCF
Data serialization
 One of the most widely used applications of the
rotate instructions. Data serialization is a process of
sending a byte of data, one bit at a time through a
single pin of microcontroller.
 The characteristic of data serialization are:
 Using the serial port.
 Using a programming technique to transfer data
one bit at a time and control the sequence of data
and spaces between them.
Data serialization
Example
Write a program to bring in a byte of data serially via
pin RC7 and save it in file register location 0x21. The byte
comes in with the LSB first.
Solution:
RCNT EQU 0x20
MYREG EQU 0x21
BSF TRISC,7
MOVLW 0x8
MOVWF RCNT
AGAIN BTFSC PORTC 7
BSF STATUS,C
BTFSS PORTC,7
BCF STATUS,C
RRCF MYREG,F
DECF RCNT F
BNZ AGAIN
Review Questions

Weitere ähnliche Inhalte

Was ist angesagt?

introduction to microprocessors
introduction to microprocessorsintroduction to microprocessors
introduction to microprocessorsvishi1993
 
Embedded Systems using Microwave oven
Embedded Systems using  Microwave ovenEmbedded Systems using  Microwave oven
Embedded Systems using Microwave ovenBOOMIKAD
 
microcontroller basics
microcontroller basicsmicrocontroller basics
microcontroller basicssagar Ramdev
 
Pic microcontroller architecture
Pic microcontroller architecturePic microcontroller architecture
Pic microcontroller architectureDominicHendry
 
8085 microprocessor architecture
8085 microprocessor architecture8085 microprocessor architecture
8085 microprocessor architectureArashdeepkaur16
 
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND CPIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C raosandy11
 
Harvard architecture
Harvard architectureHarvard architecture
Harvard architectureGichelle Amon
 
Architecture of 80286 microprocessor
Architecture of 80286 microprocessorArchitecture of 80286 microprocessor
Architecture of 80286 microprocessorSyed Ahmed Zaki
 
PLC (PROGRAMMABLE LOGIC CONTROLLER)
PLC (PROGRAMMABLE LOGIC CONTROLLER)PLC (PROGRAMMABLE LOGIC CONTROLLER)
PLC (PROGRAMMABLE LOGIC CONTROLLER)Manoj Gowda K
 

Was ist angesagt? (20)

Sixth sensing robot
Sixth sensing robotSixth sensing robot
Sixth sensing robot
 
introduction to microprocessors
introduction to microprocessorsintroduction to microprocessors
introduction to microprocessors
 
Embedded Systems using Microwave oven
Embedded Systems using  Microwave ovenEmbedded Systems using  Microwave oven
Embedded Systems using Microwave oven
 
Embedded systems basics
Embedded systems basicsEmbedded systems basics
Embedded systems basics
 
Esp8266 basics
Esp8266 basicsEsp8266 basics
Esp8266 basics
 
microcontroller basics
microcontroller basicsmicrocontroller basics
microcontroller basics
 
UART
UARTUART
UART
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
 
Pic microcontroller architecture
Pic microcontroller architecturePic microcontroller architecture
Pic microcontroller architecture
 
Uart
UartUart
Uart
 
8051 Microcontroller
8051 Microcontroller8051 Microcontroller
8051 Microcontroller
 
I2C
I2CI2C
I2C
 
8085 microprocessor architecture
8085 microprocessor architecture8085 microprocessor architecture
8085 microprocessor architecture
 
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND CPIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
 
Cisc mc68000
Cisc mc68000Cisc mc68000
Cisc mc68000
 
PIC Microcontrollers
PIC MicrocontrollersPIC Microcontrollers
PIC Microcontrollers
 
Microcontroller
MicrocontrollerMicrocontroller
Microcontroller
 
Harvard architecture
Harvard architectureHarvard architecture
Harvard architecture
 
Architecture of 80286 microprocessor
Architecture of 80286 microprocessorArchitecture of 80286 microprocessor
Architecture of 80286 microprocessor
 
PLC (PROGRAMMABLE LOGIC CONTROLLER)
PLC (PROGRAMMABLE LOGIC CONTROLLER)PLC (PROGRAMMABLE LOGIC CONTROLLER)
PLC (PROGRAMMABLE LOGIC CONTROLLER)
 

Andere mochten auch

Introduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its ApplicationsIntroduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its ApplicationsGaurav Verma
 
Embedded system (Chapter 2) part A
Embedded system (Chapter 2) part AEmbedded system (Chapter 2) part A
Embedded system (Chapter 2) part AIkhwan_Fakrudin
 
Isi kandungan (latihan industri)
Isi kandungan (latihan industri)Isi kandungan (latihan industri)
Isi kandungan (latihan industri)Ikhwan_Fakrudin
 
CMOS Topic 3 -_the_device
CMOS Topic 3 -_the_deviceCMOS Topic 3 -_the_device
CMOS Topic 3 -_the_deviceIkhwan_Fakrudin
 
Embedded system (Chapter 5) part 1
Embedded system (Chapter 5) part 1Embedded system (Chapter 5) part 1
Embedded system (Chapter 5) part 1Ikhwan_Fakrudin
 
Embedded system (Chapter )
Embedded system (Chapter )Embedded system (Chapter )
Embedded system (Chapter )Ikhwan_Fakrudin
 
Embedded system (Chapter 3) io_port_programming
Embedded system (Chapter 3) io_port_programmingEmbedded system (Chapter 3) io_port_programming
Embedded system (Chapter 3) io_port_programmingIkhwan_Fakrudin
 
CMOS Topic 6 -_designing_combinational_logic_circuits
CMOS Topic 6 -_designing_combinational_logic_circuitsCMOS Topic 6 -_designing_combinational_logic_circuits
CMOS Topic 6 -_designing_combinational_logic_circuitsIkhwan_Fakrudin
 
Introduction To Embedded Systems
Introduction To Embedded SystemsIntroduction To Embedded Systems
Introduction To Embedded Systemsanishgoel
 
report latihan industri politeknik ( Bab 1 )
report latihan industri politeknik ( Bab 1 )report latihan industri politeknik ( Bab 1 )
report latihan industri politeknik ( Bab 1 )Ikhwan_Fakrudin
 
CMOS Topic 5 -_cmos_inverter
CMOS Topic 5 -_cmos_inverterCMOS Topic 5 -_cmos_inverter
CMOS Topic 5 -_cmos_inverterIkhwan_Fakrudin
 
Panduan menulis report akhir
Panduan menulis report akhirPanduan menulis report akhir
Panduan menulis report akhirIkhwan_Fakrudin
 
CMOS Topic 7 -_design_methodology
CMOS Topic 7 -_design_methodologyCMOS Topic 7 -_design_methodology
CMOS Topic 7 -_design_methodologyIkhwan_Fakrudin
 
CMOS Topic 2 -manufacturing_process
CMOS Topic 2 -manufacturing_processCMOS Topic 2 -manufacturing_process
CMOS Topic 2 -manufacturing_processIkhwan_Fakrudin
 

Andere mochten auch (18)

Introduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its ApplicationsIntroduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its Applications
 
Embedded system (Chapter 2) part A
Embedded system (Chapter 2) part AEmbedded system (Chapter 2) part A
Embedded system (Chapter 2) part A
 
Isi kandungan (latihan industri)
Isi kandungan (latihan industri)Isi kandungan (latihan industri)
Isi kandungan (latihan industri)
 
CMOS Topic 3 -_the_device
CMOS Topic 3 -_the_deviceCMOS Topic 3 -_the_device
CMOS Topic 3 -_the_device
 
Pengakuan
PengakuanPengakuan
Pengakuan
 
Report latihan industri
Report latihan industriReport latihan industri
Report latihan industri
 
Embedded system (Chapter 5) part 1
Embedded system (Chapter 5) part 1Embedded system (Chapter 5) part 1
Embedded system (Chapter 5) part 1
 
Embedded system (Chapter )
Embedded system (Chapter )Embedded system (Chapter )
Embedded system (Chapter )
 
Embedded system (Chapter 3) io_port_programming
Embedded system (Chapter 3) io_port_programmingEmbedded system (Chapter 3) io_port_programming
Embedded system (Chapter 3) io_port_programming
 
CMOS Topic 6 -_designing_combinational_logic_circuits
CMOS Topic 6 -_designing_combinational_logic_circuitsCMOS Topic 6 -_designing_combinational_logic_circuits
CMOS Topic 6 -_designing_combinational_logic_circuits
 
Introduction To Embedded Systems
Introduction To Embedded SystemsIntroduction To Embedded Systems
Introduction To Embedded Systems
 
CMOS Topic 4 -_the_wire
CMOS Topic 4 -_the_wireCMOS Topic 4 -_the_wire
CMOS Topic 4 -_the_wire
 
report latihan industri politeknik ( Bab 1 )
report latihan industri politeknik ( Bab 1 )report latihan industri politeknik ( Bab 1 )
report latihan industri politeknik ( Bab 1 )
 
CMOS Topic 5 -_cmos_inverter
CMOS Topic 5 -_cmos_inverterCMOS Topic 5 -_cmos_inverter
CMOS Topic 5 -_cmos_inverter
 
Panduan menulis report akhir
Panduan menulis report akhirPanduan menulis report akhir
Panduan menulis report akhir
 
CMOS Topic 7 -_design_methodology
CMOS Topic 7 -_design_methodologyCMOS Topic 7 -_design_methodology
CMOS Topic 7 -_design_methodology
 
CMOS Topic 2 -manufacturing_process
CMOS Topic 2 -manufacturing_processCMOS Topic 2 -manufacturing_process
CMOS Topic 2 -manufacturing_process
 
INTRODUCTION_TO_IC
INTRODUCTION_TO_ICINTRODUCTION_TO_IC
INTRODUCTION_TO_IC
 

Ähnlich wie Embedded system (Chapter 2) part 2

Ch2 microcontroller architecture
Ch2 microcontroller architectureCh2 microcontroller architecture
Ch2 microcontroller architectureAhmad Sidik
 
Chp6 assembly language programming for pic copy
Chp6 assembly language programming for pic   copyChp6 assembly language programming for pic   copy
Chp6 assembly language programming for pic copymkazree
 
Ecet 330 final exam new 2016
Ecet 330 final exam new 2016Ecet 330 final exam new 2016
Ecet 330 final exam new 2016sergejsvolkovs10
 
Ecet 330 final exam new 2016
Ecet 330 final exam new 2016Ecet 330 final exam new 2016
Ecet 330 final exam new 2016powellabril
 
Ecet 330 final exam new 2016
Ecet 330 final exam new 2016Ecet 330 final exam new 2016
Ecet 330 final exam new 2016powellabril
 
My seminar new 28
My seminar new 28My seminar new 28
My seminar new 28rajeshkvdn
 
CH-3 CO-all-about-operating-system(Update).pptx
CH-3 CO-all-about-operating-system(Update).pptxCH-3 CO-all-about-operating-system(Update).pptx
CH-3 CO-all-about-operating-system(Update).pptxXyzXyz338506
 
Instruction Set Architecture
Instruction Set ArchitectureInstruction Set Architecture
Instruction Set ArchitectureDilum Bandara
 
ECET 330 Massive Success--snaptutorial.com
ECET 330 Massive Success--snaptutorial.comECET 330 Massive Success--snaptutorial.com
ECET 330 Massive Success--snaptutorial.comsantricksapiens71
 
Ecet 330 Success Begins / snaptutorial.com
Ecet 330 Success Begins / snaptutorial.comEcet 330 Success Begins / snaptutorial.com
Ecet 330 Success Begins / snaptutorial.comWilliamsTaylorzm
 
Ecet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.comEcet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.comStephenson033
 
ECET 330 Technology levels--snaptutorial.com
ECET 330 Technology levels--snaptutorial.comECET 330 Technology levels--snaptutorial.com
ECET 330 Technology levels--snaptutorial.comsholingarjosh102
 
Basic programming of 8085
Basic programming of 8085 Basic programming of 8085
Basic programming of 8085 vijaydeepakg
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler ProgrammingOmar Sanchez
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...Bilal Amjad
 
8051 microcontroller
8051 microcontroller 8051 microcontroller
8051 microcontroller nitugatkal
 

Ähnlich wie Embedded system (Chapter 2) part 2 (20)

Ch2 microcontroller architecture
Ch2 microcontroller architectureCh2 microcontroller architecture
Ch2 microcontroller architecture
 
Chp6 assembly language programming for pic copy
Chp6 assembly language programming for pic   copyChp6 assembly language programming for pic   copy
Chp6 assembly language programming for pic copy
 
Highridge ISA
Highridge ISAHighridge ISA
Highridge ISA
 
Ecet 330 final exam new 2016
Ecet 330 final exam new 2016Ecet 330 final exam new 2016
Ecet 330 final exam new 2016
 
Ecet 330 final exam new 2016
Ecet 330 final exam new 2016Ecet 330 final exam new 2016
Ecet 330 final exam new 2016
 
Ecet 330 final exam new 2016
Ecet 330 final exam new 2016Ecet 330 final exam new 2016
Ecet 330 final exam new 2016
 
Picmico
PicmicoPicmico
Picmico
 
My seminar new 28
My seminar new 28My seminar new 28
My seminar new 28
 
CH-3 CO-all-about-operating-system(Update).pptx
CH-3 CO-all-about-operating-system(Update).pptxCH-3 CO-all-about-operating-system(Update).pptx
CH-3 CO-all-about-operating-system(Update).pptx
 
Instruction Set Architecture
Instruction Set ArchitectureInstruction Set Architecture
Instruction Set Architecture
 
ECET 330 Massive Success--snaptutorial.com
ECET 330 Massive Success--snaptutorial.comECET 330 Massive Success--snaptutorial.com
ECET 330 Massive Success--snaptutorial.com
 
Ecet 330 Success Begins / snaptutorial.com
Ecet 330 Success Begins / snaptutorial.comEcet 330 Success Begins / snaptutorial.com
Ecet 330 Success Begins / snaptutorial.com
 
Ecet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.comEcet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.com
 
ECET 330 Technology levels--snaptutorial.com
ECET 330 Technology levels--snaptutorial.comECET 330 Technology levels--snaptutorial.com
ECET 330 Technology levels--snaptutorial.com
 
Basic programming of 8085
Basic programming of 8085 Basic programming of 8085
Basic programming of 8085
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler Programming
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
 
8051 microcontroller
8051 microcontroller 8051 microcontroller
8051 microcontroller
 
Presentation
PresentationPresentation
Presentation
 
12 mt06ped008
12 mt06ped008 12 mt06ped008
12 mt06ped008
 

Kürzlich hochgeladen

AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 

Kürzlich hochgeladen (20)

AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 

Embedded system (Chapter 2) part 2

  • 1. MICROCONTROLLER ARCHITECTURE & ASSEMBLY LANGUAGE PROGRAMMING Noriah bt Mustafa POLITEKNIK SULTAN HAJI AHMAD SHAH CHAPTER 2 – Part 2 EC501 EMBEDDED SYSTEM APPLICATIONS
  • 2. OUTCOMES  Know PIC Assembly Language fundamental
  • 3. Overview  PIC - "Peripheral Interface Controller”  How to use PIC microcontroller?  Hardware  Software - programming  Programming language  Machine language – machine code  Assembly language  High level language  C, C++, Basic Low level language
  • 4. Introduction  Assembly language is programming language use to write programs using instructions that are the symbolic code called mnemonic.  Assembly language programs must to be translated into machine code by a program called assembler.
  • 5.  To program in assembly language, the programmer must know all the registers of the CPU and the size of each, as well as other details.
  • 6. Assembling and linking process  First use a text editor to type program in assembly language. In the case of PIC microcontrollers, we use the MPLAB IDE.  The “asm” source file is fed into PIC assembler. The assembler converts the instructions into machine code.  The third step is called linking. The link program takes one or more object files and produces a hex file, a list file, a map file, an intermediate abject file and a debug file.  After a successful link, the hex file is ready to be burned into PIC’s program ROM and is downloaded into PIC trainers.
  • 7.
  • 8. Sample o a PIC Assembly Source Code (asm file)
  • 9. Assembler Directives  While instruction tell the CPU what to do, directives (also called pseudo-instructions) give direction to the assembler.  Assembler directives are instruction used to tell the CPU what to do.  Examples of assembler directive : EQU – equate (use to define value or a fixed address) ORG – origin (use to indicate the beginning of the address for code or data) END – indicate the end of the source (asm) file.
  • 10. Review Questions 1. What is the purpose of pseudo-instructions? 2. _____________ are translated by the assembler into machine code, whereas _____________are not. 3. True or false. Assembly language is a high- level language. 4. Pseudo- instruction are also called __________. 5. True or false. Assembler directives are not used by the CPU itself. /they are simply guide to the assembler. 6. Which one the following is an assembler directive? a) MOVLW 25H b) ADDLW 12 c) ORG 200H d) GOTO HERE
  • 11. Data Format Representation  The following are data type and data format using for PIC microcontrollers. Data Type Data Format Hexadecimal 99H 0X99 h’99’ 99 Decimal D’12’ Binary B’10011001’ ASCII A’2’
  • 12. PIC18F instruction set.  PIC18F2455/2550/4455/4550 devices incorporate the standard set of 75 core instructions.
  • 16. MOVLW Instruction  MOVLW Instruction moves 8-bit data into WREG register. It has the following format: MOVLW K ;move literal value K into WREG  Example: Load the WREG register with value 25H. MOVLW 25H ;move value 25H into WREG (WREG = 25H) Operation: k → W
  • 17. MOVWF Instruction  The MOVWF instruction tells the CPU to move (in reality, copy) the source register of WREG to a destination register in file register (F).  Example: Load value 66H into Port B, C and D. MOVLW 66H ;move the value 66H to WREG (WREG = 66H) MOVWF PORTB ; move the value in WREG to PORTB (PORTB = 66H) MOVWF PORTC ;PORTC = 66H MOVWF PORTD ;PORTD = 66H MOVWF Move W to f Operation: (W) → f
  • 18. Example  Write assembly instruction to make the I/O port as below : a) RB4 and RB5 as input b) PORTC as output Solution: a) MOVLW B’00110000’ MOVWF TRISB b) MOVLW B’00110000’ MOVWF TRISB
  • 19. Arithmetic Instruction  Instructions for performing 8-bit addition, subtraction and multiplication operation.
  • 20. Addition  These ADD instructions are design to perform 8- bit addition.  The execution result of the ADD instruction will affect all flag bits of the STATUS register. Operation: (W) + k → W
  • 21. Addition (cont..) Example Write a program that add the hexadecimal numbers 0x20 and 0x30. Store the sum in data register at 0x50. ORG 0X00 MOVLW 0X20 ADDLW 0X30 MOVWF 0X50,A END
  • 23. Subtraction • PIC18 microcontroller has two SUBTRACT instructions. Subtract instruction will also affect all the flag of STATUS register. SUBLW Subtract W from Literal Operation: k – (W) → W SUBWF Subtract W from f Operation: (f) – (W) → dest
  • 24. Subtraction Example  Write a program to subtract 5 from 40H. Identify the flag bit in status register. Solution: #include <pic18f4550> ORG 0X00 MOVLW D’5’ SUBLW 0X40 END
  • 25. Logic Instruction  The logical instruction allow user to perform AND, OR, exclusive-OR and complementing on 8-bit numbers.
  • 26. Example Example : Write assembly statement for the operation 0XFF || 0X55 MOVLW 0XFF ;move the value 0xFFin to WREG IORLW 0X55 ;OR the value in WREG with value 0x55
  • 28. Bit manipulation  The bit operations set, clear and toggle test only a single bit. The bit oriented instructions available to PIC family are BCF, BSF, BTFSC, BTFSS and BTG. BCF Bit Clear f Operation: 0 → f<b> BSF Bit Set f Operation: 1 → f<b>
  • 29. Bit manipulation Example: Write an assembly statement to make RB4 as input an RC7 as output using bit addressable. Solution: BSF TRISB,4 ; set RB4 as input BCF TRISC,7 ; make RC7 as output
  • 30. Rotate Instruction  PIC 18 families has four rotate instructions. Figure 2. Illustrates this four rotate instructions. RLCF Rotate Left f through Carry RLNCF Rotate Left f (No Carry) RRCF Rotate Right f through Carry RRNCF Rotate Right f (No Carry)
  • 32. Data serialization  One of the most widely used applications of the rotate instructions. Data serialization is a process of sending a byte of data, one bit at a time through a single pin of microcontroller.  The characteristic of data serialization are:  Using the serial port.  Using a programming technique to transfer data one bit at a time and control the sequence of data and spaces between them.
  • 33. Data serialization Example Write a program to bring in a byte of data serially via pin RC7 and save it in file register location 0x21. The byte comes in with the LSB first. Solution: RCNT EQU 0x20 MYREG EQU 0x21 BSF TRISC,7 MOVLW 0x8 MOVWF RCNT AGAIN BTFSC PORTC 7 BSF STATUS,C BTFSS PORTC,7 BCF STATUS,C RRCF MYREG,F DECF RCNT F BNZ AGAIN