Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
MAZBELAZ
0 / 0 / 0
Регистрация: 09.12.2014
Сообщений: 5
1

Термостат на ATTiny 2313

09.12.2014, 20:02. Просмотров 1445. Ответов 6
Метки нет (Все метки)

Собираю термостат в Протеусе на Attiny 2313.
Имеется код на ассемблере (5.txt)
но компилятор ругается
Кликните здесь для просмотра всего текста
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

разбирались сидели с преподавателем, он тоже не может понять, почему компилятор ругается на регистры.
Может кто-то увидит ошибку свежим глазом?)
сам проект термостата в архиве, проект под файлом 4. (сохранял в нескольких копиях ввиду нестабильности работы программы.)
0
Вложения
Тип файла: txt 5.txt (14.4 Кб, 20 просмотров)
Тип файла: rar Новаяпапка(2).rar (274.4 Кб, 12 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2014, 20:02
Ответы с готовыми решениями:

ATtiny 2313
Добрый день, возникли трудности с работой с МК. Это мой первый практический...

AtTiny 2313, прерывания
Доброго времени суток. Решил освоить программирование МК и сразу же столкнулся...

Attiny 2313 не прошивается
Attiny 2313 пытаюсь прошить через arduino nano но ни как не могу подключил тут...

Работа с UART (Си, ATtiny 2313)
Дорогие формчане и знатаки по микроконтролёрам я Новичок в этом деле. У меня...

Использование таймера в ATTiny 2313
#include <avr/io.h> #include <avr/interrupt.h> unsigned char rab;...

6
Витальич
1274 / 1184 / 174
Регистрация: 02.12.2013
Сообщений: 4,886
09.12.2014, 21:30 2
Команда LDI не работает с регистрами R0 - R15, а только с регистрами R16 - R31
Привет преподу.
1
MAZBELAZ
0 / 0 / 0
Регистрация: 09.12.2014
Сообщений: 5
09.12.2014, 21:37  [ТС] 3
тогда у меня регистров не хватает для присвоения переменных
спасибо, хоть с чем-то разобрался
0
Витальич
1274 / 1184 / 174
Регистрация: 02.12.2013
Сообщений: 4,886
09.12.2014, 21:43 4
Цитата Сообщение от MAZBELAZ Посмотреть сообщение
тогда у меня регистров не хватает для присвоения переменных
Я Вам одну вещь скажу, Вы только не обижайтесь, у AVR есть еще ОЗУ где и можно хранить переменные.
ИМХО: AVR со своими 32 регистрами развращает начинающего "ассемблерщика", обычно, в других архитектурах, регистров значительно меньше.
2
MAZBELAZ
0 / 0 / 0
Регистрация: 09.12.2014
Сообщений: 5
09.12.2014, 21:56  [ТС] 5
а вот по коду сказано, чтобы данные двух переменных хранились в одном регистре, это возможно? ведь компилятор ругается на присвоение одного и того же адреса двум переменным. может не та команда?
;Примечание: Переменные fbinH и tBCD0 должны размещаться в одном
;регистре.
0
pyzhman
791 / 485 / 66
Регистрация: 15.05.2012
Сообщений: 2,744
10.12.2014, 07:27 6
Надо полагать эти переменные где-то в программе используются как одно целое. Как слитное что-ли попроще говоря.

Не по теме:

Цитата Сообщение от Витальич Посмотреть сообщение
развращает
Ага, начинали бы они с 580-го.
Цитата Сообщение от Витальич Посмотреть сообщение
Привет преподу.
Тек-с! Кто делал лабы и курсачи тому преподу? Сознавайтесь! :)

0
Voland_
1688 / 1033 / 97
Регистрация: 04.01.2010
Сообщений: 3,480
10.12.2014, 17:38 7
Цитата Сообщение от MAZBELAZ Посмотреть сообщение
а вот по коду сказано, чтобы данные двух переменных хранились в одном регистре, это возможно? ведь компилятор ругается на присвоение одного и того же адреса двум переменным. может не та команда?
Если эти переменные в паре содержат 8 бит или менее, тогда это вполне возможно. Прочитав пост выше - согласен, нужно подумать - возможно их совместное применение. А возможно и раздельное.
0
10.12.2014, 17:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2014, 17:38

ATtiny 2313. Контроль освещения
Требуется написать программу на Assembler или на С++ Программа не для рабочего...

Attiny 2313 замерзает внутренний тактовый
Объект: Attiny 2313 20SU. Имеются несколько одинаковых девайсов, заточенных на...

Attiny 2313 простая задачка с индикацией
Задача состоит вот в чем: На основе микроконтроллера Atmel Atiny2313...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru