реклама на сайте
подробности

 
 
6 страниц V  « < 3 4 5 6 >  
Reply to this topicStart new topic
> Миниатюрный вольтметр, ATtiny24 + АЛС314 кто мельче предложит?
muravei
сообщение Nov 14 2015, 10:27
Сообщение #61


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата
кто мельче предложит?

Вольтметр с бегущей строкой на диповском 35 сегментном индикаторе , лежащим на боку. sm.gif
Пост , перем ток , несколько диапазонов , с питанием - спичечный коробок. Мега8
"Радио" №4-09
Go to the top of the page
 
+Quote Post
Santik
сообщение Nov 14 2015, 10:52
Сообщение #62


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 30-03-12
Из: Мирный (Якутия)
Пользователь №: 71 096



Цитата(Димон Безпарольный @ Nov 14 2015, 10:31) *
В таком миниатюрном решении клавиатура не нужна. Думаю что и ATTINY26 вполне хватит на три разряда - для вольтметра блока питания этого вполне достаточно.

А почему без клавиатуры? Хотя бы 7 кнопок - на расширение... Мало ли где ещё придётся этот индикатор применить!
Три разряда - это хорошо, а знак???
Предположим, ты в компьютерный блок питания вольтметр ставишь --> +-5V +-12, 3.3V - 3 цифры+знак, как минимум. Расширение на клавиатуру - это ж тебя ни к чему не обязывает... Оставишь разъём не использованный.
Опять же, если делать из того же стандартного компьютерного блока питания перестраиваемый БП, то не помешает ещё и ЦАП для Uref.
Go to the top of the page
 
+Quote Post
Димон Безпарольн...
сообщение Nov 14 2015, 17:24
Сообщение #63


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Цитата(Santik @ Nov 14 2015, 13:52) *
А почему без клавиатуры? Хотя бы 7 кнопок - на расширение... Мало ли где ещё придётся этот индикатор применить!
Три разряда - это хорошо, а знак???
Предположим, ты в компьютерный блок питания вольтметр ставишь --> +-5V +-12, 3.3V - 3 цифры+знак, как минимум. Расширение на клавиатуру - это ж тебя ни к чему не обязывает... Оставишь разъём не использованный.
Опять же, если делать из того же стандартного компьютерного блока питания перестраиваемый БП, то не помешает ещё и ЦАП для Uref.

Все решения одним изделием не охватить. Компьютерный БП я бы сделал на PC2004LRSCNH - H. В четыре строки можно вывести все напряжения и температуры. А это изделие должно быть настолько мало чтобы была возможность впаять его в разрыв кабеля питания подобно предохранителям с пластиковым держателем.
Go to the top of the page
 
+Quote Post
muravei
сообщение Nov 15 2015, 09:40
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(Димон Безпарольный @ Nov 14 2015, 20:24) *
должно быть настолько мало

Примерно с 16-ногий ДИП не подойдет?
Go to the top of the page
 
+Quote Post
Santik
сообщение Nov 16 2015, 05:08
Сообщение #65


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 30-03-12
Из: Мирный (Якутия)
Пользователь №: 71 096



Цитата(muravei @ Nov 15 2015, 12:40) *
Примерно с 16-ногий ДИП не подойдет?

Лучше TQFP32. Пусть 4 разряда с точкой. (7+1)+4 (управление разрядами)=12 линий I/O уже заняты. А ещё надо входы АЦП, а для удобства еще линии для программирования оставить, возможно линии для клавиатуры и связи с другими МК. Возможно ещё понадобятся выходы для индикации аварийных режимов (больше, меньше нормы) , а это уже на компараторах надо. Так что плавно подходим к мысли о TQFP64 :-)
Прикрепленное изображение

Снизу DL1414.
Сверху - разъём аналоговый вход и 2 цифровых I/O
В середине чёрный разъём - для программирования
Внизу - разъем для DS18B20

Сообщение отредактировал Santik - Nov 16 2015, 05:33
Go to the top of the page
 
+Quote Post
Димон Безпарольн...
сообщение Nov 16 2015, 05:54
Сообщение #66


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Цитата(muravei @ Nov 15 2015, 12:40) *
Примерно с 16-ногий ДИП не подойдет?

16-ногий контроллер? Да, я намерен использовать tiny-26 но в soic варианте. Будет компактней.
Go to the top of the page
 
+Quote Post
muravei
сообщение Nov 16 2015, 10:36
Сообщение #67


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(Димон Безпарольный @ Nov 16 2015, 08:54) *
16-ногий контроллер? Да, я намерен использовать tiny-26 но в soic варианте. Будет компактней.

Судя по всему вы будете "писателем, а не читателем"
Цитата
Примерно С 16-ногий ДИП не подойдет?

Ключевое слово С.
Читайте мое предыдущее сообщение.
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Nov 25 2015, 20:30
Сообщение #68


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Nokia 6085 lcd + ATtiny13 я делал, одно из самых мелких и дешевых решений.
Или обязательно светодиодные?
Go to the top of the page
 
+Quote Post
Димон Безпарольн...
сообщение Nov 26 2015, 05:30
Сообщение #69


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Цитата(pavel-pervomaysk @ Nov 25 2015, 23:30) *
Nokia 6085 lcd + ATtiny13 я делал, одно из самых мелких и дешевых решений.
Или обязательно светодиодные?

Конечно подойдёт если размер маленький. Если нетрудно, ткните меня в описалово LCD. Какой там интерфейс?

Впрочем, уже нашёл. Габарит 24х24. И библиотеки тоже. Смущает упоминание что питание подсветки 7В. Хотелось бы питать от 5.

Сообщение отредактировал Димон Безпарольный - Nov 26 2015, 05:45
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Nov 27 2015, 18:10
Сообщение #70


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Тут все с самого начала, фотки прикреплены.
http://monitor.net.ru/forum/viewtopic.php?...c&start=192

Кстати, 6085 ну очень мелкий... Подсветка синяя, не понравилась.
Мне понравились 1202, паять удобно, подсветка от 3,6в работает.

Собственно код.
CODE
; pavel-pervomaysk
; Nokia 1110i,1202,6085
; LCD module
; Time 07.10.2015

