Untitled64

Untitled64



120 12. Port szeregowy

Jeżeli w mikrokontrolerach 8xC52 jako generator zostanie użyty licznik T2, to w rejestrze T2CON należy odpowiednio ustawić znaczniki RCLK, TCLK oraz znacznik OT2 (taktowanie licznika impulsami zewnętrznymi C7T2 = 1 lub wewnętrznymi C7T2 = 0). Gdy licznik T2 pracuje jako 16-bitowy dzielnik z auto-ladowaniem i taktowaniem wewnętrznym (fOS(/2), to częstotliwość transmisji jest określona zależnością:

f _ _^osc_

,r 32 [65536- (RCAP2H, RCAP2L)]

gdzie: (RCAP2H/RCAP2L) - liczba wpisywana do rejestru bardziej znaczącego RCAP2H i mniej znaczącego RCAP2L licznika T2.

W mikrokontrolerach 80C515/535, przy taktowaniu portu szeregowego z dzielnika :39 zależność na prędkość transmisji jest następująca:

2SMOD f" = fosc'~249<r

gdzie: ftr - prędkość transmisji

fOSc - częstotliwość oscylatora mikrokontrolera

Poniższy program umożliwia obserwację na oscyloskopie sygnałów wysyłanych przez port szeregowy mikrokontrolera 80C51. Przyjęto, że częstotliwość oscylatora mikrokontrolera wynosi 12 MHz, a prędkość transmisji wysyłanych znaków 1200 bodów' (1200 bitów/sekundę). Przez port szeregowy jest wysyłany kod ASCII litery a. Po wysłaniu każdego znaku jest wprowadzona przerwa w transmisji, by łatwiej uchwycić początek transmisji. Wyliczenie wartości podziałowej wrpisywanej do licznika Tl przeprowadzono na podstawie zależności podanej wyżej, a samo obliczenie wykonuje asembler.

******************* ^ł***********************************************

Program wysyłania znaku litery a przez port szeregowy.

Prędkość transmisji 2400 bodów,

Częstotliwość oscylatora 12 MHz,

Port pracuje w trybie 1, taktowanie z licznika Tl,

Opóźnienie zrealizowane na liczniku TO

************* * *********************»*****************■*■***>^**>t■’ł■**♦#■,*,*■*■

DANA

EQU

'a

;kod ASCII litery a

FTR

EQU

2400

;prędkość transmisji

FOSC

F.QU

12000000

;częstotliwość zegara mikrokontrolera

NTH1

EQU

256-FOSC/(FTR*32*T2) ;wartość określająca częstotliwośc

;taktowrania portu szeregowego

SETT0T1

m

O

C

21H

;tryby pracy liczników: TO - tryb 1, Tl - tryb 2 ;taktowanie wewmętrzne

SET_RS EQU 40H    ;port szeregowy tryb 1

CSEG

ORG 0    ;adres początku programu

MOV

MOV

TMOD,#SETTOT1

TH1,#NTH1

;wpis wartości podziałowej

MOV

SETB

SCON,#SET RS TRI

;start licznika Tl

PĘTLA:

MOV

SBUF,#DANA

;wysłanie danej

JNB

TI,$

;oczekiwanie na koniec transmisji znaku

CLR

TI

;kasowanie znacznika końca transmisji

;opóźnienie SETB TRO

;start licznika TO

JNB

TF0,$

;oczekiwanie na przepełnienie licznika TO

CLR

TRO

;zatrzymanie licznika TO

CLR

TFO

;kasowanie znacznika przepełnienia licznika

SJMP

PĘTLA

;skok do ponownego wysłania znaku

END

Po uruchomieniu programu będzie on działał bez przerwy aż do wyzerowania mikrokontrolera.

Program z tego przykładu wysyła i przyjmuje przez port szeregowy tego samego mikrokontrolera łańcuch znaków. Łańcuch ten jest umieszczony w pamięci programu i jest przepisywany do tablicy umieszczonej w pamięci wewnętrznej RAM mikrokontrolera. Adres początku tablicy przyjmowanych danych jest umieszczony w rejestrze RO. Port szeregowy pracuje w trybie 1, taktowany z licznika Tl. Prędkość transmisji 9600 bodów. Podział licznika został tak dobrany, by uzyskać minimalną częstotliwość oscylatora. Kolejny znak jest wysyłany po odbiorze poprzedniego. Znakiem końca łańcucha jest znak $. Żeby przesłać dane należv połączyć w-yjście nadajnika (P3.1) z wejściem odbiornika (P3.0).

Minimalną częstotliwość oscylatora uzyskuje się przy podziale licznika Tl 1 (THl = 255). Standardowo częstotliwość oscylatora dla mikrokontrolerów MC51 nie powinna być mniejsza od 2,5 MHz. Przy tych założeniach i przy sMOD = 0 ze wzoru na częstotliwość transmisji portu szeregowego pracującego w trybie 1 częstotliwość kwarcu powinna wynosić 3,686 MHz.


Wyszukiwarka

Podobne podstrony:
Untitled64 120 12. Port szeregowy Jeżeli w mikrokontrolerach 8xC52 jako generator zostanie użyty lic
Untitled61 114 12. Port szeregowy SM2 - znacznik stosowany w transmisji wieloprocesorowej. •  &
Untitled62 116 12. Port szeregowy cykle maszynowe
Untitled63 118 12. Port szeregowy 118 12. Port szeregowy bit TXP (I>3.lAstarU/DT)^^   &
Untitled62 116 12. Port szeregowy cykle maszynowe1    0 I
Untitled65 122 12. Fort szeregowy ł ;Program przesyłający przez port szeregowy ciąg znaków z tablic
Untitled60 12. Port szeregowy Zadaniem portu szeregowego jest zapewnienie komunikacji poprzez łąc
52472 Untitled Scanned 12 (12) 15 61. W Udowodnić, że jeżeli liczby a. <t2.....a„, gdzie n >
skrypt093 (2) 180 Laboratorium Podstaw Elektrotechniki J 12.1.2.1. Połączenie szeregowe a) M Rj * L
s085 (2) Drukowanie plików 85 4. I Jpewnij się, że port szeregowy jest obsługiwany przez system - na
15863 Untitled Scanned 12 (14) rzeczywistość. Należy zrobić zestaw obrazków, tzw. dokładanek, na któ
12 STEFAN RYGIEL Jeżeli zważymy, że w ciągu tego 9-letniego okresu Wydział nigdy nie składał się wię

więcej podobnych podstron