Zabar31

Bascom avr, atmega8 и пара вопросов

5 сообщений в этой теме

Zabar31    9

 

Всех приветствую! Вообщем ситуация такая - (сейчас будет предыстория) стал понемногу интересоваться МК и набрел на статью о подключении экрана нокии 3310 к атмеге8. Вот она http://cxem.net/mc/mc201.php  Сказать что заинтриговало - ничего не сказать... к тому же автор в комментариях написал, что можно поочередно выводить изображения, и таким образом создать анимацию. Так вот, к чему я, была у меня монохромная моторолла и на ней был прикольный "скринсейвер" с рыбками, теперь который я хочу воссоздать. Надписей "Hello, world!" я не планирую, а только чистый вывод изображений.

Теперь сама суть моего обращения на форум.

1) Так как в Bascom я начинающий, решил идти по пути наименьшего сопротивления, то есть немного подправив код в проэкте, предоставленный автором статьи. Подправить то я его подправил, но вот правильно ли... Вообщем мне бы хотелось чтобы знающие люди проверили бы мой код. Хотя Bascom компилирует код без проблем.

Вот исходный код:

Скрытый текст

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 8
$framesize = 52


Config Portc.2 = Output
D3310dc Alias Portc.2
Config Portc.3 = Output
D3310ce Alias Portc.3
Config Spi = Soft , Din = None , Dout = Portc.1 , Ss = None , Clock = Portc.0
Spiinit
$include "3310init.bas"

Call D3310init

Do
Call D3310clear
Call D3310position(0 , 0)
Call D3310print( "Hello, world!")
Call D3310position(0 , 3)
Call D3310print( "cxem.net")
Waitms 5000
Call D3310invert
Waitms 5000
Call D3310uninvert
Waitms 5000
Restore Img
Call D3310bmpout
Waitms 5000
Loop
End
$include "3310end.bas"

Img:
Data &H00 , &H04 , &H08 , &H30 , &H40 , &H80 , &H00 , &H00 , &H00 , &H01 , &H02 , &H04 , &H08 , &H10 , &H20 , &H40,
Data &H80 , &H00 , &H00 , &H00 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80 , &H00 , &H00 , &H00,
Data &H00 , &H02 , &H04 , &H04 , &H08 , &H10 , &H20 , &H20 , &H40 , &H80 , &H02 , &H04 , &H04 , &H08 , &H10 , &H90,
Data &HA0 , &H40 , &H20 , &H20 , &H10 , &H10 , &H08 , &H04 , &H04 , &H02 , &H02 , &H81 , &H80 , &H40 , &H40 , &H00,
Data &H10 , &H10 , &H08 , &HF8 , &HFC , &H02 , &H02 , &H01 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H04 , &H18 , &H60 , &H80 , &H00 , &H00 , &H03 , &H04 , &H08 , &H30 , &H40 , &H80,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H03 , &H04 , &H08 , &H10 , &H20 , &H40 , &H80 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H01 , &H02 , &H04 , &H04 , &H08 , &H90 , &H40 , &H40 , &H20 , &H20 , &H10 , &H08 , &H08 , &H04 , &H04,
Data &H02 , &H01 , &H01 , &H00 , &HC0 , &HE0 , &HC0 , &H00 , &H00 , &HF8 , &HFC , &H00 , &H00 , &HFF , &HFF , &H08,
Data &H08 , &H84 , &H84 , &H00 , &H00 , &H00 , &H00 , &H1F , &H0F , &H00 , &H80 , &H40 , &H40 , &H20 , &H10 , &H10,
Data &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &H00 , &H00 , &H60 , &H80 , &H00 , &H00 , &H03 , &H04 , &H18 , &H60,
Data &H80 , &H00 , &H00 , &H00 , &H03 , &H04 , &H08 , &H30 , &H40 , &H80 , &H00 , &H00 , &H00 , &H80 , &H40 , &H40,
Data &H21 , &H22 , &H10 , &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &HC1 , &HC0 , &HE0 , &H00 , &H00 , &H80 , &H78,
Data &HFC , &HFC , &H00 , &H00 , &H00 , &H80 , &H00 , &H00 , &HFF , &H7F , &H00 , &H03 , &H06 , &H1F , &H0F , &H00,
Data &H00 , &H83 , &H43 , &H41 , &H21 , &H20 , &H10 , &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &H21 , &H40 , &H40,
Data &H80 , &H80 , &H00 , &H01 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H00 , &H00 , &H01 , &H06 , &H18,
Data &H60 , &H80 , &H00 , &H80 , &H80 , &H43 , &H44 , &H20 , &H10 , &H10 , &H08 , &H08 , &H04 , &H82 , &H02 , &H01,
Data &H01 , &HE0 , &H20 , &H00 , &H00 , &HF8 , &HFC , &H44 , &H22 , &H22 , &H11 , &H00 , &H00 , &HFF , &HFF , &H01,
Data &H3E , &H30 , &H0F , &H00 , &H0F , &H0F , &H00 , &H00 , &H83 , &H81 , &H40 , &H20 , &H20 , &H10 , &H08 , &H88,
Data &H04 , &H04 , &H02 , &H01 , &H01 , &H00 , &H00 , &H00 , &H00 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40,
Data &H80 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20 , &H40,
Data &H00 , &H08 , &H04 , &H04 , &H02 , &H02 , &H01 , &H80 , &HC0 , &H10 , &H10 , &H08 , &H0C , &H08 , &H00 , &H00,
Data &H03 , &HE3 , &H3E , &H0E , &H3F , &H38 , &H60 , &H00 , &H00 , &H1F , &H0F , &H08 , &H04 , &H04 , &H02 , &H80,
Data &H80 , &H40 , &H20 , &H20 , &H10 , &H10 , &H08 , &H04 , &H14 , &H22 , &H21 , &H41 , &H40 , &H80 , &H80 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20 , &H20 , &H40,
Data &H40 , &H80 , &H00 , &H00 , &H00 , &H01 , &H02 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H1F , &H30 , &H20 , &H20 , &H10,
Data &H0C , &H04 , &H00 , &H04 , &H03 , &H00 , &H00 , &H00 , &H00 , &H00 , &H20 , &H10 , &H10 , &H08 , &H04 , &H04,
Data &H02 , &H06 , &H09 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H04 , &H04 , &H08 , &H08 , &H10 , &H10 , &H20 , &H20 , &H40 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20,
Data &H20 , &H40 , &H40 , &H80 , &H01 , &H02 , &H02 , &H04

