'**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2013 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 20.05.2013 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** Clear ' Очистить оперативную память Cls Device 16F877A ' Использовать микроконтроллер 16F876A Xtal 20 ' Использовать кварцевый генератор на 20 МГц '---------------------------------Настройки подключения ЖКИ--------------------------------- Declare LCD_Type ALPHA ' Тип ЖКИ - буквенно-цифровой Declare LCD_DTPin PORTB.4 ' Порт данных ЖКИ Declare LCD_ENPin PORTB.2 ' Управление цепью E Declare LCD_RSPin PORTB.3 ' Управление цепью RS Declare LCD_Interface 4 ' 4-х битная разрядность шины данных Declare LCD_CommandUs 2000 ' Задержка перед посылкой команды Declare LCD_DataUs 50 ' Задержка перед посылкой данных Declare LCD_Lines 2 ' Количество строк ЖКИ '------------------------------------Настройки портов--------------------------------------- TRISB = %00000011 ' Сделать каналы (PORTB.0,1) входом, остальные выходом TRISC = %00000010 ' Сделать канал (PORTC.0) входом Symbol MI = PORTC.1 ' MISO Symbol SCK = PORTC.0 ' Такты Symbol CSN = PORTC.2 ' Select slave Dim Res_High As Byte ' переменная для хранения старшего байта, прочитанного через SPI Dim Res_Low As Byte ' переменная для хранения младшего байта, прочитанного через SPI Dim adc_RES As Word ' Результат Dim a As Byte ' Переменная для цикла Dim b As Byte ' Переменная для цикла CSN = 1 ' Подтянуть к питанию Cls ' Очистить дисплей main: CSN = 0 ' Прижать к земле select slave SHIn MI, SCK, 0, [Res_High,Res_Low] ' Прочитать данные из SPI CSN = 1 ' Поднять ' Здесь полный трэш для MCP3001. Для своего посмотрите в своем шите ' Это безобразие нужно как-то причесать. Писал на скорую руку, да и понятнее так будет. adc_RES.9 = Res_High.4 adc_RES.8 = Res_High.3 adc_RES.7 = Res_High.2 adc_RES.6 = Res_High.1 adc_RES.5 = Res_High.0 adc_RES.4 = Res_Low.7 adc_RES.3 = Res_Low.6 adc_RES.2 = Res_Low.5 adc_RES.1 = Res_Low.4 adc_RES.0 = Res_Low.3 Print At 1,1,Dec4 adc_RES DelayMS 100 GoTo main