Você está na página 1de 33

LAPORAN BESAR MAHASISWA PRAKTIKUM APLIKASI MIKROPROSESOR / MIKROKONTROLER TEKNIK KOMPUTER

Disusun Oleh : Nama NIM Jurusan Dosen : Amita Resky Putri : 09090303006 : Teknik Komputer : Abrar Deanti, S.Kom

LABORATORIUM ROBOTIKA DAN SISTEM KENDALI FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA PALEMBANG 2010 - 2011

PRAKTIKUM I OUTPUT DATA

1. Tujuan Percobaan a. Dapat memahami dan mengerti proses output data b. Dapat mengerti pemrograman bahasa assembly untuk hardware 2. Peralatan yang Digunakan a. Seperangkat PC b. Seperangkat DATS-8086 c. Seperangkat DATS-Trinner System 3. Dasar Teori a. MOV : instruksi yang digunakan untuk memindahkan isi akumulator / register atau data dari nilai luar atau alamat lain. b. OUT : instruksi yang digunakan untuk memindahkan data yang tersimpan dalam AL (ukuran byte) atau AX (ukuran word) ke suatu nomor port (operand pertama). c. INT d. JA e. IN : instruksi yang digunakan untuk mencetak atau menampilkan : instruksi yang digunakan untuk melakukan lompatan ke suatu : instruksi yang digunakan untuk membaca masukan dari suatu karakter. label jika CF = 0 dan XF = 0. peripheral kemudian disimpan dalam memori AL atau register AX.

4. Prosedure Praktikum a. Embedded Development Studio - Buka program Embedded Development Studio - Salin Program 1 dan 2 pada layer studio - Simpan dalam extensi .ASM - Buka icon Project, klik Next, klik OK, klik Next, pada project name tulis nama file yang telah disimpan tanpa extensi .ASM, klik Next, klik Finish, klik Yes, buka file yang telah disimpan, klik Add, klik file tsb 2x - Buka icon Build, klik Build, jika tidak terdapat kesalahan, akan tampil Build Operation Complete - Program selesai b. DATS 8086 - Buka program DATS 8086 - Pada layer Register, isi data 0100 pada Modify Regs, klik OK - Pada layer 8086 DATS, klik Debug, klik Disassembly - Pada layer 8086 DATS, klik COMMD, klik Connect, sampai terhubung dengan COM1 - Pada layer 8086 DATS, klik File, klik Download, cari program berextensi HEX, klik OK - Klik Go User c. Kontrol Swich = SW4 ON d. Amatilah output yang ditampilkan pada seven segment f. Buat Algoritma Program g. Buat Flowchart Program h. Buat Analisis Program i. Buat Kesimpulan Program

5. Program Program 1 PPIAA: PPIAB: PPIAC: PPIAK: EQU 00H EQU 02H EQU 04H EQU 06H ;U10 8255A PORT A ;PORT B ;PORT C ;CONTROL

