Jump to content

    

marser1986

Участник
  • Content Count

    162
  • Joined

  • Last visited

Everything posted by marser1986


  1. Здравствуйте! Есть микросхема аналого-цифрового преобразователя AD7799, вот её даташит http://www.promelec.ru/pdf/AD7798_9_0.pdf . Микросхема бывает с артикулом AD7799BRU и AD7799BRUZ, т.е. артикулы отличаются буквой Z. Про эту букву написано в сноске на странице 28 даташита следующее: Z = Pb-free part. Подскажите, что это означает и чем отличаются микросхемы с такими артикулами? Спасибо.
  2. Здравствуйте! Подскажите, как в P-CAD PCB скрыть/показать элементы одного типа, например сделать невидимыми все надписи, или все контура элементов, скрыть/показать определённый слой? Спасибо.
  3. С цветами слоёв разобрался, Options-Display можно настраивать цвета контактов в каждом слое.
  4. Понятно. Когда работал в Orcad, по цвету контактов элемента было понятно, на каком слое он находится, например у элементов на слое Top контакты красные, у элементов на слое Bottom - зелёные. В P-CAD PCB все контакты серые, как определить, на каком слое находится элемент?
  5. Здравствуйте! Есть плата, спроектированная в P-CAD PCB, на плате есть элемент с пленарными контактами (например smd резистор), который расположен в слое Top. Как перенести этот резистор в слой Bottom, так, чтоюы электрические соединения сохранились? Спасибо.
  6. Здравствуйте! Подскажите, как сделать зеркальное отображение символа элемента по вертикали и горизонтали в P-CAD Schematic? Спасибо.
  7. Здравствуйте! В P-CAD Schematic есть возможность сделать порт, например питание микросхем 5 Вольт подавать с помощью порта с названием Vdd. Есть ли аналог такого порта в Micro-Cap 7? Спасибо.
  8. Нашёл вариант - микросхема MAX16903RAUE33/V+ тепловая защита срабатывает при температуре 175 градусов. и ещё у linear technology микросхема LT3970HMS-3.3, operating temperature от -40 до 150 градусов, про тепловую защиту в даташите не сказано.
  9. Здравствуйте! Нужен импульсный стабилизатор напряжения, входные напряжения 4-40 Вольт, выход 3,3 Вольта. Проблема в том, что стабилизатор должен работать при температуре 150 градусов. В интернете достаточно информации по стабилизаторам, работающим до 125 градусов. У них бывает тепловая защита, которая отключает микросхему при температуре порядка 135 градусов. Нужно найти микросхему, у которой температурное отключение происходит при 175 градусах цельсия, или вообще отсутствует температурная защита. Пусть даже диапазон рабочих температур будет до 125 градусов, если микросхема будет работать при 150 с ухудшением характеристик. Подскажите, есть ли такой стабилизатор напряжения, и где его искать? Спасибо.
  10. Здравствуйте! Пытаюсь использовать библиотеку от Микрочип Memory Disk Drive File System. Компилятор ht-picc18. Подключаю к проекту файлы библиотеки, как сказано в application note http://ww1.microchip.com/downloads/en/AppNotes/01045b.pdf При попытке скомпилировать возникает много ошибок, попытка их исправить влечёт появление новых ошибок. В связи с этим вопрос: У кого-нибудь есть работающий проект с использованием этой библиотеки и компилятора ht-picc18? Спасибо.
  11. Документация по работе с SD картой: http://www.sdcard.org/developers/tech/sdcard/pls/ нужно нажать кнопку "I accept", откроется страница, внизу страницы будет ссылка на 5 документов. Система команд SD карты есть в первом документе Part 1 Physical Layer Simplified Specification Ver3.01 на странице 58.
  12. Симулировал он действительно прекрасно, но при прошивке программы в контроллер умножение не работало. Умножение не работало с разными числами. Проверял сгенерированный ассемблерный код, там был код умножения, а не сдвига. Ассемблерный код, сгенерированный компилятором, я могу только посмотреть, но не менять. Вы знаете способ изменить этот ассемблерный код перед созданием hex файла? (кроме использования ассемблерной вставки в С - коде)
  13. Коллеги, проблему удалось решить. В начале программы, после строки include "pic18F4520.h" я написал настройку конфигурационного регистра: #ifdef MPLAB_ICD __CONFIG(4, STVREN & LVPDIS & XINSTDIS & DEBUGEN); #else __CONFIG(4, STVREN & LVPDIS & XINSTDIS & DEBUGDIS); #endif После добавления этой настройки умножение работает адекватно. Почему, мне точно не понятно. Возможно причина в следующем: такая настройка конфигурационного регистра запрещает расширенный набор команд, а по умолчанию он был разрешён и каким то образом создавал проблемы. Всем спасибо за советы.
  14. Так то же не работает, в результате умножения получается нуль. #include "pic18f4520.h" int x, y, z; void indicate(int value); void main(void) { x=15; z=3; y=x*z; indicate(y); ///индикация на ЖК экране. } void indicate(int value) { ..... ////подпрограмма отображения символа на экране. }
  15. А почему может не умножать микроконтроллер?
  16. Здравствуйте! Микроконтроллер не выполняет умножение, если в качестве множителей стоят переменные. Вот код: long x, y; x=15; y=x*2; indicate(y); ///отображение числа y на семисегментном экране. В результате отображаетс не 30, а 15, то есть вместо операции y=x*2 выполнилась операция x=y; Если множители типа int, умножение так же не работает, вот код: int x, y; x=15; y=x*2; indicate(y); ///отображение числа y на семисегментном экране. В результате отображается нуль. Операция умножения работает, только если множители заданы числами: long y; y=15*2; indicate(y); ///отображение числа y на семисегментном экране. В этом случае отображается число 30, как и должно быть. В чём может быть проблема? Cпасибо.
  17. Работа с конфигурационными регистрами у меня почему то вызывает проблемы. Например в конфигурационный регистр 1h по умолчанию загружено число 0b00000111, но когда я строкой __CONFIG(1h,7) записываю в данный регистр данное число, контроллер после подачи питания вообще не запускается. При этом запись в конфигурационный регистр 2h работает адекватно.
  18. Прошу прощения, это LED. Проблема уже решена: В начале программы была настройка конфигурационного регистра. Эту настройку убрал и запретил работу сторожевого таймера, всё заработало. Зачем вообще нужен сторожевой таймер, проблемы создаёт!
  19. Здравствуйте! Программирую pic18f4520. Написал программу бесконечного мигания светодиода: while(1) { for(k=1;k<10000;k++){} ///задержка if(LED==0){LED_1=1} else {LED=0;} // мигание светодиода } На практике светодиод мигает 14 раз, и перестаёт мигать, хотя задан бесконечный цикл. Подскажите пожалуйста, почему контроллер может останавливаться? ввода в спящий режим в программе нет. Спасибо.
  20. Здравствуйте! Есть импульсный сигнал, высокий уровень 5 В, низкий уровень 3,8 В. (Сигнал показан на рисунке) Этот сигнал требуется преобразовать в импульсы, у которых высокий уровень 5 В, низкий уровень 0 В(нижний рисунок) Частота сигнала небольшая, 400 Гц. Для этого предполагаю использовать операционный усилитель. Только пока не знаю какой именно, т.к. мало опыта работы с компараторами. Посоветуйте пожалуйста подходящую недорогую и распространённую микросхему компаратора(или операционного усилителя?) с однополярным питанием которая бывает в наличии в магазинах, например промэлектронике. Заранее спасибо.
  21. Благодарю. Появилась другая проблема: Переменные типа double неадекватно себя ведут. Вот код: double d; char s; d=5; s=d; indicate(s); По команде indicate(s); на экранчике отображается нуль, а не 5. Так же с пременными типа double не работает операция % (остаток от деления). Кто нибудь знает, почему контроллер неправильно работает с переменной типа double? Спасибо.