; Lcd controller по командам частично совместимый с PCF8814
; SET X adress lcd
; 0x10,0x00 начало строки с 0 го адреса строки
; количество столбцов ЖКИ 96 , штук адрес установки с 0 - 95
; адрес столбца нам нужен 39 , 39 -> HEX = 0x27.
; Установка адреса будет иметь такой вид 0x12,0x07
; 3 старших бита адреса передаются в первой команде
; 4 младших бита адреса передаются во второй команде
; SET Y adress lcd
; Всего 8 полных строк и 9й не полный
; установка адреса Y происходит подачей команд
; 0xB0 первая - 0xB8 девятая строки.
; Дополнительные команды для управления и инициализации ЖКИ
; Сдвиг всей области ЖКИ вверх на 1 0x41
; Сдвиг всей области ЖКИ вверх на 2 0x42
; Сдвиг всей области ЖКИ вверх на 4 0x43
; Сдвиг всей области ЖКИ вверх на 8 0x44
; Сдвиг всей области ЖКИ вверх на 10 0x45
; Сдвиг всей области ЖКИ вверх на 16 0x48
; Сдвиг всей области ЖКИ вниз на 21 0x65
; Контрастность ЖКИ 0x90 ... 0x9F установка по дисплею в проекте
; Очистка картинки (данные соханяются) 0xA2
; Реверсное изображение с низу к верху 0xC8
; Позитивное изображение ЖКИ 0xA6
; Негативное изображение ЖКИ 0xA7
; Заполнение строки с лева на право 0xA1
; |||||||||||||||||||||||||||||||||
; lsb adress ->
; Заполнение строки с права на лево 0xA9
; |||||||||||||||||||||||||||||||||
; <- lsb adress
; Начальное значение курсора строка 0 0xAC
; ЖКИ выключен 0xAE
; ЖКИ включен 0xAF
; RESET lcd 0xE2
; Температурная компенсация включена 0xEB

; DSEG data reserved
.dseg ; RAM 867 bytes!!!
.org 0xFC ; Set Ram adress begin
lcd_xa: .byte 1 ; X address lcd
lcd_yah: .byte 1 ; Y address lcd high byte
lcd_yal: .byte 1 ; Y address lcd low byte
;display: .byte 864 ; RAM array for lcd!

; Each lcd line included 96 bytes!
.equ display = 0xFC+3 ; real 0xFF value
rline1: .byte 96 ; lcd_line1
rline2: .byte 96 ; lcd_line2
rline3: .byte 96 ; lcd_line3
rline4: .byte 96 ; lcd_line4
rline5: .byte 96 ; lcd_line5
rline6: .byte 96 ; lcd_line6
rline7: .byte 96 ; lcd_line7
rline8: .byte 96 ; lcd_line8
rline9: .byte 96 ; lcd_line9





.cseg ; FLASH

; LCD names pinouts
.equ LCD = PORTB ; Порт ЖКИ
.equ clk = PB0 ; вывод тактов в ЖКИ
.equ dat = PB1 ; вывод данных в ЖКИ
.equ cs = PB2 ; выбор чипа

.equ line1 = 0xB0 ; 1
.equ line2 = 0xB1 ; 2
.equ line3 = 0xB2 ; 3
.equ line4 = 0xB3 ; 4
.equ line5 = 0xB4 ; 5
.equ line6 = 0xB5 ; 6
.equ line7 = 0xB6 ; 7
.equ line8 = 0xB7 ; 8


;----- FONT 15x22 ------------;
.equ plus15x22 = 10 ; +
.equ minus15x22 = 11 ; -
.equ celsiy15x22 = 12 ;
.equ dot15x22 = 13 ;





init_lcd: ; Инициализация ЖКИ модуля
ldi tmp,0xE2 ; Internal reset
rcall lcd_cmd ; выводим команду на ЖКИ
ldi tmp,0xEB ; температурная компенсация включена
rcall lcd_cmd ; выводим команду на ЖКИ
ldi tmp,0x2F ; режим питания
rcall lcd_cmd ; выводим команду на ЖКИ
;ldi tmp,0xA1 ; направление LSB -> MSB Nokia 1110i lcd
ldi tmp,0xA9 ; направление MSB -> LSB Nokia 1202 lcd
rcall lcd_cmd ; выводим команду на ЖКИ
ldi tmp,0x95 ; Контрастность ЖКИ 0х90 ... 0х9F
rcall lcd_cmd ; выводим команду на ЖКИ
ldi tmp,0xA4 ; очистить все пиксели жки
rcall lcd_cmd ; выводим команду на ЖКИ
ldi tmp,0xA6 ; позитивное изображение
;ldi tmp,0xA7 ; негативное изображение
rcall lcd_cmd ; выводим команду на ЖКИ
;ldi tmp,0xC8 ; Зеркальное отображение ; NOKIA 6085 small LCD!
;rcall lcd_cmd ; выводим команду на ЖКИ
ldi tmp,0xAF ; включить дисплей
rcall lcd_cmd ; выводим команду на ЖКИ
rcall clr_lcd ; Очищаем ЖКИ от случайного мусора
ret ; на выход


clr_line: ; Очистка линии ЖКИ
ldi xl,low (96) ; загружаем количество столбцов
ldi xh,high(96) ;
ldi tmp,0 ; загружаем данные
rjmp clr_c ; очищаем их
clr_lcd: ; Очистка ЖКИ
rcall lcd_line1 ; выбираем начало ЖКИ
ldi xl,low (864) ; количество столбцов ЖКИ = 864
ldi xh,high(864) ;
ldi tmp,0 ; загружаем данные
clr_c: ; цикл очистки ЖКИ
rcall lcd_data ; выводим данные на ЖКИ
sbiw xl,1 ; счетчик цикла - 1
brne clr_c ; если не равно 0 - то переходим к началу
ret ; return


print_data: ; выводим 864 байта из RAM в ЖКИ
push xl ;
push xh ;
push yl ;
push yh ;
rcall lcd_line1 ; выбираем начало ЖКИ
ldi xl,low (864) ; количество байт ЖКИ = 864
ldi xh,high(864) ;
ldi yl,low (display) ; загружаем адрес L начала блока RAM
ldi yh,high(display) ; загружаем адрес H начала блока RAM
print_c: ; цикл вывода данных в ЖКИ
ld tmp,y+ ; загружаем данные в регистр из RAM с постинкрементом адреса
rcall lcd_data ; выводим данные на ЖКИ
sbiw xl,1 ; счетчик цикла - 1
brne print_c ; если не равно 0 - то переходим к началу
pop yh ;
pop yl ;
pop xh ;
pop xl ;
ret ; выход


