Gå til innhold

Uart med AVR. Programmet skal herme.


Anbefalte innlegg

Hei, kan noen hjelpe oss med følgende oppgave?


Vi bruker mikrokontroller ATmega32


Problemstilling:

I denne oppgaven skal mikrokontrolleren programmeres slik at vi kan kommunisere med den

fra PC. Kommunikasjonen kan testes ved hjelp av ”Coolterm”.

Resultatet av en slik test kan for eksempel

bli som vist i utskriften til høyre.

Programmet skal virke slik:

1. Ved oppstart / restart av mikrokontrolleren

skal denne sende de to

tegnene ”>>” til PCen. Tegnene skal

være et klarsignal for at vi kan skrive

inn tegn fra PCens tastatur.

2. Vi skriver nå en vilkårlig tekst – avsluttet med punktum (”.”)

3. Mikrokontrolleren repeterer den samme teksten på ny linje. Deretter gir den klarsignal

(”>>” på ny linje) for at vi kan skrive inn en ny tekst.


Følgene tekst skal stå

>>Hei, Her er jeg.

Hei, Her er jeg.

>>Hvordan har du det?.

Hvordan har du det?.


I oppgaven skal vi også gjøre dette:

Lag en subrutine som gir start på ny linje (sender tegnene CR og LF til PC-en ).


Foreløpig har vi gjort dette, men nå står vi fast:


.list

.include "m32def.inc"

.nolist


;----------------------------Assemblerdirektiv


.def temp=R16

.def char=R17

;------------------------------------------------

.org 0

rjmp start

;.org 20

;start

;------------------------------stack peker

ldi temp,high(ramend)

out sph, temp

ldi temp,low(ramend)

out spl,temp


;-----------------------------------------

ldi temp, (1<<RXEN) | (1<<TXEN) ;Slår på mottakeren og senderen når de er 1

;ldi temp, 0B00011000

out UCSRB,temp ;Send og motta

ldi temp,23 ;Setter baud rate = 9600

out UBRRL,temp ;UBRR: Baud rate register - 8 bit, lsb

clr temp ;Low=L/High=H

Out UBRRH,temp ;4 biter, msb


Vi setter utrolig pris på hjelp.

På forhånd takk!

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...