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

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

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

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

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

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

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

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

Проблема в том, что код прийдет байтом. И на сколько я знаю, в асме нет команды сравнения значений в регистрах.
Не имею ввиду модуль ЗахватасравненияШИМ, еще не изучил до конца.
Сегодня посетила другая идея:
Как писал уважаемый kison, за что огромное спасибо, внести некоторые изменения: вместо возврата из подпрограммы с загрузкой константы RETLW применить команду goto и указать метку подпрограммы исполнения, получится такой вариант, в коде числа приходит "адрес" ячейки в таблице, он прибавляется к адресу стека - ADDWF PC, и переход осуществляется на требуемую команду перехода и соответственно исполнение нужного алгоритма.
Вынашу идею на ваш суд.

Еще вопрос: Как лучше принять пиком 16f628a 40 бит информации по последовательному интерфейсу идущему со скоростью 9,6 б/сек. Есть идея 5 байт принять с помощью USART, а потом разложить по регистрам. Может кто еще что подскажет, лучше или удобней?
Реклама:
J-t вне форума  
Непрочитано 09.01.2008, 02:50  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Что то я не пойму а чем не устраивает предложение kison-a ?
Код:
;W содержит
;значение смещения

CALL TABLE ;
           
          ;W теперь содержит
          ;значение из таблицы.
         
TABLE    ADDWF  PC  ;W=смещение
         RETLW    k1;Начало таблицы table
         RETLW    k2
         *
         *
         *
         RETLW    kn; конец таблицы table
CERGEI1982 вне форума  
Непрочитано 09.01.2008, 03:12  
J-t
Частый гость
 
Регистрация: 18.10.2007
Сообщений: 22
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
J-t на пути к лучшему
По умолчанию

Предложение дельное, но есть одно но.
Мне нужно исполнение одной из подпрограмм, в зависимости от пришедшего кода. А применив предложенный вариант я получаю только загрузку нового байта в аккумулятор, а это просто число. Ведь как работает:
;W содержит
;значение смещения

CALL TABLE ;вызов подпрограммы TABLE

;W теперь содержит
;значение из таблицы.

TABLE ADDWF PC ;W=смещение
RETLW k1;Начало таблицы table
RETLW k2
т.е. в коде приходит константа смещения по таблице, а при возврате из подпрограммы в W загружена константа из таблицы командой RETLW. В моем предложении так:
W содержит
;значение смещения

CALL TABLE ;

;теперь выполнена нужная подпрграмма

TABLE ADDWF PC ;W=смещение
goto M1 ;переход на М1
goto M2 ;переход на М2

M1
bfs PORTB,1 ;например зажечь бит порта В
return ;возврат
M2
bsf PORTB,2
return
*************
J-t вне форума  
Непрочитано 09.01.2008, 04:04  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Вполне работоспособное решение. Даже я бы сказал - стандартное для ущербного микрочиповского ядра. Удачи!

ЗЫ. А может все же сменить процессор? АВР дешевле и намного лучше. Или если такая тяга к Микрочипу то DSPic вполне достоин внимания.
kison вне форума  
Непрочитано 09.01.2008, 04:13  
J-t
Частый гость
 
Регистрация: 18.10.2007
Сообщений: 22
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
J-t на пути к лучшему
По умолчанию

Я совсем недавно работаю с микроконтроллерами и во многом еще не разобрался. Что есть DSPic, если в двух словах? Или где почитать? Буду признателен.
J-t вне форума  
Непрочитано 09.01.2008, 04:44  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Как обычно, на сайте производителя - http://www.microchip.com/stellent/id...PAGE&nodeId=75
Но если только начинаете, то пока еще легко сменить платформу - выбирайте АВР. Меги16 за 2 доллара хватит чтобы "пощупать" практически все. Да и быстродействие повыше, команд побольше. Там есть команда сравнения
kison вне форума  
Непрочитано 09.01.2008, 04:56  
J-t
Частый гость
 
Регистрация: 18.10.2007
Сообщений: 22
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
J-t на пути к лучшему
По умолчанию

Спасибо за совет и за ссылку, сонный уже, сразу не сообразил где искать. Но все же хочется с ПИКами повозится. Не знаю чем, но по душе
Вы не подскажите ответ на вопрос: как лучше 40 бит информации в ПИК принять. Есть идея получше USART (асинхронный), скорость 9600 ?
J-t вне форума  
Непрочитано 09.01.2008, 07:37  
Drex
Прописка
 
Аватар для Drex
 
Регистрация: 16.04.2004
Сообщений: 201
Сказал спасибо: 337
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
Drex на пути к лучшему
По умолчанию

А принять 40 бит информации ОТКУДА? Если с компа по RS-232, то лучше USART идеи уже не будет.

P.S. И почему все АВРщики так пик хают. У него всего 35 команд на асме, разобраться проще простого, да и сишных компиляторов хватает. У АВРа 130 команд. Ну и что, что у АВР быстродействие выше? Зато у пиков счетчик асинхронный. Да и светодиодами моргать даже этого быстродействия за глаза. Начинать с dsPIC все же не самая лучшая идея. 628-й вполне подходящий вариант для освоения.
Drex вне форума  
Непрочитано 09.01.2008, 14:34  
J-t
Частый гость
 
Регистрация: 18.10.2007
Сообщений: 22
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
J-t на пути к лучшему
По умолчанию

Да как раз почти из компа... С бесконтактного считывателя, для контроля доступа. CTU-005.
Спасибо, продолжаю работать с USART.
J-t вне форума  
Непрочитано 09.01.2008, 14:42  
avgust75
Прописка
 
Регистрация: 01.11.2006
Сообщений: 199
Сказал спасибо: 0
Сказали Спасибо 15 раз(а) в 13 сообщении(ях)
avgust75 на пути к лучшему
По умолчанию Re: Реализация чтения таблиц для Pic

Сообщение от J-t
Как на асемблере написать таблицу для Pic?
Например таблицу с ASCII кодов.
Подключить внешнюю память и с помощью программатора зашить хоть кучу таблиц. Затем путем перебора и сравнения принятого байта и считанного из таблицы байта на принятие решения (используя адрес)

SUBWF REG1,0
BTFSC STATUS,Z
(чем не сравнение регистров?)
avgust75 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита от чтения delay AVR 5 15.11.2012 13:01
RSTDSBL в Attiny26 – защита от чтения? dima777 Микроконтроллеры, АЦП, память и т.д 3 10.03.2008 21:08
AT89S8253 проблема чтения из внутренней EEPROM thunder367 Микроконтроллеры, АЦП, память и т.д 5 09.08.2007 13:08
Устройства для записи/чтения на TLCS-47 (Toshiba)??? seruj Микроконтроллеры, АЦП, память и т.д 0 30.11.2006 11:18
USB Флэш память: помогите подобрать контроллер чтения/записи Vaicartana Микроконтроллеры, АЦП, память и т.д 0 30.01.2005 06:30


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


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