roboforum.ru

Технический форум по робототехнике.

вопрос по бейсику

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

вопрос по бейсику

Сообщение Кирилл » 15 апр 2006, 11:39

Здраствуйте. У меня возникла такая проблема:
Я сейчас делаю часы с ЖК дисплеем(16*2), и мне нужно выводить на дисллей переменные(часы,минуты,секунды) в таком формате: 01:01:01
тоесть, чтобы перед числом меньше десяти стоял ноль.
Подскажите пожалуйста тип переменной или другой способ который поможет осуществить данную задумку.
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

Сообщение EdGull » 15 апр 2006, 12:12

переведи переменную из числового формата в текстовый и отредактируй ее. На экране ЖКИ не видно текст это или число :-)
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Сообщение Кирилл » 15 апр 2006, 13:09

при помщи чего переводить?case?
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

Сообщение gosu » 23 апр 2006, 03:21

так сделай вот так

DIM HOUR AS BYTE
DIM MINUT AS BYTE
DIM SEC AS BYTE

DO

'ПРОГРАММА ЧАСОВ
GOSUB LCD

LOOP

LCD:
LOCATE 1,1 'НАЧАЛЬНАЯ ПОЗИЦИЯ НА ИНДИКАТОРЕ
iF HOUR < 10 THEN LCD "0" 'ЕСЛИ ПЕРЕМЕННАЯ <10 СТАВИМ 0
LCD  HOUR ' ВЫВОДИМ САМУ ПЕРЕМЕННУЮ
IF MINUT < 10 THEN LCD "0"
LCD MINUT
IF SEC < 10 THEN LCD "0"
LCD SEC
RETURN
gosu
 
Сообщения: 56
Зарегистрирован: 17 янв 2006, 10:16
Откуда: Москва

Сообщение gosu » 23 апр 2006, 03:23

gosu писал(а):так сделай вот так

DIM HOUR AS BYTE
DIM MINUT AS BYTE
DIM SEC AS BYTE

DO

'ПРОГРАММА ЧАСОВ
GOSUB LCD

LOOP

LCD:
LOCATE 1,1 'НАЧАЛЬНАЯ ПОЗИЦИЯ НА ИНДИКАТОРЕ
iF HOUR < 10 THEN LCD "0" 'ЕСЛИ ПЕРЕМЕННАЯ <10 СТАВИМ 0
LCD  HOUR ' ВЫВОДИМ САМУ ПЕРЕМЕННУЮ
IF MINUT < 10 THEN LCD "0"
LCD MINUT
IF SEC < 10 THEN LCD "0"
LCD SEC
RETURN


Забыл добавить

LCD:
LOCATE 1,1 'НАЧАЛЬНАЯ ПОЗИЦИЯ НА ИНДИКАТОРЕ
iF HOUR < 10 THEN LCD "0" 'ЕСЛИ ПЕРЕМЕННАЯ <10 СТАВИМ 0
LCD  HOUR ' ВЫВОДИМ САМУ ПЕРЕМЕННУЮ
lcd ":"
IF MINUT < 10 THEN LCD "0"
LCD MINUT
lcd ":"
IF SEC < 10 THEN LCD "0"
LCD SEC
RETURN
gosu
 
Сообщения: 56
Зарегистрирован: 17 янв 2006, 10:16
Откуда: Москва

Сообщение Кирилл » 23 апр 2006, 10:22

Ок, все работает как хотелось, спасибо большое
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

Сообщение bodja » 26 апр 2006, 20:20

Ну и у меня возник вопрос к местным знатокам БАСКОМа.

Пытался работать непосредсвенно регистрами РОН ,ничего не получается.

Пишу команду типа

R20=0
Компилятор ругается.

Залез в файл обьявления имен регистров (типа  "m48def.dat" )
там их нет.

Пытался найти что то в ХЕЛПе.Есть упоминания,но ничего конкретного.

Просьба приведите пару строк работы с регистром РОН и с его битами,
если такое возможно.
bodja
 
Сообщения: 47
Зарегистрирован: 19 мар 2006, 01:30
Откуда: Украина,г.Бердичев

Сообщение Кирилл » 27 апр 2006, 16:52

