Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » MCP3201 SPI интерфейс


MCP3201 SPI интерфейс

Сообщений 1 страница 19 из 19

1

Попался 12-бит Аналаго-дигитальнай преобразователь с SPI интерфейсом MCP3201.Нашел в сети вот этот материал http://www.mcselec.com/index.php?option … ;Itemid=57 подключил все это к меге8 с внутренним тактированием, заптался от батарейки и ничего хорошего с этого не получилось.Опять такая же ситуация как и с ADC встроенным в контроллер.А если читать эту микросхему аппаратным SPI а не программным?Как это сделать?Подскажите что-нибудь.Кусочек кода.

0

2

Да дело в том что роднои АЦП прыгает.Питал и от блока питания и от батарейки, ему все по барабану.
Да я использовал код из документации и ниче не получается.Если использовать код который я привел выше по ссылке то значения скачут вообще как бешеные, а если использовать хардварный способ который в документации, то значения прыгают, но только по определенным значениям.Что это такое?

0

3

под рукои нету кода.Завтра выложу.

0

4

Интересно другое. Что вы товарищ измеряете? не синус ли? Что за источник? Теперь другой вопрос. Источник образцового напряжения (Aref) какой используется?

0

5

Измеряю постоянное напряжение.Если бы измерял синус то все было бы ясно.Источник образцового напряжения которое подаю на АД конвертор-батарейки.Есть еще вариант подать опору от микросхемы LT1790.А я вот тут подумал, при счтывании по SPI на контроллер тоже нужно подать опорное напряжение на Ареф?И вообще вся схема питается от батареики.

0

6

Значит смотри частоту ацп

0

7

Не понял причем частота АЦП.Я использую микросхему АЦП которую подключаю к СПИ и читаю с нее.

0

8

Вот код.

$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.6 , Rs = Portd.7
Config Spi = Hard , Data Order = Lsb , Master = Yes , Polarity = Low , Clockrate = 128

Cursor Off

Dim A As Word

Do

Spiinit

Spiin A , 255

Waitus 1

Locate 1 , 1 : Lcd A
Print A
Wait 1
Cls
Loop

Похоже у нас недопонимание.Я Использую микросхему MCP3201.Это АЦП микруха, с SPI интерфеисом.Мне нужно снять с неё данные.Документ на неё http://www.microchip.ru/cdrom/ww1.micro … 21290c.pdf

0

9

Ну вот оно конкретно, как просили.

Ну что никто не подскажет?

Стесняются наверное.

Отредактировано jimbaton (2009-02-28 18:45:42)

0

10

как хорошо начал Mrshilov, поругал меня.......и молчит. Обещал помочь.

0

11

jimbaton написал(а):

Использую микросхему MCP3201

ну как? разобрался с микрой?

0

12

да я чет забил на нее

0

13

А MCP41010 кто-нить юзал ?? (цифровой потенциометр, очень дешевый) Тоже СПИ междумордие, есть у кого кусочек кода работы с аппаратным и программным ??? Или проще использовать shiftout ??

0

14

Если кому пригодится- разобрался сам:
Var(1) = &B11011101 команда выставить резистор 0
Reset Portd.4                                              'CS
  Shiftout Portd.6 , Portd.5 , Var(1) , 1 команда
  Shiftout Portd.6 , Portd.5 , Var(2) , 1 данные
    Set Portd.4                                             'CS

0

15

Нужна помощь. Попал мне в руки 22-х битный АЦП MCP-3551. Кто нибудь работал с похожим девайсом. Нужно получить с него данные, хотябы бит 16-18 из него выжать. Работает по SPI. Может кто чего подскажет, или примерчик какой нибудь. :dontknow:

0

16

Может ещё нужно:

Код:
 $regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
$large
'***??????????
Dim A As Word
Dim B As Single
Dim I As Single

Config Portc = &B11111101

Cs Alias Portc.2
Sck Alias Portc.0

'CS - PORTC.2; SDO - PORTC.1; SCK - PORTC.0

'*** ???????????? ???

Config Lcdpin = Pin , Rs = Portd.2 , E = Portd.3 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7
Config Lcd = 16 * 2

Cls
Cursor Off
Set Cs

Do

Reset Cs
Waitms 10
Bitwait Pinc.1 , Reset
Waitms 10
Pulseout Portc , 0 , 20
Pulseout Portc , 0 , 20
Pulseout Portc , 0 , 20

Shiftin Pinc.1 , Portc.0 , A , 0

Waitms 10

Set Cs

B = A
B = B * 100000
I = B / 1599975586

Cls
Lcd Fusing(i , "##.#####" )                                 ' ??? ?????? ?? ??????? ??? ????? 5 ?????? ????? ???????
Locate 1 , 9
Lcd "Volt"
Waitms 200

Loop
End                                                         'end program

0

17

Код:
Bitwait Pinc.1 , Reset

Обязательно ожидать? У меня не работает с этой функцией, без нее работает.

0

18

Привет ВСЕМ! С НАСТУПИВШИМ...!!!
Откликнитесь! Кто щупал MCP3208 или подобную?

0

19

Архив закинул Вам на mail

http://sf.uploads.ru/t/xbC4r.jpg

+1


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » MCP3201 SPI интерфейс