Сегодня-таки научился буквы писАть.
Надо сказать, готового рецепта в инете накопать не смог.
Пришлось помучиться.
Вот что получилось: (Извините, но у Вас нет доступа в Галерею)
Выкладываю листинг, вдруг кому полезно будет:
*
* lcd_servo1.asm
*
* Created: 30.09.2013 19:18:45
* Author: se
*/
.macro del //задержка
ldi bebe,@2 //0,0,1-0.6338us
ldi meme,@1 //0,1,0-0.16ms
ldi kuku,@0 //1,0,0-40.96ms
subi bebe,1
sbci meme,0
sbci kuku,0
brcc pc-3
.endmacro
.macro lcdcom //отправка команды в ЛСД
cbi portc,rs
ldi bebe,@0
out portd,bebe
sbi portc,e
del 0,0,3
cbi portc,e
del 0,0,60
.endmacro
.macro lcddata //отправка данных в ЛСД
sbi portc,rs
ldi bebe,@0
out portd,bebe
sbi portc,e
del 0,0,3
cbi portc,e
del 0,0,60
.endmacro
.macro initlcd
//настраиваем порты Д-на вывод данных. С4 и С5 на вывод е и rs соответственно
ldi bebe,255
out ddrd,bebe
out portd,bebe
in bebe,ddrc
sbr bebe,((1<<rs)|(1<<e))
out ddrc,bebe
sbi portc,rs
sbi portc,e
del 0,200,0
lcdcom 0b00111000 //8бит шина 2строки 5*8 пикселов в знаке
lcdcom 0b00001100
//забиваем символы в знакогенератор
lcdcom 0b01000000
// Б
lcddata 0b00011110
lcddata 0b00001001
lcddata 0b00001000
lcddata 0b00001110
lcddata 0b00001001
lcddata 0b00001001
lcddata 0b00010111
lcddata 0b00000000
// Е
lcddata 0b00011110
lcddata 0b00001001
lcddata 0b00001000
lcddata 0b00001100
lcddata 0b00001010
lcddata 0b00001000
lcddata 0b00010111
lcddata 0b00000000
// Р
lcddata 0b00011110
lcddata 0b00001001
lcddata 0b00001001
lcddata 0b00001101
lcddata 0b00001011
lcddata 0b00001000
lcddata 0b00010100
lcddata 0b00000000
// Н
lcddata 0b00011010
lcddata 0b00001001
lcddata 0b00001001
lcddata 0b00001101
lcddata 0b00001011
lcddata 0b00001001
lcddata 0b00010001
lcddata 0b00000000
// Д
lcddata 0b00011110
lcddata 0b00001001
lcddata 0b00001001
lcddata 0b00001001
lcddata 0b00001101
lcddata 0b00001011
lcddata 0b00010001
lcddata 0b00000000
// Й
lcddata 0b00011010
lcddata 0b00001000
lcddata 0b00001001
lcddata 0b00001011
lcddata 0b00001101
lcddata 0b00001001
lcddata 0b00010001
lcddata 0b00000000
// -
lcddata 0b00000000
lcddata 0b00000000
lcddata 0b00000000
lcddata 0b00011110
lcddata 0b00000001
lcddata 0b00000000
lcddata 0b00000000
lcddata 0b00000000
lcdcom 0b00000001
del 0,17,255
lcdcom 0b00000110
.endmacro
.equ rs=5
.equ e=4
.def bebe=r16
.def meme=r17
.def kuku=r18
.org 0
rjmp start
start:
initlcd
lcdcom 0b00000001
del 0,10,0
lcddata 'n'
lcddata 'u'
lcddata 'c'
lcddata 'l'
lcddata 'o'
lcddata 'n'
lcddata 0x20
lcddata '-'
lcdcom 0b11000110
lcddata 6
lcddata 0x20
lcddata 0
lcddata 1
lcddata 2
lcddata 1
lcddata 3
lcddata 4
lcddata 1
lcddata 5
loop:
rjmp loop