MIC323 - Class 6
MIC323 - Class 6
CLASS 5 REVIEW
7-SEGMENT DISPLAY
7-SEGMENT DISPLAY
COMMON CATHODE
7-SEGMENT DISPLAY
3
7-SEGMENT DISPLAY
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
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
NO YES
IF PA0 ==1
7-SEGMENT
DISPLAY
PUSH BUTTON
PE1
IF STATEMENT IN ASSEMBLY
NO YES
IF PE1 ==1
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:
LOOP
DECFSZ Counter , F
GOTO LOOP
Solution:
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
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
5
MCU SYSTEM
LEDS
PORTC
BUTTONS:
PB7 7-SEGMENT
PB6 DISPLAY
6
FLOWCHAR
T NO YES
IF PB7 ==1
PORTC = 0x0F
PORTC = 0xF0
6
THANK YOU