;PROGRAM-33) “Dahili ortak referanslı dört girişten seçimli iki ;karşılaştırıcı” moduna örnek program. Programın yaptığı işlem ;prog32.asm ile aynı olacaktır. Tek farkı, referans geriliminin ;RA2 potansiyometresinden değil de VREF biriminden alınacak olmasıdır. ;Bu uygulamada da karşılaştırıcılardan bir tanesine otomatik sokak ;aydınlatması yaptırılacaktır. LDR uçlarında düşen gerilim ile VREF ;gerilim karşılaştırılacaktır. Diğer karşılaştırıcıda da VREF gerilimi ;ile potansiyometre uçlarındaki gerilim karşılaştırılacaktır. ;Devrenin uygulama şeması şekil14-5’de görülmektedir. ;===PROG33.ASM====29/06/2005================================ LIST P=16F628A INCLUDE "P16F628A.INC" __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF ;----------------------------------------------------------- ORG h'0000' CLRF PORTB MOVLW b'00010010' ; CIS=0, C1INV=1-->C1 terslenmiş, MOVWF CMCON ; Mod=010 BANKSEL TRISB ;BANK1'e geç CLRF TRISB ;PORTB’nin tüm uçları çıkış MOVLW b'10001011' ;VREF=2.97V, VREN=1, VREO=0, VRR=0 MOVWF VRCON BANKSEL PORTB ;BANK0’a geç C2_KONTROL ;Karşılaştırıcı-2 nin kontrol edilmesi BTFSC CMCON,7 ;C2OUT bit’i "1" mi? GOTO RB7_YAK ;Evet, RB6'daki LED'i yak C1_KONTROL ;Karşılaştırıcı-1 in kontrol edilmesi BTFSC CMCON,6 ;C1OUT bit’i "1" mi? GOTO RB6_YAK ;Evet, RB7'deki LED'i yak BCF PORTB,6 ;Hayır, RB6 ve RB7 LED'lerini BCF PORTB,7 ;söndür. GOTO C2_KONTROL;Karşılaştırıcı-2'yi tekrar kontrol et. RB6_YAK ;RB6'daki LED'i yak BSF PORTB,6 GOTO C2_KONTROL RB7_YAK ;RB7'deki LED'i yak BSF PORTB,7 GOTO C1_KONTROL END ;-----------------------------------------------------------