lcd_cmd: ; Send command to the lcd
cbi lcd,dat ; DAT -> 0
rjmp _1st_clk ; 1st clock pulse
lcd_data: ; Send data to the LCD
sbi lcd,dat ; DAT -> 1
;----------------------;
_1st_clk: ;
cbi lcd,cs ; CS -> 0
sbi lcd,clk ; CLK -> 1
cbi lcd,clk ; CLK -> 0
;----------------------;
push loop ; Store loop in STACK
push tmp ; Store tmp in STACK
ldi loop,8 ; bit counter
out_byte:
cbi lcd,dat ; DATA -> 0
sbrc tmp,7 ; Bit [7] check
sbi lcd,dat ; if Bit[7]?1{DATA -> 1}
sbi lcd,clk ; CLK -> 1
rol tmp ; tmp =<<1
dec loop ; bitcounter = -1
cbi lcd,clk ; CLK -> 0
brne out_byte ;
;----------------------;
sbi lcd,cs ; CS -> 1
pop tmp ; Restore tmp from STACK
pop loop ; Restore loop from STACK
ret ; return





print_char_5x7: ; print char with font 5 х 7; Warning!, xl register in ASCII code;
push loop ; Save loop in STACK
push xl ; Save XL in STACK
push xh ; Save XH in STACK
push zl ; Save ZL in STACK
push zh ; Save ZH in STACK
ldi tmp,5 ; загрузить значение первого множителя
muls xl,tmp ; Multiply signed xl and tmp
movw xl,r0 ; Copy result back in xl:xh
ldi tmp,160 ; загрузить число 160 DEC в регистр
sub xl,tmp ; отнять от пары число 160 0x00 - 0x1F ненужная data 0x1F * 5 (количество байтов в символе) = 160.
sbc xh,zero ; число 160 - это количество сэкономленых и ненужных байт в флэш мк
ldi zh,high(font_5x7*2) ; загрузить старший адрес строки данных
ldi zl,low (font_5x7*2) ; загрузить младший адрес строки данных
add zl,xl ; выбираем нужный символ в строке
adc zh,xh ; путем прибавления данных к адресу строки
;----------------------;
ldi loop,5 ; загружаем счетчик цикла
pr_ch_5: ; Чтение символа ASCII в цикле
lpm tmp,Z+ ; загрузить в регистр данные по адресу Z с прибавлением 1 к Z
rcall lcd_data ; вывести байт на ЖКИ
dec loop ; bytecunter = (-1)
brne pr_ch_5 ; если не = 0 то опять по кругу
;----------------------;
eor tmp,tmp ; clear tmp
rcall lcd_data ; вывести 6й байт на ЖКИ
pop zh ; restore ZH from STACK
pop zl ; restore ZL from STACK
pop xh ; restore XH from STACK
pop xl ; restore XL from STACK
pop loop ; restore loop from STACK
ret ; return

out_text: ; Вывод текста 5*7 из данных флэши
lpm xl,z+ ; загрузить в регистр данные по адресу Z с прибавлением 1 к Z
rcall print_char_5x7 ; вывести символ на ЖКИ
dec loop2 ; счетчик символов - 1
brne out_text ; если не равно 0 то опять все повторяем
ret ; выход


;----------------------------------------------------------------------------------
print_char_9x14: ; вывод на ЖКИ символа 9 х 14.
push xl ;
push xh ;
push loop ;
push loop2 ;
clr loop2 ; loop2=0
;----------------------;
ldi tmp,18 ; загрузить значение первого множителя (EACH SYMBOL 18bytes)
muls xl,tmp ; Multiply signed xl and tmp
movw xl,r0 ; Copy result back in xl:xh
;----------------------;
ldi loop,2 ; Cycles counter =2
char_9x14c: ;
lds tmp,lcd_yah ; загружаем старший байт адреса Y
rcall lcd_cmd ; выводим команду
lds tmp,lcd_yal ; загружаем младший байт адреса Y
rcall lcd_cmd ; выводим команду
lds tmp,lcd_xa ; загружаем адрес X для следующей строки
add tmp,loop2 ; Xa=[Xa+loop2]
rcall lcd_cmd ; выводим команду
;----------------------;
ldi zh,high(font_9x14*2) ; загрузить старший адрес строки данных
ldi zl,low (font_9x14*2) ; загрузить младший адрес строки данных

;ldi zh,high(font_9x16*2) ; загрузить старший адрес строки данных
;ldi zl,low (font_9x16*2) ; загрузить младший адрес строки данных
;----------------------;
add zl,xl ; выбираем нужный символ в строке
adc zh,xh ; путем прибавления данных к адресу строки
adiw xl,9 ; прибавляем к адресу чтения данных 16
;----------------------;
push loop2 ; store loop2 in STACK
ldi loop2,9 ; загружаем счетчик цикла
pr_ch_9: ; Чтение первых 9 байт в цикле
lpm tmp,z+ ; загрузить в регистр данные по адресу Z с прибавлением 1 к Z
rcall lcd_data ; вывести байт на ЖКИ
dec loop2 ; счетчик - 1
brne pr_ch_9 ; если не = 0 то опять по кругу
pop loop2 ; restore loop2 from STACK
;----------------------;
inc loop2 ; loop2=+1
dec loop ; loop=-1
brne char_9x14c ;
pop loop2 ;
pop loop ;
pop xh ;
pop xl ;
ret ; выход



simvol_9x14_x: ; установка адреса
; 6..4 bits - High byte; 3...0 bits Low byte;
push adr ; Address pointer must be only 0...8 value!!!
ldi tmp,10 ;
mul adr,tmp ; range 0-86 max!
mov adr,r0 ;
;----------------------;
;ldi tmp,3 ; смещение в право на 3 пикселя
;add adr,tmp ; (для негативного изображения чтобы не было краев рубленных)
;----------------------;
mov tmp,adr ;
swap tmp ;
andi tmp,0x07 ;
ori tmp,0x10 ;
andi adr,0x0f ;
sts lcd_yah,tmp ;
sts lcd_yal,adr ;
pop adr ;
rcall print_char_9x14 ; вывести символ 9 х 14 на ЖКИ
ret ; выход



;----------------------------------------------------------------------;

