Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 31.01.2010, 03:39  
Huuligan
Частый гость
 
Регистрация: 20.05.2007
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Huuligan на пути к лучшему
По умолчанию Одновременный вывод сигнала на PIC

Доброго времени суток!

Пытаюсь изучить программирование PIC. Изучаю PIC Basic (Ближе чем Си и АСМ).

Возник вопрос (поиск по форуму отрицательный)...

Возможно ли ОДНОВРЕМЕННО, например, на PORTB.0 создать генерацию, скажем, 1 Гц постоянно при выполнении определенного условия, а на другом, например, PORTB.4, дать импульс в 2-3 сек. (ОДНОВРЕМЕННО)?

Где-то в глубине души чувствую, что НЕТ!?

Заранее спасибо.
Реклама:
Huuligan вне форума  
Непрочитано 31.01.2010, 04:00  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Одновременный вывод сигнала на PIC

Одновременно нет. А вот за два такта реально. При частоте 8МГц это сигналы выйдут с задержкой на 125нс. Вас это устроит?
Дам совет. Для генерации частоты используйте таймеры и прерывания. Поставьте MicroE Basic и Proteus. Вместе эта связка работает очень хорошо и понятно. Особенно с COF файлами. Вообще будут вопросы, задавайте. Поясню. Я сам в бейсике работаю. Это и хорошо и плохо. С одной стороны, связать МК с ПК по USB мне не составит труда. На ПК у меня VB6. Бейсик мне как родной. Но из-за этого возникла большая проблема с изучением АРМов т.к. синтаксис СИ вызывает рвотные рефлексы.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
Huuligan (31.01.2010)
Непрочитано 31.01.2010, 04:16  
Huuligan
Частый гость
 
Регистрация: 20.05.2007
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Huuligan на пути к лучшему
По умолчанию Re: Одновременный вывод сигнала на PIC

Сообщение от Easyrider83 Посмотреть сообщение
Одновременно нет. А вот за два такта реально. При частоте 8МГц это сигналы выйдут с задержкой на 125нс. Вас это устроит?
Дам совет. Для генерации частоты используйте таймеры и прерывания. Поставьте MicroE Basic и Proteus. Вместе эта связка работает очень хорошо и понятно. Особенно с COF файлами. Вообще будут вопросы, задавайте. Поясню. Я сам в бейсике работаю. Это и хорошо и плохо. С одной стороны, связать МК с ПК по USB мне не составит труда. На ПК у меня VB6. Бейсик мне как родной. Но из-за этого возникла большая проблема с изучением АРМов т.к. синтаксис СИ вызывает рвотные рефлексы.
Спасибо!
Буду изучать таймеры и прервания, а так же поставлю MicroE Basic и Proteus... До USB пока не добрался. Всю жизнь работал с логикой, но по количеству корпусов... много выходит. Решил НАКОНЕЦ освоить PIC-ки .
"Будем искать...". Еще раз - СПАСИБО!
Huuligan вне форума  
Непрочитано 31.01.2010, 07:13  
jelsay
Прописка
 
Регистрация: 24.06.2005
Сообщений: 123
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 15 сообщении(ях)
jelsay на пути к лучшему
По умолчанию Re: Одновременный вывод сигнала на PIC

Huuligan, если особая точность не нужна - то Вашу задачу вполно можно решить и програмно - в общем случае - посылая в порт массив из специально подобранных чисел зациклив эту последовательность Вы сможите получить, к примеру, на первом пине 1 гц, на втором 2 Гц и на третьем 3 ГЦ и т.п
jelsay вне форума  
Сказали "Спасибо" jelsay
Huuligan (03.02.2010)
Непрочитано 31.01.2010, 13:49  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Одновременный вывод сигнала на PIC

Сообщение от Easyrider83 Посмотреть сообщение
Одновременно нет. А вот за два такта реально. При частоте 8МГц это сигналы выйдут с задержкой на 125нс.
а почему же нет?В одном порту - очень даже ДА.
вот инвертирование ВСЕХ НОЖЕК:
Код:
in r16,port
eor r16,0x11111111
out port,r16
или так, с промеж переменной
Код:
lds r16,saveport
eor r16,0x11111111
out port,r16
И по моему инициатор сабжа имел в виду нечто другое, не ОДНОВРЕМЕНУЮ смену сигналов на обоих ножках а, что бы кристал выдавал ОБА сигнала.
Сообщение от Huuligan Посмотреть сообщение
Возможно ли ОДНОВРЕМЕННО, например, на PORTB.0 создать генерацию, скажем, 1 Гц постоянно при выполнении определенного условия, а на другом, например, PORTB.4, дать импульс в 2-3 сек.
По моему вы НЕ СОВСЕМ ПРАВИЛЬНО описали задачу. Или НЕ достаточно понятно.
Одновременно для програмиста МК обычно имеется в иду В ОДИН МОМЕНТ ВРЕМЕНИ.
вашу задачу моно решить примерно так:
Запускаете таймер например на период 1 или 10 миллисекунд. Затем организовываете счётчик до 0,5 сек.
Проще наверное на 10 милисек и зависит от желаемой длительности импульса, потому что счётчик на 50 поместится в 1 байте, а счётчик на 500 в двух. По окончании счётчика загружаете его заново и инвертируете ножку на которой хотите получить 1 гц.
Ещё один счётчик для подсчёта периода вывода второго сигнала. например счётчик = 4, импульс будет формироваться раз в 2 секунды (дискретность равна тем самым 0,5 сек). При обнулении счётчика, загружаете его заново и выставляете ножку для формирования импульса в "1". И загружаете счётчик ДЛИТЕЛЬНОСТИ этого импульса в длительностях тех самых 1 или 10 милисек. Например импульс 0,1 сек и период таймера 10 милисек то загружаете 10. Отсчитываете этот счётчик в каждом прерывании таймера, по окончании счётчика сбрасываете ножку в "0". Для того что бы ода импульса возникали на ножках В ОДИН МОМЕНТ ВРЕМЕНИ, выставляете флажки в отдельной переменной, а вывод на ножки производите одной командой.

