Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.12.2007, 16:59
|
|
Временная регистрация
Регистрация: 08.08.2006
Сообщений: 60
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от urry
|
Вопрос не ко мне, а к производителю - прочтите написанное мелким шрифтом - после включения питания в регистрах - 85 градусов.
|
ответ неверный
по включению питанияв регистрах по умолчанию 0550h (85 гр).. если читать регистры без выполнения команды CONVERT T.. если же команда выполнена, то значение правильным..
-- Прилагается рисунок: --
|
|
|
|
25.12.2007, 00:36
|
|
Прописка
Регистрация: 12.11.2006
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Цитата:
|
ответ неверный
по включению питанияв регистрах по умолчанию 0550h (85 гр).. если читать регистры без выполнения команды CONVERT T.. если же команда выполнена, то значение правильным..
|
да так оно и есть. Я сам затупил - был цыкл считать температуру-показать-коверт Т, вот и вылезал косяк с +85 град. Поставил команду конверт Т перед цыклом и все встало на свои места. Всем спасибо.
|
|
|
|
25.12.2007, 20:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
rremix
Вот ход моих рассуждений,поправь если что не правельно.
При выдачи команды на датчики"поиск адресов" 0хf0,начитаем читать первый бит с датчиков, сохраняя бит в WireByte,7,потом читаем инверсный бит с датчиков,сдвигая регистр WireBytе вправо,получается что первый бит будет в WireByte,6 ,а второй инверсный в WireByte,7 ,и потом идет анализ этих битов и в этом куске мы ложим в регистр WireAddr бит WireByte,7(а он получается инверсный с шины).
Код:
|
DS.RFF.NoFail
bcf WireByte,0
btfsc WireByte,6
bsf WireByte,0
call DS.WriteBit
; Selected adress
bcf WireAddr+7,0
btfsc WireByte,7
bsf WireAddr+7,0 |
А про развветвление соглашусь,то ложится единичка в регистр WireTreePoints при конфликте двух датчиков.
|
|
|
|
26.12.2007, 07:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
И еще вопрос в догунку,как влияет WireByte,5 на определение конфликта? ведь надо смотреть по 7 и 6 биту
Код:
|
; Tree point present
bsf WireTreePoints+7,0
btfsc WireByte,6
bcf WireTreePoints+7,0
btfsc WireByte,5
bcf WireTreePoints+7,0 |
|
|
|
|
26.12.2007, 08:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Все сообразил оказалось перед всеми этими командами была call DS.WriteBit,кторая сдвинула циклически вправо регистр WireByte и получилось что WireByte,7 истный бит, в WireByte,6 инвертированный бит и в WireByte,5 тот же что и в WireByte,7.
Интересный код
|
|
|
|
31.12.2007, 07:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Помогите разобраться вот в этом куске кода,а то не пойму что и от чего зависит,полностью код прикрепляю
Код:
|
DS.RFN.SearchLast.Loop
clrf WireByte
call DS.ReadBit
call DS.ReadBit
bcf WireByte,0
btfsc WireAddr+7,0
bsf WireByte,0
btfss DS.First
bcf WireByte,0
btfsc WireTreePoints+7,0
bsf WireByte,0
; btfsc WireByte,6
; bsf WireByte,0
rlf WireByte,W
xorwf WireByte,W
andlw b'10000000'
btfsc Zero
goto DS.RFN.ConflictDetected
bcf WireByte,0
btfsc WireByte,6
bsf WireByte,0 |
Прикрепленный файл: 850913.rar
|
|
|
|
31.12.2007, 11:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
|
|
|
|
31.12.2007, 14:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Спасибо urry,да и вообще за все советы твои,они сильно помогли
Код разберу на досуге(он полегче чем на ассамблере в несколько раз),просто хотел потренироваться код разобрать,понять принцип для себя
|
|
|
|
31.12.2007, 16:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Хайтеком не пользуюсь,так что подскажи как понять эти определения портов(помню мельком спрашивал,но боюсь мне надо шарить весь форум)
Код:
|
static bit out_t @ (unsigned)&PORTA*8+4;//
static bit in_t @ (unsigned)&PORTA*8+3;//
static bit out1 @ (unsigned)&PORTA*8+0;//
static bit out2 @ (unsigned)&PORTA*8+1;// |
И для чего подключаеш этот файл? у меня в CCS его нет описания
С новым годом всех
|
|
|
|
31.12.2007, 20:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
первая строчка, например - что адрес битовой переменной out_t - ножка а4. А подключение файла pic.h - раз в CCS нет, то и не нужно - объясняет компилятору - какие заголовочные файлы подключать, в зависимости от типа проца и пр.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:22.
|
|