Перейти к содержанию
    

ALexx

Свой
  • Постов

    244
  • Зарегистрирован

  • Посещение

Весь контент ALexx


  1. Использую следующую конструкцию: #define XTAL 11059200L #define TIMER_F(x) 65536-((XTAL/12)/(x)) // Timer interrupt Freq У Вас 25 мс... Что это период или время импульса/паузы ?? 25мс -> 40 Гц Вот пример инициализации таймера на 40 Гц, т.е прерывания будут возникать с периодом 25 мс: TL0=(TIMER_F(40)&0x00ff); TH0=(TIMER_F(40)>>8); Естественно, в данном случае, таймер должен быть настроен на работу в режиме 1 (16-битный таймер/счетчик)
  2. Если Вы пишете в Кейле, то вызывают сомнение некоторые приведенные Вами конструкции. 1) P1 = 0xFF; // Единицы на всех выводах порта - это правильно 2) Вместо P1_1 = 1; должно быть P1^1 = 1; или еще один способ: P1&=0x02; 3) if (P1_1 == 1) - не правильно. Должно быть if (P1^1 == 1) или просто if (P1^1), или if(P1&0x02) if (P1_1 == 0) - не правильно. Должно быть if (P1^1 == 0) или просто if (! P1^1) или if(!(P1&0x02)) А вообще. что касается битов, удобнее и красивее описывать их в начале программы, давая им осмысленные имена. Вот так: Где-то в начале программы: // Сигналы связи с контроллером sbit LOD=P1^3; sbit CLK=P3^2; sbit DTA=P3^0; Где-то в теле программы проверяем бит LOD и в зависимости от его состояния выставляем значения на битах DTA и СLK if(LOD){ DTA=1; CLK=0;} else { DTA=0; CLK=1;} Таким образом вы оперируете с понятными Вам именами, и при необходимости изменить вывод порта это изменение проводится один раз в секции описания, а не по всей программе. И еще... Одна из самых частых ошибок новичков: Отсутствие замкнутого цикла в основной функции. Если это цикл отсутствует, то, естественно, программа "работать не будет" :05: Хотя в симуляторе один проход программы в пошаговом режиме отрабатывает "на ура" :-)
  3. Вопрос по датчику

    Это само собой. Любой с-файл, сопровождаемый h-файлом должен содержать в себе его объявление. Но за уточнение спасибо.
  4. Отправил свои координаты Вам в личное. Пишите - договоримся.
  5. Вопрос по датчику

    1) В файле DS18B20.c определяете переменную: unsigned char flag_znak; 2) В файле DS18B20.h наряду с прототипами функций работы с термометром должна присутствовать строчка: extern unsigned char flag_znak; 3) В файле main.c должна присутствовать строчка: #include "DS18B20.h"
  6. Это действительно так. Схема в приложении. Если нет необходимости в полном наборе сигналов и преобразовании их в уровни 232-го, то выбрасываете DD2 со всей обвязкой, а линии TxD и RxD (ну и "землю", конечно) с DD1 кидаете непосредственно на PIC. После установки драйверов и подключения (см. "CN-USB-232_UserManual.pdf") вы получаете СОМ-порт, не отличающийся от "стандарного" И со стороны компа общаетесь с ним как с обычным портом, учитывая, конечно, особенности ОС, под которой работаете. CN_USB_232_Schematic.pdf CN_USB_232_UserManual.pdf
  7. У Вас устаревшая информация... Теперь у них все на борту. http://ftdichip.com/FTProducts.htm#FT232R Сам активно ими пользуюсь. Нареканий нет. И цены не кусаются - 4,5$ Плата переходника USB-COM умещается в корпус разъема DB-9 (см. рисунок)
  8. У Вас схема устройства имеется??? С нее начинать надо бы. Будет схема - будут конкретные рекомендации по "оживлению" данного железа.
  9. Меня не слышат - это "минус" :) Снова обращаю Ваше внимание на множество драйверов прямого доступа к портам, имеющихся в Сети. В большинстве случаев они идут с примерами, в т.ч. и на Дельфи... В приложении - исходник и ДЛЛ-ка, реализующая прямой доступ к порту. Сам пишу на С, но видно без очков, что функция GetPortByte() - то, что Вам нужно ;-) PS: и еще: http://www.google.com.ua/search?hl=ru&...0%BC+&meta= q.rar
  10. Если у Вас Win9x - доступ к портам прямой. Если же WinNT/2000/XP, то необходимо использовать драйвер прямого доступа. Что0то вроде WinIo : http://www.internals.com/
  11. :) Вошло, видимо, в моду у потенциальных "работодателей" не отвечать на письма. Ответ "Нет" - тоже ответ, но его по каким-то причинам не удосуживаются давать :-)
  12. Помнить все

    Можете использовать DataFlash AT45DBxxx от Atmel. Объемы памяти там приличные. http://www.atmel.com/dyn/products/devices.asp?family_id=616 Там же на сайте и примеры применения имеются http://www.atmel.com/dyn/products/app_note...p?family_id=616
  13. Преобразователь уровня RS232 (то, что из СОМ-порта выходит) в CMOS (то, что необходимо сдвиговым регистрам) Диод обрезает сигналы отрицательной полярности, транзистор выполняет роль буфера, 74НС14 - для увеличения крутизны фронтов поучаемого сигнала.
  14. "чтобы началась работа с ком-портом" надо ее просто начать :). А если серьезно, то handshake - из другой оперы. С СОМ-портом можно работать несколькими способами (прямой доступ к регистрам (DOS, Win9x), используя API, используя готовые компоненты для того же Билдера (делфи)) Естественно. Это идеальный и наиболее гибкий вариант. Подцепить светодиодики и управлять ими с ком-порта МОЖНО. По крайней мере тремя светодиодиками сможете :-) (линии TxD, RTS и DTR)
  15. Киньте кодом мне на ящик dealex77<гав>ukr.net - посмотрю
  16. Все верно, работать будет, только обращу внимание на наличие защитных диодов в приведенных Вами схемах бутлоадера и ПониПрога. Оные диоды отсутствуют в предложенной Вами схеме со сдвиговыми регистрами.
  17. Скромненько и со вкусом! :a14: Я бы, правда, перестраховался. Между портом и регистрами такие вот цепи поставил бы (см. рисунок) Зря Вы так. Практики в освоении микроконтроллеров действительно не прибавит... Ибо их тут нет по условию :-) А вот с работой ЦАПа и сдвиговых регистров человек разберется хорошо (если, конечно, будет желание) Вы внимаетельно читали задачу? Человеку надо вывести данные на ЦАП !!! Конечно, можно сделать как Вы предлагаете, но это уже, извините, другая область. Поэтому как раз Ваш совет можно назвать если не "вредным", то "сбивающим с пути" :)
  18. Окончательно и бесповоротно? Если да, продолжаем. Имеется у вас ЦАП 572ПА2. Он уже на плате, есть его обвязка (компоненты, необходимые для его работы) ? Если нет, то необходимо ознакомиться со схемами подключения: http://radioam.nm.ru/sprav_dac.html#572pa2 http://www.alfarzpp.lv/rus/sc/572pa2.pdf Таким образом, на данном этапе Вам надо озадачиться поиском собственно ЦАПа и внешних необходимых ему компонентов + блок питания.
  19. 1.1 Поиграйте с таймаутам 1.2 Управление потоком какое? Аппаратное, программное, или вообще его нет? Не попадаются ли среди смволов XON или XOFF 2. СОМ1 не русским буквами случаем набрано :07: Ну и точка с запятой отсутствует :-) А вообще, если надо менять только номер порта (оставляя все настройки) можно использовать ComComboBox. На прилагаемом рисунке пояснение как его использовать.
  20. 1. При использовании моста FT245R работа с ЮСБ ни чем не отличается от работы с обычным СОМ-портом 2. Бесплатно сейчас даже 155ЛА3 не найдете - все уже давно выпаяно ;) А вообще... Посмотрите на данную ветку форума и послушайте совет на будущее: Формулируйте задачу максимально точно, тогда ответы будут соответствующие. А для начала определитесь, наконец с необходимым типом интерфейса (COM, USB, LPT). Перебрали мы уже все эти интерфейсы, поэтому время принять решение. Тогда и о схемных решениях можно будет говорить
  21. Не совсем понял в чем проблема? Как подсоединить? В упомянутом документе начиная со стр. 19 идут схемы подключения данного устройства. Если смущают корпуса с малым расстоянием между выводами (что понятно для начинающего), то существуют готовые модули со всей необходимой обвеской: Вот, например: http://ftdichip.com/Products/EvaluationKits/UM245R.htm
  22. Может тут "собака и порылась"? WinAPI не пользовался - точно сказать не могу, но может то, что работает в 98-й не может работать или работает криво в ХР. Четвертый год пользуюсь компонентой ComPort Library (одна из последних версий прилагается). Программы, созданные с ее использованием работают и под 98-й и под 2000-й и под ХР. CPort264.zip
  23. Какими средствами осуществляете доступ к порту(открытие, передача/прием)? Прямой записью в регистры? Или используя специальную компоненту под Билдер? Дело в том, что в 98-й прямой доступ к портам возможен, а в ХР - увы :(
  24. Можете приятно удивить преподавателя устройством, работающим от USB :) Есть микросхемы - мосты USB-FIFO (параллельный код). Со сторны компьютера видятся они как последовательный порт. Упрощенно: отсылаете байт в порт, он появляется на выводах D0-D7 микросхемы. Кроме того, присутствуют квитирующие сигналы, т.е. можете передавать несколько байт, записывая их в параллельные регистры, соединенные с ЦАПом. Информация : http://ftdichip.com/Documents/DataSheets/DS_FT245R.pdf
×
×
  • Создать...