modul lab tk 1 uas 2010-2011
Embed Size (px)
TRANSCRIPT

PERTEMUANIDEMUXDAN MULTIPLEXER
1. Tujuan1. Mengenal dan memahami macam-macam gerbang logika sebagai dasar rangkaian
kombinasional.2. Mengenal dan memahami prinsip dasar rangkaian sekuensial.3. Dapat memahami dan menerangkan suatu rangkaian kombinasional dan sekuensial
dengan menggunakan IC TTL(Transistor-TransistorLogic) danIC CMOS (ComplementaryMetalOxideSemiconductor).
2. DasarTeoriSistem digital merupakan dasar bagi system computer digital dan beberapa sistem
Control automatisasi. Sistem digital ini telah diterapkan diberbagai bidang yang sangat luas. Sistem digital berbeda dengan teknik analog, pada system digital hanya dikenal dua keadaan yang berbeda yaitu HIGH dan LOW (biasanya +5 volts(V) dan 0 volts(V)), yang direpresentasikan dengan 1 dan 0 ,aktif dan non-aktif, dan sebagainya. Sebagai contoh perbedaan system digital dengan system analog dapat dilihat pada Gambar1.
(a) (b)
(c) (d)
Gambar 1 Analog - Digital: (a) Bentuk Gelombang Analog; (b) Bentuk Gelombang Digital; (c) Jam Analog; (d) Jam Digital
Untuk dapat mewujudkan pengolahan data dengan system digital pada dasarnya kita harus mengenal rangkaian inti pada system digital yaitu:1. Rangkaiankombinasional adalah rangkaian yang outputnya hanya tergantung pada
input ”pada saat itu”. Pada prinsipnya, rangkaian kombinasional merupakan penerapan dan penerjemah langsung dari aljabar Boolean, yang biasanya dinyatakan

Sebagai fungsi logika. Operator logika yang digunakan dalam aljabar Boolean adalahinversi/negasi (NOT), perkalian logika (AND), penambahan logika(OR).
Aturan dalam aljabar klasik juga berlaku pada Aljabar Boolean, yaitu:a. Commutative law of addition: A+B=B+A, and multiplication: AB=BAb. Associative law of addition: A+(B+C)=(A+B)+C, and multiplication: A(BC)= (AB)C.c. Distributivelaw: A(B+C)=AB+AC,and(A+B)(C+D)=AC+AD+BC+BD.
2. Rangkaian sekuensial adalah rangkaian yang outputnya tidak saja bergantung pada input pada saat itu saja tetapi juga bergantung pada keadaan output sebelumnya.
3. AlatdanBahan1. InputBoard2. OutputBoard3. ICTTL:74LS00,74LS04,74LS08,74LS32, (74LS02, 74LS86,7473,7474,CD4001
danCD4011 OPTIONAL),masing-masing1buah4. Resistor1k¼watt5. ProjectBoard6. Multimeter7. CatuDaya5Volt8. Kabel9. Modul Analog Digital
4. ProsedurPercobaanPada percobaan ini akan digunakan project-board atau Prototyping-PCB sebagaisarana untuk merealisasikan rangkaian digital. Praktikan hendaklah melakukn beberapa hal berikut ini sebelum melakukan praktikum:
1. Pastikan semua alat dan bahan sudah disiapkan.2. Perhatikan datasheet tiap-tiap IC yang digunakan pada modul ini, amati setiap PIN
Pada IC tersebut (letak VCC, GND, dan kaki input/output)3. Periksa catu daya sebelum diberikan terhadap rangkaian, sesuaikan dengan TTL yang
dibutuhkan yaitu +5 VDC. Kerusakan komponen akibat tegangan yang tidak sesuai atau akibat kesalahan letak input/output menjadi tanggung jawab praktikan!
4. Periksa pemasangan IC pada rangkaian dengan mengukur kaki tegangan catu daya(+5V dan GND)
5. Periksaapakah TTL dan IC masih berfungsi dengan baik.6. Periksakabel-kabel dan konektor, gunakan multitester untuk melakukannya.7. Periksa LED keluaran
Pada saat praktikum berlangsung, praktikan hendaklah memperhatikan hal-hal berikutini:1. Matikan catudaya pada saat merangkai atau mengubah rangkaian dan mengganti
IC2. Periksa VCC dan GROUND yang akan diberikan ke pin IC. Gambar2 menunjukkan
cara memberikan catu daya ke IC jika tid a k m e n gg u n a k a n bo a r d i nput d a n ou t put .

Gambar2.RangkaianVCCdanGROUND
UntukmemberikanmasukanpadapinIC:Lowvoltage:langsungdihubungkankeground,
Highvoltage:HARUSdilewatkanResistor~1KdariVCC
1. Percobaan 1a: Mengena lI CTTL(74LS00atau74LS02)1. Gunakan IC74LS00 (untukNAND), kemudian buatlah rangkaian sesuai dengan
Gambar 3 pada project-board. Jangan lupa memberikan VCC=5Volt dan Ground pada IC dan keluaran dihubungkan dengan LED yang ada output board. Gunakan input board sebagai masukan pada rangkaian tersebut.
2. Berdasarkan pengamatan diatas, tuliskan hasil keluaran pada LED dengan berbagai kombinasi input di Tabel 1 pada logbook.
3. Ulangi langkah 1–2 dengan menggunakan IC74LS02 (untuk NOR) dan hasilnyaDitulis pada table 2 pada logbook.
4. Apa yang dapat disimpulkan dari percobaan ini? ( TuliskandiLogbook).
(a) (b)
(c)
Gambar3Percobaan1a.dan1b.
(d)