Вот мой код: (на одинаковость стека изображений не обращайте внимания, мои в процессе воссоздания, а мне нужна проверка самого принципа вывода изображений, который я написал)

Скрытый текст

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 8
$framesize = 52


Config Portc.2 = Output
D3310dc Alias Portc.2
Config Portc.3 = Output
D3310ce Alias Portc.3
Config Spi = Soft , Din = None , Dout = Portc.1 , Ss = None , Clock = Portc.0
Spiinit
$include "3310init.bas"

Call D3310init

Do
Call D3310clear
Restore Img
Call D3310bmpout
Waitms 1000
Call D3310clear
Restore Img1
Call D3310bmpout
Waitms 1000
Call D3310clear
Restore Img2
Call D3310bmpout
Waitms 1000
Loop
End
$include "3310end.bas"

Img:
Data &H00 , &H04 , &H08 , &H30 , &H40 , &H80 , &H00 , &H00 , &H00 , &H01 , &H02 , &H04 , &H08 , &H10 , &H20 , &H40,
Data &H80 , &H00 , &H00 , &H00 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80 , &H00 , &H00 , &H00,
Data &H00 , &H02 , &H04 , &H04 , &H08 , &H10 , &H20 , &H20 , &H40 , &H80 , &H02 , &H04 , &H04 , &H08 , &H10 , &H90,
Data &HA0 , &H40 , &H20 , &H20 , &H10 , &H10 , &H08 , &H04 , &H04 , &H02 , &H02 , &H81 , &H80 , &H40 , &H40 , &H00,
Data &H10 , &H10 , &H08 , &HF8 , &HFC , &H02 , &H02 , &H01 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H04 , &H18 , &H60 , &H80 , &H00 , &H00 , &H03 , &H04 , &H08 , &H30 , &H40 , &H80,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H03 , &H04 , &H08 , &H10 , &H20 , &H40 , &H80 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H01 , &H02 , &H04 , &H04 , &H08 , &H90 , &H40 , &H40 , &H20 , &H20 , &H10 , &H08 , &H08 , &H04 , &H04,
Data &H02 , &H01 , &H01 , &H00 , &HC0 , &HE0 , &HC0 , &H00 , &H00 , &HF8 , &HFC , &H00 , &H00 , &HFF , &HFF , &H08,
Data &H08 , &H84 , &H84 , &H00 , &H00 , &H00 , &H00 , &H1F , &H0F , &H00 , &H80 , &H40 , &H40 , &H20 , &H10 , &H10,
Data &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &H00 , &H00 , &H60 , &H80 , &H00 , &H00 , &H03 , &H04 , &H18 , &H60,
Data &H80 , &H00 , &H00 , &H00 , &H03 , &H04 , &H08 , &H30 , &H40 , &H80 , &H00 , &H00 , &H00 , &H80 , &H40 , &H40,
Data &H21 , &H22 , &H10 , &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &HC1 , &HC0 , &HE0 , &H00 , &H00 , &H80 , &H78,
Data &HFC , &HFC , &H00 , &H00 , &H00 , &H80 , &H00 , &H00 , &HFF , &H7F , &H00 , &H03 , &H06 , &H1F , &H0F , &H00,
Data &H00 , &H83 , &H43 , &H41 , &H21 , &H20 , &H10 , &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &H21 , &H40 , &H40,
Data &H80 , &H80 , &H00 , &H01 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H00 , &H00 , &H01 , &H06 , &H18,
Data &H60 , &H80 , &H00 , &H80 , &H80 , &H43 , &H44 , &H20 , &H10 , &H10 , &H08 , &H08 , &H04 , &H82 , &H02 , &H01,
Data &H01 , &HE0 , &H20 , &H00 , &H00 , &HF8 , &HFC , &H44 , &H22 , &H22 , &H11 , &H00 , &H00 , &HFF , &HFF , &H01,
Data &H3E , &H30 , &H0F , &H00 , &H0F , &H0F , &H00 , &H00 , &H83 , &H81 , &H40 , &H20 , &H20 , &H10 , &H08 , &H88,
Data &H04 , &H04 , &H02 , &H01 , &H01 , &H00 , &H00 , &H00 , &H00 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40,
Data &H80 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20 , &H40,
Data &H00 , &H08 , &H04 , &H04 , &H02 , &H02 , &H01 , &H80 , &HC0 , &H10 , &H10 , &H08 , &H0C , &H08 , &H00 , &H00,
Data &H03 , &HE3 , &H3E , &H0E , &H3F , &H38 , &H60 , &H00 , &H00 , &H1F , &H0F , &H08 , &H04 , &H04 , &H02 , &H80,
Data &H80 , &H40 , &H20 , &H20 , &H10 , &H10 , &H08 , &H04 , &H14 , &H22 , &H21 , &H41 , &H40 , &H80 , &H80 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20 , &H20 , &H40,
Data &H40 , &H80 , &H00 , &H00 , &H00 , &H01 , &H02 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H1F , &H30 , &H20 , &H20 , &H10,
Data &H0C , &H04 , &H00 , &H04 , &H03 , &H00 , &H00 , &H00 , &H00 , &H00 , &H20 , &H10 , &H10 , &H08 , &H04 , &H04,
Data &H02 , &H06 , &H09 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H04 , &H04 , &H08 , &H08 , &H10 , &H10 , &H20 , &H20 , &H40 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20,
Data &H20 , &H40 , &H40 , &H80 , &H01 , &H02 , &H02 , &H04

