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

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

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

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

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

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

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

 
Опции темы
Непрочитано 31.12.2007, 02:19  
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,535
Сказал спасибо: 698
Сказали Спасибо 4,313 раз(а) в 1,977 сообщении(ях)
Kabron на пути к лучшему
По умолчанию

Да, так лажанулся я или нет?
Расслабился очень самому думать лень.
Реклама:
Kabron вне форума  
Непрочитано 31.12.2007, 12:38  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Если порт настроен только на вывод и в процессе работы не меняется направление выдачи - то можно, не влияет. Во всех других вариантах - ну, в 18 пиках регистр LAT не зря придумали... А на 16, чтобы не было сюрпризов, я лично уже давно для порта держу регистр и меняю биты в нем - а потом его выдаю. Имхо, лучший вариант.
urry вне форума  
Непрочитано 14.03.2008, 15:22  
vsbars
Прохожий
 
Регистрация: 17.05.2007
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
vsbars на пути к лучшему
По умолчанию

Может кто-то подскажет у меня такая проблема. Схема в Proteuse 7.2SP2 моделируется и работает так как я хочу. Однако когда я запускаю программу на на MPLAB 8.0 в симуляторе MPLAB SIM то порт А не переключается практически никогда (все время 00 и только в конце при передаче USART 10). Когда я запускаю программу на на MPLAB 8.0 в симуляторе Proteus VSM порт А работает как надо порт В работает как-то странно т.е данные, такие как надо, попадают в порт В не сразу а через несколько циклов работы. И при приеме USART при входе на прием первого байта из этого цикла никогда не выходит. Подскажите в чем может быть проблема файлы прилагаю.

Прикрепленный файл: 7432945.zip
vsbars вне форума  
Непрочитано 14.03.2008, 15:43  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Что касаемо порта А, то Вы не выключили компараторы (во всяком случае, я не увидел -movlw 07 movwf comcon ).Что касается порта В ... Имхо, используйте прерывание.И зачем описывать регистры ? Подключите заголовочный файл.
urry вне форума  
Непрочитано 14.03.2008, 17:58  
J-t
Частый гость
 
Регистрация: 18.10.2007
Сообщений: 22
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
J-t на пути к лучшему
По умолчанию

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


Да, кстате. У тебя в программе на команде проверки принятия первого байта происходит переполнение сторожевого таймера и программа просто сбрасывается.
Просмотри это.
J-t вне форума  
Непрочитано 19.03.2008, 10:43  
vsbars
Прохожий
 
Регистрация: 17.05.2007
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
vsbars на пути к лучшему
По умолчанию

Большое спасибо за ответ. Но я хотел спросить почему в разных симуляторах одна и таже программа ведет себя по разному. Может есть какие-то хитрости (это мой первый проект). Хотелось быть уверенным в правильности симуляции. Могу сказать больше что в MPLAB v4.72 при симуляции MPLAB SIM порт А работает так как надо но при приеме USART из цикла не выходит. В программе PROTEUS v7.2SP5 все работает как надо порт А вырабатывает синхросигналы записи в регистр, при приеме и передаче USART порт В вырабатывает пачки CLC по 24 импульса при приеме и передаче и никто не циклится. Чему верить? Привожу осцилограмму сигналов в PROTEUS. Хочу так же спросить почему симуляция в PROTEUS идет очень медленно разряды переключаются со скоростью примерно 1 сек. Можно ли увеличить скорость интерполяции (компьютер Р4 2ГГц ОЗУ 1,25 Гб), чтобы динамическая индикация работала как в примерах?

-- Прилагается рисунок: --

vsbars вне форума  
Непрочитано 19.03.2008, 14:30  
J-t
Частый гость
 
Регистрация: 18.10.2007
Сообщений: 22
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
J-t на пути к лучшему
По умолчанию

Значится так:
В симуляторе MPLAB не возможно, на сколько я знаю, смоделировать прием или передачу байта модулем USART.
Вот программа и вертится в цикле, потому, что проверяется поднятие флага приема байта от модуля.
А он установится в 1 только после того как будет принят байт и только. В симуляторе, ты можешь отработать саму программу, в смысле- время задержки, точность исполнения алгоритма, значения регистров, запись-чтение EEPROM ит. д.
А PROTEUS моделирует работу железа и передача информации по USART в этом эмуляторе возможна, вот она и происходит, по этому программа не зацикливается, потому, что моделируется поднятие флага от USART при принятии байта.
Что касается скорости работы, то исполнение инструкции программы в МК зависит от частоты тактового генератора, посмотри в MPLAB под какую частоту писалась программа, открой в PROTEUSe свойства микроконтроллера и поставь требуемую частоту.
J-t вне форума  
Непрочитано 19.03.2008, 15:05  
TEHb
Почётный гражданин KAZUS.RU
 
Аватар для TEHb
 
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
TEHb на пути к лучшему
По умолчанию

Сообщение от vsbars
Хочу так же спросить почему симуляция в PROTEUS идет очень медленно разряды переключаются со скоростью примерно 1 сек. Можно ли увеличить скорость интерполяции (компьютер Р4 2ГГц ОЗУ 1,25 Гб), чтобы динамическая индикация работала как в примерах?
Скорость можно очень сильно увеличить если убрать транзисторы, вместо них можно поставить цифровые инверторы. И поставить в резисторах и диодах тип DIGITAL вместо ANALOG. Если используются аналоговые элементы, то симулируются точные формы сигналов. В цифровой - только задержки и уровни сигналов. В данной схеме это без разницы абсолютно, как я вижу.
TEHb вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Согласование уровней ввода вывода в одном устройстве. kovkaa Микроконтроллеры, АЦП, память и т.д 15 17.06.2009 13:55
Модуль цифрового ввода-вывода! Superki Производственное оборудование 1 08.04.2009 00:25
Подключение к плате PCI дискретного ввода rolax Ремонт оргтехники 0 24.05.2008 22:23
работа USART в PIC16F628A CERGEI1982 Микроконтроллеры, АЦП, память и т.д 23 09.04.2007 14:39
RA4/TOCKI в режиме порта вывода Кирилка Микроконтроллеры, АЦП, память и т.д 1 11.02.2004 00:18


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


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