Code for reading flow & generating serial output, Assembly Language

Assignment Help:

Assembly Code for Reading Flow & Generating Serial Output

The timer is timer 1 is set for the baud rate 9600, as the crystal used is of 11.0592 Hz.  Then the timer 1 is started by TR1. The program checks the ASCII switch, flow status pins and the respective flow subroutine starts and in the flow subroutine the overflow status is   checked as well as the MOV B ,#X   where X is the character used to be displayed in PC  is used to stored in the register B.  The subroutines returns and the Serial transmission routine is called for serial transmission. In serial transmission subroutine the status of 79H is checked if found enabled then the value of B is transferred in SBUF and followed by character 'L' to SBUF.

The details assembly code is as below:-

         ; Define value setting for Timer in using Generate Baud Rate in transfer data.     

                    MOV IE,#00000000B

                     MOV TMOD,#00100000B

                     MOV TL1,#0FDH

                     MOV TH1,#0FDH

                ; Define value setting for SCON Register that select mode 1

                     MOV SCON,#01010000B

                     SETB TR1  

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

 START  : MOV A ,P3

 ANL A, #80h   ;  Masking of    BITs except P3.7

 CJNE  A ,#00h ,   OVER       ; TO CHECK THE  ASCII  SWITCH 

               CPL 79H     ;   

               OVER :  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

     JB   79H , SKIP     ;  CHECK FOR ENABLED OR DISABLED SERIAL COMMUNICATION

     ACALL STXD    ;     SERIAL DATA COMMUNICATION  TX

    SKIP :  SJMP   START 

; FLOW RATE   SUBROUTINES SECTION

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

MOV B ,#'0'

NEXT0 : RET

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

MOV B ,#'1'

NEXT2  : RET

;  SUBROUTINE FLOW RATE   3

FLOW03:    CJNE  A,#0CH ,  NEXT3       ; FLOW RATE   3

MOV B ,#'3'

NEXT3 :RET

;    SUBROUTINE FLOW RATE   4

FLOW04:    CJNE  A,#10H ,  NEXT4       ; FLOW RATE   4

MOV B ,#'4'

NEXT4 :RET

 

;     SUBROUTINE FLOW RATE   5

FLOW05:    CJNE  A, #14H  ,  NEXT5       ; FLOW RATE   5

MOV B ,#'5' 

Next5 :RET

;     SUBROUTINE FLOW RATE   6

FLOW06:    CJNE  A,#18H ,  NEXT6       ; FLOW RATE   6

MOV B ,#'6'

Next6 :RET

;      SIMILARLY SUBROUTINE FLOW RATE   7

 ;   TRANSMISSION SERIAL  SUBROUTINE STARTS 

STXD :           MOV SBUF,B

                     JNB TI,$

                     CLR TI

                     MOV SBUF,#'L'  ;  Sending L  After the flow Rate

                     JNB TI,$

                     CLR TI

     RET 

 END


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

Cisc characteristics-microprocessor, CISC Characteristics : The design...

CISC Characteristics : The design of an instruction  set for a computer  might take into consideration  not only machine language constraints,  but  also  the  requirements  i

Program of generate a random number, This is a short program to practice as...

This is a short program to practice assembly language loops and if/else statements. You will use various jump commands and the cmp instruction. The program will generate a random

Instruction set of 8086-microprocessor, Instruction set of 8086 : The 8...

Instruction set of 8086 : The 8086/8088 instructions are categorized into the following major types. This section describes the function of each of the instructions with approp

Write an assembly language program to fi nd the maximum, Write an assembly ...

Write an assembly language program to find the maximum of: y = x 6 - 14x 2 + 56x for the range -2 ≤ x ≤ 4, by stepping one by one through the range. The program should in

Multiplication, how we can multiply two 8 bit number with rotation

how we can multiply two 8 bit number with rotation

#title., BINARY TO GRAY CONVERSION

BINARY TO GRAY CONVERSION

Generating random number using 8086, I need to generate a random number bby...

I need to generate a random number bby using 8086 assembly language

Addressing mode of 8086-microprocessor, Addressing mode of 8086 : Addre...

Addressing mode of 8086 : Addressing mode specify a way of locating operands or data. Depending on the data types used the memory  addressing  modes and in the instruction  ,

Write a mips assembly language program, Write a MIPS/SPIM assembly language...

Write a MIPS/SPIM assembly language program that prints the smallest and largest values found in a non-empty table of N word-sized integers. The address of the first entry in your

Basic microprocessor architecture and interface, Basic Microprocessor Archi...

Basic Microprocessor Architecture and Interface : Introduction: Intel launches its first 4-bit microprocessor 4004 in the year 1971 and 8-bit microprocessor 8008 in the y

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