2. Percobaan 2: Rangkaian Kombinasional sederhana IC TTL Suatu persamaan logika dapat diperoleh sebagai berikut:1. Buatlah persamaan logika: Q=A+B, menjadi persamaan yang hanya memuat operasi
NAND atau NOR saja.2. Gambarkan rangkaiannya, kemudian buat rangkaiannya dari ICTTL yang tersedia pada
project-board.3. Hubungkan output dengan LED dan berikan kombinasi berbagaiinput,kemudian
amatioutputnyapadaoutputboard.TulislahhasilpengamatanandapadaTabel5padalogbook.
4. Daripercobaanini,apayangdapatandasimpulkan?(TuliskandiLogbook!)
3. Percobaan3:AND–NORGatePadapercobaaninidapatdigunakanANDGatedanSN7408ataukombinasidariSN7400(NANDgate)danSN7404(INVERTER)sedangkanNORdapatdipakaiSN7402.
Gambar4Percobaan3
1. SusunlahrangkaiansepertiGambar4.2. BerikanberbagaikombinasiinputdantuliskanoutputpadaTabel6(K-Map)dilog book.3. DenganmenggunakanK-Maptersebutcarilahpersamaanoutputnya.(Tuliskandilog book!)4. Samakahhasilnyadenganperhitungan,jelaskan.(Tuliskandilogbook!)
4. Percobaan4:RSFLIP-FLOPdanCLOCKEDRSFLIP-FLOP1.BuatlahrangkaiansepertiGambar5Aberikutini:

R 1 R 13 Q 3 1
2 2 3 Q2
1Clock
-Q 1S 2 1 -Q
3 3 2S 2 3
(A) (B)
Gambar5Percobaan4
2. BerikanberbagaikombinasiinputS–R,tuliskanoutputQdanQpadaTabel7dilogbook.
3. Tanpamerubahrangkaian,tambahkan2buahgerbangNANDpadainputRSflip- flop(sepertipadaGambar5B)dantuliskanhasilnyapadaTabel8dilogbook.
4. Daripercobaantersebut,apayangdapatdisimpulkandarirangkaianRSFlip-Flop; fungsidarigerbangNANDuntukmasukaninputFlip-Flop;danfungsiclockuntuk rangkaianclockedRSFlip-Flop.(TuliskandiLogbook!)
5. Percobaan5:Dflip-flop(IC7474)1. Buatlahrangkaiansepertipadagambar6A.Janganlupamemberikanmasukanyang
benarpadaPRdanCLR.2. Amati keluaran rangkaian seperti biasa dengan memasangkan LED pada
keluarannya.
CLR CLR
Gambar6Percobaan53. Gambarkanhasilpengamatanpadatimingdiagram.(Tulispadalogbook)

b. KarenaClockdiberikansecaramanualkemungkinanapasajayangterjadi,jelaskan!c. BagaimanamengatasimasalahyangditimbulkanolehpemberianClocksecara manual?
8. Percobaan8:HALFADDER2-bitRangkaianHALFADDERberfungsimelakukanoperasiyangdapatdiinterpretasikan
sebagaipenjumlahanduabitinput,yaitubitAdanbitB,danmenghasilkanduabit output,yaituSUM(S)danCARRY(C).Adapunrangkaianlogikanyadapat diimplementasikansepertigambar8,ataudapatjugadisusundenganmenggunakan gerbangANDdanORsehinggamenghasilkanhubunganXOR.
Gambar8Percobaan81. Nyatakanpersamaanlogika: S=AXORB menjadipersamaanyanghanya
memuatoperasiANDdan/atauOR.TuliskandiLogbook2. SusunlahrangkaianHalf-Adder2bitdenganrangkaiansepertigambar8.3. BerimasukanpadaAdanB,laluperiksakeluaranCARRYOUT(C)danSUM(S)
untuksetiapkombinasiinput.4. Catathasilnyapadatabel10dilogbook.5. SusunlahrangkaianHalf-Adder2bitdenganmenggunakanrangkaianANDdan/atau
OR.GambarkanrangkaianandadiLogbook,berikanlabelpadasetiapkeluaran gerbanglogika(PASTIKANperkabelanandatelahbenarsebelummencoba).
6. Lakukanpercobaansepertilangkah3diatasuntukrangkaianyangtelahandabuatdino.5,danbuatlahhasilpengukuranpadatabel11padalogbook,denganmenyertakan pengukuranditiaptitikkeluarangerbanglogikaanda.
7. Berdasardatayangdiperolehdiatas,maka:(TuliskandiLogbook)a. Apaperbedaanhasilyangandaperolehdarikeduapercobaandiatas?Mengapa?b. Kesimpulanapayangandaperolehdaripercobaanini?
==============

