roboforum.ru

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

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

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

Кирилл » 15 апр 2006, 11:39

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

EdGull » 15 апр 2006, 12:12

переведи переменную из числового формата в текстовый и отредактируй ее. На экране ЖКИ не видно текст это или число :-)

Кирилл » 15 апр 2006, 13:09

при помщи чего переводить?case?

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 » 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

Кирилл » 23 апр 2006, 10:22

Ок, все работает как хотелось, спасибо большое

bodja » 26 апр 2006, 20:20

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

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

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

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

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

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

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

Кирилл » 27 апр 2006, 16:52

а как насчет использования асемблерных вставок, не пробовали?
$ASM
...
$END ASM

bodja » 27 апр 2006, 20:41

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

Догда возникает очередной вопрос ,какие промежуточные регистры использует компилятор,что бы при написании проги с использованием библиотеки не пересекатся с ними?

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 курса.

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-й наверное :)

avr123.nm.ru » 28 апр 2006, 01:36

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


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

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


Кхе... кхе...

Кирилл » 09 май 2006, 14:48

Всем спасибо выйграл конкурс электроники Литвы

Кирилл » 09 авг 2006, 01:21

Братья по разуму!
Мне снова нужна ваша помощь!
на этот раз пытаюсь освоить динамическую индикацию  :RTFM:
может быть у кого нибудь есть работающий пример?
Заранее благодарен.

avr123.nm.ru » 09 авг 2006, 09:34

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

в данном случае это апноуты BASCOM.


Rambler\'s Top100 Mail.ru counter