print_char_15x22: ; вывод на ЖКИ символа 15 х 22.
push xl ;
push xh ;
push loop ;
push loop2 ;
clr loop2 ; loop2=0! X pointer = (X pointer + loop2)
;----------------------;
ldi tmp,45 ; загрузить значение первого множителя (EACH SYMBOL 45bytes)
muls xl,tmp ; Multiply signed xl and tmp
movw xl,r0 ; Copy result back in xl:xh
;----------------------;
ldi loop,3 ; Cycles counter =3
char_15x22c: ;
lds tmp,lcd_yah ; загружаем старший байт адреса Y
rcall lcd_cmd ; выводим команду
lds tmp,lcd_yal ; загружаем младший байт адреса Y
rcall lcd_cmd ; выводим команду
lds tmp,lcd_xa ; загружаем адрес X для следующей строки
add tmp,loop2 ; Xa=[Xa+loop2]
rcall lcd_cmd ; выводим команду
;----------------------;
ldi zh,high(font_15x22*2) ; загрузить старший адрес строки данных
ldi zl,low (font_15x22*2) ; загрузить младший адрес строки данных
add zl,xl ; выбираем нужный символ в строке
adc zh,xh ; путем прибавления данных к адресу строки
adiw xl,15 ; прибавляем к адресу чтения данных 15
;----------------------;
push loop2 ; store loop2 in STACK
ldi loop2,15 ; загружаем счетчик цикла
pr_ch_15: ; Чтение первых 15 байт в цикле
lpm tmp,z+ ; загрузить в регистр данные по адресу Z с прибавлением 1 к Z
rcall lcd_data ; вывести байт на ЖКИ
dec loop2 ; счетчик - 1
brne pr_ch_15 ; если не = 0 то опять по кругу
pop loop2 ; restore loop2 from STACK
;----------------------;
inc loop2 ; loop2=+1
dec loop ; loop=-1
brne char_15x22c ;
pop loop2 ;
pop loop ;
pop xh ;
pop xl ;
ret ; return


simvol_15x22_x: ; установка адреса символа (15х22) с переменной adr
; 6..4 bits - High byte; 3...0 bits Low byte;
push adr ; Address pointer must be only 0...5 value!!!
ldi tmp,16 ;
mul adr,tmp ; range 0-80 max!
mov adr,r0 ;
;----------------------;
;ldi tmp,3 ; смещение в право на 3 пикселя
;add adr,tmp ; (для негативного изображения чтобы не было краев рубленных)
;----------------------;
mov tmp,adr ;
swap tmp ;
andi tmp,0x07 ;
ori tmp,0x10 ;
andi adr,0x0f ;
sts lcd_yah,tmp ;
sts lcd_yal,adr ;
pop adr ;
rcall print_char_15x22 ; вывести символ 15 х 22 на ЖКИ
ret ; выход



;----------------------;


lcd_line1: ; 1я Линия ЖКИ для вывода информации
rcall lcd_line ;
ldi tmp,0xB0 ;
rcall lcd_cmd ;
ret ;
lcd_line2: ; 2я Линия ЖКИ для вывода информации
rcall lcd_line ;
ldi tmp,0xB1 ;
rcall lcd_cmd ;
ret ;
lcd_line3: ; 3я Линия ЖКИ для вывода информации
rcall lcd_line ;
ldi tmp,0xB2 ;
rcall lcd_cmd ;
ret ;
lcd_line4: ; 4я Линия ЖКИ для вывода информации
rcall lcd_line ;
ldi tmp,0xB3 ;
rcall lcd_cmd ;
ret ;
lcd_line5: ; 5я Линия ЖКИ для вывода информации
rcall lcd_line ;
ldi tmp,0xB4 ;
rcall lcd_cmd ;
ret ;
lcd_line6: ; 6я Линия ЖКИ для вывода информации
rcall lcd_line ;
ldi tmp,0xB5 ;
rcall lcd_cmd ;
ret ;
lcd_line7: ; 7я Линия ЖКИ для вывода информации
rcall lcd_line ;
ldi tmp,0xB6 ;
rcall lcd_cmd ;
ret ;
lcd_line8: ; 8я Линия ЖКИ для вывода информации
rcall lcd_line ;
ldi tmp,0xB7 ;
rcall lcd_cmd ;
ret ;
lcd_line9: ; 9я Линия ЖКИ для вывода информации
rcall lcd_line ;
ldi tmp,0xB8 ;
rcall lcd_cmd ;
ret
lcd_line: ;
ldi tmp,0x10 ;
rcall lcd_cmd ;
ldi tmp,0x00 ;
rcall lcd_cmd ;
ret ;








demonstration: ; Вывод текста из FLASH на ЖКИ
rcall lcd_line2 ; выбираем строку
ldi zh,high(txt5*2) ; загружаем начальный адрес строки текста
ldi zl,low (txt5*2) ; умножаем указатель адреса на 2
ldi loop2,16 ; загружаем количество символов в строке
rcall out_text ; выводим текст на ЖКИ

rcall lcd_line4 ; выбираем строку
ldi zh,high(txt6*2) ; загружаем начальный адрес строки текста
ldi zl,low (txt6*2) ; умножаем указатель адреса на 2
ldi loop2,16 ; загружаем количество символов в строке
rcall out_text ; выводим текст на ЖКИ

rcall lcd_line6 ; выбираем строку
ldi zh,high(txt4*2) ; загружаем начальный адрес строки текста
ldi zl,low (txt4*2) ; умножаем указатель адреса на 2
ldi loop2,16 ; загружаем количество символов в строке
rcall out_text ; выводим текст на ЖКИ

rcall lcd_line8 ; выбираем строку
ldi zh,high(txt2*2) ; загружаем начальный адрес строки текста
ldi zl,low (txt2*2) ; умножаем указатель адреса на 2
ldi loop2,16 ; загружаем количество символов в строке
rcall out_text ; выводим текст на ЖКИ

rcall wait_075s ; Demonstration wait !
rcall wait_075s ; Demonstration wait !
rcall clr_lcd ; очистка ЖКИ
ret ; выход



Txt1: ; Текст 1
.db "pavel-pervomaysk"
Txt2: ; Текст 2
.db "Edited 08.10.15"
Txt3: ; Текст 3
.db "ATmega8A-PU cpu "
Txt4: ; Текст 4
.db "-Nokia 1200 LCD-"
Txt5:
.db "----Bathroom----" ;
Txt6:
.db "--Heated floor--" ;
Txt7:
.db "----WARNING!----" ;
Txt8:
.db "--NOT PRESENCE--" ;
Txt9:
.db " DS WIRE SHORTED" ;










