Praktikum Mikrokontroller Dan Interface Percobaan 1 GPIO (General Purpose Input Output)
I.
Tujuan 1. Mahasiswa dapat mengetahui fungsi dari GPIO pada ARM ARM STM32F4!"GT#
2. Mahasiswa dapat me$a%u%an %&nfigurasi GPIO GPIO pada ARM STM32F4!"GT# 3. Mahasiswa dapat mem'uat pr&gram pr&gram ( me$a$ui s&ftware s&ftware %ei$ u)isi&n untu% a%ti)asi GPIO pada ARM STM32F4!"GT# 4. Mahasiswa memahami memahami (ara mem'uat inisia$isasi inisia$isasi I*O I*O dari ARM mengguna%an s&ftware STM32 +u'e. ,. Mahasiswa
dapat
meng&$ah
'ahasa
pem&graman
dari
ARM
dengan
mengguna%an s&ftware %ei$ u)isi&n,. II.
Dasar Teori Teori ARM merupa merupa%an %an
sa$ah sa$ah
satu satu
dari dari
-enis -enis
mi%r& mi%r&%&nt %&ntr&$ r&$er er
ang ang
dapat dapat
diguna%an untu% mengatur atau meng&ntr&$ sesuatu dengan mengguna%an 'ahasa pem&graman +. Fungsi dari ARM 'iasana diguna%an pada pa'ri%*industri ang mengguna%an mengguna%an sistem sistem &t&masi. &t&masi. ARM ARM ada$ah ada$ah pr&sess&r pr&sess&r dengan arsite%tu arsite%turr set intru%si 32'it RIS+ /Redu(ed Intru(ti&n Intru(ti&n Set +&mputer0 +&mputer0 ang di%em'ang%an di%em'ang%an &$eh ARM &$ding. &$ding. ARM merupa%an merupa%an /se'e$umn /se'e$umnaa
sing%atan sing%atan
dari Ad)an(ed Ad)an(ed
RIS+ Ma(hine Ma(hine
$e'ih di%en$ dengan %epan-angan %epan-angan RIS+ RIS+ Ma(hine0. Ma(hine0. Pada Pada awa$na awa$na
ARM pr&es&r di%em'ang%an untu% P+ /pers&na$ (&mputer0 &$eh A(&rn +&mputers se'e$um se'e$um d&minasi d&minasi Inte$ Inte$ # pr&ses&r pr&ses&r
Mi(r&s&ft Mi(r&s&ft
di
IM5
P+
%&mpati'e$ %&mpati'e$
mene'a'%an A(&rn +&mputers 'ang%rut. Me$a$ui i6in dari se$uruh dunia arsite%tur ARM ada$h ang pa$ing umum di$a%sana%an 327'itset intru%si arsite%tur. Arsite%tur ARM diimp$ementasi%an pada 8ind&ws 9ni# dan sistem &perasi mirim 9ni# termasu% App$e iOS Andr&id Andr&id 5S: Infern& Infern& S&$aris S&$aris 8e'OS e'OS P$an ; dan G<9*=inu#. G<9*=inu#. ARM ARM awa$na di%ena$ se'agai Mesin Mesin A(&rn A(&rn RIS+. Adapun s&ftware ang a%an diguna%an ada 2 'uah untu% awa$ inisia$isasi pin se'agai input atau &utput dapat mengguna%an ap$i%asi STM32+u'eM>. :an se$an-u se$an-utn tnaa untu% untu% meng&$ meng&$ah ah 'ahasa 'ahasa + ang ang a%an diguna% diguna%an an untu% untu% meng&nt meng&ntr&$ r&$ ARM terse'ut dapat mengguna%an ap$i%asi ?ei$ u"isi&n.
III.
Gambar Rangkaian Percobaan
I.
!lat "an #a$an 1. M&du$ ARM STM32F4!"GT#
2. S&ftware STM32 +u'e M> 3. S&ftware %e$i u)isi&n , 4. ?a'e$ ST7=I ,. Adapt&p , "&$t d( .
!lgorit$ma 1. @i%a push 'utt&n 1 dite%an ma%a re$a 1 a%an a%tif
2. @i%a push 'utt&n 2 dite%an ma%a re$a 1 dan 2 a%an a%tif 3. @i%a push 'utt&n 3 dite%an ma%a re$a 1 2 dan 3 a%an a%tif 4. @i%a push 'utt&n 4 dite%an ma%a re$a 1 2 3 dan 4 a%an a%tif ,. @i%a push 'utt&n , dite%an ma%a re$a 1 2 3 4 dan , a%an a%tif . @i%a push 'utt&n dite%an ma%a re$a 1 2 3 4 , dan a%an a%tif !. @i%a push 'utt&n ! dite%an ma%a re$a 1 2 3 4 , dan ! a%an a%tif .
@i%a push 'utt&n dite%an ma%a re$a ! a%an mati de$a 1 deti% %emudian dii%uti re$a a%an mati dan de$a 1 deti% 'egitu seterusna sampai semua re$a mati 'ergantian dengan de$a 1 deti% masing masing re$a
I.
%lo& '$art
START
Yes PE8 ==
PE0= 1
1 ? PE1=PE2=PE3=PE4=PE5=PE 6=PE7=0 No
Yes PE9 ==
PE0=PE1 =1
1 ? PE2=PE3=PE4=PE5=PE6 =PE7=0 No
Yes PE10==
PE0=PE1=PE 2=1
1 ? PE3=PE4=PE5=PE6= PE7=0 No
PE11==
Yes
PE0=PE1=PE2=PE3=1 PE4=PE5=PE6=PE7=0
1 ? No
PE11==1 ?
Yes
PE0=PE1=PE2=PE3=1 PE4=PE5=PE6=PE7=0
No
Yes PE12==1 ?
PE0=PE1=PE2=PE3= PE4=1 PE5=PE6=PE 7=0
No
PE13==1 ?
Yes
PE0=PE1=PE2=PE3=PE4 =PE5=1 PE6=PE7 =0
No
I.
%lo& '$art A
A
Yes
PE0=PE1=PE2=PE3=PE4=PE
PE14==1 ?
5= PE6=1 PE7= 0
No
PE15==1 ?
Yes
PE6=0 DELAY PE6=0 DELAY PE5=0 DELAY PE4=0 DELAY PE3=0 DELAY PE2=0 DELAY PE1=0 DELAY PE0=0 DELAY
No
END
II.
Program
in($ude Bstm32f4##Cha$.hB )&id Sstem+$&(%C+&nfig/)&id0D stati( )&id M>CGPIOCInit/)&id0D int main/)&id0 E A=CInit/0D Sstem+$&(%C+&nfig/0D M>CGPIOCInit/0D whi$e /10 E if /A=CGPIOCReadPin/GPIOGPIOCPI
if /A=CGPIOCReadPin/GPIOGPIOCPI
A=CGPIOC8ritePin/GPIOGPIOCPI
CGPIOCInit/)&id0 E GPIOCInitTpe:ef GPIOCInitStru(tD *N GPIO P&rts +$&(% na'$e N* GPIOC+=?C
GPIOCInitStru(t.M&de GPIOCMO:CI
Pada per(&'aan %a$i ini mempra%te%%an ARM STM32F4!"FT# untu% GPIO /Genera$ Purp&se Input Output0. :imana untu% input mengguna%a push 'utt&n ang terhu'ung dengan P&rt sampai P&rt 1, sedang%an untu% &utput mengguna%an re$a ang tehu'ung dengan P&rt ampai P&rt !. Se'e$um me$a%u%an pemr&graman pada ARM mengguna%an %ei$ u)isi&n ma%a per$u di$a%u%an inisia$isai fitur apa sa-a ang a%an diguna%an pada ARM. Sehingga diper$u%an se'uah wi6ard ang diguna%an untu% a%ti)as fitur terse'ut. @i%a pada (&de )isi&n A"R wi6ard na udah in($ude men-adi satu namun pada %ei$ tida% in($ude dengan wi6ard na. Sehingga untu% a%ti)asi fitur pada ARM per$u s&ftware tam'ahan aitu STM32 +u'e M> dimana s&ftware ini diguna%an se'agai wi6ard untu% a%ti)asi fitur ang ada di da$am ARM. Tata (ara untu% a%ti)ai GPIO pada (u'e ada$ah se'agai 'eri%ut 1. 5u%a (u'e sete$ah itu new pr&-e(t dan a%an tampi$ seperti 'eri%ut
2.
=a$u sete$ah itu pi$ih$ah series aitu STM32F4 $ines STM32F4!*41! dan pa(%age =KFP 1 dan pi$ih$ah STM32F4!"GT#. a$ ini %arena ARM ang ada pada m&du$ pra%ti%um merupa%an tipe ini. Sete$ah itu %$i% 2 %a$i pada -enis ARM ang diguna%an terse'ut
3.
Sete$ah itu $a%u%an a%ti)asi pada R++ dengan mengisi pada %&$&m high speed ($&(% dengan mengguna%an tipe (rsta$*(erami( res&nat&r. R++ ini seperti -antung dari (hip ARM ang diguna%an. R++ ini diguna%an se'agai sum'er ($&(% dari ARM. :engan a%ti)asi ini ma%a pada P&rt ARM a%an 'erwarna hi-au tanda 'ahwa pin terse'ut te$ah diguna%an
4. Sete$ah itu $a%u%an a%ti)asi pada masing masing pin ang diguna%an untu% GPIO. +ari$ah PORT sampai PORT 1, ang terapat pada gam'ar (hip ARM. ?emudian %$i% %iri pada PORT pi$ih se'agai GPIO &utput. =a%u%an a%ti)asi ang sama untu% PORT 1 sampai PORT !. Sete$ah itu $a%u%an a%ti)asi pu$a untu% PORT sampai PORT 1, se'agai GPIO input
,.
=ang%ah se$an-utna ada$ah $a%u%an pengaturan ($&(% %&nfigurasi ang terdapat pada p&-&% %iri atas dari tampi$an s&ftware. Pi$ih dan %$i% ($&(% (&nfigurati&n
Isi$ah pada input freuen( pada -a$ur S se'esar M6 ha$ ini di%arena%an (rsta$ ang ada pada m&du$ ARM se'esar M6. +entang$ah pada -a$ur S dan P==+=? %emudian pi$ih$ah pem'agi dan penga$i ang sesuai agar ($&% 'isa dima%sima$%an se'esar 1 M6. Pada settingan ini mengguna%an pem'agi * penga$i #33 dan pem'agi *2 sehingga a%an di dapat%an ni$ai pada ($&(% ma%sima$ 1 M6. =a%u%an setting ang sama untu% AP51 Pres(a$er dan AP52 pres(a$er dengan mem'agi masing masing dengan pem'agi *4 dan *2.
I.
esimpulan
:ari pra%ti%um ang te$ah di$a%u%an ma%a 'isa disimpu$%an se'agai 'eri%ut 1.
STM32 +u'e M> merupa%an se'uah s&ftware ang diguna%an se'agai wi6ard untu% s&ftware %ei$ u)isi&n. :imana +u'e ini mempermudah %ita da$am me$a%u%an a%ti)asi fitur fitur ang ada da$am ARM
2. S&ftware ?ei$ u)isi&n, ada$ah s&ftware peng&$ah pr&gram ang di%husus%an untu% ARM dengan 'ahasa +. 3. Pada ARM STM32F4!"GT# terdapat 1 'uah PI<. Tetapi hana terdapat 2 PI< ang 'isa diguna%an untu% GPIO /Genera$ Purp&se Input Output0