' управление цифровым потенциометром MCP42010 Dim Resistor1(2) As Byte ' Dim Temp As Byte , Rg1 As Byte , Rg2 As Byte Config Portd.6 = Output ' CS потенциометра Config Portb.5 = Output ' Clk потенциометра Config Portb.3 = Output ' DATA потенциометра Cs Alias Portd.6 Clk Alias Portb.5 Dataout Alias Portb.3 Resistor1(1) = 0 'значение сопротивления Resistor1(2) = $13 'команда - запись в оба канала Set Cs Cls Do Accu_v = Getadc(0) ' читаем ADC Accu_v = Accu_v / 4 ' приводим к 1 байту Resistor1(1) = Accu_v Rg1 = Resistor1(1) Rg2 = Resistor1(2) Reset Clk ' CLK в 0 Reset Cs ' выбор м.сх For Temp = 1 To 8 'вывод значения сопротивления Dataout = Rg1.0 'побитно, начиная с младшего Gosub Pulse 'такт Rg1 = Rg1 / 2 'сдвиг вправо Next For Temp = 1 To 8 'аналогично вывод команды Dataout = Rg2.0 ' Gosub Pulse ' Rg2 = Rg2 / 2 Next Set Cs ' CS в 1 Locate 1 , 1 Lcd "Rg1,Rg2 " ; Resistor1(1) ; "-" ; Resistor1(2) ; " " Waitms 500 Loop Pulse: Set clk Waitus 10 ' 10 us длительность импульса Reset Clk Return