font_5x7:
.db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5f,0x00,0x00 ; 0x20 ' ' ; 0x21 '!'
.db 0x00,0x07,0x00,0x07,0x00,0x14,0x7f,0x14,0x7f,0x14 ; 0x22 '"' ; 0x23 '#'
.db 0x24,0x2a,0x7f,0x2a,0x12,0x23,0x13,0x08,0x64,0x62 ; 0x24 '$' ; 0x25 '%'
.db 0x36,0x49,0x55,0x22,0x50,0x00,0x05,0x03,0x00,0x00 ; 0x26 '&' ; 0x27 ''
.db 0x00,0x1c,0x22,0x41,0x00,0x00,0x41,0x22,0x1c,0x00 ; 0x28 '(' ; 0x29 ')'
.db 0x14,0x08,0x3e,0x08,0x14,0x08,0x08,0x3e,0x08,0x08 ; 0x2A '*' ; 0x2B '+'
.db 0x00,0x50,0x30,0x00,0x00,0x08,0x08,0x08,0x08,0x08 ; 0x2C ',' ; 0x2D '-'
.db 0x00,0x60,0x60,0x00,0x00,0x20,0x10,0x08,0x04,0x02 ; 0x2E '.' ; 0x2F '/'
.db 0x3e,0x51,0x49,0x45,0x3e,0x00,0x42,0x7f,0x40,0x00 ; 0x30 '0' ; 0x31 '1'
.db 0x42,0x61,0x51,0x49,0x46,0x21,0x41,0x45,0x4b,0x31 ; 0x32 '2' ; 0x33 '3'
.db 0x18,0x14,0x12,0x7f,0x10,0x27,0x45,0x45,0x45,0x39 ; 0x34 '4' ; 0x35 '5'
.db 0x3c,0x4a,0x49,0x49,0x30,0x01,0x71,0x09,0x05,0x03 ; 0x36 '6' ; 0x37 '7'
.db 0x36,0x49,0x49,0x49,0x36,0x06,0x49,0x49,0x29,0x1e ; 0x38 '8' ; 0x39 '9'
.db 0x00,0x36,0x36,0x00,0x00,0x00,0x56,0x36,0x00,0x00 ; 0x3A ':' ; 0x3B ';'
.db 0x08,0x14,0x22,0x41,0x00,0x14,0x14,0x14,0x14,0x14 ; 0x3C '<' ; 0x3D '='
.db 0x00,0x41,0x22,0x14,0x08,0x02,0x01,0x51,0x09,0x06 ; 0x3E '>' ; 0x3F '?'
.db 0x32,0x49,0x79,0x41,0x3e,0x7e,0x11,0x11,0x11,0x7e ; 0x40 '' ; 0x41 'A'
.db 0x7f,0x49,0x49,0x49,0x36,0x3e,0x41,0x41,0x41,0x22 ; 0x42 'B' ; 0x43 'C'
.db 0x7f,0x41,0x41,0x22,0x1c,0x7f,0x49,0x49,0x49,0x41 ; 0x44 'D' ; 0x45 'E'
.db 0x7f,0x09,0x09,0x09,0x01,0x3e,0x41,0x49,0x49,0x7a ; 0x46 'F' ; 0x47 'G'
.db 0x7f,0x08,0x08,0x08,0x7f,0x00,0x41,0x7f,0x41,0x00 ; 0x48 'H' ; 0x49 'I'
.db 0x20,0x40,0x41,0x3f,0x01,0x7f,0x08,0x14,0x22,0x41 ; 0x4A 'J' ; 0x4B 'K'
.db 0x7f,0x40,0x40,0x40,0x40,0x7f,0x02,0x0c,0x02,0x7f ; 0x4C 'L' ; 0x4D 'M'
.db 0x7f,0x04,0x08,0x10,0x7f,0x3e,0x41,0x41,0x41,0x3e ; 0x4E 'N' ; 0x4F 'O'
.db 0x7f,0x09,0x09,0x09,0x06,0x3e,0x41,0x51,0x21,0x5e ; 0x50 'P' ; 0x51 'Q'
.db 0x7f,0x09,0x19,0x29,0x46,0x46,0x49,0x49,0x49,0x31 ; 0x52 'R' ; 0x53 'S'
.db 0x01,0x01,0x7f,0x01,0x01,0x3f,0x40,0x40,0x40,0x3f ; 0x54 'T' ; 0x55 'U'
.db 0x1f,0x20,0x40,0x20,0x1f,0x3f,0x40,0x38,0x40,0x3f ; 0x56 'V' ; 0x57 'W'
.db 0x63,0x14,0x08,0x14,0x63,0x07,0x08,0x70,0x08,0x07 ; 0x58 'X' ; 0x59 'Y'
.db 0x61,0x51,0x49,0x45,0x43,0x00,0x7f,0x41,0x41,0x00 ; 0x5A 'Z' ; 0x5B '['
.db 0x02,0x04,0x08,0x10,0x20,0x00,0x41,0x41,0x7f,0x00 ; 0x5C '' ; 0x5D ']'
.db 0x04,0x02,0x01,0x02,0x04,0x40,0x40,0x40,0x40,0x40 ; 0x5E '^' ; 0x5F '_'
.db 0x00,0x01,0x02,0x04,0x00,0x20,0x54,0x54,0x54,0x78 ; 0x60 '' ; 0x61 'a'
.db 0x7f,0x48,0x44,0x44,0x38,0x38,0x44,0x44,0x44,0x20 ; 0x62 'b' ; 0x63 'c'
.db 0x38,0x44,0x44,0x48,0x7f,0x38,0x54,0x54,0x54,0x18 ; 0x64 'd' ; 0x65 'e'
.db 0x08,0x7e,0x09,0x01,0x02,0x0c,0x52,0x52,0x52,0x3e ; 0x66 'f' ; 0x67 'g'
.db 0x7f,0x08,0x04,0x04,0x78,0x00,0x44,0x7d,0x40,0x00 ; 0x68 'h' ; 0x69 'i'
.db 0x20,0x40,0x44,0x3d,0x00,0x7f,0x10,0x28,0x44,0x00 ; 0x6A 'j' ; 0x6B 'k'
.db 0x00,0x41,0x7f,0x40,0x00,0x7c,0x04,0x18,0x04,0x78 ; 0x6C 'l' ; 0x6D 'm'
.db 0x7c,0x08,0x04,0x04,0x78,0x38,0x44,0x44,0x44,0x38 ; 0x6E 'n' ; 0x6F 'o'
.db 0x7c,0x14,0x14,0x14,0x08,0x08,0x14,0x14,0x18,0x7c ; 0x70 'p' ; 0x71 'q'
.db 0x7c,0x08,0x04,0x04,0x08,0x48,0x54,0x54,0x54,0x20 ; 0x72 'r' ; 0x73 's'
.db 0x04,0x3f,0x44,0x40,0x20,0x3c,0x40,0x40,0x20,0x7c ; 0x74 't' ; 0x75 'u'
.db 0x1c,0x20,0x40,0x20,0x1c,0x3c,0x40,0x30,0x40,0x3c ; 0x76 'v' ; 0x77 'w'
.db 0x44,0x28,0x10,0x28,0x44,0x0c,0x50,0x50,0x50,0x3c ; 0x78 'x' ; 0x79 'y'
.db 0x44,0x64,0x54,0x4c,0x44,0x00,0x08,0x36,0x41,0x00 ; 0x7A 'z' ; 0x7B '{'
.db 0x00,0x00,0x7f,0x00,0x00,0x00,0x41,0x36,0x08,0x00 ; 0x7C '|' ; 0x7D '}'
.db 0x10,0x08,0x08,0x10,0x08,0x06,0x09,0x09,0x06,0x00 ; 0x7E '->'; 0x7F ' ' градус цельсия




