Device = 16F628A Config BODEN_OFF, PWRTE_ON, WDT_OFF, LVP_OFF, MCLRE_OFF, INTRC_OSC_NOCLKOUT, CP_OFF, DATA_CP_OFF Xtal = 4 'Include "modedefs.bas" PortB_Pullups = OFF All_Digital = On 'все порты цыфровые Declare LCD_Type ALPHA ' Тип ЖКИ - буквенно -цифровой Declare LCD_DTPin PORTA.0 ' Порт данных ЖКИ Declare LCD_ENPin PORTA.7 ' Управление линией E Declare LCD_RSPin PORTA.6 ' Управление линией RS Declare LCD_Interface 4 ' Разрядность шины данных Declare LCD_Lines 2 Declare LCD_CommandUs 2000 Declare LCD_DataUs 50 TRISA = %00010000 PORTA = %00000000 TRISB = %00000110 PORTB = %00000000 'Symbol MAXData1 = PORTA.4 'Symbol MAXcs = PORTB.0 'Symbol MAXClock = PORTB.1 Symbol MAXData1 = PORTB.2 Symbol MAXcs = PORTB.0 Symbol MAXClock = PORTB.1 Dim Res1 As Word 'пременная результата измерений Dim TMP As Word Print $FE, 1 Main: Res1 = 0 MAXcs = 0 'начинаем получение данных SHIn MAXData1, MAXClock, MsbPre, [Res1\16] 'считываем данные (16бит) в переменную Res1 ' SHIn MAXData1, MAXClock, lsbPre, [Res1\16] 'считываем данные (16бит) в переменную Res1 MAXcs = 1 'закончили получение данных Print At 2, 1, Bin16 Res1', " " 'выводим на дисплей ' Res1 = Res1 >> 3 'сдвигаем на 3 бита вправо (по даташиту) ' Res1 = Res1 / 16 'делим на 4, т.к шаг 0,25 TMP =((Res1 >> 2) / 4) - 24 ' TMP = (Res1 >> 4) '& $03FF Print At 1, 1, #tmp, " " 'выводим на дисплей DelayMS 20 GoTo Main