PEMROGRAMAN INTERUPSI SERIAL
Buatlah rangkaian menggunakan Proteus, tambahkan sebuah virtual terminal pada pin TxD dan lakukan pengujian untuk permasalahan berikut:
Tulis program agar 8051 dapat membaca data dari port P1 yang terhubung dengan sebuah tombol tekan dan menuliskannya pada Port P2 yang terhubung dengan LED secara terus menerus, sambil memberikan salinan data tersebut pada port COM serial untuk dikirimkan dengan cara serial. Anggaplah menggunakan XTAL = 12 MHz. Atur baud rate pada 9600.
Jawaban:
ORG 0
LJMP PROGRAM_UTAMA
ORG 23h
LJMP SERIAL
ORG 30h
PROGRAM_UTAMA:
MOV P1,#0FFh ;Buat P1 sebagai Port Input
MOV TMOD,#20h ;Timer-1, Mode-2 (autoreload)
MOV TH1,#0FDh ;baud rate 9600
MOV SCON,#50h ;8-bit, 1-stop, ren = 1
SETB TR1 ;jalankan Timer-1
ULANG: MOV A,P1 ;Baca data pada P1
MOV SBUF,A ;Kirim data ke COM seroal
MOV P2,A ;Tulis ke Port 2
SJMP ULANG
;-----------------------ISR untuk Serial Port
SERIAL: JB TI, TRANS ;lompat jika TI =1
MOV A,SBUF ;menyimpan data dari COM serial
CLR RI ;reset RI
RETI ;kembali dari ISR
TRANS: CLR TI ;reset TI
RETI ;kembali dari ISR
hasil kerja dikirim dalam bentuk File Proteus dan File ASM
ke email. aidi_alaziz@yahoo.co.id
paling lambat hari kamis tanggal 10 April 2014 jam: 12.00
Komentar
Posting Komentar