Write a program to echo the string, Computer Engineering

Assignment Help:

Write a program to echo the string 'Hello' to the serial channel (SCI) using the protocol of baud rate 9600,8 bits , no parity and 1 stop bit 

Consider the baud register as shown below

2169_Write a program to echo the string.png

Using a combination of bits5,4,2,1,0 we can set up the required baud rate .On the target system provided the input clock crystal is a 8Mhz (2Mhz internal E) version , therefore for a baud rate of 9600 is the easiest one

      Bit 5= 1 Bit 4 = 1 Bit 2 = 0 Bit 1 = 0 Bit 0 = 0

i.e. (2Mhz / 13) = 9600 *8 bits per second i.e. 9600 Baud

          Baud = 0x30

The bit length mode is set by bit 4 of the SCCR1 as shown below

1494_Write a program to echo the string1.png

 

    Bit = 0 'Start bit 8 data bits 1 stop bit'
    Bit = 1 'Start bit 9 data bits 1 stop bit '

Therefore bit 4 of sccr1 = 0    Sccr1 = 0x00

The SCI control 2 enables us to set interrupts if data is received or can be transmitted; in this case we simply want to enable the transmitter and receiver  
      
Therefore

2071_Write a program to echo the string2.png

 
    TE Bit 3, 2= 1
 
    Sccr2 = 0x0c 

 

This completes the SCI set-up, the remaining register is useful in determining whether data is received or can be transmitted

1310_Write a program to echo the string3.png

We can simply check bit7  if this is '1' we can send more data ,Since the configuration is actually set-up on the development boards we do not need to re-program the baud rates but simply use the comms channel. Therefore the a simple hello display program follows

  name ex6  ;Use of the uart to echo Hello ten times
baud  equ $2b ;Baud rate  register
sccr1  equ $2c  ;SCI control 1
sccr2  equ $2d ;SCI control 2
scsr  equ $2e  ;SCI status
scdr  equ $2f  ;Serial data register
  org $500  ;Start on external ram
;Note that the uart is configured by the monitor
;the following codes are used for eprom use
; sccr1 = 0 hex (No 9th bit)
;baud = 30 Hex (9600 using  8Mhz xtal )
; sccr2 = 0c hex (Enable tx)
  ldx #$0a  ;load up Counter with 10
loop  ldaa #'H'  ;load up ASCII H
  jsr txd    ;Send data
  ldaa #'e'  ;Load up ASCII e
  jsr txd    ;Send data
  ldaa #'l' ;Load up ASCII l
  jsr txd    ;Send data
  ldaa #'l' ;Load up ASCII l
  jsr txd    ;Send data
  ldaa #'o'  ;Load up ASCII o
  jsr txd    ;Send data
  ldaa #$0a  ;Load up ASCII newline
  jsr txd    ;Send data
  ldaa #$0d  ;Load up ASCII return
  jsr txd    ;Send data
  dex    ;X=X-1
  bne loop  ;repeat till zero
  swi    ;return back to monitor
txd  ldab scsr  ;Get sci status
  andb #$80  ;Mask off bit 7 TDRE
  beq txd  ;Wait till ready to transmit
  staa scdr  ;send data from A out
  ldy #$ff  ;Software time delay
loop1  dey    ;instead of XON/XOFF protocol
  bne loop1  ;wait till y = 0
  rts
  end


Related Discussions:- Write a program to echo the string

Fifo discipline, You have been retained to examine how many check-in agents...

You have been retained to examine how many check-in agents should be used at a check-in counter for a big hotel. During normal business hours, customers arrive at a rate of about 2

Priority array, The runqueue is the list of runnable processes on a given p...

The runqueue is the list of runnable processes on a given processor. There is only one runqueue per processor. Each runqueue contains two priority arrays: Active and Expired. Each

Illustrate arithmetic shifts with example, Q. Illustrate Arithmetic shifts ...

Q. Illustrate Arithmetic shifts with example? Arithmetic shifts ARITHMETIC SHIFT LEFT and ARITHMETIC SHIFT RIGHT are same as LOGICAL SHIFT LEFT and LOGICAL SHIFT RIGHTexcept th

Explain the term instruction cycle, Instruction Cycle The instruction c...

Instruction Cycle The instruction cycle consists of a series of steps required for the execution of an Instruction in a program. A distinctive instruction in a program is compo

Building is into our operational processes, Building IS into our operationa...

Building IS into our operational processes - Information System Although information systems are becoming increasingly prevalent they are not always the correct solution to ev

Data dictionary, data dictionary for online banking system in software engi...

data dictionary for online banking system in software engineering

Register-to-register operands in RISC, Q. Register-to-register operands in ...

Q. Register-to-register operands in RISC? Register-to-register operands: In RISC machines operation which access memories are LOAD and STORE. All other operands are kept in reg

Dma controllers - computer architecture, DMA controllers in computer system...

DMA controllers in computer system:   DMA Controller   Part of the I/O device interface   DMA Channels   Performs functions that in general would be performed by t

Routines which handle dynamic processes, Q. Routines which handle dynamic p...

Q. Routines which handle dynamic processes? number of routines which handle dynamic processes:  int pvm_joingroup( char *group ) Enrolls calling process in a na

What is scsi, What is SCSI? Ans: It is the acronym for small computer s...

What is SCSI? Ans: It is the acronym for small computer system interface. It refers to a standard bus explained ANSI. Devices such as disks are linked to a computer via 50-wire

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