font_9x14:
; рубленный шрифт...
; .db 0xff,0xff,0x03,0x03,0x03,0x03,0x03,0xff,0xff,0x3f,0x3f,0x30,0x30,0x30,0x30,0x30,
0x3f,0x3f ; '0'
; .db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x3f,0x3f ; '1'
; .db 0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xff,0xff,0x3f,0x3f,0x30,0x30,0x30,0x30,0x30,
0x30,0x30 ; '2'
; .db 0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xff,0xff,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
0x3f,0x3f ; '3'
; .db 0xff,0xff,0xc0,0xc0,0xc0,0xc0,0xc0,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x3f,0x3f ; '4';
; .db 0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
0x3f,0x3f ; '5'
; .db 0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x3f,0x3f,0x30,0x30,0x30,0x30,0x30,
0x3f,0x3f ; '6'
; .db 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x3f,0x3f ; '7'
; .db 0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0xff,0xff,0x3f,0x3f,0x30,0x30,0x30,0x30,0x30,
0x3f,0x3f ; '8'
; .db 0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0xff,0xff,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
0x3f,0x3f ; '9'


; красивый шрифт 9*16
;------------------------------------------------------------------------------------------------------;
.db 0xFC,0xFE,0xFF,0x03,0x03,0x03,0xFF,0xFE,0xFC,0x3F,0x7F,0xFF,0xC0,0xC0,0xC0,0xFF,
0x7F,0x3F ; 0;
.db 0x0C,0x0E,0x06,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xFF,0xFF,0xFF,0xC0,
0xC0,0xC0 ; 1;
.db 0x06,0x07,0x03,0x03,0x03,0xC7,0xFF,0xFE,0x3C,0xF0,0xF8,0xFC,0xCE,0xC7,0xC3,0xC1,
0xC0,0xC0 ; 2;
.db 0x06,0x07,0x83,0x83,0x83,0xC7,0xFF,0x7E,0x3C,0x60,0xE0,0xC1,0xC1,0xC1,0xE3,0xFF,
0x7F,0x3E ; 3;
.db 0x00,0x80,0xE0,0x70,0x1C,0xFE,0xFF,0xFF,0x00,0x1E,0x1F,0x19,0x18,0x18,0xFF,0xFF,
0xFF,0x18 ; 4;
.db 0xFF,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0x83,0x03,0x60,0xE0,0xC0,0xC0,0xC0,0xE1,0xFF,
0x7F,0x3F ; 5;
.db 0xF0,0xFC,0xFE,0xCE,0xC7,0xC3,0xC3,0x83,0x00,0x3F,0x7F,0xFF,0xC0,0xC0,0xC0,0xFF,
0x7F,0x3F ; 6;
.db 0x03,0x03,0x03,0x03,0xC3,0xF3,0xFF,0x3F,0x0F,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,
0x00,0x00 ; 7;
.db 0x7C,0xFE,0xFF,0x83,0x83,0x83,0xFF,0xFE,0x7C,0x3E,0x7F,0xFF,0xC1,0xC1,0xC1,0xFF,
0x7F,0x3E ; 8;
.db 0xFC,0xFE,0xFF,0x03,0x03,0x03,0xFF,0xFE,0xFC,0x00,0xC1,0xC3,0xC3,0xE3,0x73,0x7F,
0x3F,0x0F ; 9;
;------------------------------------------------------------------------------------------------------;

Cods:
.db 0xfc,0xfe,0xc3,0xc3,0xc3,0xc3,0xc3,0xfe,0xfc,0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,
0x3f,0x3f ; 'A'
.db 0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0x3c,0x3c,0x3f,0x3f,0x30,0x30,0x30,0x30,0x30,
0x0f,0x0f ; 'B'
.db 0xfc,0xfc,0x03,0x03,0x03,0x03,0x03,0x0c,0x0c,0x0f,0x0f,0x30,0x30,0x30,0x30,0x30,
0x0c,0x0c ; 'C'
.db 0xff,0xff,0x03,0x03,0x03,0x03,0x03,0xfc,0xfc,0x3f,0x3f,0x30,0x30,0x30,0x30,0x30,
0x0f,0x0f ; 'D'
.db 0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x3f,0x3f,0x30,0x30,0x30,0x30,0x30,
0x30,0x30 ; 'E'
.db 0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,
0x00,0x00 ; 'F'
.db 0xfc,0xfe,0x03,0x03,0x83,0x83,0x83,0x8e,0x8c,0x0f,0x1f,0x30,0x30,0x31,0x31,0x31,
0x1f,0x0f ; 'G'
.db 0xff,0xff,0xc0,0xc0,0xc0,0xc0,0xc0,0xff,0xff,0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,
0x3f,0x3f ; 'H'
.db 0x00,0x03,0x03,0xff,0xff,0x03,0x03,0x00,0x00,0x00,0x30,0x30,0x3f,0x3f,0x30,0x30,
0x00,0x00 ; 'I'
.db 0x00,0x00,0x00,0x03,0x03,0xff,0xff,0x03,0x03,0x0c,0x1c,0x30,0x30,0x30,0x1f,0x0f,
0x00,0x00 ; 'J'
.db 0xff,0xff,0xc0,0xe0,0x30,0x18,0x0c,0x07,0x03,0x3f,0x3f,0x00,0x01,0x03,0x06,0x0c,
0x38,0x30 ; 'K'
.db 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3f,0x30,0x30,0x30,0x30,0x30,
0x30,0x30 ; 'L'
.db 0xff,0xff,0x06,0x0c,0x18,0x0c,0x06,0xff,0xff,0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,
0x3f,0x3f ; 'M'
.db 0xff,0xff,0x30,0x60,0xc0,0x80,0x00,0xff,0xff,0x3f,0x3f,0x00,0x00,0x00,0x01,0x03,
0x3f,0x3f ; 'N'
.db 0xfc,0xfe,0x03,0x03,0x03,0x03,0x03,0xfe,0xfc,0x0f,0x1f,0x30,0x30,0x30,0x30,0x30,
0x1f,0x0f ; 'O'
.db 0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0x7e,0x3c,0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,
0x00,0x00 ; 'P'
.db 0xfc,0xfe,0x03,0x03,0x03,0x03,0x03,0xfe,0xfc,0x0f,0x1f,0x30,0x30,0x34,0x2c,0x18,
0x37,0x2f ; 'Q'
.db 0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0x7e,0x3c,0x3f,0x3f,0x01,0x03,0x06,0x0c,0x18,
0x30,0x20 ; 'R'
.db 0x3c,0x7e,0xc3,0xc3,0xc3,0xc3,0xc3,0x83,0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,
0x1f,0x0f ; 'S'
.db 0x03,0x03,0x03,0xff,0xff,0xff,0x03,0x03,0x03,0x00,0x00,0x00,0x3f,0x3f,0x3f,0x00,
0x00,0x00 ; 'T'
.db 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x0f,0x1f,0x30,0x30,0x30,0x30,0x30,
0x1f,0x0f ; 'U'
.db 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x03,0x07,0x0c,0x18,0x30,0x18,0x0c,
0x07,0x03 ; 'V'
.db 0xff,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0x0f,0x1f,0x30,0x30,0x1f,0x30,0x30,
0x1f,0x0f ; 'W'
.db 0x07,0x0f,0x18,0xf0,0xe0,0xf0,0x18,0x0f,0x07,0x38,0x3c,0x06,0x03,0x01,0x03,0x06,
0x3c,0x38 ; 'X'
.db 0x3f,0x7f,0xc0,0xc0,0xc0,0xc0,0xc0,0x7f,0x3f,0x00,0x00,0x00,0x3f,0x3f,0x3f,0x00,
0x00,0x00 ; 'Y'
.db 0x03,0x03,0x03,0x83,0xc3,0x63,0x33,0x1f,0x0f,0x3c,0x3e,0x33,0x31,0x30,0x30,0x30,
0x30,0x30 ; 'Z'
.db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00 ; ' ' space
.db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x00,
0x00,0x00 ; '.' point
.db 0x00,0x00,0x00,0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x0f,0x0f,0x00,
0x00,0x00 ; ':'
.db 0x00,0x1c,0x3e,0x63,0x63,0x63,0x3e,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00 ; 'o' градус цельсия
.db 0x00,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00 ; '-' минус
.db 0xc0,0xc0,0xc0,0xf8,0xf8,0xc0,0xc0,0xc0,0x00,0x00,0x00,0x00,0x07,0x07,0x00,0x00,
0x00,0x00 ; '+' плюс
.db 0x80,0x40,0x40,0x40,0x80,0x00,0x00,0x00,0xc0,0x01,0x00,0x00,0x00,0x00,0x01,0x01,
0x01,0x00 ; '~' переменка


