Например TDA7294

Форум РадиоКот • Просмотр темы - Термостат на AT90S2313
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт авг 12, 2025 19:07:49

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Термостат на AT90S2313
СообщениеДобавлено: Ср дек 03, 2014 20:56:08 
Родился

Зарегистрирован: Ср дек 03, 2014 18:18:07
Сообщений: 7
Рейтинг сообщения: 0
Решил собрать термостат на AT90S2313 и DS1620
нашел схему
Вложение:
Безымянный.png [144.74 KiB]
Скачиваний: 500
, нашел код (1.txt), собираю все в протеусе
но компилятор ругается
Вложение:
Безымянный1.png [18.37 KiB]
Скачиваний: 380
, пишет что дисплей неправильно подключен. и что-то еще.
не подскажите ли в чем загвоздка?
Проект под файлом 4.pdsprj
код на ассемблере в файле 1.txt
Вложение:
Новаяпапка(2).rar [252.67 KiB]
Скачиваний: 153


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Ср дек 03, 2014 23:12:46 
Друг Кота
Аватар пользователя

Карма: 195
Рейтинг сообщений: 8544
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Сообщений: 42415
Откуда: Нерезиновая
Рейтинг сообщения: 0
Я не знаю, как вы эмулируете схему в Протеусе, но там НЕТ модели для МЭЛТ- овского индикатора типа МТ-10Т7-7 Говорят, что у этого индикатора ВООБЩЕ нет аналогов..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Ср дек 03, 2014 23:19:23 
Родился

Зарегистрирован: Ср дек 03, 2014 18:18:07
Сообщений: 7
Рейтинг сообщения: 0
листал, искал, подобрал хотя бы похожий по входам)
Думал заменить на другой, но, к сожалению, не дружу с асемблером, сильно повлияет замена дисплея на код?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Ср дек 03, 2014 23:46:43 
Друг Кота
Аватар пользователя

Карма: 195
Рейтинг сообщений: 8544
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Сообщений: 42415
Откуда: Нерезиновая
Рейтинг сообщения: 0
Ну, здесь я вам не помогу..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Чт дек 04, 2014 00:25:28 
Родился

Зарегистрирован: Ср дек 03, 2014 18:18:07
Сообщений: 7
Рейтинг сообщения: 0
так ошибка компиляции вся в дисплей упирается?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Чт дек 04, 2014 06:26:40 
Говорящий с текстолитом
Аватар пользователя

Карма: 8
Рейтинг сообщений: 209
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1520
Рейтинг сообщения: 0
Не ошибка компиляции. Судя по скриншотам - в протеусе что-то неправильно подключено и он ругается.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Чт дек 04, 2014 06:31:58 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7013
Откуда: Ижевск
Рейтинг сообщения: 0
Надо полагать, да. Найдите другую схему, все элементы которой есть в протеусе, и эмулируйте.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Пн дек 08, 2014 22:17:59 
Родился

Зарегистрирован: Ср дек 03, 2014 18:18:07
Сообщений: 7
Рейтинг сообщения: 0
Собрать из других деталей нельзя) надо приговорить к запуску эту модель)
непонятно из-за чего, компилятор ругается на присвоенный регистр ТЕМР, инвалид регистр и все.
Но, в коде есть temp, temp1, temp2 - ругается на них через раз 68 раз. т.е не на все подряд упоминания.
Вложение:
5.txt [14.43 KiB]
Скачиваний: 202

ошибки под спойлером
Спойлерavrasm2.exe -fO -i"C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Tools\AVRASM\appnotes\tn2313def.inc" -o "Debug.obj" -l Debug.lst "..\main.asm"
AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36)
Copyright (C) 1995-2009 ATMEL Corporation

