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

Add multiple layout cells, Q. Add Multiple Layout Cells ? Next you will...

Q. Add Multiple Layout Cells ? Next you will add three layout cells below the logo cell you just created. Afterwards you will insert page's navigation buttons in these cells.

Ground substitution, Ground substitution: Here the act of performing a...

Ground substitution: Here the act of performing an instantiation is a function like there is only one possible outcome means we can write it as a function. And the notation Su

Predicates in propositional model, Predicates in propositional model: ...

Predicates in propositional model: The predicates take a number of arguments in which for now we assume are ground terms and represent a relationship between those arguments t

Artificial intelligence, 2. The Turing test has often been incorrectly inte...

2. The Turing test has often been incorrectly interpreted as being a test of whether or not a person could distinguish between responses from a computer and responses from a person

Determine the uses of memory blocks, Determine the Uses of memory blocks. ...

Determine the Uses of memory blocks. Not as common a technique though something to consider. As Verilog has a very convenient syntax for declaring and loading memories, you ca

How is the connectivity established in verilog, How is the connectivity est...

How is the connectivity established in Verilog when connecting wires of different widths? When connecting wires or ports of different widths, connections are right-justified, S

Recursive procedures are implemented, Recursive procedures are implemented ...

Recursive procedures are implemented by using Recursive procedures are executed by using stacks due to stacks are LIFO data structure and we require this feature to store retur

What is frontpage, Front page is a software used to make a webpage.

Front page is a software used to make a webpage.

Define cache line, Define cache line. Cache block is used to refer to a...

Define cache line. Cache block is used to refer to a set of contiguous address location of some size. Cache block is also referred to as cache line.

Differentiate concurrent and parallel executions, Differentiate concurrent ...

Differentiate concurrent and parallel executions ? The words "parallel "and "concurrent" are often used interchangeably, however they are different. Parallel execution is connec

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