Program Sistem pendeteksi dan pemisah warna

3.7 Program Sistem pendeteksi dan pemisah warna

;========================; ; program pembaca warna; ;========================; rs bit p2.0 rw bit p2.1 en bit p2.2 interrupt bit p3.7 ;== start program ==; paling_utama: lcall clear_screen mov b,38h lcall data_scan lcall data_penampil pesan_1: ; = = = kirim karakter = = = ; mov b,L lcall kirim_data lcall delay2 mov b,O lcall kirim_data lcall delay2 mov b,A lcall kirim_data lcall delay2 mov b,D lcall kirim_data lcall delay2 mov b,I lcall kirim_data lcall delay2 mov b,N lcall kirim_data lcall delay2 mov b,G lcall kirim_data lcall delay2 mov b,. lcall kirim_data lcall delay2 mov b,. lcall kirim_data lcall delay2 mov b,. lcall kirim_data lcall delay2 lcall clear_screen mulai: clr interrupt lcall tadc setb interrupt utama: jb interrupt, lcall tadc mov a,p1 mov 62h,a mov a,62h cjne a,201,cek_merah1 lcall clear_screen lcall pesan_merah ljmp mulai ;= merah =; cek_merah1: cjne a,202,cek_merah2 lcall clear_screen lcall pesan_merah ljmp mulai cek_merah2: cjne a,203,cek_merah3 lcall clear_screen lcall pesan_merah ljmp mulai cek_merah3: cjne a,204, cek_kuning1 lcall clear_screen lcall pesan_merah ljmp mulai ljmp mulai ;= kuning =; cek_kuning1: cjne a,161,cek_kuning2 lcall clear_screen lcall pesan_kuning ljmp mulai cek_kuning2: cjne a,162,cek_kuning3 lcall clear_screen lcall pesan_kuning ljmp mulai cek_kuning3: cjne a,163,cek_kuning4 lcall clear_screen lcall pesan_kuning ljmp mulai Universitas Sumatera Utara cek_kuning4: cjne a,164,cek_ ijo lcall clear_screen lcall pesan_kuning ljmp mulai ;= warna ijo =; cek_ijo: cjne a,139,cek_ijo1 lcall clear_screen lcall pesan_ijo ljmp mulai cek_ijo1: cjne a,140,cek_ijo3 lcall clear_screen lcall pesan_ijo ljmp mulai cek_ijo3: cjne a,141, cek_itam lcall clear_screen lcall pesan_ijo ljmp mulai ;= hitam =; cek_itam: cjne a,29,cek_itam6 lcall clear_screen lcall pesan_itam ljmp mulai cek_itam6: cjne a,30,cek_itam7 lcall clear_screen lcall pesan_itam ljmp mulai cek_itam7: cjne a,31,tidak_ada_warna lcall clear_screen lcall pesan_itam ljmp mulai tidak_ada_warna: lcall clear_screen lcall pesan_blank ljmp mulai ;========= routine pesan ==========; pesan_merah: mov b,38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,M lcall kirim_data lcall delay mov b,E lcall kirim_data lcall delay mov b,R lcall kirim_data lcall delay mov b,A lcall kirim_data lcall delay mov b,H lcall kirim_data lcall delay ;= = = tulis baris bawah = = =; mov b,0c1h lcall data_scan ; = = = = = = = = = = = = = = ; mov b,F lcall kirim_data lcall delay mov b,r lcall kirim_data lcall delay mov b,e lcall kirim_data lcall delay mov b,k lcall kirim_data lcall delay mov b,. lcall kirim_data lcall delay mov b,4 lcall kirim_data lcall delay mov b,0 lcall kirim_data lcall delay mov b,2 lcall kirim_data lcall delay mov b,0 lcall kirim_data lcall delay mov b,0 lcall kirim_data lcall delay mov b, lcall kirim_data lcall delay mov b,H lcall kirim_data lcall delay mov b,z lcall kirim_data lcall delay lcall delay lcall delay ret Universitas Sumatera Utara pesan_kuning: mov b,38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,K lcall kirim_data lcall delay mov b,U lcall kirim_data lcall delay mov b,N lcall kirim_data lcall delay mov b,I lcall kirim_data lcall delay mov b,N lcall kirim_data lcall delay mov b,G lcall kirim_data lcall delay ;= = = tulis baris bawah = = =; mov b,0c1h lcall data_scan ; = = = = = = = = = = = = = = ; mov b,F lcall kirim_data lcall delay mov b,r lcall kirim_data lcall delay mov b,e lcall kirim_data lcall delay mov b,k lcall kirim_data lcall delay mov b,. lcall kirim_data lcall delay mov b,3 lcall kirim_data lcall delay mov b,2 lcall kirim_data lcall delay mov b,2 lcall kirim_data lcall delay mov b,0 lcall kirim_data lcall delay mov b,0 lcall kirim_data lcall delay mov b, lcall kirim_data lcall delay mov b,H lcall kirim_data lcall delay mov b,z lcall kirim_data lcall delay lcall delay lcall delay ret pesan_ijo: mov b,38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,H lcall kirim_data lcall delay mov b,I lcall kirim_data lcall delay mov b,J lcall kirim_data lcall delay mov b,A lcall kirim_data lcall delay mov b,U lcall kirim_data lcall delay ;= = = tulis baris bawah = = =; mov b,0c1h lcall data_scan ; = = = = = = = = = = = = = = ; mov b,F lcall kirim_data lcall delay mov b,r lcall kirim_data lcall delay mov b,e lcall kirim_data lcall delay mov b,k lcall kirim_data lcall delay mov b,. lcall kirim_data lcall delay mov b,2 lcall kirim_data lcall delay mov b,7 lcall kirim_data lcall delay mov b,8 Universitas Sumatera Utara lcall kirim_data lcall delay mov b,0 lcall kirim_data lcall delay mov b,0 lcall kirim_data lcall delay mov b, lcall kirim_data lcall delay mov b,H lcall kirim_data lcall delay mov b,z lcall kirim_data lcall delay lcall delay lcall delay ret pesan_itam: mov b,38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,H lcall kirim_data lcall delay mov b,I lcall kirim_data lcall delay mov b,T lcall kirim_data lcall delay mov b,A lcall kirim_data lcall delay mov b,M lcall kirim_data lcall delay ;= = = tulis baris bawah = = =; mov b,0c1h lcall data_scan ; = = = = = = = = = = = = = = ; mov b,F lcall kirim_data lcall delay mov b,r lcall kirim_data lcall delay mov b,e lcall kirim_data lcall delay mov b,k lcall kirim_data lcall delay mov b,. lcall kirim_data lcall delay mov b,5 lcall kirim_data lcall delay mov b,8 lcall kirim_data lcall delay mov b,0 lcall kirim_data lcall delay mov b,0 lcall kirim_data lcall delay mov b, lcall kirim_data lcall delay mov b,H lcall kirim_data lcall delay mov b,z lcall kirim_data lcall delay lcall delay lcall delay ret pesan_blank: mov b,38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,. lcall kirim_data lcall delay mov b,. lcall kirim_data lcall delay mov b,. lcall kirim_data lcall delay mov b,. lcall kirim_data lcall delay mov b,. lcall kirim_data lcall delay mov b,. Universitas Sumatera Utara lcall kirim_data lcall delay mov b,. lcall kirim_data lcall delay mov b,? lcall kirim_data lcall delay mov b,? lcall kirim_data lcall delay mov b,? lcall kirim_data lcall delay mov b,? lcall kirim_data lcall delay mov b,? lcall kirim_data lcall delay mov b,? lcall kirim_data lcall delay ret ;= penampil display =; data_penampil: mov b,0ch lcall data_scan mov b,06h lcall data_scan mov b,80h lcall data_scan ret data_penampil2: mov b,0ch lcall data_scan mov b,06h lcall data_scan mov b,81h lcall data_scan ret clear_screen: mov b,01h lcall data_scan ret data_scan: mov p0,bclr rs clr rw setb end lcall delay clr end lcall delay ret kirim_data: mov p0,b setb rs clr rw setb en lcall delay clr en lcall delay ret delay: mov r7,98 dly: mov r6,200 djnz r6, djnz r7,dly ret delay2: mov r7,255 dly2: mov r6,255 djnz r6, djnz r7,dly2 ret tadc: mov r7,100 adc: mov r6,100 djnz r6, djnz r7,adc ret end Universitas Sumatera Utara

BAB 4 PENGUJIAN RANGKAIAN DAN PEMBAHASAN SISTEM