[builtin](2): Including file 'C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Tools\AVRASM\appnotes\tn2313def.inc'
..\main.asm(40): Including file 'C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Tools\AVRASM\appnotes\tn2313def.inc'
..\main.asm(102): error: Invalid register
..\main.asm(104): error: Invalid register
..\main.asm(106): error: Invalid register
..\main.asm(108): error: Invalid register
..\main.asm(116): error: Invalid register
..\main.asm(120): error: Invalid register
..\main.asm(122): error: Invalid register
..\main.asm(128): error: Invalid register
..\main.asm(130): error: Invalid register
..\main.asm(132): error: Invalid register
..\main.asm(134): error: Invalid register
..\main.asm(140): error: Invalid register
..\main.asm(141): error: Invalid register
..\main.asm(152): error: Invalid register
..\main.asm(154): error: Invalid register
..\main.asm(156): error: Invalid register
..\main.asm(159): error: Invalid register
..\main.asm(167): error: Invalid register
..\main.asm(175): error: Invalid register
..\main.asm(193): error: Invalid register
..\main.asm(211): error: Invalid register
..\main.asm(221): error: Invalid register
..\main.asm(244): error: Invalid register
..\main.asm(254): error: Invalid register
..\main.asm(260): error: Invalid register
..\main.asm(270): error: Invalid register
..\main.asm(280): error: Invalid register
..\main.asm(283): error: Invalid register
..\main.asm(291): error: Invalid register
..\main.asm(295): error: Invalid register
..\main.asm(312): error: Invalid register
..\main.asm(316): error: Invalid register
..\main.asm(341): error: Invalid register
..\main.asm(343): error: Invalid register
..\main.asm(345): error: Invalid register
..\main.asm(349): error: Invalid register
..\main.asm(351): error: Invalid register
..\main.asm(358): error: Invalid register
..\main.asm(360): error: Invalid register
..\main.asm(369): error: Invalid register
..\main.asm(370): error: Invalid register
..\main.asm(371): error: Invalid register
..\main.asm(402): warning: .cseg .db misalignment - padding zero byte
..\main.asm(403): warning: .cseg .db misalignment - padding zero byte
..\main.asm(404): warning: .cseg .db misalignment - padding zero byte
..\main.asm(405): warning: .cseg .db misalignment - padding zero byte
..\main.asm(406): warning: .cseg .db misalignment - padding zero byte
..\main.asm(407): warning: .cseg .db misalignment - padding zero byte
..\main.asm(408): warning: .cseg .db misalignment - padding zero byte
..\main.asm(409): warning: .cseg .db misalignment - padding zero byte
..\main.asm(410): warning: .cseg .db misalignment - padding zero byte
..\main.asm(411): warning: .cseg .db misalignment - padding zero byte
..\main.asm(412): warning: .cseg .db misalignment - padding zero byte
..\main.asm(413): warning: .cseg .db misalignment - padding zero byte
..\main.asm(414): warning: .cseg .db misalignment - padding zero byte
..\main.asm(415): warning: .cseg .db misalignment - padding zero byte
..\main.asm(416): warning: .cseg .db misalignment - padding zero byte
..\main.asm(417): warning: .cseg .db misalignment - padding zero byte
..\main.asm(418): warning: .cseg .db misalignment - padding zero byte
..\main.asm(435): error: Invalid register
..\main.asm(445): error: Invalid register
..\main.asm(452): error: Invalid register
..\main.asm(454): error: Invalid register
..\main.asm(456): error: Invalid register
..\main.asm(458): error: Invalid register
..\main.asm(461): error: Invalid register
..\main.asm(463): error: Invalid register
..\main.asm(470): error: Invalid register
..\main.asm(480): error: Invalid register
..\main.asm(488): error: Invalid register
..\main.asm(490): error: Invalid register
..\main.asm(514): error: Invalid register
..\main.asm(517): error: Invalid register
..\main.asm(525): error: Invalid register
..\main.asm(527): error: Invalid register
..\main.asm(551): error: Invalid register
..\main.asm(554): error: Invalid register
..\main.asm(583): error: Invalid register
..\main.asm(586): error: Invalid register
..\main.asm(591): error: Invalid register
..\main.asm(594): error: Invalid register
..\main.asm(598): error: Invalid register
..\main.asm(601): error: Invalid register
..\main.asm(605): error: Invalid register
..\main.asm(607): error: Invalid register

Assembly failed, 68 errors, 17 warnings
make: *** [Debug.obj] Error 1

Error code 2


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Вт дек 09, 2014 06:29:49 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7013
Откуда: Ижевск
Рейтинг сообщения: 0
Начнем с того, что
Код:
.def temp=r11   ;временный регистр

, а обращение к нему идет командой
Код:
ldi   temp,20
.
Уловили?

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Вт дек 09, 2014 15:44:15 
Родился

Зарегистрирован: Ср дек 03, 2014 18:18:07
Сообщений: 7
Рейтинг сообщения: 0
т.е. я присвоил регистру значение, но вызываю не то значение?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Вт дек 09, 2014 18:43:28 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7013
Откуда: Ижевск
Рейтинг сообщения: 0
Эта команда не может иметь операндом этот регистр. Прочтите описание команды ldi.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Вт дек 09, 2014 19:15:50 
Родился

Зарегистрирован: Ср дек 03, 2014 18:18:07
Сообщений: 7
Рейтинг сообщения: 0
LDI - Load Immediate - загрузить непосредственно
т.е команда хочет загрузить данные из регистра, из которого нельзя взять значение?
UPD. не тот регистр присваиваю?
UPD2. не могу уловить сути.
Цитата:
Эта команда не может иметь операндом этот регистр.

мы присвоили регистру название темp, и командой ldi в этот регистр записывается значение 20


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Вт дек 09, 2014 20:38:15 
Родился

Зарегистрирован: Ср дек 03, 2014 18:18:07
Сообщений: 7
Рейтинг сообщения: 0
все, понятно, нельзя использовать присвоенные регистры этой командой
но тогда не хватает регистров для работы(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AT90S2313
СообщениеДобавлено: Ср дек 10, 2014 07:11:08 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7013
Откуда: Ижевск
Рейтинг сообщения: 0
Извините за занудство, но читать надо первоисточники:

Цитата:
LDI - Load Immediate

Description:
Loads an 8 bit constant directly to register 16 to 31.

Operation:
(i)Rd <- K

Syntax: Operands: Program Counter:

(i) LDI Rd,K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC <- PC + 1

to register 16 to 31
А то, что не хватает регистров, - используйте встроенную память. Её там немеряно. (Придётся, правда, самому писать программу. Или закажите у меня.)

_________________
Docendo discimus


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 341


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y