Sunday, June 17, 2012

PEMOGRAMAN PORT 1 SEBAGAI OUTPUT


a.      Program 1
 $mod51
            CSEG                          ; untuk memilih lokasi memori program
            ORG 4000H               ; menggunakan alamat awal EEPROM DT51
                                    LJMP START             ; lompat jarak jauh tanpa syarat kondisi Ke Label Mulai
            ORG 4100H               ; Alamat EEPROM DT-51
START:                                   ; Label mulai
            MOV   SP,#30H          ; mengisi SP dengan 30H
            SETB P1.0                 ; Kirim logika ‘1’ Set bit port 1.0 aktif
                                    CLR   P1.1                   ;Kirim logika ‘0’ ke P1.1 intruksi menjadikan bit menjadi ‘0’/reset set bit port 1.1 NonAktif
            SETB P1.2                 ; Kirim logika ‘1’ Set bit port 1.2 aktif
                                    CLR     P1.3                ; Kirim logika ‘0’ ke P1.3 intruksi menjadikan bit menjadi ‘0’/reset set bit port 1.3  NonAktif
            SETB P1.4                
            SETB P1.5
            SETB P1.6                          Kirim logika ‘1’set bit port aktif
            SETB P1.7
            SJMP   $                      ;stanby(short jump)
            END                            ;Selesai
Dari program diatas dapat kita simpulkan bahwa program diatas merupakan program bahasa assembly dengan metode pengalamatan bit untuk program port 1 sebagai output yang mana pengesetan intruksi berdasarkan perbit yaitu intruksi SETB P1.0 Yang berarti set bit pada port 1.0 aktif dan lampu led berarti menyala,dan CLR P1.3(intruksi bit yang menyatakan bit tidak aktif/reset dan berlogika 0 maka lampu led padam.

b.      Program 2
$mod51
            CSEG                          ; untuk memilih lokasi memori program
            ORG 4000H               ; menggunakan alamat awal EEPROM DT51
                                    LJMP START             ; lompat jarak jauh tanpa syarat kondisi Ke Label Mulai
            ORG 4100H               ;Alamat EEPROM DT-51
START:                                   ; Label mulai   
MOV   SP,#30H          ; mengisi SP dengan 30H
            SETB C                     ; Instruksi untuk mengeset bit C/operand(atau logika 1)
                                    MOV   P1.0,C             ; Kirim Data pada Accumulator ke Port 1
            MOV   P1.1,C
                                    MOV P1.2,C          Kirim Data pada Accumulator ke Port 1
            MOV   P1.3,C
            CLR C                        ;intruksi untuk mereset suatu bit menjadi nol atau logika ‘0’
            MOV   P1.4,C
            MOV   P1.5,C                     sehingga pengiriman data pada Accumulator ke port 1 menjadi    berlogika ‘0’/ lampu mati
            MOV   P1.6,C
            MOV   P1.7,C
            SJMP   $                      ; stanby
            END                            ;selesai
Pada program kedua di percobaan 1 sebenarnya sama dengan program satu yaitu dengan pengalamatan bit tetapi di program 2 ini set bitnya langsung ke alamat/operand bukan perport dan selanjutkan ke MOV P1.0- dan seterusnya sehingga Instruksi ini akan mengisi suatu data ke port dan melanjutkanya ke port lain tetapi apabila di perjalanan program ada intruksi CLR C maka set bit pada alamat akan tereset atau berlogika ‘0’ maka pengisian data port selanjutnya juga akan tereset atau berlogika ‘0’ yang menyebabkan lampu LED mati atau berlogika 0.

Dari kedua program diatas dapat kita simpulkan bahwa setelah memahami kedua program diatas maka praktikan sudah bisa membuat suatu program Output menggunakan port 1 dari DT-51 Minsys dengan cara mengakses port 1 secara per bit maupun per byte.

a.      Program 1
 $mod51
            CSEG                          ; untuk memilih lokasi memori program
            ORG 4000H               ; menggunakan alamat awal EEPROM DT51
                                    LJMP START             ; lompat jarak jauh tanpa syarat kondisi Ke Label Mulai
            ORG 4100H               ; Alamat EEPROM DT-51
START:                                   ; Label mulai
            MOV   SP,#30H          ; mengisi SP dengan 30H
            SETB P1.0                 ; Kirim logika ‘1’ Set bit port 1.0 aktif
                                    CLR   P1.1                   ;Kirim logika ‘0’ ke P1.1 intruksi menjadikan bit menjadi ‘0’/reset set bit port 1.1 NonAktif
            SETB P1.2                 ; Kirim logika ‘1’ Set bit port 1.2 aktif
                                    CLR     P1.3                ; Kirim logika ‘0’ ke P1.3 intruksi menjadikan bit menjadi ‘0’/reset set bit port 1.3  NonAktif
            SETB P1.4                
            SETB P1.5
            SETB P1.6                          Kirim logika ‘1’set bit port aktif
            SETB P1.7
            SJMP   $                      ;stanby(short jump)
            END                            ;Selesai
Dari program diatas dapat kita simpulkan bahwa program diatas merupakan program bahasa assembly dengan metode pengalamatan bit untuk program port 1 sebagai output yang mana pengesetan intruksi berdasarkan perbit yaitu intruksi SETB P1.0 Yang berarti set bit pada port 1.0 aktif dan lampu led berarti menyala,dan CLR P1.3(intruksi bit yang menyatakan bit tidak aktif/reset dan berlogika 0 maka lampu led padam.

b.      Program 2
$mod51
            CSEG                          ; untuk memilih lokasi memori program
            ORG 4000H               ; menggunakan alamat awal EEPROM DT51
                                    LJMP START             ; lompat jarak jauh tanpa syarat kondisi Ke Label Mulai
            ORG 4100H               ;Alamat EEPROM DT-51
START:                                   ; Label mulai   
MOV   SP,#30H          ; mengisi SP dengan 30H
            SETB C                     ; Instruksi untuk mengeset bit C/operand(atau logika 1)
                                    MOV   P1.0,C             ; Kirim Data pada Accumulator ke Port 1
            MOV   P1.1,C
                                    MOV P1.2,C          Kirim Data pada Accumulator ke Port 1
            MOV   P1.3,C
            CLR C                        ;intruksi untuk mereset suatu bit menjadi nol atau logika ‘0’
            MOV   P1.4,C
            MOV   P1.5,C                     sehingga pengiriman data pada Accumulator ke port 1 menjadi    berlogika ‘0’/ lampu mati
            MOV   P1.6,C
            MOV   P1.7,C
            SJMP   $                      ; stanby
            END                            ;selesai
Pada program kedua di percobaan 1 sebenarnya sama dengan program satu yaitu dengan pengalamatan bit tetapi di program 2 ini set bitnya langsung ke alamat/operand bukan perport dan selanjutkan ke MOV P1.0- dan seterusnya sehingga Instruksi ini akan mengisi suatu data ke port dan melanjutkanya ke port lain tetapi apabila di perjalanan program ada intruksi CLR C maka set bit pada alamat akan tereset atau berlogika ‘0’ maka pengisian data port selanjutnya juga akan tereset atau berlogika ‘0’ yang menyebabkan lampu LED mati atau berlogika 0.

Dari kedua program diatas dapat kita simpulkan bahwa setelah memahami kedua program diatas maka praktikan sudah bisa membuat suatu program Output menggunakan port 1 dari DT-51 Minsys dengan cara mengakses port 1 secara per bit maupun per byte.

No comments:

Post a Comment