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

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

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

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

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

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

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

 
Опции темы
Непрочитано 13.06.2012, 11:49  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

Сообщение от Bumbarra Посмотреть сообщение
Да правильно написанный код примитивного мигания двух десятков диодов вообще займет, грубо говоря, не более сотни слов, вместе с инициализацией...
А говорят, что только охотники и рыбаки могут так сочинять! А они сейчас нервно курят в сторонке.
Это получается, что на каждый светодиод достаточно не более пяти слов? Очень смело. Впрочем, если все светодиоды будут мигать одновременно... так можно и сотней светодиодов мигать.
Реклама:
Alex9797 вне форума  
Непрочитано 13.06.2012, 11:58  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

Когда я писал программы для 1816ВЕ35/48, было вполне естественно, что память программ разбита на страницы по 256 байт, и условные переходы работают только внутри текущей страницы. Поэтому надо было самому отслеживать заполнение памяти, на границах страниц вручную ставить безусловные переходы, или пользоваться подпрограммами, а тело основной программы втиснуть в одну страницу, и из нее их вызывать.
Alex9797 вне форума  
Непрочитано 13.06.2012, 12:53  
Flopix
Гражданин KAZUS.RU
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

Сообщение от Alex9797 Посмотреть сообщение
Это получается, что на каждый светодиод достаточно не более пяти слов?
Чтобы изменить состояние порта микроконтроллера в PIC достаточно 1 команды.
Для реализации софт задержки достаточно соорудить пару циклов в цикле ну это до 20 команд. Так что 100 команд на эту программу вместе с инициализацией будет более чем достаточно, конечно если писать на асемблере.

К примеру моя программа для PIC12F629 занимала примерно 1500 слов и умела следующее:

1. Софт эмуляция приема передачи через USART которого в этом чипе нет.
2. Распознавание команд получаемых через ИК приемник с пульта ДУ.
3. Прием отправка пакетов через осветительную сеть с проверкой на ошибки и запросом на повторную передачу в случае необходимости (на подобии протокола X10 но немного по другому)
4. Плавное управление симистором для управления освещением.

Это должен был быть выключатель встраиваемый вместо обычного бытового.

Последний раз редактировалось Flopix; 13.06.2012 в 13:38.
Flopix вне форума  
Непрочитано 13.06.2012, 12:55  
Flopix
Гражданин KAZUS.RU
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

Сообщение от Alex9797 Посмотреть сообщение
Когда я писал программы для 1816ВЕ35/48, было вполне естественно, что память программ разбита на страницы по 256 байт, и условные переходы работают только внутри текущей страницы. Поэтому надо было самому отслеживать заполнение памяти, на границах страниц вручную ставить безусловные переходы, или пользоваться подпрограммами, а тело основной программы втиснуть в одну страницу, и из нее их вызывать.
Может быть там просто переход нельзя было сделать далее чем на +-128 адресов, так как команда условного перехода принимает в качестве операнда 1 байт?
Flopix вне форума  
Непрочитано 13.06.2012, 13:05  
st__1
Заблокирован
 
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
st__1 на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

Сообщение от Flopix Посмотреть сообщение
Так что 100 команд на эту программу вместе с инициализацией будет более чем достаточно,
Пример в студию!!!
Сообщение от Flopix Посмотреть сообщение
конечно если писать на асемблере.
К какая разница???
Напишите на ассемблере..

Последний раз редактировалось st__1; 13.06.2012 в 13:50.
st__1 вне форума  
Непрочитано 13.06.2012, 13:26  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

Сообщение от Flopix Посмотреть сообщение
Может быть там просто переход нельзя было сделать далее чем на +-128 адресов, так как команда условного перехода принимает в качестве операнда 1 байт?
Не "может", а так и есть. Поэтому, если сильно надо было перейти по условию на другую страницу, условный переход приходилось сначала адресовать на команду с безусловным переходом, расположенную на этой же странице.
Это воспринималось нормально, как необходимое зло, с которым просто приходится считаться.
Alex9797 вне форума  
Непрочитано 13.06.2012, 13:36  
Flopix
Гражданин KAZUS.RU
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

st__1, очепятался, 1500 слов , исправил.

Последний раз редактировалось Flopix; 13.06.2012 в 13:38.
Flopix вне форума  
Непрочитано 13.06.2012, 13:42  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

Сообщение от Flopix Посмотреть сообщение
Чтобы изменить состояние порта микроконтроллера в PIC достаточно 1 команды.
Для реализации софт задержки достаточно соорудить пару циклов в цикле ну это до 20 команд. Так что 100 команд на эту программу вместе с инициализацией будет более чем достаточно, конечно если писать на асемблере.
Напоминает легенду о вознаграждении для изобретателя шахмат. За первую клетку - одно пшеничное зерно, за вторую - два, за третью - четыре... Какой пустячок! Мешок зерна, не более!

Когда перейти от слов к делу, то быстро окажется, что мигать двумя десятками светодиодов - не так уж просто. Особенно если уточнить, что именно означает понятие "мигать". Это тупо включить, пауза, выключить, пауза? Так и для этого сотни слов маловато будет. Кроме того, быстро окажется, что миганию каждого светодиода очень мешают остальные 19.
Ладно, попробуйте...
Alex9797 вне форума  
Непрочитано 13.06.2012, 13:43  
Flopix
Гражданин KAZUS.RU
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

Alex9797, всмысле мешают? Они что каждый мигают не синхронно?
Flopix вне форума  
Непрочитано 13.06.2012, 13:55  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Как в PIC 16f877 переключать страницы памяти?

Сообщение от Flopix Посмотреть сообщение
Они что каждый мигают не синхронно?
Конечно! Иначе о чем бы спорить? Если они мигают синхронно, то достаточно одного порта, а светодиодов можно хоть сотню параллельно навесить. Хоть тысячу. Хоть сто тысяч.

Конечно же, я под словами "мигать двумя десятками светодиодов" подразумеваю, что каждый из них мигает независимо от других, со своими длительностями свечения и паузы.
А как вы поняли эту задачу?
Alex9797 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC 16F877/Лампочка с ключом vip7070 Proteus 26 08.04.2010 13:23
PIC 16F877 АЦП подлючение терморезистора. ataripc Микроконтроллеры, АЦП, память и т.д 0 13.11.2007 14:01
PIC 16F877 - встроенный генератор aks_ Микроконтроллеры, АЦП, память и т.д 1 18.02.2007 18:19
Программатор для PIC 16F877 Mouserx Микроконтроллеры, АЦП, память и т.д 2 12.12.2006 14:04
Страницы памяти chipic128 Микроконтроллеры, АЦП, память и т.д 12 12.11.2005 16:11


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


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