Motor DC (Mikroprosesor 8086)
[Kembali]
[Home]
1. Gambar Rangkaian[Kembali]
2. Listing Program[Kembali]
CODE_SEG SEGMENT ; code_seg sebagai segment
ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
ORG 100H ; program ditulis mulai origin 100h
start: jmp mulai ; Awal program pada Org 0100H
porta equ 00h ; Menentukan alamat port A,B,C
portb equ 01h ; dan ctrlword sesuai dengan
portc equ 02h ; hardwarenya
cw equ 03h
mulai:
mov al,80h ; init ppi
mov dx,cw ; 80H MODE = 0
out dx,al ; port ABC = output
mov al,255 ; data DAC
mov dx,portc
out dx,al
call delay
putar:
jmp putar
delay proc near ; Procedure delay
push cx ; simpan cx
mov cx,0ffffh ; isi cx dengan lama delay
loop $ ; loopng sampai cx=0
pop cx ; keluarkan cx
ret ; kembali ke program utama
delay endp ; akhir procedure delay
ORG 20F0H ; alamat yang dituju setelah reset
DB 0EAH ; JMP reset ke
DW 0100H ; alamat offset 0100h
DW 0FDF0H ; alamat segmen 0FDFh
CODE_SEG ENDS ; batas segment code_seg
END START ; akhir program
ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
ORG 100H ; program ditulis mulai origin 100h
start: jmp mulai ; Awal program pada Org 0100H
porta equ 00h ; Menentukan alamat port A,B,C
portb equ 01h ; dan ctrlword sesuai dengan
portc equ 02h ; hardwarenya
cw equ 03h
mulai:
mov al,80h ; init ppi
mov dx,cw ; 80H MODE = 0
out dx,al ; port ABC = output
mov al,255 ; data DAC
mov dx,portc
out dx,al
call delay
putar:
jmp putar
delay proc near ; Procedure delay
push cx ; simpan cx
mov cx,0ffffh ; isi cx dengan lama delay
loop $ ; loopng sampai cx=0
pop cx ; keluarkan cx
ret ; kembali ke program utama
delay endp ; akhir procedure delay
ORG 20F0H ; alamat yang dituju setelah reset
DB 0EAH ; JMP reset ke
DW 0100H ; alamat offset 0100h
DW 0FDF0H ; alamat segmen 0FDFh
CODE_SEG ENDS ; batas segment code_seg
END START ; akhir program
Tidak ada komentar:
Posting Komentar