D-FlipFlop,JK-FlipFlopdanT-FlipFlop!6. Analisislahgambarberikut:
TUGASPENDAHULUAN
1. a.CarilahDatasheetdarisemuayangdigunakanpadapraktikumini(TTLdanCMOS).(Terutamatentangpinassignmentdaritiapchip).
b.SebutkanperbedaanyangmendasardariICrangkaianlogika,antarayang berbasisTTLdanCMOS.Gunakandatasheet1.a.sebagaibahanjawabananda.
2. SebutkanmanfaatK-mapdalamrangkaianlogika,danjelaskan!3. Sebutkanalasan,kenapadalammewujudkanrangkaianlogika,lebihdiutamakan
untukmemakaigerbangNANDdanNOR?4. Untukrangkaianlogika,seringdibuathubunganlangsungoutputsuatugerbang
denganinputgerbangyanglain(feeding/driving).Sebutkanbatasan-batasandalam melakukanhalini,danjelaskan!
5. Sebutkankarakteristik,fungsidanperbedaanmasing-masing,antaraRS-FlipFlop,
Vout
Vin
a. Hubunganinput-outputpadagrafikdiatasmensimulasikanrangkaianapa?Bagaimanapenjelasananda?
b. BerapanilaitPLH,tPHL,risetimedanfalltime?Tunjukkanpadagambardiatas.7. Jelaskan mengenai rangkaian sinkron dan asinkron! Apa persamaan dan
perbedaannya?8. Gambarkanrancanganrangkaiancounter3-bitmenggunakanrangkaianD-FF.
Mux adalah suatu rangkaian dengan banyak jalan masukan dan satu jalan keluaran. Denganmenerapkansinyalpengendalidapatdarahkansetiapsinyalmasukandankeluaran.Mux adalah data selector, sedangkan demux kebalikannya, yaitu suatu rangkaian logika yang mempunyai sinyaldarisatumasukan dan banyaksinyalkeluaran.
Sinyal yang masuk baik mux maupun demux selalu ditentukan oleh selektor, apabilah sinyal kendalirendahmakapadamuxkeluarannyajugarendah.Padamuxdandemuxbit datamasukanakanditeruskankeoutputdengankondisidaripengendali,misaluntukmuxjikainputA

diberikondisi1makapadakeluarannyaAyangtampilpadamuxdengankondisipengendalinyaS0 =0 dan S1=0sedangkan untukinputyanglain tidakberlaku.
LANGKAH-LANGKAHPERCOBAAN:
1. Buatlah rangkaian sepertipadagambar.2. Aturselektorsesuaikondisiuntukmendapatkan outputyangdiinginkan3. Buatlah datahasilpercobaan.4. berikananalisadan kesimpulansaudara.
Rangkaian Gabungan Multiplexerdan Demultiplexer
Tabeldatapercobaan
Selector KeluaranA B0 00 11 01 1

PERTEMUAN IIR-S FLIP-FLOP DAN CLOCKED R-SFLIP-FLOP
TUJUAN PERCOBAAN:» Membangun dan mengoperasikan R-S flip-flop dan Clocked R-S flip-flop dengan
menggunakan gerbang-gerbanglogika.» Mengamati fungsi-fungsiR-S Flip-flop dan Clocked FF.» MembuatTabelkebenaran.» MelengkapidiagramtiminguntukClockR-S FF.
ALAT-ALATYANGDIGUNAKAN:
» ModulPraktikumAnalog-Digital 1 buah» IC SN 7400 2 buah» Led indicator 1 buah» Resistor100 ohm 1 buah» Miniprotoboard 1 buah
» Kabeljumperdan kabel-kabelpenghubung
PENDAHULUAN
Para ahli teknik mengklarifikasikan rangkaian logika dalam dua kelompok, pertma adalah kombinasi rangkaian logika yang menggunakan gerbang-gerbang AND, OR dan NOT.Kelompok yangkeduadiklarifikasisebagai rangkaian logikasequensial. Rangkaian sequensialini meliputi pewaktuan dan rangkaian memeri. Dasar blokyang membentuk kombinasi rangkaian logika adalah flip-flop (FF).
R-SFlip-flop Rangkaian dasarR-S Flip-flop
Asumsikan bahwa input S adalah tinggi dan input R adalah rendah. Sebuah logika0 diberikan padainputgerbangNAND 1 selalu memberikan output1, makaQ adalah 1. Q diumpan balikankeinputgerbangNAND2yanglain.SelamainputSadalah1,makaoutputQ’adalah0.kondisiinitetapdipertahankan hingga sinyalpadaiputR dirubah.
1. RS FLIP-FLOP» Perhatikanrangkaian sepertigambardisampingini.» Lakukan percobaan sesuaidengan kondisimasukan Rdan S
terhadapQ dan Q sertacatathasilnyapadatabeldibawah ini.» Berikan kesimpulan pada percobaanini.
R S Q Q0 00 11 01 1

Clock R S Q Q1 0 01 0 11 1 01 1 10 0 00 0 10 1 00 1 1
1. RSCLOCKFLIP-FLOP» Buatlah rangkaianseperti gambar dibawahini.» Lakukan percobaan sesuaidengan kondisimasukan R, S dan Clockterhadap Q dan Q serta
catathasilnyapadatabeldibawah ini.» Berikan kesimpulan pada percobaanini.
3. D FLIP-FLOPDENGAN CLOCK» Buatlah rangkaianseperti gambar dibawahini.» Lakukan percobaan sesuaidengan kondisimasukan R, S dan Clockterhadap Q dan Q serta
catathasilnyapadatabeldibawah ini.» Berikan kesimpulan pada percobaanini.
Rangkaian percobaan Clocked RS FF dengan IC 7400.

PERTEMUANIIIMICROCONTROLER
PENGANTARDANMODULTARGET
TUJUANPERCOBAAN- MengenalMicrocontroler- MengenalBahasaAssemblyMCS51- Memprogrammicrocontroleruntukmenjalankanrangkaianelekteronik
ALATYANGDIGUNAKAN
- Panel/modulMicrocontroler- Sebuahpcdengansoftwarependukung- Avometer- Kabelpenghubung
Microcontroler
Mikrokontroler merupakan suatu komponen elektronika yang didalamnya terdapat rangkaian mikroprosesor, memori (RAM/ROM) dan I/O, rangkaian tersebut terdapat dalam level chip atau biasa disebut single chip microcomputer. Pada Mikrokontroler sudah terdapat komponen-komponen mikroprosesor dengan bus-bus internal yang saling berhubungan. Komponen-komponen tersebut adalah RAM, ROM, Timer, I/O Paralel dan Serial, serta Interrupt Control.
Adapun keunggulan dari Mikrokontroler adalah adanya sistem interupsi Microcontroler digunakan untuk keperluan control, atau kendali. Biasa disebut dengan
MCS dan yang digunakan dalam praktek ini.

Karakteristik(AT89S52)• Sebuah CPU 8 Bit.• 256 byte RAM internal.• Empat buah port I/O, yang masing masing terdiri dari 8 bit• Osilator internal dan rangkaian pewaktu.• Dua buah timer/counter 16 bit• Lima buah jalur interupsi ( 2 buah interupsi eksternal dan 3 interupsi internal).• Sebuah port serial dengan full duplex UART (Universal Asynchronous Receiver Transmitter).• Mampu melaksanakan proses perkalian, pembagian, dan Boolean.• EPROM yang besarnya 8 KByte untuk memori program.• Kecepatan maksimum pelaksanaan instruksi per siklus adalah 0,5 μs pada frekuensi clock 24 MHz. Apabila frekuensi clock mikrokontroler yang digunakan adalah 12 MHz, maka kecepatan pelaksanaan instruksi adalah 1 μs
AssemblyMCS51
Sebuah mikrokontroller tidak akan bekerja bila tidak diberikan program kepadanya. Program tersebut member tahukan mikrokontroller apa yang harus dialakukan. Bahasa Assembly adalah bahasa ogicle yang kedudukannya di antara bahasa mesin dan bahasa level tinggi misalnya bahasa C atau Pascal. Bahasa C atau Pascal dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti
manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh ogicle. Sedangkan bahasa Assembly memakai kode.Mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebihMemudahkan penulisan program.
Langkahkerja
1.SiapkanModulMicrocontrolerdancomputer2.HubungkanModuldengancomputerdengankabelygtelahdisediakan3.NyalakanmodulMicrocontroler4.BukaSoftwareMicrocontrolerISPsoftware.

5.kemudianklikOption‰Selectport,pilihLPT1.

6.KlilOption‰SelectDevice‰PilihAT8952‰PilihByteMode‰Ok
7.JikakoneksiModuldenganPCbagusmakaakantampil jendelasebagaiberikut:

8.JikatidakmemunculkanJendeladiatas,atauadaperingatan,makacobaperiksakoneksikabelantaraPCdanModulMicro.
9.Buka aplikasiNotepad,kemudianketikkancontoh-contohprogramyangada
10.kemudiansimpanpadafolderyangtelahditentukan,simpandenganformat.ASMcontohCOBA1.asm
11.Kemudianrubah(compile)file asmtadi menjadi format .HEX.denganmenggunakanaplikasiASM51.

12.JikaProgramyangdimasukkanbenar,makaakantertulis0errorsfound.Makapadafolderyangtelahterssediatadi,akanmunculfiledenganextentionHEXdengannamayangsamadenganfileASM.
13.KemudiankembalikeprogramAtmelAplication.Klikfile‰loadbuffer.
14.BukafileHEXyangdariprogramyangkitabuat.

15.Jika berhasilmakapadaArmelISPakantampilsepertiberikut
16.Kemudianklikinstruction‰autoprogram.Makachipakanmengalamiproses, pengahpusandanpenulisan.Kemudianpilih(Lock0noprogram lockfeatures)
17.untukmenjalankanprogramklikIntruction‰Runtarget18.Jikainginmengakhiriklikoptions‰initializetarget.
ModulTarget
Percobaan1Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H
Start: ;programutamaMOVP2,#0FEH ;variabel percobaan
JMPStartEND
Amatilahledyangmenyala,kemudiancobaubahvariabelpercobaandan berikantandaXpadaportyangmenyala:

P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0#0FEH#0FDH#0FBH#0F7H#0EFH#0DFH#0BFH#07FH
ApafungsidariperintahMOVP2,#0FEH?
Percobaan2Ketikkandanjalankanprogramdibawahini:
$MOD51ORG000H
Start: ;programutamaCLRP2.0 ;ogiclepercobaanJMPStart
END
Amatilahledyang menyala, kemudiancobaubahogiclepercobaandanberikan tandaXpadaport yang menyala:
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7
Apakahfungsidari perintahCLRP2.0?
Percobaan3
Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H

Start: ;programutamaMOVP2,#0FEH CALLDelay MOVP2,#0FDH CALLDelay MOVP2,#0FBH CALLDelay MOVP2,#0F7H CALLDelayJMPStart
Delay: ;-----------------+MOVR0,#05DH ;|ogiclepercobaan
;|05DH= 1,00905detikWait_Delay: ;|05DH= 93desimal
CALLDelay_10Ms ;|93*0,01085=1,00905detikDJNZR0,Wait_Delay ;| RET ;|
;|Delay_10Ms: ;|fungsi delay10 mili detik
PUSHTMOD ;|10Ms= 0,01085detik MOVTMOD,#001H ;|MOVTH0,#0D8H ;| MOVTL0,#0EFH ;|SETBTR0 ;|
;| Wait_Delay_10Ms: ;|
JBCTF0,Finish_Delay ;|JMPWait_Delay_10Ms ;|
;| Finish_Delay: ;|
CLRTR0 ;| POPTMOD ;|RET ;-----------------+
END
Amatilahledyangmenyala,kemudiancobaubahogiclepercobaan, sebelumnyaubahlahnilaiDesimalmenjadinilaiHeksadantentukanWaktu delay-nya:
Desimal Heksa Waktu185138934623
9

Apakahfungsidelaydariprogramdiatas?
Percobaan4Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H
Start: ;programutamaCLRP2.0CALLDelayCLRP2.1CALLDelayCLRP2.2CALLDelayCLRP2.3CALLDelaySETBP2.3CALLDelaySETBP2.0CALLDelaySETBP2.1CALLDelaySETBP2.2CALLDelaySETBP2.3CALLDelayJMPStart
Delay: ;-----------------+MOVR0,#05DH ;|05DH= 1,00905detik
;|05DH= 93desimalWait_Delay: ;|93*0,01085=1,00905detik
CALLDelay_10Ms ;| DJNZR0,Wait_Delay ;|RET ;|
;|Delay_10Ms: ;|fungsi delay10 mili detik
PUSHTMOD ;|10Ms= 0,01085detik MOVTMOD,#001H ;|MOVTH0,#0D8H ;| MOVTL0,#0EFH ;|SETBTR0 ;|
;| Wait_Delay_10Ms: ;|
JBCTF0,Finish_Delay ;|JMPWait_Delay_10Ms ;|

;|Finish_Delay: ;|
CLRTR0 ;|POPTMOD ;|RET ;-----------------+
END
Amatilahledyang menyala.ApakahfungsiSETBpadaprogram di atas?
Percobaan5Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H MOVA,#0FEH
Start0:MOVP2,ACALLDelay RLACJNEA,#07FH,Start0
Start1:MOVP2,ACALLDelay RRACJNEA,#0FEH,Start1JMPStart0
Delay: ;-----------------+MOVR0,#017H ;|017H=0,24955detik
;|017H=23desimalWait_Delay: ;|23*0,01085=0,24955detik
CALLDelay_10Ms ;| DJNZR0,Wait_Delay ;|RET ;|
;|Delay_10Ms: ;|fungsi delay10 mili detik
PUSHTMOD ;|10Ms= 0,01085detik MOVTMOD,#001H ;|MOVTH0,#0D8H ;| MOVTL0,#0EFH ;|SETBTR0 ;|
;| Wait_Delay_10Ms: ;|
JBCTF0,Finish_Delay ;|

JMPWait_Delay_10Ms ;|;|
Finish_Delay: ;|CLRTR0 ;|POPTMOD ;| RET ;-----------------+
END
Amatilahledyang menyala.ApakahfungsiRR,RL, CJNEpadaprogram di atas?
Percobaan6Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H
Start: ;programutamaMOVP2,P3JMPStart
END
Amatilahledyangmenyaladenganmenekansembarangtombol. Apakahkesimpulannya?
Percobaan7Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H JMP InitializeORG 003H ;alamatinterupsi Ext0JMP IntExt0ORG 013H ;alamatinterupsi Ext1JMP IntExt1
IntExt0: ;-----------------+fungsi interupsi Ext0MOVP2,#0F0H ;| RETI ;-----------------+
IntExt1: ;-----------------+fungsi interupsi Ext1MOVP2,#00FH ;| RETI ;-----------------+
Initialize:

MOV IE,#085H ;interupsi yangaktif(variabel percobaan81H,84H,85H)MOV IP,#005H ;prioritas interupsi(variabel percobaan1H,4H,5H) MOVA,#0FEH
Start: ;programutamaMOVP2,ARLACALLDelayJMPStart
Delay: ;-----------------+MOVR0,#05DH ;|05DH= 1,00905detik
;|05DH= 93desimalWait_Delay: ;|93*0,01085=1,00905detik
CALLDelay_10Ms ;| DJNZR0,Wait_Delay ;| RET ;|
;|Delay_10Ms: ;|fungsi delay10 mili detik
PUSHTMOD ;|10Ms= 0,01085detikMOVTMOD,#001H ;| MOVTH0,#0D8H ;|MOVTL0,#0EFH ;|SETBTR0 ;|
;| Wait_Delay_10Ms: ;| JBCTF0,Finish_Delay ;|
JMPWait_Delay_10Ms ;|;|
Finish_Delay: ;|CLRTR0 ;|POPTMOD ;| RET ;-----------------+
END
Coba tekantombol P3.2, amatilahledyang menyala, kemudiancobatekan tombol P3.3, amatilahledyangmenyala.
Ubahlahogiclepercobaandengandatadibawahini, kemudiancoba tekantombolP3.2dansecarabersamaancobatekantombol P3.3, juga lakukanlahsebaliknya.
IE IP Led#085H #005H#084H #005H#081H #005H

#085H #004H#084H #004H#081H #004H#085H #001H#084H #001H#081H #001H
Apakahyangdimaksuddenganinterupsi?
Percobaan8
Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H JMP InitializeORG 003HJMP IntExt0ORG 013H JMP IntExt1
IntExt0:RRAMOVP2,ACALLDelay RETI
IntExt1:RLAMOVP2,ACALLDelayRETI
Initialize:MOV IE,#085H MOV IP,#005HMOVA,#0FEH
Start: ;programutamaJMPStart
Delay: ;-----------------+MOVR0,#017H ;|017H=0,24955detik
;|017H=23desimalWait_Delay: ;|23*0,01085=0,24955detik
CALLDelay_10Ms ;| DJNZR0,Wait_Delay ;|RET ;|
;|

Delay_10Ms: ;|fungsi delay10 mili detikPUSHTMOD ;|10Ms= 0,01085detikMOVTMOD,#001H ;| MOVTH0,#0D8H ;| MOVTL0,#0EFH ;| SETBTR0 ;|
;| Wait_Delay_10Ms: ;|
JBCTF0,Finish_Delay ;|JMPWait_Delay_10Ms ;|
;|Finish_Delay: ;|
CLRTR0 ;| POPTMOD ;| RET ;-----------------+
END
CobatekantombolP3.2beberapakali,amatilahledyangmenyala,kemudian cobatekantombolP3.3beberapakali,amatilahledyangmenyala.Apakahkesimpulannya?
INTERUPSIMCS51
òInterruptadalahsuatupanggilanygmemaksaMCSuntukmenundaprogramyang sedanddijalankandankemudianmenjalankanprosesyangterdapatdidalam SubRoutineInterrupthinggaprosestersebutselesai,sesudahituMCSakan melaksanakankembaliyangditundasebelumnya.

òPengecekaninterruptadalahsecarapolling.ArtinyabahwaMCSakanmelakukanpollinginterruptdimulaidariprioritasyangpalingtinggi
òApabiladalamprosespollinginterrupt terjadi interruptyangpriority-nyalebih tinggi,makainterrupt tersebutakandilayanisetelahpollinginterruptnyaselesai dilakukan
òPemanggilanInterruptpadaMCSdapatdilakukandengan2cara:òFallingEdge
InterruptakanaktifapabilaogicpadapininterruptbergerakturundariHIGHkeLOW
òLevelInterruptakanaktifapabilaogicpadapininterruptberadapadalevelLOW.

40
V CC
20
GN
D
PERTEMUANIVMICROCONTROLERII
SEVENSEGMENTDANMOTORSTEPPER
Hubungkanmodulsevensegmendenganport1modul target!!!
VCC VCC
10k
393837
P00P01
U?
P101 a
P112 b3 c
P0236P0335P0434P0533P0632P07
P2022P21
P12P13P14P15P16P17
P30/RXDP31/TXD
4567
8
1 1
defg
DpCom
7SEG
23P2224P2325P2426P2527P2628P27
P32/INT012
P33/INT113
P34/T0 14
P35/T1 15
P36/WR16
P37/RD17 VCC
VCC
31
302 9
EA/VP
ALE/PPSEN
X119
X218
RESET9
U?
CRYSTAL
89C51
10K1uF
VCC
Percobaan9
Ketikkandanjalankanprogram di bawahini :
;Segment padaPort 1;D7|D6|D5|D4|D3|D2|D1|D0; .|g|f|e|d|c|b|a;;Common SegmentpadaPort0

;D7|D6|D5|D4|D3|D2|D1|D0

$MOD51ORG 000H
CLRP0.0 ;variabel percobaanStart: ;programutama
MOVP1,#0FEH ;variabel percobaanJMPStart
END
Amatilahsegmenyangmenyala, kemudiancobaubahvariabel percobaandanberikan tandaXpadasegmenyangmenyala:
CLR P1 Seg0 Led Seg1 Led Seg2 Led Seg3 Led Seg4 Led Seg5 Led Seg6 Led Seg7 LedP0.0 #0FEHP0.1 #0FDHP0.2 #0FBHP0.3 #0F7HP0.4 #0EFHP0.5 #0DFHP0.6 #0BFHP0.7 #07FH
Buatlahsuatukarakterhurufberdasarkandatadiatas.
Percobaan10Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H
Start: ;programutamaCLRP0.0MOVP1,#083H ;huruf b CALLDelaySETBP0.0CLRP0.1MOVP1,#092H ;huruf S CALLDelaySETBP0.1CLRP0.2MOVP1,#0CFH ;huruf I CALLDelaySETBP0.2JMPStart

Delay: ;-----------------+MOVR0,#001H ;|001H=0,01085detik
;|001H=1desimalWait_Delay: ;|1*0,01085=0,01085detik
CALLDelay_10mS ;| DJNZR0,Wait_Delay ;|RET ;|
;|Delay_10mS: ;|fungsi delay10 mili detik
PUSHTMOD ;|10mS=0,01085detik MOVTMOD,#001H ;|MOVTH0,#0D8H ;| MOVTL0,#0EFH ;|SETBTR0 ;|
;| Wait_Delay_10mS: ;|
JBCTF0,Finish_Delay ;|JMPWait_Delay_10mS ;|
;| Finish_Delay: ;| CLRTR0 ;|
POPTMOD ;| RET ;-----------------+
END
Amatilahsegmenyangmenyala.Apakahyangdimaksuddenganscanningmode?
Percobaan11Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H JMP InitializeORG 003H JMP IntExt0ORG 013H JMP IntExt1
IntExt0:CLRP0.0MOVP1,#083H CALLDelay SETBP0.0CLRP0.1

MOVP1,#092HCALLDelaySETBP0.1CLRP0.2MOVP1,#0CFH CALLDelaySETBP0.2RETI
IntExt1:CLRP0.0MOVP1,#0C7H CALLDelaySETBP0.0CLRP0.1MOVP1,#088H CALLDelay SETBP0.1CLRP0.2MOVP1,#083H CALLDelaySETBP0.2RETI
Initialize:MOV IE,#085H MOV IP,#005H
Start: ;programutamaJMPStart
Delay: ;-----------------+MOVR0,#001H ;|001H=0,01085detik
;|001H=1desimalWait_Delay: ;|1*0,01085=0,01085detik
CALLDelay_10mS ;| DJNZR0,Wait_Delay ;|RET ;|
;|Delay_10mS: ;|fungsi delay10 mili detik
PUSHTMOD ;|10mS=0,01085detik MOVTMOD,#001H ;|MOVTH0,#0D8H ;| MOVTL0,#0EFH ;|SETBTR0 ;|
;| Wait_Delay_10mS: ;|
JBCTF0,Finish_Delay ;|JMPWait_Delay_10mS ;|
;|

Finish_Delay: ;|CLRTR0 ;| POPTMOD ;|RET ;-----------------+
END
Amatilahsegmenyangmenyaladenganmenekan tombol P3.2dankemudiancoba tekantombolP3.3.Apakahkesimpulannya?
PERTEMUAN VModulMotorStepper
Hubungkanmodulmotorstepperdenganport2modultarget!!!
+12v
A1
D0B
2D1
C3
D2D
4D35D46D57D68D79GND
Q118
Q217
Q316
Q415
Q514
Q6 13
Q7 12
Q8 11
VCC10
+12v
ULN2803
Motor stepper banyak digunakan untuk aplikasi-aplikasi yang biasanya cukupMenggunakan torsi yang kecil, seperti untuk penggerak piringan disket atau piringan CD. Dalam hal kecepatan, kecepatan motor stepper cukup cepat jika dibandingkan dengan motor DC. Motor stepper merupakan motor DC yang tidak memilikikomutator. Pada umumnya motor stepper hanya mempunyai kumparan pada

statornya sedangkan pada bagian rotornya merupakan permanen magnet. Denganmodel motor seperti ini maka motor stepper dapat diatur posisinya pada posisitertentu dan/atau berputar ke arah yang diinginkan, searah jarum jam atau sebaliknya.
Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian data pada komutatornya. Semakin cepat data yang diberikan maka motor stepper akan semakin cepat pula berputarnya.
Percobaan12Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000HMOVR1,#032H ;variabel percobaan
Start: ;programutamaCALL GoRight ;variabel percobaanDJNZ R1,Start
Stop:JMPStop
GoRight: ;modefull stepMOV P2,#080H CALL DelayMOV P2,#040H CALL DelayMOV P2,#020H CALLDelay MOV P2,#010HCALL DelayRET
GoLeft: ;modefull stepMOVP2,#010H CALLDelayMOVP2,#020HCALLDelay MOVP2,#040H CALLDelay MOVP2,#080H CALLDelay RET
Delay: ;-----------------+MOVR0,#001H ;|001H=0,01085detik
;|001H=1desimalWait_Delay: ;|1*0,01085=0,01085detik

CALLDelay_10mS ;|DJNZR0,Wait_Delay ;|
RET ;|;|
Delay_10mS: ;|fungsi delay10 mili detikPUSHTMOD ;|10mS=0,01085detikMOVTMOD,#001H ;| MOVTH0,#0D8H ;|MOVTL0,#0EFH ;|SETBTR0 ;|
;| Wait_Delay_10mS: ;| JBCTF0,Finish_Delay ;|
JMPWait_Delay_10mS ;|;|
Finish_Delay: ;|CLRTR0 ;|POPTMOD ;| RET ;-----------------+
END
Amatilahgerakmotorstepper,kemudiancobaubahvariabel percobaan:
R1 CALL DerajatPutar
ArahPutar
#032H GoRight#019H GoRight#00CH GoRight#032H GoLeft#019H GoLeft#00CH GoLeft
Berapaderajatkahper satusiklusfungsiGoRightdanGoLeft?
Percobaan13Ketikkandanjalankanprogram di bawahini :
$MOD51ORG 000H
Start:MOVR1,#032H
StartRight: ;programutamaCALL GoRightDJNZR1,StartRight
MOVR2,#032H

