Изучаю "баском". Слепил в "протеусе" вот эту схему: В принципе показания верные. Но мне кажется, что Avcc подключен не правильно.
Если Avcc на +5В, то не ясно как быть в баскоме.
Код: Выделить всё
'$sim
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 32 ' default
$swstack = 8 ' default
$framesize = 52 ' minimum for this library. Increase for your application needs!
'на дисплей возможен только вывод текстовых переменных
Dim I As Word 'переменная для промежуточный преобразований
Dim W As Single
'Define I/O and name them
Config Portd.4 = Output 'сюда я повесил ногу GND
Portd.4 = 0
Config Portd.2 = Output 'D/C (pin 4)
D3310dc Alias Portd.2
Config Portd.3 = Output 'SCE (pin 5)
D3310ce Alias Portd.3
Config Portd.6 = Output 'Reset (pin 8)
D3310re Alias Portd.6
'конфигурируем SPI в программном режиме. SCLK (pin 2) - PORTD.0; SDA (pin 3) - PORTD.1;
Config Spi = Soft , Din = Portb.1 , Dout = Portd.1 , Ss = None , Clock = Portd.0
'Initialise Spi
Spiinit
$include "3310init.bas"
'Initialise the display
Call D3310reset
Call D3310init
Call D3310clear
Dim S As String * 5
'Main program loop
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Do
'Call D3310clear
Start Adc ' считываем показания АЦП
I = Getadc(0)
Stop Adc
W = I
W = W / 44.28571
Call D3310position(1 , 1)
S = "U= "
Call D3310print(s)
S = Fusing(w , "##.##")
'Print S
Call D3310position(3 , 1)
Call D3310print(s)
Loop
Stop
$include "3310end.bas"Заранее благодарен.