а как насчет использования асемблерных вставок, не пробовали?
$ASM
...
$END ASM
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

Сообщение bodja » 27 апр 2006, 20:41

Асемблерные вставки тоже хорошо,точнее не очень.
Вопрос с регистрами у меня возник из за того,что компилятор я так понял хранит все переменные в ОЗУ,что приводит к серьезному увеличению компилируемого кода.
Если делать асемблерные вставки,мне прийдется их делать сплош и рядом,в результате будет полная путаница в коде.
Попробую написать библиотеку для работы с регистрами,может
что нибуть получится путное с этим БАСКОМом.

Догда возникает очередной вопрос ,какие промежуточные регистры использует компилятор,что бы при написании проги с использованием библиотеки не пересекатся с ними?
bodja
 
Сообщения: 47
Зарегистрирован: 19 мар 2006, 01:30
Откуда: Украина,г.Бердичев

Сообщение avr123.nm.ru » 27 апр 2006, 21:20

bodja писал(а):что нибуть получится путное с этим БАСКОМом.


Да, если почитать курс и узнать на ПЕРВОЙ странице что нужно смотреть апноуты на сайте производителя и примеры кода.

где взять?

на ПЕРВОЙ странице курса написано - GOOGLE

ищем

http://www.google.ru/search?hl=ru&as_qd ... %D0%BA&lr=

и КОНЕЧНО находим

http://www.mcselec.com/download/appnotes/bascomrtos.bas

=====

короче лучше как в курсе советуется и как 90% народу делает - юзать СИ.

например кодвижен и др.

как разместить по адресу? в FAQ курса.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение bodja » 28 апр 2006, 00:09

avr123.nm.ru писал(а):
bodja писал(а):что нибуть получится путное с этим БАСКОМом.


Да, если почитать курс и узнать на ПЕРВОЙ странице что нужно смотреть апноуты на сайте производителя и примеры кода.

где взять?

на ПЕРВОЙ странице курса написано - GOOGLE

ищем

http://www.google.ru/search?hl=ru&as_qd ... %D0%BA&lr=

и КОНЕЧНО находим

http://www.mcselec.com/download/appnotes/bascomrtos.bas

Да про GOOGLE что то слышал, :)
пример кода меня не обрадовал,имеем то о чем я говорил выше.
Разбирался с библиотекой,похоже все пишется как подпрограмма ,а не как макрокоманда,к уменьшению кода это не приведет.
=====

короче лучше как в курсе советуется и как 90% народу делает - юзать СИ.

например кодвижен и др.

как разместить по адресу? в FAQ курса.


Ну вообще решил размять пальцы около БАСКОМа для расширения кругозора,и по религии он мне ближе.
Дойдет конечно очередь и до Си.
Считаю знание нескольких языков никому не вредит,
и думаю Ваш курс мне поможет освоить  и язык Си.

А курс хороший,Вам респект,уже 1000-й наверное :)
bodja
 
Сообщения: 47
Зарегистрирован: 19 мар 2006, 01:30
Откуда: Украина,г.Бердичев

Сообщение avr123.nm.ru » 28 апр 2006, 01:36

bodja писал(а):Да про GOOGLE что то слышал, :)
пример кода меня не обрадовал, имеем то о чем я говорил выше.


ну результат то есть - раз и в апноуте сделано через асм вставки, то ответ найден - так и надо делать в БАСКОМе.  Т.е. вопрос закрытым стал с ясным результатом.

bodja писал(а):А курс хороший,Вам респект,уже 1000-й наверное :)


Кхе... кхе...
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Кирилл » 09 май 2006, 14:48

Всем спасибо выйграл конкурс электроники Литвы
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

Сообщение Кирилл » 09 авг 2006, 01:21

Братья по разуму!
Мне снова нужна ваша помощь!
на этот раз пытаюсь освоить динамическую индикацию  :RTFM:
может быть у кого нибудь есть работающий пример?
Заранее благодарен.
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

Сообщение avr123.nm.ru » 09 авг 2006, 09:34

ну как написано в моем курсе смотри апноуты.

в данном случае это апноуты BASCOM.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

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