понедельник, 6 июля 2009 г.

MK61avr - делу время, потехе час

Устав от монотонного прохождения тестов все ж таки не утерпел и "устроил шалость", результаты на видео.


video

http://code.google.com/p/mk61avr/source/browse/trunk/%20mk61avr%20--username%20vitasam70/avi/mk61avr_native_write_lcd.AVI


Текст программы в мнемонике МК61

ИП0 КП7 ИП3 КП8 FL3 02 БП 06

Если перевести в ЯВУ то это примерно следующее:
X = R0;
*R7 = X;
do {X = R3; *R8 = X;} while(--R3>0);
while(1);

С пояснениями:
в R0 константа для позиционирования в LCD и одновременного вывода данных. Так как MK61avr - имеет базовую разрядность 4 байта то при выводе в ячейку памяти с адресом 16, 2 байт - это координата X, 1 - байт координата Y, 0 -байт информация, которую нужно вывести в LCD по координате X,Y. Если писать в адрес выше 16, то позиционирование на байт происходить не будет, а будет просто записываться байт 0 в LCD. Так как LCD nokia3310 автоматически переходит к следующему байту после операции записи, то последовательная запись в адрес например 17 будет заполнять LCD данными. На видео видно как 50000 вводится в R3 и затем программа записывает данные в LCD в цикле 50000 раз.

mk61avr [06. 51]>d
60 B7 63 B8 5A 02 51<06>
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

mk61avr [06. 51]>@
R00=255.0000000
R01=255.0000000
R02=0.000000000
R03=1.000000000
R04=0.000000000
R05=0.000000000
R06=0.000000000
R07=16.00000000
R08=17.00000000
R09=0.000000000
R0A=0.000000000
R0B=0.000000000
R0C=0.000000000
R0D=0.000000000
R0E=0.000000000

mk61avr [06. 51]>

3 коммент.:

  1. Плавное видео получилось!

    ОтветитьУдалить
  2. Да так в общем то пока баловство. Нужно соображать концепцию с метками, Виталий. Поднажать бы?

    ОтветитьУдалить
  3. Да, концепцию с метками надо добить. Но, как всегда, время, время ...

    ОтветитьУдалить