18.03.2011, 23:37
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Извиняюсь.
Ну да сдвиг курсора . Уже стал забывать , давно HD44780 не вертел..
__________________
Осторожно , злой кот
|
|
|
|
18.03.2011, 23:45
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
В общем в том куске аналог этой функции из твоего исходника.
Код:
|
;************************************************* ************
; Подпрограмма записи строки в дисплей
;************************************************* ************
SendLine:
ldi YL,Low(LCDBuf)
ldi YH,High(LCDBuf)
ldi LcdCnt,maxPoz ;Инициализация счётчика
rcall Wait ;ожидание освобождения индикатора
ldi Lcdreg,clrLcd ;CLS курсор в левую позицию
rcall SendCom_8 ;Отправляем в индикатор
SendLoop:
cpi LcdCnt,maxPoz-lowbit
brne sl1
rcall Wait ;ожидание освобождения индикатора
ldi Lcdreg,$C0 ;курсор по адресу 0х40
rcall SendCom_8 ;Отправляем в индикатор
sl1:
rcall Wait ;ожидание освобождения индикатора
ld Lcdreg,Y+ ;Читаем код символа
rcall SendDat_8 ;Отправляем символ в индикатор
dec LcdCnt ;Следующий символ
brne SendLoop ;Следующий
ret |
Только более мощная и элегантная
Код:
|
; unsigned int _lcd_putstr(unsigned char *s)
xdef __lcd_putstr
__lcd_putstr:
ld A,(X) ; берем очередной символ строки
jreq _lcd_putstr_1 ; да - на выход
call __lcd_putchar ; выводим символ
incw X ; смещаем указатель к следующему символу
jra __lcd_putstr ; продолжение цикла вывода
_lcd_putstr_1:
ret |
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 18.03.2011 в 23:52.
|
|
|
|
18.03.2011, 23:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Ага, только с ручным сдвигом. Всё, посмотрели? Я подчищаю. Тема-то про STM...
кстать, там в переменных устанавливается 2мя константами число символов и длина строки индикатора для 1/2х строчных. Чтоб 2мя константами вся перенастройка.
Сообщение от dosikus
|
Только более мощная и элегантная
|
Ну если из этой универсальность убрать - тоже ничего будет.
Последний раз редактировалось omercury; 02.04.2011 в 10:45.
|
|
|
|
19.03.2011, 00:21
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от dosikus
|
Только более мощная и элегантная
Код:
|
; unsigned int _lcd_putstr(unsigned char *s)
xdef __lcd_putstr
__lcd_putstr:
ld A,(X) ; берем очередной символ строки
jreq _lcd_putstr_1 ; да - на выход
call __lcd_putchar ; выводим символ
incw X ; смещаем указатель к следующему символу
jra __lcd_putstr ; продолжение цикла вывода
_lcd_putstr_1:
ret |
|
Чуть элегантнее (быстрее)
Код:
|
; unsigned int _lcd_putstr(unsigned char *s)
xdef __lcd_putstr
__lcd_putstr:
jra __lcd_putstr1 ; Поехали!
_lcd_putstr_0:
call __lcd_putchar ; выводим символ
incw X ; смещаем указатель к следующему символу
_lcd_putstr_1:
ld A,(X) ; берем очередной символ строки
jrne _lcd_putstr_0 ; да - продолжение
ret |
Или нет?
|
|
|
|
19.03.2011, 00:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от Bill
|
Или нет?
|
Ага. 2 такта на каждое знакоместо.
(их, скорее всего, ожидание освобождения индикатора сожрёт, но всё-равно здорово. я даже не стал смотреть на предмет улучшения...)
|
|
|
|
19.03.2011, 00:38
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
omercury, А ты рассматривай ее применительно не к HD44780.
Мне честно говоря это убожество и использовать в лом.
Например к LS020 ...
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 19.03.2011 в 00:40.
|
|
|
|
19.03.2011, 00:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от dosikus
|
omercury, А ты рассматривай ее применительно не к HD44780.
Мне честно говоря это убожество и использовать в лом.
Например к LS020 ...
|
У меня просто лежат MT-10S1 и LM020L, поэтому в лом - не в лом, а использовать надо!
рассмотрел...
Для тех же условий и так же подготовленной строки.
PHP код:
|
;************************************************* ************ SendLine: ldi YL,Low(LCDBuf) ldi YH,High(LCDBuf) rjmp sl1: SendLoop: rcall SendDat_8 ;Отправляем символ в индикатор sl1: ld Lcdreg,Y+ ;Читаем код символа cpi Lcdreg,0 ;не срабатывает brne не меняет команда флаги brne SendLoop ;Следующий ret ;************************************************* ************
|
Последний раз редактировалось omercury; 19.03.2011 в 01:02.
Причина: добавил cpi
|
|
|
|
19.03.2011, 01:04
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
omercury, Кто бы спорил .
Только вот покупать и заниматься AVR меня теперь и под пыткой не заставишь..
__________________
Осторожно , злой кот
|
|
|
|
19.03.2011, 01:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Так, опять же лежат: Меги 32, 162, 8535, 8515, 8, 48. Тиньки 2313, 45, 26, 15L. 13...
Одних 15L больше 30 штук...
Мани потрачены...
|
|
|
|
19.03.2011, 01:16
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
omercury, Прикупи STM до кучи ...
__________________
Осторожно , злой кот
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:08.
|
|