; .db 0x,0x,0x,0x,0x,0x,0x,0x,0x, ; здесь добавляем свои символы 9 х 14
; .db 0x,0x,0x,0x,0x,0x,0x,0x,0x ; ' '





font_9x16: ; Digits 0...9; 10 array 18 bytes each; (Nokia 1202 selected phone number digits)
;------------------------------------------------------------------------------------------------------;
.db 0xFC,0xFE,0xFF,0x03,0x03,0x03,0xFF,0xFE,0xFC,0x3F,0x7F,0xFF,0xC0,0xC0,0xC0,0xFF,
0x7F,0x3F ; 0;
.db 0x0C,0x0E,0x06,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xFF,0xFF,0xFF,0xC0,
0xC0,0xC0 ; 1;
.db 0x06,0x07,0x03,0x03,0x03,0xC7,0xFF,0xFE,0x3C,0xF0,0xF8,0xFC,0xCE,0xC7,0xC3,0xC1,
0xC0,0xC0 ; 2;
.db 0x06,0x07,0x83,0x83,0x83,0xC7,0xFF,0x7E,0x3C,0x60,0xE0,0xC1,0xC1,0xC1,0xE3,0xFF,
0x7F,0x3E ; 3;
.db 0x00,0x80,0xE0,0x70,0x1C,0xFE,0xFF,0xFF,0x00,0x1E,0x1F,0x19,0x18,0x18,0xFF,0xFF,
0xFF,0x18 ; 4;
.db 0xFF,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0x83,0x03,0x60,0xE0,0xC0,0xC0,0xC0,0xE1,0xFF,
0x7F,0x3F ; 5;
.db 0xF0,0xFC,0xFE,0xCE,0xC7,0xC3,0xC3,0x83,0x00,0x3F,0x7F,0xFF,0xC0,0xC0,0xC0,0xFF,
0x7F,0x3F ; 6;
.db 0x03,0x03,0x03,0x03,0xC3,0xF3,0xFF,0x3F,0x0F,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,
0x00,0x00 ; 7;
.db 0x7C,0xFE,0xFF,0x83,0x83,0x83,0xFF,0xFE,0x7C,0x3E,0x7F,0xFF,0xC1,0xC1,0xC1,0xFF,
0x7F,0x3E ; 8;
.db 0xFC,0xFE,0xFF,0x03,0x03,0x03,0xFF,0xFE,0xFC,0x00,0xC1,0xC3,0xC3,0xE3,0x73,0x7F,
0x3F,0x0F ; 9;
;------------------------------------------------------------------------------------------------------;