ORIGIN 0050H:0100H START: MOV AL,90h OUT PPIAK,AL MOV AL,55H OUT PPIAC,AL INT END Program2 ORIGIN 0050H:0100H START: NEXT: MOV AL,90h OUT PPIAK,AL IN JA END AL,PPIAA NEXT OUT PPIAC,AL ;SET CONTROL BYTE FOR PPI ;OUTPUT TO CONTROL REG ;READ DATA ON PORT A (SWITCHES) ;OUTPUT TO PORT C (LES's) ;REPEAT FOREVER 5 ;SET CONTROL BYTE FOR PPI ;OUTPUT TO CONTROL REG ;SET DATA TO 55 HEX ;AND OUTPUT TO PORT C ;RETURN TO MONITOR

6. Algoritma Program Deklarasi : Deskripsi : input_data, output_data : integer AL, port_c read ( input_data ) AL nilai_data port_c AL outputdata port_c write ( output_data ) 7. Flowchart Program : integer

STAR T

Input Data

Proses transfer data ke setiap alamat

Output Data

END

8. Analisis Program a. Program 1 START: MOV AL,90h OUT PPIAK,AL MOV AL,55H OUT PPIAC,AL INT END b. Program 2 START: MOV AL,90h OUT PPIAK,AL NEXT: IN AL,PPIAA ; pengaturan pada PPI, masukkan data 90h ke dalam memori AL ; kirimkan data pada memori AL ke Register Control ; baca data pada port A kemudian kemudian masukkan ke memori AL OUT PPIAC,AL JA END NEXT ; kirimkan data pada memori AL ke port C ; lompat ke subroutine NEXT jika data pada port C lebih besar dari AL ; program selesai 5 ; pengaturan pada PPI, masukkan data 90h ke dalam memori AL ; kirimkan data pada memori AL ke Register Control ; isi memori AL dengan data 55H ; kirimkan data pada memori AL ke port C ; kembali ke monitor : program selesai

9. Kesimpulan Program Pada praktikum ini, program 1 dan 2 menggunakan tipe pengalamatan untuk proses output data, dimana instruksi-instruksi yang digunakan terdiri dari MOV, OUT, JA, IN, dan INT. Dari hasil percobaan, dapat disimpulkan bahwa : Program 1 : INT digunakan untuk menampilkan data yang berada pada keluaran atau output dari control C dan instruksi OUT digunakan untuk mengirimkan data atau informasi yang tersimpan dalam register AL. Program 2 : Output yang dihasilkan adalah keluaran dari switch port A yang kita tekan dan ditampilkan pada port C dimana port C terhubung ke LED.

PRAKTIKUM II PERGESERAN REGISTER

1. Tujuan Percobaan a. Dapat memahami dan mengerti proses Pergeseran Register b. Dapat mengerti pemrograman bahasa assembly untuk hardware 2. Peralatan yang Digunakan a. Seperangkat PC b. Seperangkat DATS-8086 c. Seperangkat DATS-Trinner System 3. Dasar Teori Group dari instruksi lain adalah instruksi putar. Pada dasarnya, instruksi ini sama dengan instruksi geser. Selain itu, masing-masing operasi dapat dijalankan ke kanan atau ke kiri. Perintah-perintah dari instruksi putar terdiri dari : a. Putar ke kiri (ROL) b. Putar ke kanan (ROR) c. Putar ke kiri dengan carry (RCL) d. Putar ke kanan dengan carry (RCR) Perputaran ini dapat ditempatkan dari 1 sampai 255 posisi bit ke kiri dan ke kanan.

4. Prosedure Praktikum a. Embedded Development Studio - Buka program Embedded Development Studio - Salin Program 3 : Pergeseran Register pada layer studio - Simpan dalam extensi .ASM - Buka icon Project, klik Next, klik OK, klik Next, pada project name tulis nama file yang telah disimpan tanpa extensi .ASM, klik Next, klik Finish, klik Yes, buka file yang telah disimpan, klik Add, klik file tsb 2x - Buka icon Build, klik Build, jika tidak terdapat kesalahan, akan tampil Build Operation Complete - Program selesai b. DATS 8086 - Buka program DATS 8086 - Pada layer Register, isi data 0100 pada Modify Regs, klik OK - Pada layer 8086 DATS, klik Debug, klik Disassembly - Pada layer 8086 DATS, klik COMMD, klik Connect, sampai terhubung dengan COM1 - Pada layer 8086 DATS, klik File, klik Download, cari program berextensi HEX, klik OK - Klik Go User c. Kontrol Swich = SW8 ON d. Amatilah output yang ditampilkan pada seven segment e. Buat Algoritma Program f. Buat Flowchart Program g. Buat Analisis Program h. Buat Kesimpulan Program

5.

Program

Program 3 : Pergeseran Register PPIAA: PPIAB: PPIAC: PPIAK: DELTIME START: EQU EQU EQU EQU EQU ORIGIN MOV OUT MOV GESER: OUT CALL ROL JMP DELAY: NEXT: MOV LOOP RET END 6. Algoritma Program Deklarasi : Deskripsi : input_data, AL LED, insrtuksi read ( input_data ) : integer : string 00H 02H 04H 06H 8000H 0050H:0100H AL,90H PPIAK,AL AL,01H PPIAC,AL DELAY AL,1 GESER CX,DELTIME NEXT

AL nilai_data if ( instruksi = = ROL ) then LED geser ke kiri else LED 0 endif display ( LED)

7. Flowchart Program

STAR T

Input Data
CX bukan nol

Proses pergeseran data pada register

Output Data

END

8. Analisis Program

START:

MOV AL,90h OUT PPIAK,AL MOV AL,01H

; pengaturan pada PPI, masukkan data 90h ke dalam memori AL ; kirimkan data pada memori AL ke Register Control ; isi memori AL dengan data 01H ; kirimkan data pada memori AL ke port C ; memanggil subroutine DELAY ; putar/geser data pada memori AL ke kiri sebanyak 1 putaran ; lompat ke label GESER (forever) DELTIME

GESER:

OUT PPIAC,AL CALL DELAY ROL JMP AL,1 GESER

DELAY: NEXT:

MOV CX,DELTIME; isi register CX dengan data pada LOOP NEXT RET END ; kurangi CX, jika bukan 0 lompat ke subroutine NEXT ; kembali ke subroutine terakhir ; program selesai

9. Kesimpulan Program Pada praktikum ini, program menggunakan tipe pengalamatan pergeseran register, dimana instruksi yang digunakan adalah ROL (putar ke kiri). Maka bit-bit pada tampilan LED peraga akan melakukan pergeseran ke kiri secara terus-menerus.

PRAKTIKUM III ANALOG TO DIGITAL KONVERTER

1. Tujuan Percobaan a. Dapat memahami dan mengerti proses ADC data b. Dapat mengerti pemrograman bahasa assembly untuk hardware 2. Peralatan yang Digunakan a. Seperangkat PC b. Seperangkat DATS-8086 c. Seperangkat DATS-Trinner System 3. Dasar Teori a. MOV adalah instruksi yang digunakan untuk memindahkan isi akumulator / register atau data dari nilai luar atau alamat lain. b. OUT adalah instruksi yang digunakan untuk mengirimkan data yang tersimpan AL atau AX ke suatu nomor port. c. IN adalah instruksi yang digunakan untuk membaca masukan dari suatu nomor port dan kemudian disimpan dalam AL atau AX. d. CALL adalah instruksi yang digunakan untuk memanggil suatu label. e. JNE adalah instruksi yang digunakan untuk lompat ke suatu label jika operan pertama tidak sama dengan operan kedua. f. INC adalah instruksi yang digunakan untuk menaikkan data suatu register atau memori sebesar 1 bit.

g. AND adalah instruksi yang digunakan untuk melakukan operasi logika AND antara dua operand. h. SHR adalah instruksi yang digunakan untuk melakukan pergeseran ke kanan sebanyak 1 bit. i. OR adalah instruksi yang digunakan untuk melakukan operasi logika OR antara dua operand. j. DEC adalah instruksi yang digunakan untuk mengurangi data sebanyak 1 bit. k. TEST adalah instruksi yang digunakan untuk menguji output pembandingnya. l. JNZ adalah instruksi yang digunakan untuk melakukan perintah lompat ke suatu alamat atau subroutine tertentu. m. JMP adalah instruksi yang digunakan untuk melakukan perintah lompat ke suatu alamat atau subroutine tertentu. n. PUSH adalah instruksi yang digunakan untuk menyimpan operand ke dalam stack. o. LOOP adalah instruksi yang digunakan untuk melakukan pengulangan dalamsuatu label tertentu hingga nilai = 0. p. POP adalah insruksi yang digunakan untuk mengembalikan nilai operand dari stack. q. RET adalah instruksi yang digunakan untuk kembali ke prosedur untuk memanggil program. 4. Prosedure Praktikum a. Embedded Development Studio - Buka program Embedded Development Studio - Salin Program 4 : ADC1 dan Program 5 : ADC2 pada layer studio - Simpan dalam extensi .ASM

- Buka icon Project, klik Next, klik OK, klik Next, pada project name tulis nama file yang telah disimpan tanpa extensi .ASM, klik Next, klik Finish, klik Yes, buka file yang telah disimpan, klik Add, klik file tsb 2x - Buka icon Build, klik Build, jika tidak terdapat kesalahan, akan tampil Build Operation Complete - Program selesai b. DATS 8086 - Buka program DATS 8086 - Pada layer Register, isi data 0100 pada Modify Regs, klik OK - Pada layer 8086 DATS, klik Debug, klik Disassembly - Pada layer 8086 DATS, klik COMMD, klik Connect, sampai terhubung dengan COM1 - Pada layer 8086 DATS, klik File, klik Download, cari program berextensi HEX, klik OK - Klik Go User c. Kontrol Swich = SW3, SW4, dan SW5 ON d. Amatilah output yang ditampilkan pada seven segment e. Buat Algoritma Program f. Buat Flowchart Program g. Buat Analisis Program h. Buat Kesimpulan Program 5. Program

Program 4:ADC1 PPIAA: PPIAB: EQU 00H EQU 02H ;U10 8255A PORT A ;PORT B

PPIAC: PPIAK: COMP:

EQU 04H EQU 06H EQU 10H

;PORT C ;CONTROL ;COMPARITOR BIT 4 ;DELAY COUN

DELTIME EQU 10H

ORIGIN 0050H:0100H START: MOV AL,90h OUT PPIAK,AL CYCLE: MOV CL,00 REPEAT: MOV AL,CL OUT PPIAC,AL INC IN JNZ JMP CL AL,PPIAA CYCLE REPEAT CALL DELAY TEST AL,COMP ;SET CONTROL BYTE FOR PPI ;OUTPUT TO CONTROL REG ;SET OUT RAMP TO ZERO ;STORE FOR OUTPUT ;OUTPUT TO DAC ;INCREMENT RAMP ;ALLOW TIME TO SETTLE ;READ PORT A ;TEST COMPARITOR OUTPUT ;IF NOT ZERO, EOC REPEAT CYCLE ;ELSE CONTINUE RAMPING ;RESERVE REG ;COUNT = COUNT-1, LOOP IF NOT 0 ;RESTORE REG

DELAY: PUSH CX NEXT: LOOP NEXT POP CX RET END

MOV CX,DELTIME;SET DELAY COUNTER

Program 5:ADC2 PPIAA: PPIAB: EQU 00H EQU 02H ;U10 8255A PORT A ;PORT B

PPIAC: PPIAK: COMP:

EQU 04H EQU 06H EQU 10H

;PORT C ;CONTROL ;COMPARATOR BIT 4 ;DELAY COUNT

DELTIME EQU 10H

ORIGIN 0050H:0100H START: MOV AL,90h OUT PPIAK,AL MOV CL,08H MOV BL,0C0H MOV DL,80H MOV DH,80H OUTPUT: MOV AL,DL OUT PPIAC,AL CALL DELAY IN JNE SHR OR GOBACK:SHR DEC JNE JMP NOTSET: XOR SHR JMP AL,PPIAA NOTSET DH,1 DL,DH BL,1 CL OUTPUT START DL,BL DH,1 GOBACK AND AL,10H ;SET CONTROL BYTE FOR PPI ;OUTPUT TO CONTROL REG ;SET BIT COUNT TO 8 BITS ;INIT SET BIT MASK ;INIT MSB TO 1 ;INIT CLEAR BIT MASK MSB=1 ;GET DATA TO OUTPUT ;AND OUTPUT ;ALLOW TIME TO SETTLE ;READ PORT A ;AND MASK COMPARTOR BIT ;IF NOT ZERO DO NOT SET BIT ;ELSE SET BIT ;SET BIT ;MOVE TO NEXT MSB ;BIT COUNT = BIT COUNT - 1 ;IF NOT LAST THEN CONTINUE ;ELSE CONVERTION COMPLETE, REPEAT ;SET BIT ;MOV TO NEXT MSB ;CONTINUE ;RESERVE REG

DELAY: PUSH CX

MOV CX,DELTIME NEXT: LOOP NEXT POP RET END CX

;SET DELAY COUNTER ;COUNT = COUNT-1, LOOP IF NOT 0 ;RESTORE REG

6. Algoritma Program Deklarasi : Deklarasi : i, bi, n Vin, Vdac read (n) for i 1 to n do if ( Vin > Vdac ) then bi = 1 if ( i < n ) then i=i1 else i=0 endif else bi = 0 endif endfor : integer : led

7. Flowchart Program

STAR T

i = 1 ; bi = 1 ; update Vdac No update Vdac


Vin > Vdac

Yes i = I 1 ; bi = 1 Yes i< n No END bi = 1 bi = 0

8. Analisis Program a. Program 4 MOV AL,90h OUT PPIAK,AL CYCLE: MOV CL,00 ; pengaturan pada PPI, masukkan data 90h ke dalam memori AL ; kirimkan data pada memori AL ke Register Control ; masukkan data 00H ke memori AL

START:

REPEAT:

MOV AL,CL OUT PPIAC,AL INC CL

; masukkan data pada memori CL ke memori AL ; kirmkan data pada memori AL ke port C ; tambahkan data pada memori CL sebanyak 1 bit ; memanggil subroutine DELAY ; baca data input pada port A kemudian simpan dalam memori AL ; menguji input pembanding dengan data AL ; lompat ke CYCLE jika data tidak sama dengan nol ; lompat ke REPEAT ; simpan data pada register CX ke dalam stack

CALL DELAY IN AL,PPIAA

TEST AL,COMP JNZ JMP DELAY: CYCLE REPEAT

PUSH CX

MOV CX,DELTIME; masukkan data DELTIME ke dalam register CX NEXT: LOOP NEXT POP CX RET END ; ulangi instruksi pada NEXT hingga CX = 0 ; kembalikan data ke dalam register CX dari stack ; kembali ke prosedur sebelumnya ; program selesai

b.

Program 5 MOV AL,90h ; pengaturan pada PPI, masukkan data 90h

START:

OUT PPIAK,AL MOV CL,08H MOV BL,0C0H MOV DL,80H MOV DH,80H OUTPUT: MOV AL,DL OUT PPIAC,AL CALL DELAY IN AL,PPIAA

; kirimkan data pada memori AL ke port control ; isi memori CL dengan data 08H ; isi memori BL dengan data C0H ; isi memori DL dengan data 80H ; isi memori DH dengan data 80H ; isi memori AL dengan data pd memori DL ; kirim data pada memori AL ke port C ; panggil subroutine DELAY ; baca data pada port A, kemudian masukkan ke memori AL ; logika AND kan data memori AL dengan data 10H ; jika data tidak sama dengan nol, jangan lakukan lompatan ke subroutine NOTSET ; geser data pada memori DH ke kana sebanyak 1 bit ; logika OR kan data memori DL dengan data memori DH ; geser data pada memori BL sebanyak 1 bit ; kurangkan data pada memori CL sebanyak 1 bit ; jika data belum selesai mengcounter, lompat ke subroutine OUTPUT ; jika konversi data belum selesai, lompat ke START ; logika XOR kan data pada memori DL dengan data memori BL ; geser data pada memori DH ke kanan sebanyak 1 bit

AND AL,10H JNE SHR OR GOBACK: SHR DEC JNE JMP NOTSET: NOTSET DH,1 DL,DH BL,1 CL OUTPUT START

XOR DL,BL SHR DH,1

JMP DELAY: NEXT:

GOBACK

; lompat ke subroutine GOBACK ; simpan operand ke dalam stack ; data mengcounter ( count = count 1 ), berputar jika data tidak sama dengan nol ; kembalikan nilai operand yang tersimpan dalam stack ; kembali ke prosedure sebelumnya ; program selesai

PUSH CX LOOP NEXT POP RET END CX

MOV CX,DELTIME; set delay counter

9. Kesimpulan Program a. Program 4 Pada praktikum ini, dapat disimpulkan bahwa ADC adalah piranti yang dirancang untuk mengubah sinyal-sinyal analog menjadi sinyal digital (0-5 v menjadi 0-255). Output atau tampilan LED penuh yang dihasilkan dengan menggeser potensio geser (R variabel) mencapai 40% atau 2 volt.

b. Program 5 Pada praktikum ini, program menggunakan kode-kode pengalamatan untuk mengubah inputan dan gelombang analog menjadi digital. Dimana sinyal analog 0-5 volt diubah menjadi level digital 0-225 untuk ADC 8 bit, dengan 1 voref = 2,5 volt. Pada saat potensio geser (R variabel) digeser, maka tampilan LED peraga akan menghasilkan nyala LED yang mengcounter ke kanan (SHR) dengan nyala penuh sebesar 50% atau 2,5 volt.

PRAKTIKUM IV SEVEN SEGMEN

1. Tujuan Percobaan a. Dapat memahami dan mengerti proses seven segmen b. Dapat mengerti pemrograman bahasa assembly untuk hardware 2. Peralatan yang Digunakan a. Seperangkat PC b. Seperangkat DATS-8086 c. Seperangkat DATS-Trinner System 3. Dasar Teori Piranti display menunjukkan angka-angka sesuai dengan input yang diberikan kepadanya. Pada tahap decode dari bahasa mesin ke bilangan decimal, peralatan keluaran yang digunakan umumnya untuk menayangkan bilangan decimal adalah peragaan tujuh segment. Peragaan tujuh segment ini berupa suatu bilangan tipis yang menyala yang disusun dengan masing-masing segment.

4. Prosedure Praktikum a. Embedded Development Studio - Buka program Embedded Development Studio - Salin Program 6 : 7 Segment dan Program 7 : 7 Segment 2 pada layer studio - Simpan dalam extensi .ASM - Buka icon Project, klik Next, klik OK, klik Next, pada project name tulis nama file yang telah disimpan tanpa extensi .ASM, klik Next, klik Finish, klik Yes, buka file yang telah disimpan, klik Add, klik file tsb 2x - Buka icon Build, klik Build, jika tidak terdapat kesalahan, akan tampil Build Operation Complete - Program selesai b. DATS 8086 - Buka program DATS 8086 - Pada layer Register, isi data 0100 pada Modify Regs, klik OK - Pada layer 8086 DATS, klik Debug, klik Disassembly - Pada layer 8086 DATS, klik COMMD, klik Connect, sampai terhubung dengan COM1 - Pada layer 8086 DATS, klik File, klik Download, cari program berextensi HEX, klik OK - Klik Go User c. Kontrol Swich = SW8 ON d. Amatilah output yang ditampilkan pada seven segment e, Buat Algoritma Program f. Buat Flowchart Program g. Buat Analisis Program h. Buat Kesimpulan Program

5. Program Program 6 : 7segmen PPIAA: PPIAB: PPIAC: PPIAK: EQU 00H EQU 02H EQU 04H EQU 06H ORIGIN 0050H:0100H START: MOV AL,90h OUT PPIAK,AL MOV AL,06H OUT PPIAC,AL MOV AL,1 OUT PPIAA,AL INT END Program 7 : 7Segmen 2 PPIAA: PPIAB: PPIAC: PPIAK: DELTIME EQU 00H EQU 02H EQU 04H EQU 06H EQU 0800H ORIGIN 0050H:0050H PATNS: DB 3FH DB 06H DB 5BH ;SEVEN SEG PATTERNS ;U10 8255A PORT A ;PORT B ;PORT C ;CONTROL ;DELAY COUNT 5 ;RETURN TO MONITOR ;SET CONTROL BYTE FOR PPI ;OUTPUT TO CONTROL REG ;SET DATA TO 55 HEX ;AND OUTPUT TO PORT C ;U10 8255A PORT A ;PORT B ;PORT C ;CONTROL

DB 4FH DB 66H DB 6DH DB 7DH DB 07H DB 7FH DB 67H DIGIT: DISPLAY ORIGIN 0050H:0100H START: MOV AL,80h OUT PPIAK,AL MOV AH,00 LAGI: MOV AL,[DIGIT] OUT PPIAC,AL MOV AL,8 OUT PPIAA,AL CALL DELAY JMP DELAY: NEXT: LAGI MOV CX,DELTIME LOOP NEXT RET END ;SET CONTROL BYTE FOR PPI ;OUTPUT TO CONTROL REG ;HIGH BYTE = 0 ;GET DIGIT TO DISPLAY ;OUTPUT PATTERN ;SELECT L.S. DIGIT DB 3FH ;STORE FOR BCD DIGIT TO

6. Algoritma Program Deklarasi : Deskripsi : i, input_data led : integer : boolean

read ( input_data ) for i 1 to 8 do if ( input_data = 1 ) then led true else led false endif endfor write ( led )

7. Flowchart Program STAR T

Input Data

Proses decode dari bahasa mesin ke bilangan desimal

Output Tampilan 7

Segment

END

8. Analisis Program a. Program 6 START: MOV AL,90h OUT PPIAK,AL MOV AL,06H ; pengaturan pada PPI, masukkan data 90h ke dalam memori AL ; kirimkan data pada memori AL ke port CONTROL ; merupakan data input, masukkan data 06H ke dalam memori AL

; Dengan data input 06 H, seven segment akan menunjukkan angka 1

OUT PPIAC,AL MOV AL,1

; kirimkan ouput data ke port C dari memori AL ; menampilkan jumlah 7 segment yang menayangkan output data

4 OUT PPIAA,AL INT END 5

2 AL ke port A

; kirimkan output data dari memori ; kembali ke monitor ; program selesai

b. Program 9 PATNS: DB 3FH ; DB ( define byte ) merupakan nilai yang telah ditentukan, 3F H = 0011 1111 b untuk menampilkan angka 0 pada seven segment DB 06H DB 5BH DB 4FH DB 66H DIGIT: DB 3FH ; 0000 0110 b utk menampilkan angka 1 ; 0101 1011 b utk menampilkan angka 2 ; 0100 1111 b utk menampilkan angka 3 ; 0110 0110 b utk menampilkan angka 4, hingga DB 67 H utk menampilkan angka 9 ; menaruhkan angka BCD yaitu 3F H untuk ditampilkan, maka seven segment akan menampilkan angka 0 START: MOV OUT MOV LAGI: MOV AL,80h PPIAK,AL AH,00 AL,[DIGIT] ; pengaturan control byte untuk PPI ; kirimkan data AL ke port kontrol ; byte tinggi = 0 ; isi memori AL dengan define byte pada variable DIGIT, yaitu 3F H OUT PPIAC,AL MOV AL,8 ; kirimkan data AL ke port C ; memilih jumlah tampilan pada seven segment 8 H = 1000, 15 H = 1111, 1 H = 0001 OUT PPIAA,AL CALL DELAY JMP DELAY: NEXT: LAGI ; kirimkan data AL ke port A ; panggil variable delay ; lompat atau kembali ke LAGI

MOV CX,DELTIME LOOP NEXT RET END

9. Kesimpulan Program a. Program 6 Pada praktikum ini, program menggunakan instruksi antar muka seven segment dengan input keypad. Piranti ini akan menunjukkan angkaangka sesuai dengan input yang diberikan kepadanya. Tahap decode nya yaitu mengubah bahasa mesin ke bilangan desimal, kemudian outputnya ditayangkan pada peraga seven segment. b. Program 7 Pada praktikum ini, program menggunakan infrastruktur antar muka seven segment dengan data input yang telah didefinisikan. Instruksi yang digunakan adalah DB ( define byte ). Nilai input berupa data hexadesimal yang diubah dalam bentuk digit-digit biner, dan kemudian hasil output yang ditampilkan merupakan bilangan desimal pada seven segment.

PRAKTIKUM V PROGRAM COUNTER

1. Tujuan Percobaan a. Dapat memahami dan mengerti proses counter data b. Dapat mengerti pemrograman bahasa assembly untuk hardware 2. Peralatan yang Digunakan a. Seperangkat PC b. Seperangkat DATS-8086 c. Seperangkat DATS-Trinner System 3. Dasar Teori Piranti display menunjukkan angka-angka sesuai dengan 4. Prosedure Praktikum a. Embedded Development Studio - Buka program Embedded Development Studio - Salin Program 8 pada layer studio - Simpan dalam extensi .ASM - Buka icon Project, klik Next, klik OK, klik Next, pada project name tulis nama file yang telah disimpan tanpa extensi .ASM, klik Next, klik Finish, klik Yes, buka file yang telah disimpan, klik Add, klik file tsb 2x

- Buka icon Build, klik Build, jika tidak terdapat kesalahan, akan tampil Build Operation Complete - Program selesai b. DATS 8086 - Buka program DATS 8086 - Pada layer Register, isi data 0100 pada Modify Regs, klik OK - Pada layer 8086 DATS, klik Debug, klik Disassembly - Pada layer 8086 DATS, klik COMMD, klik Connect, sampai terhubung dengan COM1 - Pada layer 8086 DATS, klik File, klik Download, cari program berextensi HEX, klik OK - Klik Go User c. Kontrol Swich = SW4 ON d. Amatilah output yang ditampilkan pada seven segment e, Buat Algoritma Program i. Buat Flowchart Program j. Buat Analisis Program k. Buat Kesimpulan Program PPIAA: EQU 00H PPIAB: EQU 02H PPIAC: EQU 04H PPIAK: EQU 06H ;U10 8255A PORT A ;PORT B ;PORT C ;CONTROL ;DELAY COUNT

DELTIME EQU 8000H ORIGIN 0050H:0100H START: MOV AL,90h

;SET CONTROL BYTE FOR PPI

OUT PPIAK,AL MOV AL,00

;OUTPUT TO CONTROL REG

;SET OUT COUNT TO ZERO

REPEAT OUT PPIAC,AL ;OUTPUT TO PORT C (LED's) CALL DELAY ;DELAY INC AL ;INCREMENT OUTPUT COUNT JMP REPEAT ;DO FOREVER

DELAY: MOV CX,DELTIME ;SET DELAY COUNTER NEXT: RET END LOOP NEXT ;COUNT = COUNT-1, LOOP IF NOT 0

DAFTAR PUSTAKA

Zarkasi, Ahmad, ST. 2010. Lembar Kerja Mahasiswa Praktikum Aplikasi Mikroprosesor/Mikrokontroler Teknik Komputer. Palembang : Universitas Sriwijaya.

Você também pode gostar