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

Explain different parameter passing mechanisms to a function, What are the ...

What are the different parameter passing mechanisms to a function? The different parameter-passing mechanisms are given below: 1.   Call by value 2.   Call by value-resu

What are the different layers in r/3 system, What are the different layers ...

What are the different layers in R/3 system? There are three layer:- Presentation Layer. Application Layer. Database Layer.

What is the difference between in two lines of verilog code, What is the di...

What is the difference between the following two lines of Verilog code? #5 a = b; a = #5 b; #5 a = b; Wait five time units before doing the action for "a = b;". Value assig

Universal elimination, Universal Elimination: Here for any sentence, t...

Universal Elimination: Here for any sentence, there is A, containing a universally quantified variable, v, just for any ground term, g, so we can substitute g for v in A. Thus

What is usb, What is USB USB (UNIVERSAL SERIAL BUS) is intended to conn...

What is USB USB (UNIVERSAL SERIAL BUS) is intended to connect peripheral devices like mouse, keyboards, modems and sound cards to microprocessor through a serial data path and

What is a snooping cache, DNS cache snooping is not a term the author just ...

DNS cache snooping is not a term the author just made up, it is called and discussed by some notable DNS execution developers, and a few interested DNS administrators have prob

Write the benefits of broadcast model approach, a. Determine the non-functi...

a. Determine the non-functional system requirements that might be chosen for an application for a particular style and structures? b. Write the benefits of broadcast model appro

Dynamic screen sequence, Dynamic screen sequence  for a  screen can be set ...

Dynamic screen sequence  for a  screen can be set using which commands? It uses two commands:- A) Set Screen B) Call screen.

What are the defining traits of an object-oriented language, The defining t...

The defining traits of an object-oriented language are: * Encapsulation * Inheritance * Polymorphism

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