Технический форум по робототехнике.
serg » 26 мар 2006, 03:18
здравствуйте всем, помогите пожалуйста с такой вещью как ввод числа с клавиатуры подключенной к PORTA (цифры вводятся от 1-10), т.е. идет последовательный ввод цифр, затем эти цифры должны быть преобразованы в число. Пример: 1,2,3,4 - это мы ввели цифры в некоторые буферы, a:=1, b:=2, c:=3, d:=4. a:=a*1000,b:=b*100,
c:=c*10, summa:=a+b+c+d. Да и то ввод цифр не является фиксированным т.е. нужно определить сколько было введено цифр чтобы произвести действие преобразования. Вот пример который покажет что я имел ввиду, только он какой то бред несет.
1,5,0,0 в итоге 1500 (DEC) 05DC(HEX)
пример:
var:.byte 1
var1:.byte 1
var2:.byte 1
var3:.byte 1 ;выделяем для каждого числа байт, это потом будет
выведено на ЖКИ индикатор к примеру число 1500
ldi temp,1 ; это цифра получена с клавиатуры
sts var,temp ;записываю в память
ldi temp,5 ; это цифра получена с клавиатуры
sts var1,temp
.set pl1 = var*1000 ; произвожу вычисления
.set pl2 = var1*100
.set pl = pl1+pl2 ; складываю
ldi r17,low(pl);младший
ldi r18,high(pl);старший
(это число мне нужно для дальнейших вычислений и потом как то
надо опять его преобразовать в отдельные цифры)
только после всего этого какая то ерунда получается.
за ранее благодарен за помощь.
все эти var-ы применяются как буферы получения с клавиатуры
некоторой цифры (1-10) (10 - является как ноль).
wolf » 26 мар 2006, 03:39
В ассемблере нет переменных, есть константы и метки. Их-то Вы и перемножаете в приведённом тексте; смысла в этом, разумеется, нет, поскольку никакого кода при этом ассемблером не генерируется. Чтобы получить нужный результат, нужно написать подпрограмму умножения 2-байтных чисел, принимающую множители и возвращающую произведение в регистрах.
avr123.nm.ru » 26 мар 2006, 11:52
serg писал(а):помогите пожалуйста с такой вещью как ввод числа с клавиатуры подключенной к PORTA (цифры вводятся от 1-10)
я советую вам использовать компилятор CodeVisionAVR или BASCOM - там это в виде готовых функций и примеров.
и не только клавиатура а все что активно используется микроконтроллерщиками.
serg » 26 мар 2006, 15:15
советую вам использовать компилятор CodeVisionAVR или BASCOM - там это в виде готовых функций и примеров.
а где же взять этот компилятор и примеры к нему
serg » 26 мар 2006, 16:02
хочу еще спроить скачал недавно компилятор mikroPascal for AVR
так вот все доступные функции записаны только для ATmega , а для AT90S8535 только простые вычисления. Суть вопроса можно ли написать программу для ATMega8535 , а затем изготовленный HEX код
запрограммировать в AT90S8535 . Да и еще этот mikroPascal for AVR использует USB выход для программирования, а можно ли использовать HEX код для например AVR Studio. спасибо.
avr123.nm.ru » 26 мар 2006, 17:59
serg писал(а):хочу еще спроить ...
спасибо.
Ну как тут не послать туда куда я обычно посылаю ? Потратить пол-дня и туман рассеится довольно заметно !
serg » 26 мар 2006, 19:19
очень не хорошо посылать когда Вас спрашивают о элементарных вещах как специалиста по проггаммированию. Хорошо , скачал я этот компилятор CodeVisionAVR обе версии , одна урезана до 2 Кб можно программировать, другая просит пароль. Может кто знает как эту версию сломать с её паролем ?
avr123.nm.ru » 26 мар 2006, 20:43
serg писал(а):очень не хорошо посылать когда Вас спрашивают о элементарных вещах
Ну это смотря куда посылать.
Послать начинающего почитать Краткий курса для начинающих - по моему это хорошо.
Под моим ником же написано.
Я раньше линк давал но НЕ начинающие говорят что линк запомнили и просили не раздражать их взор,
а я им говорил что есть еще и начинающие которые этот линк не знают.
wolf » 27 мар 2006, 00:30
serg писал(а):очень не хорошо посылать когда Вас спрашивают о элементарных вещах как специалиста по проггаммированию. Хорошо , скачал я этот компилятор CodeVisionAVR обе версии , одна урезана до 2 Кб можно программировать, другая просит пароль. Может кто знает как эту версию сломать с её паролем ?
Тут рядом отдельная тема посвящена тому, откуда скачать полноценный CVAVR.
EdGull » 27 мар 2006, 08:39
avr123.nm.ru писал(а):serg писал(а):очень не хорошо посылать когда Вас спрашивают о элементарных вещах
Ну это смотря куда посылать.
Послать начинающего почитать Краткий курса для начинающих - по моему это хорошо.
Под моим ником же написано.
Я раньше линк давал но НЕ начинающие говорят что линк запомнили и просили не раздражать их взор,
а я им говорил что есть еще и начинающие которые этот линк не знают.
Можно посылать так "идите на (в) мое место обитания" или "туда от куда я "
![Cool 8-)](http://roboforum.ru/images/smilies/icon_cool.gif)