Code for reading flow & generating led output, Assembly Language

Assignment Help:

Code for Reading Flow & Generating LED Output

The code starts with the scanning of the PORT 3, for reading the flow status to check for various flow conditions and compare to start subroutines for respective flow. The overflow conditions are checked in respective subroutines for LED driving i.e. In flash mode or continuous, the LED are L1, L2, L3 & L4 are used for various combinations.

The details of program code are below:-

MOV P3 , #0FFH ; Define Port 3 as input port

START : MOV A ,P3

      MOV  A ,P3

    ANL A, #1Ch   ;  Masking of    BITs FLOW RATE

    ACALL FLOW00     ;  FLOW RATE 0  SUBROUTINE 

    ACALL FLOW01 ;  FLOW RATE 1  SUBROUTINE

    ACALL FLOW02 ;  FLOW RATE 2  SUBROUTINE

    ACALL FLOW03;  FLOW RATE 3 SUBROUTINE

    ACALL FLOW04;  FLOW RATE 4  SUBROUTINE

     ACALL FLOW05;  FLOW RATE 5  SUBROUTINE

     ACALL FLOW06 ;  FLOW RATE 6  SUBROUTINE

     ACALL FLOW07 ;  FLOW RATE 7  SUBROUTINE

     SJMP   START 

; FLOW RATE   SUBROUTINES SECTION

FLOW00 :    CJNE  A,#00H ,  NEXT0       ;  FLOW RATE   0

MOV A, P3

ANL A,#20h

CJNE A ,#00H ,  FLOWOV      ; LED 1   FLASHING 1Hz

SETB P1.0 ;  LED 1 ON

ACALL DELAY   ;   500ms   DELAY   

CLR P1.0    ; LED 1 OFF

ACALL DELAY   ; 500ms   DELAY

RET

FLOWOV :  

SETB P1.0     ; LED 1 ON  ( 0 HZ)

NEXT0 : RET

FLOW01:    CJNE  A ,#04H  ,  NEXT1       ; FLOW RATE   1

MOV A, P3

ANL A,#20h

CJNE A ,#00H ,  FLOWOV1

SETB P1.0 ;  LED 1 ON

ACALL DELAY   ;   500ms   DELAY   

CLR P1.0    ; LED 1 OFF

ACALL DELAY   ; 500ms   DELAY

RET

FLOWOV1 :  

SETB P1.0     ; LED 1 ON ( 0 HZ)

NEXT1 :RET

 ;    SUBROUTINE FLOW RATE   2

FLOW02:    CJNE  A,#08H ,  NEXT2       ; FLOW RATE   2

MOV A, P3

ANL A,#20h

CJNE A ,#00H ,  FLOWOV2  ; 

MOV P1 ,#03H   ; LED 1 , LED 2  ON     FLASHING 1 Hz

ACALL DELAY   ;   500ms   DELAY

MOV P1 ,#00H   ; LED 1 , LED 2   OFF

ACALL DELAY ; 500ms   DELAY

RET

FLOWOV2 :  

MOV P1 ,#03H   ; LED 1 , LED 2  ON

NEXT2  : RET

  ;  SUBROUTINE FLOW RATE   3

;    SUBROUTINE FLOW RATE   4

;     SUBROUTINE FLOW RATE   5

;     SUBROUTINE FLOW RATE   6

;    SUBROUTINE FLOW RATE   7

 


Related Discussions:- Code for reading flow & generating led output

Seg-segment-assemblers directive-microprocessor, SEG : Segment of a Label:...

SEG : Segment of a Label:- The SEG operator is which is used to decide the segment address of the, variable, label or procedure and substitutes the segment base address in plac

End-endp-assemblers directive-microprocessor, END : END of Program:- Th...

END : END of Program:- The END directive marks the ending of the assembly language program. When the assembler comes across this END directive, it avoided the source lines avai

Help with assemly language assignment, Will be needing help with assembly l...

Will be needing help with assembly language assignments over the course of 4 weeks

Help with homework (python), i have trying to do the homework but there is ...

i have trying to do the homework but there is a mistake. (Counting positive and negative numbers and computing the average of numbers) write a program that reads an unspecified nu

Space don''t come in ASCII characters while printing?, .MODEL SMALL .STACK...

.MODEL SMALL .STACK 100H .DATA PROMPT DB \''The 256 ASCII Characters are : $\'' .CODE MAIN PROC MOV AX, @DATA ; initialize DS MOV DS, AX

Das-arithmetic instruction-microprocessor, DAS: Decimal Adjust after Subtr...

DAS: Decimal Adjust after Subtraction:- This instruction converts the result of subtraction operation of 2 packed BCD numbers to a valid BCD number. The subtraction operation has

Program, Write a program to separate out positive and negative numbers from...

Write a program to separate out positive and negative numbers from a given series of 16-bit hexadecimal numbers.

Program to find the largest number in an array, Write a MC68H12 assembly la...

Write a MC68H12 assembly language program to find the largest number in an array of ten 8-bit numbers. The array is stored in memory locations starting at address $1100. Use branch

2 homework assignements, I have two homework assignments due in 10 hours fo...

I have two homework assignments due in 10 hours for the x86 processor assembly language

Plus and underline , What is the hex for + and - under with a sum involved

What is the hex for + and - under with a sum involved

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd