Modul Lab Tk 1 Uas 2010-2011

60
PERTEMUANI DEMUXDAN MULTIPLEXER 1. Tujuan 1. 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 k ombinasional dan sekuensial dengan menggunakan IC TTL(Transistor-TransistorLogic) danIC CMOS (ComplementaryMetalOxideSemiconductor). 2. DasarTeori Sistem digital merupakan dasar bagi system computer digital dan beberapa sistem Control automatisasi. Sistem digital ini telah diterapkan di berbagai 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:

Transcript of Modul Lab Tk 1 Uas 2010-2011

Page 1: Modul Lab Tk 1 Uas 2010-2011

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

Page 2: Modul Lab Tk 1 Uas 2010-2011

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 .

Page 3: Modul Lab Tk 1 Uas 2010-2011

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)

Page 4: Modul Lab Tk 1 Uas 2010-2011

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:

Page 5: Modul Lab Tk 1 Uas 2010-2011

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.

QQ

CLR CLR

Gambar6Percobaan53. Gambarkanhasilpengamatanpadatimingdiagram.(Tulispadalogbook)

Page 6: Modul Lab Tk 1 Uas 2010-2011

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?

==============

Page 7: Modul Lab Tk 1 Uas 2010-2011

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

Page 8: Modul Lab Tk 1 Uas 2010-2011

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

Page 9: Modul Lab Tk 1 Uas 2010-2011

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

Page 10: Modul Lab Tk 1 Uas 2010-2011

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.

Page 11: Modul Lab Tk 1 Uas 2010-2011

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.

Page 12: Modul Lab Tk 1 Uas 2010-2011

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.

Page 13: Modul Lab Tk 1 Uas 2010-2011

5.kemudianklikOption‰Selectport,pilihLPT1.

Page 14: Modul Lab Tk 1 Uas 2010-2011

6.KlilOption‰SelectDevice‰PilihAT8952‰PilihByteMode‰Ok

7.JikakoneksiModuldenganPCbagusmakaakantampil jendelasebagaiberikut:

Page 15: Modul Lab Tk 1 Uas 2010-2011

8.JikatidakmemunculkanJendeladiatas,atauadaperingatan,makacobaperiksakoneksikabelantaraPCdanModulMicro.

9.Buka aplikasiNotepad,kemudianketikkancontoh-contohprogramyangada

10.kemudiansimpanpadafolderyangtelahditentukan,simpandenganformat.ASMcontohCOBA1.asm

11.Kemudianrubah(compile)file asmtadi menjadi format .HEX.denganmenggunakanaplikasiASM51.

Page 16: Modul Lab Tk 1 Uas 2010-2011

12.JikaProgramyangdimasukkanbenar,makaakantertulis0errorsfound.Makapadafolderyangtelahterssediatadi,akanmunculfiledenganextentionHEXdengannamayangsamadenganfileASM.

13.KemudiankembalikeprogramAtmelAplication.Klikfile‰loadbuffer.

14.BukafileHEXyangdariprogramyangkitabuat.

Page 17: Modul Lab Tk 1 Uas 2010-2011

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:

Page 18: Modul Lab Tk 1 Uas 2010-2011

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

Page 19: Modul Lab Tk 1 Uas 2010-2011

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

Page 20: Modul Lab Tk 1 Uas 2010-2011

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 ;|

Page 21: Modul Lab Tk 1 Uas 2010-2011

;|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 ;|

Page 22: Modul Lab Tk 1 Uas 2010-2011

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:

Page 23: Modul Lab Tk 1 Uas 2010-2011

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

Page 24: Modul Lab Tk 1 Uas 2010-2011

#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 ;|

;|

Page 25: Modul Lab Tk 1 Uas 2010-2011

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.

Page 26: Modul Lab Tk 1 Uas 2010-2011

òPengecekaninterruptadalahsecarapolling.ArtinyabahwaMCSakanmelakukanpollinginterruptdimulaidariprioritasyangpalingtinggi

òApabiladalamprosespollinginterrupt terjadi interruptyangpriority-nyalebih tinggi,makainterrupt tersebutakandilayanisetelahpollinginterruptnyaselesai dilakukan

òPemanggilanInterruptpadaMCSdapatdilakukandengan2cara:òFallingEdge

InterruptakanaktifapabilaogicpadapininterruptbergerakturundariHIGHkeLOW

òLevelInterruptakanaktifapabilaogicpadapininterruptberadapadalevelLOW.

Page 27: Modul Lab Tk 1 Uas 2010-2011

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

Page 28: Modul Lab Tk 1 Uas 2010-2011

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

Page 29: Modul Lab Tk 1 Uas 2010-2011

$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

Page 30: Modul Lab Tk 1 Uas 2010-2011

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

Page 31: Modul Lab Tk 1 Uas 2010-2011

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 ;|

;|

Page 32: Modul Lab Tk 1 Uas 2010-2011

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

Page 33: Modul Lab Tk 1 Uas 2010-2011

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

Page 34: Modul Lab Tk 1 Uas 2010-2011

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

Page 35: Modul Lab Tk 1 Uas 2010-2011

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 ;|

Page 36: Modul Lab Tk 1 Uas 2010-2011

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:

Page 37: Modul Lab Tk 1 Uas 2010-2011

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?

Page 38: Modul Lab Tk 1 Uas 2010-2011

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

Page 39: Modul Lab Tk 1 Uas 2010-2011

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

Page 40: Modul Lab Tk 1 Uas 2010-2011

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