Img1:
Data &H00 , &H04 , &H08 , &H30 , &H40 , &H80 , &H00 , &H00 , &H00 , &H01 , &H02 , &H04 , &H08 , &H10 , &H20 , &H40,
Data &H80 , &H00 , &H00 , &H00 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80 , &H00 , &H00 , &H00,
Data &H00 , &H02 , &H04 , &H04 , &H08 , &H10 , &H20 , &H20 , &H40 , &H80 , &H02 , &H04 , &H04 , &H08 , &H10 , &H90,
Data &HA0 , &H40 , &H20 , &H20 , &H10 , &H10 , &H08 , &H04 , &H04 , &H02 , &H02 , &H81 , &H80 , &H40 , &H40 , &H00,
Data &H10 , &H10 , &H08 , &HF8 , &HFC , &H02 , &H02 , &H01 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H04 , &H18 , &H60 , &H80 , &H00 , &H00 , &H03 , &H04 , &H08 , &H30 , &H40 , &H80,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H03 , &H04 , &H08 , &H10 , &H20 , &H40 , &H80 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H01 , &H02 , &H04 , &H04 , &H08 , &H90 , &H40 , &H40 , &H20 , &H20 , &H10 , &H08 , &H08 , &H04 , &H04,
Data &H02 , &H01 , &H01 , &H00 , &HC0 , &HE0 , &HC0 , &H00 , &H00 , &HF8 , &HFC , &H00 , &H00 , &HFF , &HFF , &H08,
Data &H08 , &H84 , &H84 , &H00 , &H00 , &H00 , &H00 , &H1F , &H0F , &H00 , &H80 , &H40 , &H40 , &H20 , &H10 , &H10,
Data &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &H00 , &H00 , &H60 , &H80 , &H00 , &H00 , &H03 , &H04 , &H18 , &H60,
Data &H80 , &H00 , &H00 , &H00 , &H03 , &H04 , &H08 , &H30 , &H40 , &H80 , &H00 , &H00 , &H00 , &H80 , &H40 , &H40,
Data &H21 , &H22 , &H10 , &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &HC1 , &HC0 , &HE0 , &H00 , &H00 , &H80 , &H78,
Data &HFC , &HFC , &H00 , &H00 , &H00 , &H80 , &H00 , &H00 , &HFF , &H7F , &H00 , &H03 , &H06 , &H1F , &H0F , &H00,
Data &H00 , &H83 , &H43 , &H41 , &H21 , &H20 , &H10 , &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &H21 , &H40 , &H40,
Data &H80 , &H80 , &H00 , &H01 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H00 , &H00 , &H01 , &H06 , &H18,
Data &H60 , &H80 , &H00 , &H80 , &H80 , &H43 , &H44 , &H20 , &H10 , &H10 , &H08 , &H08 , &H04 , &H82 , &H02 , &H01,
Data &H01 , &HE0 , &H20 , &H00 , &H00 , &HF8 , &HFC , &H44 , &H22 , &H22 , &H11 , &H00 , &H00 , &HFF , &HFF , &H01,
Data &H3E , &H30 , &H0F , &H00 , &H0F , &H0F , &H00 , &H00 , &H83 , &H81 , &H40 , &H20 , &H20 , &H10 , &H08 , &H88,
Data &H04 , &H04 , &H02 , &H01 , &H01 , &H00 , &H00 , &H00 , &H00 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40,
Data &H80 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20 , &H40,
Data &H00 , &H08 , &H04 , &H04 , &H02 , &H02 , &H01 , &H80 , &HC0 , &H10 , &H10 , &H08 , &H0C , &H08 , &H00 , &H00,
Data &H03 , &HE3 , &H3E , &H0E , &H3F , &H38 , &H60 , &H00 , &H00 , &H1F , &H0F , &H08 , &H04 , &H04 , &H02 , &H80,
Data &H80 , &H40 , &H20 , &H20 , &H10 , &H10 , &H08 , &H04 , &H14 , &H22 , &H21 , &H41 , &H40 , &H80 , &H80 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20 , &H20 , &H40,
Data &H40 , &H80 , &H00 , &H00 , &H00 , &H01 , &H02 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H1F , &H30 , &H20 , &H20 , &H10,
Data &H0C , &H04 , &H00 , &H04 , &H03 , &H00 , &H00 , &H00 , &H00 , &H00 , &H20 , &H10 , &H10 , &H08 , &H04 , &H04,
Data &H02 , &H06 , &H09 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H04 , &H04 , &H08 , &H08 , &H10 , &H10 , &H20 , &H20 , &H40 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20,
Data &H20 , &H40 , &H40 , &H80 , &H01 , &H02 , &H02 , &H04

