Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
15.03.2010, 21:39
|
|
Гражданин KAZUS.RU
Регистрация: 18.07.2006
Сообщений: 876
Сказал спасибо: 236
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
мигание цифры на LCD
Друзья!
записал цифры на LCD и для выбора режима стала задача замигать отдельными цифрами. Например выводим четыре цифры:
lcd_gotoxy(7,0);
lcd_putchar(49);
lcd_gotoxy(6,0);
lcd_putchar(50);
lcd_gotoxy(5,0);
lcd_putchar(51);
lcd_gotoxy(4,0);
lcd_putchar(52);
теперь необходимо замигать, например ,второй с верху цифрой.
функция
lcd_clear();
стирает все ,а нужно стереть только второй.
если дабится стирания ,потом и замигать не трудно ,но мне не удается это сделать.
смотрел и библиотечные функции ,но не нашел ту ,которая стирала бы выборочно.
Поделитесь пожалуйсто как это сделать?
заранее благодарен.
|
|
|
|
15.03.2010, 22:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: мигание цифры на LCD
Мигание реализуется по таймеру. Для этого можно выводить поочередно пробел символ в заданной позиции с интервалом 0,5-0,7с.
|
|
|
|
15.03.2010, 22:51
|
|
Гражданин KAZUS.RU
Регистрация: 18.07.2006
Сообщений: 876
Сказал спасибо: 236
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Re: мигание цифры на LCD
спасибо за ответ ,но я не понял при таком подходе сама цифра исчезает, или меняется на пробел?
как полностью погасить саму выбранную цифру?
спасибо.
|
|
|
|
15.03.2010, 22:52
|
|
Вид на жительство
Регистрация: 13.02.2010
Сообщений: 372
Сказал спасибо: 12
Сказали Спасибо 15 раз(а) в 12 сообщении(ях)
|
Re: мигание цифры на LCD
Сообщение от begun
|
сама цифра исчезает, или меняется на пробел?
|
ммм, вы дисплей точно "трогали"? или теоретик?
|
|
|
|
15.03.2010, 23:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: мигание цифры на LCD
Сообщение от begun
|
или меняется на пробел?
как полностью погасить саму выбранную цифру?
|
А чем пробел отличается от пустого места? Задачка для начинающего программиста. В заданную позицию экрана выводить или цифру или пробел. Выглядеть это будет как мерцание.
Код:
|
while(1){
lcd_gotoxy(4,0);
lcd_putchar(49);
delay_ms(250);
lcd_gotoxy(4,0);
lcd_putchar(SpaceCode);
delay_ms(250);
} |
это просто для демонстрации эффекта
|
|
|
|
15.03.2010, 23:17
|
|
Гражданин KAZUS.RU
Регистрация: 18.07.2006
Сообщений: 876
Сказал спасибо: 236
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Re: мигание цифры на LCD
я иммитирю lcd в proteus -е и это делал неоднократно, но с миганием столкулся только сейчас.
Пропустил Ваш код в proteus -е и выдал ошибку на "spasecode" ,мол
неизвестный символ.
наверно нужно подключить соответствующую библиотеку ,или я что то не понял?
спасибо.
|
|
|
|
15.03.2010, 23:18
|
|
Вид на жительство
Регистрация: 13.02.2010
Сообщений: 372
Сказал спасибо: 12
Сказали Спасибо 15 раз(а) в 12 сообщении(ях)
|
Re: мигание цифры на LCD
SpaceCode=' '
|
|
|
|
15.03.2010, 23:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: мигание цифры на LCD
Я наизусть не помню кода символа пробел для ЖКИ неизвестного типа, неужели нельзя догадаться ввести цифровое значение для этого символа? Если совсем не понимаете, поставьте любое, и посмотрите, что получится.
|
|
|
|
15.03.2010, 23:28
|
|
Гражданин KAZUS.RU
Регистрация: 18.07.2006
Сообщений: 876
Сказал спасибо: 236
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Re: мигание цифры на LCD
Все получилось, наконец дадумался поставить вместо cpasecode число
20 -пробел и все стало на свое место.
огромгое спасибо.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:04.
|
|