StartLeft:CALL GoLeftDJNZR2,StartLeft
Stop:JMPStart
GoRight: ;modehalfstepMOVP2,#010H CALLDelay MOVP2,#030H CALLDelay MOVP2,#020H CALLDelay MOVP2,#060H CALLDelay MOVP2,#040H CALLDelay MOVP2,#0C0H CALLDelay MOVP2,#080H CALLDelay MOVP2,#090H CALLDelayRET
GoLeft: ;modehalfstepMOVP2,#090H CALLDelayMOVP2,#080HCALLDelay MOVP2,#0C0H CALLDelay MOVP2,#040H CALLDelay MOVP2,#060H CALLDelay MOVP2,#020H CALLDelay MOVP2,#030H CALLDelay MOVP2,#010H CALLDelayRET
Delay: ;-----------------+MOVR0,#001H ;|001H=0,01085detik
;|001H=1desimalWait_Delay: ;|1*0,01085=0,01085detik
CALLDelay_10mS ;| DJNZR0,Wait_Delay ;|

RET ;|;|
Delay_10mS: ;|fungsi delay10 mili detik PUSHTMOD ;|10mS=0,01085detik MOVTMOD,#001H ;|MOVTH0,#0D8H ;| MOVTL0,#0EFH ;|SETBTR0 ;|
;| Wait_Delay_10mS: ;|
JBCTF0,Finish_Delay ;| JMPWait_Delay_10mS ;|
;| Finish_Delay: ;| CLRTR0 ;|
POPTMOD ;| RET ;-----------------+
END
Amatilahgerakmotorstepper.Apayangdimaksuddenganfull stepdanhalfstep?ApakahfungsiDJNZdariprogram di atas?
Percobaan14Ketikkandanjalankanprogramdibawahini :
$MOD51ORG000H JMPInitialize ORG003H JMPIntExt0
IntExt0:CALL GoRightRETI
Initialize:MOVIE,#081H MOVIP,#001H
Start: ;programutamaJMPStart
GoRight:

MOVP2,#010HCALLDelay MOVP2,#030H CALLDelay MOVP2,#020H CALLDelay MOVP2,#060H CALLDelay MOVP2,#040H CALLDelay MOVP2,#0C0H CALLDelay MOVP2,#080H CALLDelay MOVP2,#090H CALLDelayRET
Delay: ;-----------------+MOVR0,#001H ;|001H=0,01085detik
;|001H=1desimalWait_Delay: ;|1*0,01085=0,01085detik
CALLDelay_10mS ;| DJNZR0,Wait_Delay ;| RET ;|
;|Delay_10mS: ;|fungsidelay10milidetik
PUSHTMOD ;|10mS=0,01085detik MOVTMOD,#001H ;|MOVTH0,#0D8H ;| MOVTL0,#0EFH ;| SETBTR0 ;|
;| Wait_Delay_10mS: ;| JBCTF0,Finish_Delay ;|
JMPWait_Delay_10mS ;|;|
Finish_Delay: ;| CLRTR0 ;|
POPTMOD ;| RET ;-----------------+
END
AmatilahgerakmotorstepperdenganmenekantombolP3.2Apakahkesimpulannya?

PERTEMUAN VIPEMBUATAN ALAT
(LAYOUT)
Daftar Komponen
Komponen utama Komponen SensorNama Komponen Unit Nama Komponen UnitIC Regulator 7805 1 Otocopler/sensor 2Elco 1000µF 1 Resistor 100Ω (R3) 2Resistor 1KΩ (R1) 1 Resistor 47KΩ (R4) 2Led 1 Transistor (C 5343) 2IC L293d + Socket 1IC AT89S51 + Socket 1X-Tal 11 Mhz 1Kondensator Keramik 33pF/22pF 2
Elco 10µF 1Resistor 4K7Ω (R2) 1Relay 2Saklar 1

LAYOUT SENSOR LAYOUT UTAMA
LISTING LINE FOLLOWER
$mod51 org 000h
ssr_right bit p1.0ssr_left bit p1.1mtr_left bit p1.3mtr_bw_left bit p1.4mtr_right bit p1.5mtr_bw_right bit p1.6dat_sts data 20hdelay_run equ 20;Robot Line Follower IT CAMP BSI;Tanggal 30-04-2010 prog: mov sp,#050h acall init_sysrunning: jb ssr_left,run01 jb ssr_right,run02 ajmp run03run01: jb ssr_right,run03 acall right ajmp sys_run run02: jb ssr_left,run03 acall left ajmp sys_run run03: acall foward acall dly_run; acall stop ajmp exit_run
stop: clr mtr_left clr mtr_right clr mtr_bw_left clr mtr_bw_right ret
init_sys: mov dat_sts,#0 acall stop ret dly_mtr: setb rs0 mov r0,#3loop00: mov r1,#200 loop01: mov r2,#200 loop02: djnz r2,loop02 djnz r1,loop01 djnz r0,loop00 clr rs0 ret ;Delaydly_run: setb rs0 mov r0,#delay_runloop10: mov r1,#1loop11: mov r2,#10loop12: djnz r2,loop12 djnz r1,loop11 djnz r0,loop10 clr rs0 ret ;Delay

sys_run: acall dly_run acall dly_run acall dly_run; acall stopexit_run: ajmp runningleft: setb mtr_left clr mtr_right clr mtr_bw_left clr mtr_bw_right ret right: clr mtr_left setb mtr_right clr mtr_bw_left clr mtr_bw_right ret foward: setb mtr_left setb mtr_right clr mtr_bw_left clr mtr_bw_right ret
nop nopend