Img2:
Data &H00 , &H04 , &H08 , &H30 , &H40 , &H80 , &H00 , &H00 , &H00 , &H01 , &H02 , &H04 , &H08 , &H10 , &H20 , &H40,
Data &H80 , &H00 , &H00 , &H00 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80 , &H00 , &H00 , &H00,
Data &H00 , &H02 , &H04 , &H04 , &H08 , &H10 , &H20 , &H20 , &H40 , &H80 , &H02 , &H04 , &H04 , &H08 , &H10 , &H90,
Data &HA0 , &H40 , &H20 , &H20 , &H10 , &H10 , &H08 , &H04 , &H04 , &H02 , &H02 , &H81 , &H80 , &H40 , &H40 , &H00,
Data &H10 , &H10 , &H08 , &HF8 , &HFC , &H02 , &H02 , &H01 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H04 , &H18 , &H60 , &H80 , &H00 , &H00 , &H03 , &H04 , &H08 , &H30 , &H40 , &H80,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H03 , &H04 , &H08 , &H10 , &H20 , &H40 , &H80 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H01 , &H02 , &H04 , &H04 , &H08 , &H90 , &H40 , &H40 , &H20 , &H20 , &H10 , &H08 , &H08 , &H04 , &H04,
Data &H02 , &H01 , &H01 , &H00 , &HC0 , &HE0 , &HC0 , &H00 , &H00 , &HF8 , &HFC , &H00 , &H00 , &HFF , &HFF , &H08,
Data &H08 , &H84 , &H84 , &H00 , &H00 , &H00 , &H00 , &H1F , &H0F , &H00 , &H80 , &H40 , &H40 , &H20 , &H10 , &H10,
Data &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &H00 , &H00 , &H60 , &H80 , &H00 , &H00 , &H03 , &H04 , &H18 , &H60,
Data &H80 , &H00 , &H00 , &H00 , &H03 , &H04 , &H08 , &H30 , &H40 , &H80 , &H00 , &H00 , &H00 , &H80 , &H40 , &H40,
Data &H21 , &H22 , &H10 , &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &HC1 , &HC0 , &HE0 , &H00 , &H00 , &H80 , &H78,
Data &HFC , &HFC , &H00 , &H00 , &H00 , &H80 , &H00 , &H00 , &HFF , &H7F , &H00 , &H03 , &H06 , &H1F , &H0F , &H00,
Data &H00 , &H83 , &H43 , &H41 , &H21 , &H20 , &H10 , &H08 , &H08 , &H04 , &H02 , &H02 , &H01 , &H21 , &H40 , &H40,
Data &H80 , &H80 , &H00 , &H01 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H00 , &H00 , &H01 , &H06 , &H18,
Data &H60 , &H80 , &H00 , &H80 , &H80 , &H43 , &H44 , &H20 , &H10 , &H10 , &H08 , &H08 , &H04 , &H82 , &H02 , &H01,
Data &H01 , &HE0 , &H20 , &H00 , &H00 , &HF8 , &HFC , &H44 , &H22 , &H22 , &H11 , &H00 , &H00 , &HFF , &HFF , &H01,
Data &H3E , &H30 , &H0F , &H00 , &H0F , &H0F , &H00 , &H00 , &H83 , &H81 , &H40 , &H20 , &H20 , &H10 , &H08 , &H88,
Data &H04 , &H04 , &H02 , &H01 , &H01 , &H00 , &H00 , &H00 , &H00 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40,
Data &H80 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20 , &H40,
Data &H00 , &H08 , &H04 , &H04 , &H02 , &H02 , &H01 , &H80 , &HC0 , &H10 , &H10 , &H08 , &H0C , &H08 , &H00 , &H00,
Data &H03 , &HE3 , &H3E , &H0E , &H3F , &H38 , &H60 , &H00 , &H00 , &H1F , &H0F , &H08 , &H04 , &H04 , &H02 , &H80,
Data &H80 , &H40 , &H20 , &H20 , &H10 , &H10 , &H08 , &H04 , &H14 , &H22 , &H21 , &H41 , &H40 , &H80 , &H80 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20 , &H20 , &H40,
Data &H40 , &H80 , &H00 , &H00 , &H00 , &H01 , &H02 , &H02 , &H04 , &H08 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H1F , &H30 , &H20 , &H20 , &H10,
Data &H0C , &H04 , &H00 , &H04 , &H03 , &H00 , &H00 , &H00 , &H00 , &H00 , &H20 , &H10 , &H10 , &H08 , &H04 , &H04,
Data &H02 , &H06 , &H09 , &H08 , &H10 , &H20 , &H40 , &H40 , &H80 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
Data &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H04 , &H04 , &H08 , &H08 , &H10 , &H10 , &H20 , &H20 , &H40 , &H00,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H02 , &H04 , &H04 , &H08 , &H10 , &H10 , &H20,
Data &H20 , &H40 , &H40 , &H80 , &H01 , &H02 , &H02 , &H04