font_15x22: ; Digits 0...9; 5 array 90 bytes each; (Nokia 1202 time digits)
;-------------------------------------;0;1;-----------------------------------------------------------------;
.db 0xF8,0xFC,0xFE,0xFE,0xFE,0x0F,0x07,0x07,0x07,0x0F,0xFE,0xFE,0xFE,0xFC,0xF8,0xFF,
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x0F,
0
x1F,0x1F,0x1F,0x3C,0x38,0x38,0x38,0x3C,0x1F,0x1F,0x1F,0x0F,0x07,0x18,0x1C,0x1C,0
x
1E,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x
0
0,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x38,0x38,0x38,0x3
F
,0x3F,0x3F,0x3F,0x3F,0x38,0x38,0x38,0x38,0x38 ; 0,1;
.db 0x38,0x3C,0x3E,0x3E,0x3E,0x0F,0x07,0x07,0x07,0x8F,0xFF,0xFE,0xFE,0xFC,0xFC,0x00,
0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0x7E,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0x3E,0x3F,
0
x3F,0x3F,0x3F,0x39,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3C,0x3E,0
x
3E,0x3E,0x0F,0x07,0x07,0x07,0x0F,0xFE,0xFE,0xFE,0xFC,0xF8,0x00,0x00,0x00,0x00,0x
0
E,0x0E,0x0E,0x0E,0x1F,0x3F,0xFF,0xFF,0xFF,0xF9,0xE0,0x07,0x0F,0x1F,0x1F,0x1F,0x3
C
,0x38,0x38,0x38,0x3C,0x1F,0x1F,0x1F,0x0F,0x07 ; 2,3;
.db 0x00,0x00,0x00,0x00,0x80,0xC0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,0x00,0x00,0xF0,
0xF8,0xFE,0xFF,0xFF,0xCF,0xC7,0xC1,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0xC0,0x01,0x01,
0
x01,0x01,0x01,0x01,0x01,0x01,0x3F,0x3F,0x3F,0x3F,0x3F,0x01,0x01,0xFF,0xFF,0xFF,0
x
FF,0xFF,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x
0
F,0x0E,0x0E,0x0E,0x1E,0x1E,0xFE,0xFE,0xFC,0xFC,0xF0,0x07,0x0F,0x1F,0x1F,0x1F,0x3
C
,0x38,0x38,0x38,0x3C,0x1F,0x1F,0x1F,0x0F,0x07 ; 4,5;
.db 0x80,0xE0,0xF0,0xF8,0xFC,0xFC,0x3E,0x1E,0x0E,0x0F,0x07,0x07,0x07,0x00,0x00,0xFF,
0xFF,0xFF,0xFF,0xFF,0x1F,0x0E,0x0E,0x0E,0x1E,0xFC,0xFC,0xFC,0xF8,0xF0,0x07,0x0F,
0
x1F,0x1F,0x1F,0x3C,0x38,0x38,0x38,0x3C,0x1F,0x1F,0x1F,0x0F,0x07,0x07,0x07,0x07,0
x
07,0x07,0x07,0x87,0xE7,0xF7,0xFF,0xFF,0x7F,0x1F,0x0F,0x07,0x00,0x00,0x00,0xC0,0x
F
8,0xFE,0xFF,0xFF,0x3F,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x3
F
,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 6,7;
.db 0xF8,0xFC,0xFE,0xFE,0xFE,0x0F,0x07,0x07,0x07,0x0F,0xFE,0xFE,0xFE,0xFC,0xF8,0xF0,
0xF9,0xFF,0xFF,0xFF,0x1F,0x0E,0x0E,0x0E,0x1F,0xFF,0xFF,0xFF,0xF9,0xF0,0x07,0x0F,
0
x1F,0x1F,0x1F,0x3C,0x38,0x38,0x38,0x3C,0x1F,0x1F,0x1F,0x0F,0x07,0xF8,0xFC,0xFE,0
x
FE,0xFE,0x0F,0x07,0x07,0x07,0x0F,0xFE,0xFE,0xFE,0xFC,0xF8,0x03,0x07,0x0F,0x0F,0x
0
F,0x1E,0x1C,0x1C,0x1C,0xFE,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x38,0x38,0x38,0x3
C
,0x1C,0x1E,0x1F,0x0F,0x0F,0x07,0x03,0x01,0x00 ; 8,9;
;---------------------------------------------------------------------;8;9;------------------------------------------;
.db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1c,0x1c,0x1c,0x1c,0x1c,0xff,0xff,0xff,0x1c,0x1c,0x1c,0x1c,0x1c,0x00,0x00,
0
x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
x
00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x1c,0x
1
c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x00,0x00,0x00,0x00,0x00,0x0
0
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; +,-; 10;11
.db 0x00,0x1c,0x3e,0x63,0x63,0x63,0x3e,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,
0
x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
x
00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x
8
0,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x1
f
,0x1f,0x1f,0x1f,0x1f,0x00,0x00,0x00,0x00,0x00 ; ,.; 12;13
.db 0x00,0x00,0x00,0xfc,0xfe,0x03,0x03,0xfe,0xfc,0x00,0x24,0x24,0x24,0x24,0x24,0x00,
0x80,0xc0,0x7f,0x3f,0x00,0x00,0x3f,0x7f,0xc0,0x81,0x01,0x01,0x01,0x01,0x00,0x07,
0
x0f,0x18,0x10,0x10,0x10,0x10,0x18,0x0f,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
x
00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x
0
0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0
0
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; термометр


; 0x00,0xf0,0xfc,0xfe,0x0e,0x07,0x07,0x07,0x07,0x0e,0xfe,0xfc,0xf0,0x00,0x00,0x00,
0x00,0x03,0x07,0x07,0x0e,0x0e,0x0e,0x0e,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x30,
0
x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 старый градус цельсия и точка!


Сообщение отредактировал IgorKossak - Nov 27 2015, 19:42
Причина редактирования: форматирование
Go to the top of the page
 
+Quote Post
Димон Безпарольн...
сообщение Nov 28 2015, 03:38
Сообщение #71


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Только для таких LCD нужен 9- битовый SPI. ATTYNY26 имеет 8-битовый. Atmega8 кажется тоже. Есть ли выход?

Сообщение отредактировал Димон Безпарольный - Nov 28 2015, 03:39
Go to the top of the page
 
+Quote Post
kovigor
сообщение Nov 28 2015, 13:05
Сообщение #72


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Димон Безпарольный @ Nov 28 2015, 07:38) *
Только для таких LCD нужен 9- битовый SPI. ATTYNY26 имеет 8-битовый. Atmega8 кажется тоже. Есть ли выход?

Есть, реализовать SPI программно. Благо, этот интерфейс довольно прост ...
Go to the top of the page
 
+Quote Post
adnega
сообщение Nov 28 2015, 13:57
Сообщение #73


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(kovigor @ Nov 28 2015, 16:05) *
Есть, реализовать SPI программно. Благо, этот интерфейс довольно прост ...

Восемь девятибитных слов превращаются в девять восьмибитных.
Я работаю с виртуальным девятибитным буфером, а затем благополучно отправляю его по восьмибитному аппаратному интерфейсу.
Go to the top of the page
 
+Quote Post
Димон Безпарольн...
сообщение Nov 28 2015, 14:00
Сообщение #74


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Цитата(kovigor @ Nov 28 2015, 16:05) *
Есть, реализовать SPI программно. Благо, этот интерфейс довольно прост ...

Программный интерфейс SPI я писал ещё со времён 8051. Быстродействие низкое.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Nov 28 2015, 14:44
Сообщение #75


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Димон Безпарольный @ Nov 28 2015, 18:00) *
Программный интерфейс SPI я писал ещё со времён 8051. Быстродействие низкое.

А для такого индикатора высокое быстродействие и не требуется ...
Go to the top of the page
 
+Quote Post

6 страниц V  « < 3 4 5 6 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 23:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01613 секунд с 7
ELECTRONIX ©2004-2016