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

Efficient assembly language program, (1) Write a program that will: (a) dis...

(1) Write a program that will: (a) display "Enter Your Name:" (b) convert the entered name to Capital letters (if small), If any other character is entered, the program wil

Cmps-string manipulation instruction-microprocessor, CMPS : Compare String...

CMPS : Compare String Byte or String Word:-The CMPS instruction may be utilized to compare two strings of Words or byte. The length of the string ought to be stored in the CX. If

Instructions, Difference between div and idiv

Difference between div and idiv

Assume-assemblers directive-microprocessor, ASSUME: Assume Logical Segment...

ASSUME: Assume Logical Segment Name:- The ASSUME directive which is used to inform the assembler, the specified names of the logical segments to be consider for different segme

Al registre, check the al-register for palindromic number

check the al-register for palindromic number

Operation system, Explain the basic method for implementing paging

Explain the basic method for implementing paging

Assembler directives and operators-microprocessor, Assembler Directives and...

Assembler Directives and Operators The major advantage of machine language programming is directly that the memory control is in the hands of the programmer, so that, he can be

Aad-arithmetic instruction-microprocessor, AAD: ASCII Adjust for Division ...

AAD: ASCII Adjust for Division though the names of these 2 instructions (AAM and AAD) seem to be same, there is many difference between their functions. The AAD instruction conver

Dec-micro processor, DEC : A powerful new Alpha 64 bit RISC computer ch...

DEC : A powerful new Alpha 64 bit RISC computer chip was introduced in the year 1977, as new VAX (Virtual Address Extension) Computer. The VAX was 32 bit computer line based on

Segment registers-microprocessor, Segment Registers The 8086 addresses ...

Segment Registers The 8086 addresses a segmented memory unlike 8085. The complete 1 megabyte memory, which 8086 is capable to address is divided into 16 logical segments.Thusea

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