Таким образом я хочу выводить изображения поочередно с интервалом в 1 секунду.

2)Еще более интересующий меня вопрос - если открыть даташит на атмега8, то там написано, что флеш памяти для программ 8 кб. Но вот что интересно и вводит меня в ступор. Если просто взять проэкт автора статьи и скомпилировать его в .hex, то получаем: Bascom пишет при компиляции "Flash used - 55%", то есть как бы половина атмеги пустая, но вот выходной файл .hex имеет размер 13кб. Вот я и не могу понять как даже авторский проэкт в 13кб прошивается в атмегу с 8кб? Магия наверное. Скомпилировав "свой" проэкт, я получаю  "Flash used - 66%" и файл на 15кб. Вот и возник такой вопрос - это нормально и так и должно быть? А если нет - то как правильно скомпилировать?

Так как пока проверить код в железе нет возможности (еще едет), вот к Вам, знающим людям, за помощью и обращаюсь. Ниже прикрепляю видеофайл с  компиляцией проэкта автора статьи в Bascom.

 clip0002.avi

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    257

Лучше бы начали на ассемблере или хотя бы Си. Совсем рядом есть видеокурс, где рассматривается и дисплей от nokia3310.

55 минут назад, Zabar31 сказал:

при компиляции "Flash used - 55%", то есть как бы половина атмеги пустая, но вот выходной файл .hex имеет размер 13кб.