установка и сброс сигналов
Код:
lds r16,saveport;загрузить
sbr r16,0;вкл 1 сигнал
сbr r16,1;выкл второй сигнал
sts saveport,r16;сохранить
вывод на ножки
Код:
lds r16,saveport;загрузить
out port,r16; вывод

Последний раз редактировалось picavr; 31.01.2010 в 13:54.
picavr вне форума  
Непрочитано 31.01.2010, 16:05  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Одновременный вывод сигнала на PIC

picavr, это все, конечно, очень правильно. Но человек бейсик изучает. А вы ему на асме пишите.
Easyrider83 вне форума  
Непрочитано 31.01.2010, 17:15  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Одновременный вывод сигнала на PIC

Сообщение от Easyrider83 Посмотреть сообщение
picavr, это все, конечно, очень правильно. Но человек бейсик изучает. А вы ему на асме пишите.
К тому же еще и не на PICовском...
realid вне форума  
Непрочитано 31.01.2010, 18:53  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Одновременный вывод сигнала на PIC

Сообщение от Easyrider83 Посмотреть сообщение
человек бейсик изучает. А вы ему на асме пишите.
На асме был показан только вывод в порт, ЕСЛИ потребуется ОДНОВРЕМЕННОЕ ИЗМЕНЕНИЕ сигналов на ножках... да и ИМХО разница между PIC и AVR в этом случае не большая.

А описание алгоритма применимо любому языку. Останется закодировать на требуемом языке. Как правило разработка алгоритма это более 50-70% работы.
Я не в курсе можно ли организовать прерывания по таймеру на Васике, место прерывания по переполнению таймера можно использовать просто выдержку времени на заданное время.
Остальное останется так же.

На Васике вывод думаю будет аналогичным.. только комманд Васика я не в курсе... наверное примерно так
Код:
OUT PORT,SAVEPORT

Последний раз редактировалось picavr; 31.01.2010 в 19:17.
picavr вне форума  
Непрочитано 31.01.2010, 22:57  
Huuligan
Частый гость
 
Регистрация: 20.05.2007
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Huuligan на пути к лучшему
По умолчанию Re: Одновременный вывод сигнала на PIC

Всем огромное спасибо за советы и поддержку!

Кажется идею понял (таймеры и прерывания). Сегодня ночью постараюсь воплотить эту идею в программном коде.
Huuligan вне форума  
Непрочитано 03.02.2010, 03:31  
Huuligan
Частый гость
 
Регистрация: 20.05.2007
Сообщений: 31
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Huuligan на пути к лучшему
По умолчанию Re: Одновременный вывод сигнала на PIC

Всем Доброго времени суток!

С таймерами и прерываниями не разобрался пока, но решил маленькую задачу программно на Бейсике. Задача: сформировать на В.0 сигнал частой 2Гц, на В.4 и В.7 частоту 1Гц при одновременном выполнении основной программы. Может и криво получилось, но...
вобщем вот так:
Вложения:
Тип файла: doc Cicle.doc (22.5 Кб, 75 просмотров)

Последний раз редактировалось Huuligan; 03.02.2010 в 03:37. Причина: не прикрепился файл
Huuligan вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Flowcode for PIC v4 sa502 Proteus, KiCAD и другие ECAD 867 12.02.2019 19:38
Не могу запустить CCP на PIC16F870 (PIC SIMULATOR IDE) Easyrider83 Микроконтроллеры, АЦП, память и т.д 6 29.11.2009 23:40
Простейший радиопередатчик и приемник неизменяющегося сигнала. Аслан Автоматика и аппаратура связи 1 22.11.2009 17:02
Радиокалькулятор ColorAndCode 9.3 optima22 Информация по радиокомпонентам 0 10.11.2009 11:01
Амплитуда кварцевого генератора в PIC tsb Микроконтроллеры, АЦП, память и т.д 13 08.10.2009 09:42


Часовой пояс GMT +4, время: 11:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot