0% found this document useful (0 votes)
19 views50 pages

MIC323 - Class 6

ميكروو
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views50 pages

MIC323 - Class 6

ميكروو
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

CLASS 6

CLASS 5 REVIEW
7-SEGMENT DISPLAY
7-SEGMENT DISPLAY

COMMON CATHODE
7-SEGMENT DISPLAY

SHOW CHARACTER “C”


IN THE FOURTH AND SECOND 7-SEG DISPLAYS

3
7-SEGMENT DISPLAY

SHOW THE 7-SEG DISPLAY OUTPUT


IF PORTA=0x09 AND PORTD=0x6B

4
CLASS – WEEK 6

ASSEMBLY LANGUAGE

 IF STATEMENT
 READ INPUTS
 FUNCTIONS
IF STATEMENT
IF STATEMENT
IF STATEMENT
IF STATEMENT
IF STATEMENT
IF STATEMENT IN ASSEMBLY
IF STATEMENT IN ASSEMBLY

BTFSC (Bit Test File Skip if Clear)

BTFSS (Bit Test File Skip if Set)


BTFSC (Bit Test File Skip if Clear)

IF THE LOGIC AT LOCATION F IS HIGH (1),


THEN THE BTFSC FUNCTION WILL NOT
SKIP THE NEXT LINE OF CODING
BTFSS (Bit Test File Skip if Set)

IF THE LOGIC AT LOCATION F IS HIGH (1),


THEN THE BTFSS FUNCTION WILL SKIP
THE NEXT LINE OF CODING
MCU SYSTEM

LED
PD5
PUSH BUTTON
PB5
ORG 0x00
BSF STATUS, 5 LEDON
BSF TRISB, 5 BSF PORTD, 5
CLRF TRISD GOTO MAIN
MAIN
BCF STATUS, 5 LEDOFF
BTFSC PORTB, 5 BCF PORTD, 5
GOTO LEDON GOTO MAIN
GOTO LEDOFF END
ORG 0x00
BSF STATUS, 5 LEDON
BSF TRISB, 5 BSF PORTD, 5
CLRF TRISD GOTO MAIN
MAIN
BCF STATUS, 5 LEDOFF
BTFSS PORTB, 5 BCF PORTD, 5
GOTO LEDOFF GOTO MAIN
GOTO LEDON END
MCU SYSTEM

7-SEGMENT
DISPLAY

PUSH BUTTON
PB7
IF STATEMENT IN ASSEMBLY

NO YES
IF PB7 ==1

SHOW “0” IN SHOW “H” IN


ALL 7-SEG DISP ALL 7-SEG DISP
SHOWH
ORG 0x00 MOVLW 0x0F
BSF STATUS, 5 MOVWF PORTA
BSF TRISB, 7 MOVLW 0x76
CLRF TRISA MOVWF PORTD
CLRF TRISD GOTO MAIN
MAIN SHOWZ
BCF STATUS, 5 MOVLW 0x0F
BTFSC PORTB, 7 MOVWF PORTA
GOTO SHOWH MOVLW 0x3F
GOTO SHOWZ MOVWF PORTD
GOTO MAIN
END
MCU SYSTEM

PUSH BUTTON LEDS ON


PA0 PORTD
IF STATEMENT IN ASSEMBLY

NO YES
IF PA0 ==1

ODD BITS EVEN BITS


OF PORTD OF PORTD
MCU SYSTEM

7-SEGMENT
DISPLAY

PUSH BUTTON
PE1
IF STATEMENT IN ASSEMBLY

NO YES
IF PE1 ==1

SHOW “8” IN THE SHOW “o” IN THE


1ST AND 4TH 2ND AND 3RD
7-SEG DISP 7-SEG DISP
MCU SYSTEM

LEDS ON
PUSH BUTTON PORTC
PB5 PORTD
IF STATEMENT IN ASSEMBLY

NO YES
IF PB5 ==1

PORTC = 0xC3
OPPOSITE
PORTD = 0x0F
CLASS 6

ASSEMBLY LANGUAGE

 Delays
Instruction Descriptions
Instruction Descriptions
EX1: Calculate the delay created by the below code segment if oscillator of 4 MHz. (Assume the number
5 is loaded into Counter)

LOOP
DECFSZ Counter,F
GOTO LOOP

Solution:

No. of cycles = 5 X(1 +2) = 15


Delay by this code= No. of cycles X Instruction cycle
= 15 X (4 X 0.25uS)
= 15 us
EX2: Calculate the delay created by the below code segment if oscillator of 8 MHz. (Assume the number
5 is loaded into Counter)

LOOP
DECFSZ Counter , F
GOTO LOOP

Solution:

No. of cycles = 5 X(1 +2) = 15


Delay by this code= No. of cycles X Instruction cycle
= 15 X (0.5uS)
= 7.5 us
EX3: Calculate the delay created by the Loop in the below code segment oscillator of 4 MHz:

Counter1 EQU 35H

START
Solution:
MOVLW 0F2H
MOVWF Counter1 No. of cycles in Loop = [ 242 X (1 +2)] = 726
No. of cycles in code = 1 + 1 + 726= 728
LOOP
DECFSZ Counter1,F Delay by this code= No. of cycles X Instruction cycle
GOTO LOOP = 728 X (4 X 0.25uS)
= 728 uS
END
EX 2: Calculate the delay created by the Loop in the below code segment oscillator of 8 MHz:

Counter1 EQU70H

START
Solution:
MOVLW 0F2H
MOVWF Counter1 No. of cycles in Loop = [ 242 X (1 +2)] = 726
No. of cycles in code = 1 + 1 + 726= 728
LOOP
DECFSZ Counter1,F Delay by this code= No. of cycles X Instruction cycle
GOTO LOOP = 728 X (0.5 uS)
= 364 uS
END
CLASS 6

ASSEMBLY LANGUAGE

 CONDITIONAL STATEMENT: BTFSC, BTFSS


 READ MULTIPLE INPUTS
 FUNCTIONS
MCU SYSTEM

LEDS
PORTD

PUSH BUTTONS:
PE0
PE1
4
PSEUDOCODE
IF PE0 IS PRESSED THEN
TURN ON ODD BITS OF PORTD
ELSE IF PE1 IS PRESSED THEN
TURN ON EVEN BITS OF PORTD
ELSE
TURN OFF ALL BITS OF PORTD
END IF
4
FLOWCHAR
T

?
4
FLOWCHAR
T

4
MCU SYSTEM

7-SEGMENT
DISPLAY

PUSH BUTTONS:
PA3
PA4
5
FLOWCHAR
T NO YES
IF PA3 ==1

SHOW “3” ON THE


NO YES FIRST TWO
IF PA4 ==1 7-SEG DISP

SHOW “ - ” SHOW “E” ON THE


ON ALL THE LAST TWO
7-SEG DISP 7-SEG DISP

5
MCU SYSTEM

LEDS
PORTC
BUTTONS:
PB7 7-SEGMENT
PB6 DISPLAY

6
FLOWCHAR
T NO YES
IF PB7 ==1

SHOW “P” ON THE


NO YES 2ND AND 3RD
IF PB6 ==1 7-SEG DISP

PORTC = 0x0F

SHOW “d” ON THE


TURN OFF 4TH AND 1ST
EVERYTHING 7-SEG DISP

PORTC = 0xF0

6
THANK YOU

You might also like