*.hex файл не бинарный, а текстовый. Каждый байт прошивки закодирован двумя символами (например, 0x5A это '5' и 'A', или 0x3541. Плюс служебная информация вроде адреса начала, LRC-кода и прочего.

58 минут назад, Zabar31 сказал:

Так как пока проверить код в железе нет возможности

Протеус в помощь

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zabar31    9

COKPOWEHEU, за видеокурс - спасибо, буду изучать. По .hex тоже стало понятно, спасибо.

Про протеус думал, и даже пробовал, но вот у меня он не хочет запускать симуляцию, ругается на отсутствие dll файла экрана 3310, я даже скачивал с радиокота этот файл, но пока побороть ошибку не могу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zabar31    9

@COKPOWEHEU , да, оказывается 7-я версия нужна была, а я мучался с 8. На 7-й все сразу заработало.

И еще раз спасибо за видеокурс - очень интересно и главное обстоятельно рассказывают что, как и куда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: DimonRX
      Всем доброго времени суток!
      В AVR-ках я новичёк и очень нуждаюсь в вашей помощи.
      Задача у меня следующая. Есть драйвер управления серводвигателем на ATmega88. Помимо основной задачи ATmega88 через 74HC164D выводит на сдвоенный 7-ми сегментный индикатор направление вращения мотора в виде анимации (вращает сегмент по или против часовой стрелки). Рядом есть некая поделка на ATmega8, одной из задач которой является определение направления вращения мотора и, в зависимости от направления, выполнение различных действий. Как мне это сделать? Как подружить две меги? Всем заранее спасибо.
    • Автор: Kirill Lubinets
      Дано: отладочная плата STM32F303VC, индукционный датчик.

      Доброго времени суток, суть моего проекта в  детектировании вибраций(ударов) при помощи аналогового датчика.
      Код отслеживания удара написан, но я не пойму то ли я ошибся с алгоритмом его работы то ли не правильно сконфигурировал отладочную плату.

      Информация по датчику.
      Индукционный датчик удара, шок сенсор, Arduino может использоваться в проектах на микроконтроллерах (в т.ч. Arduino), в которых нужно следить за уровнем вибрации или подобных механических возмущений. Принцип действия датчика основан на электромагнитной индукции. Движущийся стальной, ферритовый или магнитный сердечник относительно катушки создает в катушке ЭДС, подходящую по амплитуде ударного воздействия на систему. Чувствительный элемент датчика установлен в прозрачный пластиковый параллелепипед для защиты от действий внешней среды.
      Для использования датчика нужно подключить его к Arduino контроллеру или другому микропроцессорному управляющему устройству, подать питание, создать программу для работы с датчиком или использовать готовое решение. На корпусе датчика есть два отверстия, с помощью которых можно жестко закрепить датчик на плоской поверхности. В состоянии покоя напряжение на выходе из датчика около 5 В, при возмущении напряжение на датчике падает пропорционально силе возмущения.
      Индукционный датчик удара, шок сенсор, Arduino имеет один 3-контактный разъем для подключения к контроллеру и питания:
      контакт обозначенный «–» – общий контакт;
      средний контакт – напряжение питания;
      контакт S – аналоговый выходной сигнал датчика.
      Датчик может питаться как от Arduino контроллера (другого микропроцессорного управляющего устройства), так и от внешнего источника питания. Напряжение питания 3,3 – 5 вольт постоянного тока.
      Характеристики:
      принцип действия: индукционный;
      выходной сигнал: аналоговый;
      напряжение питания: 3,3 – 5 вольт постоянного тока;
      размеры: 30 х 18 х 11;
      вес: 2 г.
      Shock.7z
    • Автор: Петр Серёгин
      Здравствуйте, у меня проблема.
      Не программируется ATmega2561-8AU. Программатор USBASP. Микроконтроллер 100% рабочий. Питание и контакты программатора припаяны правильно.
      Что можете посоветовать? 
    • Автор: 12312313
      Добрые люди. Собрал данную схему. В протеусе все нормально работает. А вот когда прошиваю мк не работает. Принцип такой : если на первом входе компаратора сигнал больше второго то загорается первый если наоборот то второй. Где ошибка? Заранее благодарю

  • Сообщения

    • Запуск восстановления коммерческая тайна. Я связывался с заводом напрямую, следуя регламенту нужно заменить устройство на новое. Можете подсказать точнее что перед выпаиванием от меня требуется.
    • 2кВт это ампер 9. Даже 10А диоды будут работать на пределе и греться. Как-то так получается, что на них (для нормальной работы светодиода) должно падать 3В, что при токе 10А даст 30Вт выделяемой мощности. Поэтому эта схема неудачная для такой нагрузки. Тут скорее нужно что-то подобное  Чем больше ток нагрузки — тем ярче свечение светодиода.
       Трансформатор Т1 может быть намотан на ферритовом кольце диаметром 30...40 мм марки 2000НН. Его токовая обмотка (включена в разрыв цепи нагрузки) содержит 20...25 витков толстого провода (диаметр 2,5 мм). Вторичная обмотка имеет 1500 витков тонкого провода (0,08...0,1 мм). Для уменьшения потерь в схеме выпрямителя использованы германиевые диоды. Светодиод лучше сверхяркий. Резистор R1 необходимо подобрать так, чтобы при максимальной нагрузке ток через светодиод не превышал допустимого (обычно 20-25 мА). Взято отсюда (по поиску в гугле - "индикация  мощной нагрузки") http://forum.homedistiller.ru/index.php?topic=36141.40 Или вот так http://radiostorage.net/1283-skhemy-prostyh-indikatorov-potreblyaemoj-moshchnosti-k176la7.html  Конструкция трансформатора тока и его вольт-амперная характеристика показаны на рис. 2. Его магнитопровод — ферритовое кольцо 2000 НМ типоразмера К20Х10Х5, которое аккуратно разламывают на две части и на одну из них наматывают 1500 витков провода ПЭВ-2 0,08 - это вторичная обмотка 3. Затем, надев вторую часть кольца 2 ,на сетевой провод 1, обе половины оклеивают клеем БФ-2 или эпоксидным клеем.
    • Тогда ищите вот такой:  RT-8B7WA-A19, развивает на валу аж 420Вт (питание 30А*18В), момент до 15,3 кГ*см . или такой  RZ-735VA-9517 на валу 280Вт (20А*18В), до 12,9 кГ*см Двух-трех пар ключей должно хватить, если до Stall'a не доводить  Жаль, высокооборотистые.
    • Собрал прибор при включении постоянно слышен звук динамика. Подключался без катушки. Вопрос где собака закрыта и второе какая индуктивность для катушки нужна для этого прибора. Спасибо
    • Нашёл ошибку подключении индикатора, еще вопрос при подключении прибора без катушки постоянно слышно зум динамика и на индикаторе положение сигнала находится в предпоследнем положении (14). Или потому, что без катушки или что?
    • SRAM + баратейка часто использовалась как енергонезависимая память, для хранения каких-либо параметров. В копирах такие связки от одной CR2032 работали порядка 10 лет, сейчас используется FRAM.  В устройстве скорее всего должен бьіть предусмотрен режим инициализации SRAM после сбоя питания, просто ТС не вкурсе как его запустить