чтобы получилось на до пробОвать, а не пробЫвать ...С.Н. писал(а):переперобывал
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
чтобы получилось на до пробОвать, а не пробЫвать ...С.Н. писал(а):переперобывал
чтобы получилось на до пробОвать, а не пробЫвать ...[/uquote]С.Н. писал(а):переперобывал
Код: Выделить всё
;Nokia5110 ЖКИ тест
.device Atmega8
.include "m8def.inc" ;1МГц
;lcd Port
.equ ddrLCD=ddrD
.equ portLCD=portD
;lcd Pins,распиновка ЖК:
.equ _light=1;light
.equ _pwr=2 ;+5v
.equ _gnd=0 ;gnd
.equ _sclk=3 ;clk,sclk - клок
.equ _sdin=4 ;din,sdin - дата
.equ _dc=5 ;dc,d/c - выбор копанда/данные
.equ _sce=6 ;ce,sce - chip enable
.equ _rst=7 ;rst - reset
.org 0 ;начало кода
rjmp start
start:
;====установка портов====
ldi R16,(1<<_pwr)|(1<<_gnd)|(1<<_light)|(1<<_sclk)|(1<<_sdin)|(1<<_dc)|(1<<_sce)|(1<<_rst)
out ddrLCD,R16
ldi R16,(1<<_pwr)|(0<<_gnd)|(1<<_light)|(1<<_sclk)|(0<<_sdin)|(1<<_dc)|(0<<_sce)|(1<<_rst)
out portLCD, R16
clr R16
out ddrB, R16 ;PortB
out portB, R16
out ddrC, R16 ;PortС
out portC, R16
;------------------------
;инициализация Nokia5110
cbi portLCD,_rst
nop
sbi portLCD,_rst
;команда
cbi portLCD,_dc
;0x09 зажечь все пиксели
cbi portLCD,_sdin;0
cbi portLCD,_sclk
sbi portLCD,_sclk
cbi portLCD,_sdin;0
cbi portLCD,_sclk
sbi portLCD,_sclk
cbi portLCD,_sdin;0
cbi portLCD,_sclk
sbi portLCD,_sclk
cbi portLCD,_sdin;0
cbi portLCD,_sclk
sbi portLCD,_sclk
sbi portLCD,_sdin;1
cbi portLCD,_sclk
sbi portLCD,_sclk
sbi portLCD,_sdin;1
cbi portLCD,_sclk
sbi portLCD,_sclk
cbi portLCD,_sdin;0
cbi portLCD,_sclk
sbi portLCD,_sclk
sbi portLCD,_sdin;1
cbi portLCD,_sclk
sbi portLCD,_sclk
main:
rjmp main
Код: Выделить всё
;инициализация Nokia5110
sbi portLCD,_rst
cbi portLCD,_dc;инструкции
ldi R17,0x20 ;LCD Basic Commands
rcall write5110
ldi R17,0x0c ;LCD in normal mode
rcall write5110
sbi portLCD,_dc;данные
ldi R16,84 ;закрасить блок 84х8 точек
srtoka:
ldi R17,0b10101010
rcall write5110
dec R16
brne srtoka
...
...
;SPI Nokia 5110
;R17-дата,R18-счетчик
write5110:
clr R18 ;counter
data5110:
cbi portLCD,_sdin;sdi=0
lsl R17 ;move
brcc b_5110 ;C=0,флаг переноса
sbi portLCD,_sdin;sdi=1
b_5110:
sbi portLCD,_sclk;sclk=1
inc R18
cbi portLCD,_sclk;sclk=0
cpi R18,8 ;8-бит
brlo data5110
ret
Код: Выделить всё
ldi R16,84
srtoka:
ldi R17,0b10101010
rcall write5110
dec R16
brne srtoka
ldi R16,84
srtoka2:
ldi R17,0b10101010
rcall write5110
dec R16
brne srtoka2
...
...
Код: Выделить всё
.db 0xFC,0x84,0xDA,0xCE,0xA6,0x6E,0x7E,0xC4,0xFE,0xEE
Код: Выделить всё
.db 0xFC,0x84,0xDA,0xCE,0xA6,0x6E,0x7E,0xC4,0xFE,0xEE,0x00
Код: Выделить всё
.db 0xFC,0x84,0xDA,0xCE,0xA6,0x6E,0x7E,0xC4,0xFE,0xEE,0x00,0x00