LAPORAN USART
-
Upload
ainnur-rahayu-pratiwi -
Category
Documents
-
view
239 -
download
0
Embed Size (px)
Transcript of LAPORAN USART
-
8/19/2019 LAPORAN USART
1/48
MATA KULIAH SISTEM MIKROKONTROL DASAR
LAPORAN HASIL SIMULASI
Simulasi USART
Disusun untuk memenuhi tugas
Mata Kuliah Sistem Mikrokontrol Dasar
Semester 3
PEMBIMBING :
Azam Muzakim I,Ir, MT
Tanggal : Senin, 18 Januari 2016
Windi Puspitasari
!" #TD $
%&&%%'((')
#ARINGAN TELEKOMUNIKASI DIGITAL
TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
(%'
-
8/19/2019 LAPORAN USART
2/48
BAB I
PENDAHULUAN
%*% LATAR BELAKANG
Dalam ATMEGA16 terdapat Komunikai !SA"T #Universal
Synchronous A ynchronous receiver Transmitter $ %ang dimana &it
dikirimkan atu peratu melalui aluran tunggal' Dalam pengiriman
data e(ara erial )aru ada inkroniai atau pen%euaian antara
pengirim dan penerima agar data %ang dikirimkan dapat diterima
dengan tepat dan &enar ole) penerima' Karakter dapat dikirimkan
ekaligu ataupun &e&erapa karakter kemudian &er)enti untuk *aktu
%ang tidak tentu, kemudian dikirimkan ian%a' +ormat data
komunikai erial terdiri dari parameterparameter %ang dipakai untuk
menentukan &entuk data erial %ang dikomunikaikan, dimana elemen
elemenn%a terdiri dari :
1' Ke(epatan mo&iliai data per &it #&aud rate$
2' Jumla) &it data per karakter #data lengt)$
-' .arit% %ang digunakan
4. Jumlah stop bit dan start bit
.ada mikrokontroler A/" untuk mengaktikan dan mengatur
komunikai !SA"T dilakukan dengan (ara mengaktikan regiter
regiter %ang digunakan untuk komunikai !SA"T' "egiterregiter
%ang digunakan untuk komunikai !SA"T ala) atun%a adala):
• !SA"T 3 Data "egiter #!D"$
!D" merupakan regiter 8 &it %ang terdiri dari 2 &ua) dengan
alamat %ang ama, %ang digunakan e&agai tempat untuk
men%impan data %ang akan dikirimkan #T45$ atau tempat data
diterima #"45$ e&elum data tere&ut di&a(a'
-
8/19/2019 LAPORAN USART
3/48
ambar bit!bit "egister #D"
%* TU#UAN
1' Merangkai !SA"T pada Sot*are'
$. Mengetahui sistem ker%a #SA"T dari simulasi &ang dibuat baik dari sisi T'
maupun "'.
%*! RUMUSAN MASALAH
(. Komponen apa sa%a &ang dibutuhkan dalam merangkai simulasi #SA"T )
$. *agaimana rangkaian #SA"T pada so+tare simulasi )
3. *agaimana sistem ker%a #SA"T )
-
8/19/2019 LAPORAN USART
4/48
BAB II
DASAR TEORI
2.1 Mikrokontroler ATMEGA16
Mikrokontroler adala) e&ua) item komputer lengkap dalam
atu erpi) #chip$' Mikrokontroler le&i) dari ekedar e&ua)
mikroproeor karena uda) terdapat atau &eriikan "3M #Read-Only
Memory $, "AM #Read-Write Memory $,&e&erapa &andar maukan
maupun keluaran, dan &e&erapa peripheral eperti pen(a(a)pe*aktu,
AD # Analog to Digital converter $, DA #Digital to Analog
converter $ dan erial komunikai' Sala) atu mikrokontroler %ang
&an%ak digunakan aat ini %aitu
mikrokontroler A/"' A/" adala) mikrokontroler "S #Reduce Instuction
Set Compute$ 8 &it &erdaarkan aritektur 7arard' Se(ara umum
mikrokontroler A/" dapat dapat dikelompokkan men9adi - kelompok,
%aitu keluarga AT0S;;, ATMega dan ATtin%' .ada daarn%a %ang
mem&edakan maingmaing kela adala) memori, peripheral, dan
-
8/19/2019 LAPORAN USART
5/48
Se(ara gari &ear mikrokontroler ATMega16 terdiri dari :
1' Aritektur "S dengan t)roug)put men(apai 16 M.S pada rekueni
16M)>'
2' Memiliki kapaita +la) memori 16K&%te, EE."3M ?12 5%te, dan
S"AM 1K&%te
-' Saluran 3 -2 &ua), %aitu .ort A, .ort 5, .ort , dan .ort D'
@' .! %ang terdiri dari -2 &ua) regiter'
?' !er interupi internal dan ekternal
6' .ort antarmuka S. dan .ort !SA"T e&agai komunikai erial
' +itur .erip)eral
- Dua &ua) 8&it timer(ounter dengan pre(aler terpia) dan
mode (ompare
- Satu &ua) 16&it timer(ounter dengan pre(aler terpia), mode
(ompare, dan mode (apture
- "eal time (ounter dengan oilator terendiri
- Empat kanal .BM dan Antarmuka komparator analog
- 8 kanal, 10 &it AD
- 5%teoriented T*o*ire Serial ntera(e
- Bat()dog timer dengan oilator internal
5erikut gam&ar la%out dari ATmega dan pen9elaann%a:
-
8/19/2019 LAPORAN USART
6/48
Gam&ar 2'1'1 .in.in Atmega16 dan 5entuk Atmega
- / #.o*er Suppl%$ dan GCD#Ground$
- .ort A #.A0 .A$
- .ort 5 #.50 .5$
- .ort #.0 .$
- .ort D #.D0 .D$
.ort adala) uatu .ort 3 8&it dua ara) dengan reitor internal
pullup #%ang dipili) untuk &e&erapa &it$' .ort output &uer
mempun%ai karakteritik gerakan imetri dengan keduan%a ink
tinggi dan kemampuan um&er' Se&agai input, pena .ort %ange(ara ekternal ditarik renda) akan aru um&er 9ika reitor pull
up diaktikan' .ena .ort adala) tritated manakala uatu kondii
reet men9adi akti, ekalipun *aktu )a&i' #&erlaku untuk port A,
port 5, port , dan port D$
- "ESET #"eet input$
- 4TA=1 #nput 3(illator$
- 4TA=2 #3utput 3(illator$
- A/ adala) pena pen%edia tegangan untuk .ort A dan Konerter
AD'
- A"E+ adala) pena reereni analog untuk konerter AD'
-
8/19/2019 LAPORAN USART
7/48
2.2 USART
USART harus diinisialisasi sebelum komunikasi manapun dapat
berlangsung. Proses inisialisasi normalnya terdiri dari pengesetan baud
rate, penyetingan frameformat dan pengaktifan pengirim atau penerima
tergantung pada pemakaian. Untuk interrupt menjalankan operasi USART,
globalinterrupt flag(penanda) sebaiknya dibersihkan (daninterrupt global
disable) ketika inisialisasi dilakukan. Sebelum melakukan inisialisasi ulang
dengan mengubahbaud rateatau frameformat, untuk meyakinkan bahwa
tidak ada transmisi berkelanjutan sepanjang perioderegister yang diubah.
Flag TXC dapat digunakan untuk mengecek bahwa pemancar telah
melengkapi semua pengiriman, dan flag RXC dapat digunakan untuk
mengecek bahwa tidak ada data yang tidak terbaca pada buffer penerima.
Tercatat bahwa flag TXC harus dibersihkan sebelum tiap transmisi (sebelum
UDR ditulisi) jika itu semua digunakan untuk tujuan tersebut.
2.2.1 Register
A/" !SA"T #!nieral S%n()ronou A%n()ronou "e(eier Tranmitter$ adala) komunikai erial dua ara) %ang terdapat di
A/" %ang meli&atkan regiter regiter e&agai &erikut:
Gam&ar 2'2'1'1 "egiter"egiter pada !SA"T
-
8/19/2019 LAPORAN USART
8/48
Gam&ar 2'2'1'2 .em&agian "egiter"egiter pada !SA"T
1' "egiter Data #!D"$, men%impan data %g dikirim dan
diterima'
2' "egiter ontrol #!S"A &it 0 &it1, !S"5 dan !S"$'
-' "egiter Statu #!S"A &it 2&it $'
2.2.2 Register Control (UCSRA bit 0~ bit1, UCSRB dn
UCSRC!
F 5it "4: !SA"T "e(eie omplete
"4 otomati akan &ernilai 1, 9ika ada data &aru di &uer
penerima' "4 otomati akan &ernilai 0, 9ika data uda) di&a(aatau &uer penerima koong'
F 5it 6 T4: !SA"T Tranmit omplete
T4 otomati akan &ernilai 1, 9ika data di &uer eleai dikirim'
-
8/19/2019 LAPORAN USART
9/48
F 5it ? !D"E: !SA"T Data "egiter Empt%
!D"E otomati akan &ernilai 1 , 9ika regiter !D" koong
tranmiter iap mengirim data' !D"EH0, !D" &erii data %g
&elum eleai dikirim '
F 5it @ +E: +rame Error
+E otomati akan &ernilai 1, 9ika ada rame eror'
F 5it - D3": Data 3er"un
D3" otomati akan &ernilai 1, 9ika data datang ketika &uer
penu)#ter9adi antrian$'
F 5it 2 .E: .arit% Error
.E otomati akan &ernilai 1, 9ika ter9adi parit% eror'
F 5it 1 !24: Dou&le t)e !SA"T Tranmiion Speed
Kita et !24H0, ke(epatan normal' !24H1 ke(epatan
2;&audrate'
F 5it 0 M.M: Multipro(eor ommuni(ation Mode
Kita et MMH 1 &%te pertama %g diterima )aru &it , 9ika tdk
data &%te akan dia&aikan'&it ini ter9adi )an%a untuk penerimaan
a9a pada komunikai &an%ak mi(ro(ontroller'
F 5it "4E: "4 omplete nterrupt Ena&le
Kita et "4EH1 , interupi re(eie (omplete akti'
-
8/19/2019 LAPORAN USART
10/48
F 5it 6 T4E: T4 omplete nterrupt Ena&le
kita et T4EH1, interupi tranmit (omplete akti'
F 5it ? !D"E: !SA"T Data "egiter Empt% nterrupt Ena&le
Kita et !D"EH1, interupi !D"E aktip'
F 5it @ "4EC: "e(eier Ena&le
Kita et "4ECH1, !SA"T re(eier akti' mi(on &ia mnerima data'
F 5it - T4EC: Tranmitter Ena&le
Kita et T4ECH1, !art Tranmiter akti' mi(on &ia mengirim
data'
F 5it 2 !SI2: )ara(ter Si>e
Kita et !SI2:!SI1:!SI0 H 011 , pan9ang data 8 5T' #&it
!SI1 dan !SI0 ada di regiter !S"$
F 5it 1 "458: "e(eie Data 5it 8
"458 men9adi &it ke 9ika pan9ang data %g diterima &it '
F 5it 0 T458: Tranmit Data 5it 8
T458 men9adi &it ke 9ika pan9ang data %g dikirim &it'
-
8/19/2019 LAPORAN USART
11/48
F 5it !"SE=: "egiter Sele(t ' memili) !S" atau !5""7
kita et !"SE=H1 , !S" akti ,!5""7 tdk akti,
kita et !"SE=H0 , !5""7 akti , !"S tdk akti'
F 5it 6 !MSE=: !SA"T Mode Sele(t
kita et !MSE=H1 , mode %n(eonou' !MSE=H0 mode
a%n(ronou
F 5it ?:@ !.M1:!M.0: .arit% Mode
kita et :
F 5it - !S5S: Stop 5it Sele(t
kita et !S5SH0, top &it H1 &it , !S5SH1 pan9ang top &it H 2
&it'
F 5it 2:1 !SI1:0: )ara(ter Si>e
kita et !SI2:!SI1:!SI0 H 011 , pan9ang data 8 5T' #&it
!SI2 ada di regiter !S"5$
F 5it 0 !.3=: lo(k .olarit% &it ini digunakan untuk mode
%n(oronou a9a'
-
8/19/2019 LAPORAN USART
12/48
kita et !.3=H0 trnamii (lo(k naik, !.3=H1 tranmii (lo(k
turun' #k)uu %g ini dont (are krn kita menggunakan mode
a%n(ronou$
2.2." Register # bit UBRR$ dn # bit UBRR% , men%impan
parameter &audrate 16 &it !5"" regiter' "umu untuk
meng)itung nilai !5ala) e&agai &erikut:
onto) meng)itung nilai !5"" : diketa)ui &audrate H 600
dan rek*eni (rital %g digunakan 11'0?'200 )> , &erapa nilai
!55"7 dan !5"= n%a
UBRR H # #11'?200$#16L600$ $ 1 H 1'
maka nilai !5"" adala) 1 atau 00@7' #dlm &entuk 16 &it)e;a$' penulian nilai !5"" di program #ke dlm regiter !5""7
dan !5""=$ men9adi:
!5""7H0;00
!5""=H0;@
Tip .emili)an nilai rek*eni 4tal
nilai !5"" adala) integer , maka pili) la) nilai rek*eni ;tal
%g meng)ailkan per)itungan integer ' mial (onto) diataa%a ganti nilai 4taln%a 9adi 8 M)> ,&audrate 600' maka nilai
!5"" n%a 9adi ?1,08-- %g dimaukan ke !5"" adala) ?1' nilai
ini akan meng)ailkan kemungkinan komunikai eror
e&ear0,2N' edangkan 9ika menggunakan 4tal 11'0?200
erorn%a 0N'
-
8/19/2019 LAPORAN USART
13/48
O
2." &'RT
on)g*rsi &in ATMeg16Kon
-
8/19/2019 LAPORAN USART
14/48
F .ort A #.A''.A0$
.ort A &erungi e&agai input analog pada konerter AD'
.ort A 9uga e&agai uatu port 3 8&it dua ara), 9ika AD
konerter tidak digunakan' .in pin .ort dapat men%ediakanreitor internal pullup #%ang dipili) untuk maingmaing
&it$' .ort A output &uer mempun%ai karakteritik gerakan
imetri dengan keduan%a ink tinggi dan kemampuan
um&er' Ketika pin .A0 ke .A digunakan e&agai input dan
e(ara ekternal ditarik renda), pinpin akan memungkinkan
aru um&er 9ika reitor internal pullup diaktikan' .ort A
adala) tritated manakala uatu kondii reet men9adi akti,
ekalipun *aktu )a&i'
F .ort 5 #.5''.50$
.in 5 adala) uatu pin 3 8&it dua ara) dengan reitor
internal pullup #%ang dipili) untuk &e&erapa &it$' .in 5
output &uer mempun%ai karakteritik gerakan imetri
dengan keduan%a ink tinggi dan kemampuan um&er'
Se&agai input, .in 5 %ang e(ara ekternal ditarik renda)
akan aru um&er 9ika reitor pullup diaktikan' .in 5 adala)
tritated manakala uatu kondii reet men9adi akti,
ekalipun *aktu )a&i'
F .ort #.''.0$
.in adala) uatu pin 3 8&it dua ara) dengan reitor
internal pullup #%ang dipili) untuk &e&erapa &it$' .in
output &uer mempun%ai karakteritik gerakan imetri
dengan keduan%a ink tinggi dan kemampuan um&er'
Se&agai input, pin %ang e(ara ekternal ditarik renda)
-
8/19/2019 LAPORAN USART
15/48
akan aru um&er 9ika reitor pullup diaktikan' pin
adala) tritated manakala uatu kondii reet men9adi akti,
ekalipun *aktu )a&i'
F .ort D #.D''.D0$
.in D adala) uatu pin 3 8&it dua ara) dengan reitor
internal pullup #%ang dipili) untuk &e&erapa &it$' .in D
output &uer mempun%ai karakteritik gerakan imetri
dengan keduan%a ink tinggi dan kemampuan um&er'
Se&agai input, pin D %ang e(ara ekternal ditarik renda)
akan aru um&er 9ika reitor pullup diaktikan' .in D
adala) tritated manakala uatu kondii reet men9adi akti,
ekalipun *aktu )a&i'
F "ESET #"eet input$
F 4TA=1 #nput 3(illator$
F 4TA=2 #3utput 3(illator$
F A/ adala) pin pen%edia tegangan untuk .ort A dan
Konerter AD'
F A"E+ adala) pin reereni analog untuk konerter AD'
2.- A+C
AD H Analog to Digital Converter adala) uatu perangkat elektronika
%ang mengu&a) uatu data %ang kontinu ter)adap *aktu #analog$
men9adi uatu data %ang dikrit ter)adap *aktu #digital$'
-
8/19/2019 LAPORAN USART
16/48
Kontinu H adala) proe &erkeinam&ungan, dapat dianalogikan eperti
9alanan %ang menan9ak, antara titik atu dengan %ang &erikutn%a tidak
terli)at n%ata per&edaann%a'
Dikrit H adala) ke&alikan dari kontinu, dapat dianalogikan eperti anak
anak tangga, lompatan atu anak tangga ke %ang &erikutn%a terli)at
n%ata'
.roe %ang ter9adi dalam AD adala):
Gam&ar 2'2'? Diagram 5lok AD
1' &en/*likn adala) proe mengam&il uatu nilai pati
#dikrit$ dalam uatu data kontinu dalam atu titik *aktu
tertentu dengan periode %ang tetap' !ntuk le&i) 9elan%a
dapat dili)at pada ilutrai gam&ar &erikut:
Semakin &ear rekueni pen(uplikan, &erarti emakin
&an%ak data dikrit %ang didapatkan, maka emakin /et
AD tere&ut memproe uatu data analog men9adi data
digital'
-
8/19/2019 LAPORAN USART
17/48
2' &engk*ntissin adala) proe pengelompokan data
dikrit %ang didapatkan pada proe pertama
ke dalam kelompokkelompok data' Kuantiai,
dalam matematika dan pemroean in%al digital, adala)
proe pemetaan nilai input eperti pem&ulatan nilai'
Semakin &an%ak kelompokkelompok dalam proe
kuantiai, &erarti emakin ke(il elii) data dikrit %ang
didapatkan dari data analog, maka emakin teliti AD
tere&ut memproe uatu data analog men9adi data
digital'
-' &engkoden adala) mengkodekan data )ail kuantiai ke
dalam &entuk digital #01$ atau dalam uatu nilai &iner'
-
8/19/2019 LAPORAN USART
18/48
Dengan: 41 H 11, 42 H 11, 4- H 10, 4@ H 01, 4? H 01, 46
H 10'Se(ara matemati, proe AD dapat din%atakan
dalam peramaan:
Data ADC = (Vin/Vref) x Maksimal Data Digital
Dengan /re adala) 9en9ang tiap kelompok dalam proe
kuantiai, kemudian makimal data digital &erkaitan
proe ke- #pengkodean$' Sedangkan proe ke1 adala)
e&erapa (epat data AD di)ailkan dalam atu kali proe'
BAB III
PEMBAHASAN
!*% Inisiliasasi
ambar 3.$.( Inisiliasasi #SA"T
-
8/19/2019 LAPORAN USART
19/48
U$SRA+(,((-
!S"A atau !SA"T ontrol Statu "egiter A5T KETE"ACGAC
"4#data telah masu" secaraserial melalui pin R#C$
0 Data uda) di&a(a
6 T4#semua data te"ah sudah
"omplit dan di"irim secara
serial melalui pin T#D$
0 nterupi tranmit (omplete
diker9akan
? !D"E#$u%er &UDR' siap
menerima data$
0 5uer terii
@ +E#(rame )rror $ 0 Menuli ke !S"A- D3"#Data OverRun* +u%er
penerima penuh'
0 .roe menuli ke !S"A
2 .E#,arity )rror* ,engece"an
paritas$
0 Saat menuli ke !S"A
1 !24#Dou+le the USART
Transmission Speed*
+erpengaruh untu" operasi
asin"ron$
0 Menggunakan inkron operai'
0 M.M#Multi-processor
Communication Mode*
"omuni"asi multi-prosesor '$
0 Semua rame %ang diterima
ditolak ole) penerima
U$SRB+(,).-
!S"5 atau !SA"T ontrol Statu "egiter 55T KETE"ACGAC
"4E#R# Complete Interrupt
)na+le* mengaktikan intrupi
aat ada data mauk di
&uer penerima$
1 nterupi akti
-
8/19/2019 LAPORAN USART
20/48
6 T4E#T# Complete Interrupt
)na+le* mengaktikan intrupi
aat data uda) eleai
dikirimkan$
0 intrupi diaktikan
? !D"E#USART Data Register
)mpty Interrupt )na+le*
mengaktikan intrupi aat
!D"E ama dengan
atu'$
0 intrupi tidak akti'
@ "4EC#Receiver )na+le*
mengaktikan &agian
penerima$
1 "e(eier akti
- T4EC#Transmitter )na+le*
mengaktikan &agian pengirim
#tranmitter$$
1 akan akti
2 !SI2#Character Si.e*
menetapkan 9umla) &it data
atau ukuran karakter
dalam rame untuk penerima
#receiver $ dan peman(ar#transmitter $'$
0 8&it
1 "458#Receive Data $it 8, 0 karakter %ang diterima ketika
&eroperai dengan rame erial
dengan em&ilan &it data0 T458#Transmit Data $it 8, 0 karakter %ang dikirim ketika
&eroperai dengan rame erial
dengan em&ilan &it data
U$SR$+(,.'-
-
8/19/2019 LAPORAN USART
21/48
ambar #S"* atau #SA"T ontrol Status "egister
Table ( /engaturan bit!bit #/M 0ATMega(12
Ta&le 2 Kom&inai !SI2 ampai !SI0 untuk .engaturan !kuran
Karakter 0ATMega(12
Table 3 /engaturan *it #/ 0ATMega(12
!S" atau !SA"T ontrol Statu "egiter 5T KETE"ACGAC
!"SE=#Register Select*
memili) antara mengake
regiter !S" atau regiter
1 e&agai regiter !S"'
-
8/19/2019 LAPORAN USART
22/48
!5""7$6 !MSE=#USART Mode Select*
memili) mode operai
komunikai erial$
0 mode Aikron
? !.M1#untuk mengaktikan danmenetapkan 9eni generai
dan memerika parita'$
0 Dia&le
@ !.M0#untuk mengaktikan dan
menetapkan 9eni generai
dan memerika parita'$
0 Dia&le
- !S5S#Stop $it Select* memili)
9umla) $it Stop %ang akan
dimaukkan
ole) &agian pengirim'$
0 diatur menggunakan 1 &it top
2 !SI1#Character Si.e* &it
!SI1 dan !SI0
dikom&inaikan dengan &it
!SI2 &it dalam
regiter !S"5 untuk
menetapkan 9umla) &it data
atau ukuran karakter
dalam rame untuk penerima
dan peman(ar'$
1 8&it
1 !SI0#Character Si.e* &it
!SI1 dan !SI0
dikom&inaikan dengan &it
!SI2 &it dalam
regiter !S"5 untukmenetapkan 9umla) &it data
atau ukuran karakter
dalam rame untuk penerima
dan peman(ar'$
1 8&it
-
8/19/2019 LAPORAN USART
23/48
0 !.3=#5it ini digunakan untuk
mode Sinkron a9a'$
0 Menggunakan mode Aikron'
Selain itu
ambar *it!bit "egister #*""5 dan #*"" 0ATMega(12
Ta&el @ .er)itungan $aud Rate dan nilai "egiter !5""
#ATMega16$
UBRRH+(,((-
UBRRL+(,!!-P/r0itun1an nilai R/1ist/r UBRR
#*"" 6 Fosc
16 (BAUD) !(
-
8/19/2019 LAPORAN USART
24/48
#*"" 68 x 10
6
16 (9600) !(
#*"" 68 x10
6
153600 !(
#*"" 6 7$!(#*"" 6 7(
!5""75T KETE"ACGAC1? !"SE=#Register Select' 0 Menggunakan untuk regiter
!5""71@ 0 5it (adangan1- 0 5it (adangan12 0 5it (adangan11 !5""7 0 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S510 5aud "ate 0 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S5 5aud "ate 0 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S5
8 5aud "ate 0 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S5
!5""=5T KETE"ACGAC
5aud "ate 0 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S56 5aud "ate 0 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S5? 5aud "ate 1 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
-
8/19/2019 LAPORAN USART
25/48
&erii 8 &it =S5@ 5aud "ate 1 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S5
- 5aud "ate 0 "egieter !5""7 ini &erii empat&it MS5, dan !5""= tere&ut
&erii 8 &it =S52 5aud "ate 0 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S51 5aud "ate 1 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S50 5aud "ate 1 "egieter !5""7 ini &erii empat
&it MS5, dan !5""= tere&ut
&erii 8 &it =S5
ambar "egister!"egister /"TA0ATMega(12
PORTA+(,((-
DDRA+(,((-
.3"TA#perinta) %ang digunakan untuk
mengeluarkan data ke .ort A$5T KETE"ACGAC
.3"TA 0 Se&agai input
-
8/19/2019 LAPORAN USART
26/48
6 .3"TA6 0 Se&agai input? .3"TA? 0 Se&agai input@ .3"TA@ 0 Se&agai input- .3"TA- 0 Se&agai input2 .3"TA2 0 Se&agai input
1 .3"TA1 0 Se&agai input0 .3"TA0 0 Se&agai input
DD"A#perinta) untuk menginiialiai atau
mengii regiter DD"; dengan data euai
untuk iniialiai input atau output$5T KETE"ACGAC
DDA 0 Se&agai input6 DDA6 0 Se&agai input? DDA? 0 Se&agai input
@ DDA@ 0 Se&agai input- DDA- 0 Se&agai input2 DDA2 0 Se&agai input1 DDA1 0 Se&agai input0 DDA0 0 Se&agai input
PORTB+(,((-
DDRB+(,((-
.3"T5#perinta) %ang digunakan untuk
mengeluarkan data ke .ort 5$5T KETE"ACGAC
.3"T5 0 Se&agai input6 .3"T56 0 Se&agai input? .3"T5? 0 Se&agai input@ .3"T5@ 0 Se&agai input- .3"T5- 0 Se&agai input2 .3"T52 0 Se&agai input1 .3"T51 0 Se&agai input0 .3"T50 0 Se&agai input
DD"5#perinta) untuk menginiialiai atau
mengii regiter DD"; dengan data euai
untuk iniialiai input atau output$5T KETE"ACGAC
DD5 0 Se&agai input6 DD56 0 Se&agai input
-
8/19/2019 LAPORAN USART
27/48
? DD5? 0 Se&agai input@ DD5@ 0 Se&agai input- DD5- 0 Se&agai input2 DD52 0 Se&agai input1 DD51 0 Se&agai input
0 DD50 0 Se&agai input
PORT$+(,((-
DDR$+(,22-
.3"T#perinta) %ang digunakan untuk
mengeluarkan data ke .ort $5T KETE"ACGAC
.3"T 1 Se&agai output6 .3"T6 1 Se&agai output
? .3"T? 1 Se&agai output@ .3"T@ 1 Se&agai output- .3"T- 1 Se&agai output2 .3"T2 1 Se&agai output1 .3"T1 1 Se&agai output0 .3"T0 1 Se&agai output
DD"#perinta) untuk menginiialiai atau
mengii regiter DD"; dengan data euai
untuk iniialiai input atau output$5T KETE"ACGAC
DD 1 Se&agai output6 DD6 1 Se&agai output? DD? 1 Se&agai output@ DD@ 1 Se&agai output- DD- 1 Se&agai output2 DD2 1 Se&agai output1 DD1 1 Se&agai output0 DD0 1 Se&agai output
PORTD+(,((-
DDRD+(,((-
.3"TD#perinta) %ang digunakan untuk
mengeluarkan data ke .ort D$5T KETE"ACGAC
.3"TD 1 Se&agai input
-
8/19/2019 LAPORAN USART
28/48
6 .3"TD6 1 Se&agai input? .3"TD? 1 Se&agai input@ .3"TD@ 1 Se&agai input- .3"TD- 1 Se&agai input2 .3"TD2 1 Se&agai input
1 .3"TD1 1 Se&agai input0 .3"TD0 1 Se&agai input
DD"D#perinta) untuk menginiialiai atau
mengii regiter DD"; dengan data euai
untuk iniialiai input atau output$5T KETE"ACGAC
DDD 1 Se&agai input6 DDD6 1 Se&agai input? DDD? 1 Se&agai input
@ DDD@ 1 Se&agai input- DDD- 1 Se&agai input2 DDD2 1 Se&agai input1 DDD1 1 Se&agai input0 DDD0 1 Se&agai input
ambar 3.$.( Inisiliasasi AD
ADMU3+AD$45RE24T6PE 7 (,88-
9d/8in/ AD$45RE24T6PE (,E(
-
8/19/2019 LAPORAN USART
29/48
BIT ' ; & ! % (
(322 % % % % % % % %
(3E( % % % ( ( ( ( (
AND
% % % ( ( ( ( (
ambar *it!bit dalam "egister ADM#'0ATMega(12
Table Tegangan "e+erensi AD 0ATMega(12
Gam&ar +ormat 7ail Koneri 5ila D=A" ama dengan1#ATMega16$
-
8/19/2019 LAPORAN USART
30/48
Table Kanal Input AD untuk %enis Single Ended Input
"egiter ADM!45T KETE"ACGAC
"E+S1#"E+0 dan "E+1
#Reerence$ adala) &it&it
%ang digunakan untuk memili)
tegangan reereni dari AD$
1 /re internal 2,?6 /
6 "E+S0#"E+0 dan "E+1
#Reerence$ adala) &it&it
%ang digunakan untuk memili)
tegangan reereni dari AD$
1 /re internal 2,?6 /
? AD=A"##AD =et Ad9ut
"eult$ adala) &it %ang
digunakan untuk
menentukan ormat data )ail
koneri AD'$
1 )ail koneri 10 &it diimpan
dalam ormat: 8 &it diimpan di
AD7 dan 2 &it di AD=
@ M!4@ 0 AD 0- M!4- 0 AD 02 M!42 0 AD 0
-
8/19/2019 LAPORAN USART
31/48
1 M!41 0 AD 00 M!40 0 AD 0
AD$SRA+(,.!-
Table 8rekuensi 9lo9k AD0ATMega(12
"egiter ADS"A5T KETE"ACGAC
ADEC#AD )na+le, merupakan
&it untuk mengaktikan AD$
1 AD akti dan .ort A tidak akti,
6 ADS#Start Convertion,
merupakan &it %ang
digunakan untuk
mem&erikan perinta) mulai
koneri,$
0 eleai koneri'
? ADATE#AD Auto Trigger
)na+le, merupakan &it %ang
digunakan
untuk mengendalikan aktiai
pi(u otomati$
0 AD akan dimulai pada aat tepi
negati pada in%al trigger
@ AD+#AD Interrupt (lag, 0 uatu aluran &elum eleai dan
-
8/19/2019 LAPORAN USART
32/48
merupakan &it penanda ak)ir
koneri
AD'$
&elum iap diake
- ADE#AD Interrupt )na+e,
merupakan &it pengatur
aktiai
interupi'$
0 maka interupi tela) &elum
diaktikan untuk mela%ani proe
koneri AD'
2 AD.S2#AD.S2, AD.S1 dan
AD.S0 atau AD ,rescaler
Select , merupakan &it&it %ang
digunakan untuk mengatur
rukeuni (lo(k AD$
0 +o( 8
1 AD.S1 1 +o( 80 AD.S0 1 +o( 8
!* Al1
-
8/19/2019 LAPORAN USART
33/48
!*! 2l0art
-
8/19/2019 LAPORAN USART
34/48
TDAK
TDAK
TDAK
TDAK
TDAK
TDAK
TDAK
TDAK
A
-
8/19/2019 LAPORAN USART
35/48
!*; K'>,>'8,>'A4,>'*>,>',>'$,>'B$,>'B>,>'>C
unsigned 9har EAMA=4?6@>F8,>FB,>F(,>F$C
A
A
A
TDAK
TDAK
TDAK
TDAK TDAK
TDAK
TDAK
TDAK
TDAK
-
8/19/2019 LAPORAN USART
36/48
unsigned 9har EIM=(>?6@>F8,>F,>F,>F8,>F8,>FB$,>F>,>F>,>FB$,>F>C
unsigned 9har T=(>?6 @>F>,>F$,>F8G,>F8,>FA4,>'8G,>F8,>F>,>F>,>F$C
unsigned 9har EHA*SE=?6@>FA4,>F*>,>F8G,>F8>,>'BG,>FA(,>F8G,>FA4,>F1C
unsigned 9har T"AE=1?6@>FBG,>FB4,>F,>FA>,>FB,>FB$C
unsigned 9har "D#/=7?6@>F,>FB4,>FA(,>F(,>FBC
unsigned 9har A/=7?6@>FB$,>FB4,>F4G,>FA>,>FBC
unsigned 9har a,b,9,d,i
unsigned 9har dataHrF, dataHtF, dataHad9, dataHad9$, satuan, puluhan, ratusan
:i+nde+ "'*B
:de+ine "'*B (
:endi+
:i+nde+ T'*B
:de+ine T'*B >
:endi+
:i+nde+ #/
:de+ine #/ $
:endi+
:i+nde+ D"
:de+ine D" 3
:endi+
:i+nde+ 8
:de+ine 8 4
:endi+
:i+nde+ #D"
:de+ine #D" 7
:endi+
:i+nde+ "'
:de+ine "' G
:endi+
-
8/19/2019 LAPORAN USART
37/48
:de+ine 8"AMIEH""" 0(;;82
:de+ine /A"ITH""" 0(;;#/2
:de+ine DATAH""#E 0(;;D"2
:de+ine DATAH"IST"HM/T 0(;;#D"2
:de+ine "'HM/T 0(;;"'2
LL #SA"T "e9eier bu++er
:de+ine "'H*#88"HSIN B
9har rFHbu++er="'H*#88"HSIN?
:i+ "'H*#88"HSIN ;6 $71
unsigned 9har rFHrHindeF,rFHrdHindeF,rFH9ounter
:else
unsigned int rFHrHindeF,rFHrdHindeF,rFH9ounter
:endi+
LL This +lag is set on #SA"T "e9eier bu++er oer+lo
bit rFHbu++erHoer+lo
LL #SA"T "e9eier interrupt seri9e routine
interrupt =#SA"TH"'? oid usartHrFHisr0oid2
@
9har status,data
status6#S"A
data6#D"
i+ 00status O 08"AMIEH""" P /A"ITH""" P DATAH""#E2266>2
@
rFHbu++er=rFHrHindeFQQ?6data
:i+ "'H*#88"HSIN 66 $71
LL spe9ial 9ase +or re9eier bu++er size6$71
i+ 0QQrFH9ounter 66 >2 rFHbu++erHoer+lo6(
:else
-
8/19/2019 LAPORAN USART
38/48
i+ 0rFHrHindeF 66 "'H*#88"HSIN2 rFHrHindeF6>
i+ 0QQrFH9ounter 66 "'H*#88"HSIN2
@
rFH9ounter6>
rFHbu++erHoer+lo6(
C
:endi+
C
C
:i+nde+ HD*#HT"MIEAHIH
LL et a 9hara9ter +rom the #SA"T "e9eier bu++er
:de+ine HAT"EATHT5A"H
:pragma usedQ
9har get9har0oid2
@
9har data
hile 0rFH9ounter66>2
data6rFHbu++er=rFHrdHindeFQQ?
:i+ "'H*#88"HSIN R6 $71
i+ 0rFHrdHindeF 66 "'H*#88"HSIN2 rFHrdHindeF6>
:endi+
:asm09li2
!!rFH9ounter
:asm0sei2
return data
C
:pragma used!
:endi+
LL Standard InputLutput +un9tions
:in9lude ;stdio.h
-
8/19/2019 LAPORAN USART
39/48
:de+ine ADH"8HT/ >F>
LL "ead the B most signi+i9ant bits
LL o+ the AD 9onersion result
unsigned 9har readHad90unsigned 9har ad9Hinput2
@
ADM#'6ad9Hinput P 0ADH"8HT/ O >F++2
LL Dela& needed +or the stabilization o+ the AD input oltage
dela&Hus0(>2
LL Start the AD 9onersion
ADS"AP6>F4>
LL ait +or the AD 9onersion to 9omplete
hile 00ADS"A O >F(>266>2
ADS"AP6>F(>
return AD5
C
LL De9lare &our global ariables here
oid main0oid2
@
LL De9lare &our lo9al ariables here
LL InputLutput /orts initialization
LL /ort A initialization
LL 8un9G6In 8un916In 8un976In 8un946In 8un936In 8un9$6In 8un9(6In 8un9>6In
LL StateG6T State16T State76T State46T State36T State$6T State(6T State>6T
/"TA6>F>>
DD"A6>F>>
LL /ort * initialization
LL 8un9G6In 8un916In 8un976In 8un946In 8un936In 8un9$6In 8un9(6In 8un9>6In
LL StateG6T State16T State76T State46T State36T State$6T State(6T State>6T
/"T*6>F>>
-
8/19/2019 LAPORAN USART
40/48
DD"*6>F>>
LL /ort initialization
LL 8un9G6ut 8un916ut 8un976ut 8un946ut 8un936ut 8un9$6ut 8un9(6ut
8un9>6ut
LL StateG6> State16> State76> State46> State36> State$6> State(6> State>6>
/"T6>F>>
DD"6>F88
LL /ort D initialization
LL 8un9G6ut 8un916ut 8un976ut 8un946ut 8un936ut 8un9$6ut 8un9(6ut
8un9>6ut
LL StateG6> State16> State76> State46> State36> State$6> State(6> State>6>
/"TD6>F>>
DD"D6>F88
LL TimerLounter > initialization
LL lo9k sour9eU S&stem lo9k
LL lo9k alueU Timer > Stopped
LL ModeU Eormal top6>F88
LL > outputU Dis9onne9ted
T">6>F>>
TET>6>F>>
">6>F>>
LL TimerLounter ( initialization
LL lo9k sour9eU S&stem lo9k
LL lo9k alueU Timer( Stopped
LL ModeU Eormal top6>F8888
LL (A outputU Dis9on.
LL (* outputU Dis9on.
LL Eoise an9elerU ++
LL Input apture on 8alling dge
LL Timer( er+lo InterruptU ++
-
8/19/2019 LAPORAN USART
41/48
LL Input apture InterruptU ++
LL ompare A Mat9h InterruptU ++
LL ompare * Mat9h InterruptU ++
T"(A6>F>>
T"(*6>F>>
TET(56>F>>
TET(6>F>>
I"(56>F>>
I"(6>F>>
"(A56>F>>
"(A6>F>>
"(*56>F>>
"(*6>F>>
LL TimerLounter $ initialization
LL lo9k sour9eU S&stem lo9k
LL lo9k alueU Timer$ Stopped
LL ModeU Eormal top6>F88
LL $ outputU Dis9onne9ted
ASS"6>F>>
T"$6>F>>
TET$6>F>>
"$6>F>>
LL Fternal Interrupt0s2 initialization
LL IET>U ++
LL IET(U ++
LL IET$U ++
M#"6>F>>
M#S"6>F>>
-
8/19/2019 LAPORAN USART
42/48
LL Timer0s2Lounter0s2 Interrupt0s2 initialization
TIMSK6>F>>
LL #SA"T initialization
LL ommuni9ation /arametersU B Data, ( Stop, Eo /arit&
LL #SA"T "e9eierU n
LL #SA"T TransmitterU n
LL #SA"T ModeU As&n9hronous
LL #SA"T *aud "ateU 1>>
#S"A6>F>>
#S"*6>FB
#S"6>FB1
#*""56>F>>
#*""6>F33
LL Analog omparator initialization
LL Analog omparatorU ++
LL Analog omparator Input apture b& TimerLounter (U ++
AS"6>FB>
S8I"6>F>>
LL AD initialization
LL AD lo9k +reVuen9&U (>>>.>>> k5z
LL AD oltage "e+eren9eU Int., 9ap. on A"8
LL AD Auto Trigger Sour9eU AD Stopped
LL nl& the B most signi+i9ant bits o+
LL the AD 9onersion result are used
ADM#'6ADH"8HT/ O >F++
ADS"A6>FB3
LL S/I initialization
-
8/19/2019 LAPORAN USART
43/48
LL S/I disabled
S/"6>F>>
LL TI initialization
LL TI disabled
T"6>F>>
LL lobal enable interrupts
:asm0sei2
hile 0(2
@
LL /la9e &our 9ode here
dataHrF 6 get9har02
i+ 0dataHrF 66 WaW2
@ puts0XrXn Eama 6 I/#S2
+or 0a6> a;4 aQQ2
@/"T 6 EAMA=a? dela&Hms0(>>2
/"T 6 >F++ dela&Hms0(>>2C C
i+ 0dataHrF 66 WbW2
@ puts0XrXn EIM 6 (44((1>>12
+or 0b6> b;(> bQQ2
@/"T 6 EIM=b? dela&Hms0(>>2
/"T 6 >F++ dela&Hms0(>>2C C
i+ 0dataHrF 66 W9W2
@ puts 0XrXn Tempat Tanggal ahir 6 Malang,>7!($!(72
+or 096> 9;(> 9QQ2
@/"T 6 T=9? dela&Hms0(>>2
/"T 6 >F++ dela&Hms0(>>2C C
-
8/19/2019 LAPORAN USART
44/48
i+ 0dataHrF 66 WdW2
@ puts 0XrXn Eo Absen 6 $3!JTD!$2
+or 0d6> d; dQQ2
@/"T 6 EHA*SE=d? dela&Hms0(>>2
/"T 6 >F++ dela&Hms0(>>2C C
i+ 0dataHrF 66 WeW2
@puts 0XrXn Data 5asil Konersi 6 2
dataHad9 6 readHad90>2
ratusan 6 dataHad9L(>>
puluhan 6 0dataHad9Y(>>2L(> satuan 6 dataHad9Y(>
/"T 6 seg=ratusan? dela&Hms07>>2
/"T 6 >F++ dela&Hms0(>>2
/"T 6 seg=puluhan? dela&Hms07>>2
/"T 6 >F++ dela&Hms0(>>2
/"T 6 seg=satuan? dela&Hms07>>2
/"T 6 >F++ dela&Hms0(>>2
dataHtF6readHad90>2
print+0YdXrXn,dataHtF2
C
i+ 0dataHrF 66 W+W2
@ puts 0XrXn Kondisi "uangan 6 2
dataHad9$6readHad90(2
i+ 0dataHad9$;(>>2 @puts 0T"AEXrXn2
+or 0i6>i;1iQQ2
@/"T6T"AE=i? dela&Hms07>>2
/"T6>F++ dela&Hms0(>>2C
-
8/19/2019 LAPORAN USART
45/48
i+0dataHad9$;$>> OO dataHad9$>2
@puts 0"D#/XrXn2
+or 0i6>i;7iQQ2
@/"T6"D#/=i? dela&Hms07>>2
/"T6>F++ dela&Hms0(>>2C
i+0dataHad9$>2
@puts 0A/XrXn2
+or 0i6>i;7iQQ2
@/"T6A/=i? dela&Hms07>>2
/"T6>F++ dela&Hms0(>>2C
C
C
C
CC C
BAB I5
HASIL
-
8/19/2019 LAPORAN USART
46/48
ambar 4.( "angkaian #SA"T pada So+tare Simulasi
ambar 4.$ Tampilan pada irtual Terminal
BAB 5
KESIMPULAN
-
8/19/2019 LAPORAN USART
47/48
#SA"T harus diinisialisasi sebelum komunikasi manapun dapat berlangsung. /roses
inisialisasi normaln&a terdiri dari pengesetan baud rate, pen&etingan frame +ormat dan
pengakti+an pengirim atau penerima tergantung pada pemakaian. 8lag T' dapat digunakan
untuk menge9ek baha peman9ar telah melengkapi semua pengiriman, dan +lag "' dapat
digunakan untuk menge9ek baha tidak ada data &ang tidak terba9a pada bu++er penerima.
Ter9atat baha +lag T' harus dibersihkan sebelum tiap transmisi 0sebelum #D" ditulisi2 %ika
itu semua digunakan untuk tu%uan tersebut.
!SA"T Transmit Data $u%er Register dan !SA"T Receive Data $u%er
Register menggunakan alamat 3 %ang ama %ang die&ut !SA"T Data
Register atau !D"' Transmitter Data $u%er Register #T45$ akan men9aditu9uan dari penulian data ke lokai regiter !D" edangkan aat mem&a(a
regiter !D" akan mendapatkan ii dari Receiver Data $u%er Register #"45$
DA2TAR PUSTAKA
-
8/19/2019 LAPORAN USART
48/48
• httpULLrepositor&.usu.a9.idLbitstreamL($3471GBL$B1GGL4LhapterY$>II.pd+ , diakses pada
tanggal (B desember $>(7
• httpULL.atmel.9om. Datasheet AVR ATMega16 ,diakses pada tanggal $( Desember
$>(7
•
)ttp:depokintrument'(om2011020ad(analogtodigital(onerter/ , diake pada tanggal 21 Deem&er 201?
• )ttp:&akarapun%a'&logpot'(om20120daarteori
atmega16')tmli;>>-u%?mI. , diake pada tanggal 21
Deem&er 201?
• )ttp:depokintrument'(om2011020ad(analogtodigital
(onerter/, diake pada tanggal 21 Deem&er 201?• Mu>ak)im, A>am' 2011' Mi"ro"ontroler dan Interacing' Malang:
.oliteknik Cegeri Malang
http://repository.usu.ac.id/bitstream/123456789/28677/4/Chapter%20II.pdfhttp://depokinstruments.com/2011/07/20/adc-analog-to-digital-converter/Vhttp://depokinstruments.com/2011/07/20/adc-analog-to-digital-converter/Vhttp://baskarapunya.blogspot.com/2012/09/dasar-teori%20atmega16.html#ixzz3uy5mZPY7http://baskarapunya.blogspot.com/2012/09/dasar-teori%20atmega16.html#ixzz3uy5mZPY7http://depokinstruments.com/2011/07/20/adc-analog-to-digital-converter/Vhttp://depokinstruments.com/2011/07/20/adc-analog-to-digital-converter/Vhttp://depokinstruments.com/2011/07/20/adc-analog-to-digital-converter/Vhttp://depokinstruments.com/2011/07/20/adc-analog-to-digital-converter/Vhttp://baskarapunya.blogspot.com/2012/09/dasar-teori%20atmega16.html#ixzz3uy5mZPY7http://baskarapunya.blogspot.com/2012/09/dasar-teori%20atmega16.html#ixzz3uy5mZPY7http://depokinstruments.com/2011/07/20/adc-analog-to-digital-converter/Vhttp://depokinstruments.com/2011/07/20/adc-analog-to-digital-converter/Vhttp://repository.usu.ac.id/bitstream/123456789/28677/4/Chapter%20II.pdf