'4disp nixie DMM ' Dim D(6) As Word Dim S(6) As Word Dim C(6) As Word Dim P(4) As Byte Dim Q0(4) As Byte Dim Q1(4) As Byte Dim Q2(4) As Byte Dim i As Byte Dim j As Byte ' ' 'initialize ' Tris_rd=0 Input rc.Bit0 Input rc.Bit1 Input rc.Bit2 Input rc.Bit3 Input rc.Bit4 Input rc.Bit5 Input rc.Bit7 Input rb.Bit0 ' For i= 2 To 7 Low rb.i Next i ' ' L: ' ' 'ADC ' For i=0 To 5 S(i)=0 Next i ' For i=1 To 10 ' Adc 0,1,D(0) 'Input RA0 Ch1_Ebb/Ep/Esg/Eout Adc 1,1,D(1) 'input RA1 Ch1_Ip/Isg/Ein Adc 4,1,D(4) 'Input RA4 Ch1_Ek ' Adc 5,1,D(2) 'Input RA5 Ch2_Ebb/Ep/Esg/Eout Adc 6,1,D(3) 'input RA6 Ch2_Ip/Isg/Ein Adc 7,1,D(5) 'input RA7 Ch2_Ek ' For j=0 To 5 S(j)=S(j)+D(j) Next j ' Next i ' For i=4 To 5 If S(i) Mod 10 > 4 Then S(i)=S(i)+5 S(i)=S(i)/10 Next i ' ' 'Data set ' ' P(0)=2:C(0)=S(0)/2 'Disp0 Ebb If rc.Bit5=1 Then P(0)=0:C(0)=S(0) 'Dosp0 Eout If rc.Bit3=1 And S(0)>=17 Then P(0)=1:C(0)=S(0)-17 'Dosp0 Ek, Offset=17 If rc.Bit3=1 And S(0)<17 Then P(0)=1:C(0)=0 If rc.Bit1=1 And C(0)>=S(4) Then C(0)=C(0)-S(4)+2 If rc.Bit1=1 And C(0)=8 Then P(2)=1:C(2)=S(2)-8 'Disp2 Ek,Offset=8 If rc.Bit2=1 And S(2)<8 Then P(2)=1:C(2)=0 If rc.Bit0=1 And C(2)>=S(5) Then C(2)=C(2)-S(5)+1 If rc.Bit0=1 And C(2) 4 Then C(i)=C(i)+5 Q0(i)=C(i)/1000 If P(i)>0 And C(i)<1000 Then Q0(i)=10 Q1(i)=(C(i) Mod 1000)/100 If P(i)>1 And C(i)<100 Then Q1(i)=10 Q2(i)=(C(i) Mod 100)/10 Next i ' ' 'Display ' rd=Q2(1)<<4 | Q2(3) High rb.Bit2 Low rb.Bit2 rd=Q2(0)<<4 | Q2(2) High rb.Bit5 Low rb.Bit5 ' rd=Q1(1)<<4 | Q1(3) High rb.Bit3 Low rb.Bit3 rd=Q1(0)<<4 | Q1(2) High rb.Bit6 Low rb.Bit6 ' rd=Q0(1)<<4 | Q0(3) High rb.Bit4 Low rb.Bit4 rd=Q0(0)<<4 | Q0(2) High rb.Bit7 Low rb.Bit7 Goto L