Вопрос программистам

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Аватара пользователя
TovarishAleksey
Потрогал лапой паяльник
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Re: Вопрос программистам

Сообщение TovarishAleksey »

Код: Выделить всё

start:
    ldi r16, 0b100000
    out 0x04, r16

    ldi r16, 0b100000
    out 0x5, r16
Вес программы: 8БАЙТ!!!
Hex зашиваю программой GcUploader.

Добавлено after 2 minutes 48 seconds:
Морок, актуальная фота! :chmoked:
Может и так. Лично мне намного интереснее перерисовать один раз в тетрадь, потом сижу и паяю, взрываю.. А за компом глаза травить.. Тем не менее, за компом круче!))
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Реклама
roman.com
Друг Кота
Сообщения: 9157
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Вопрос программистам

Сообщение roman.com »

ldi

Команда LDI - загрузить непосредственное значение.

Твой компилятор переводит Команду LDI в двух байтную (16-ти разрядную) машинную инструкцию...
Screenshot_1.jpg
(9.03 КБ) 63 скачивания
При заливки HEX - файла мы заливаем двух байтные (16-ти разрядные) машинные инструкции в память (во флеш)...
Далее... процессор МК берёт (из флеша) двух байтные (16-ти разрядные) машинные инструкции и выполняет их...
За один такт МК считает одну двух байтную (16-ти разрядную) машинную инструкцию...
Точнее... одну берёт... вторую считает... третью записывает... и. т .д.
Там конвейер...
Screenshot_2.jpg
(60.28 КБ) 62 скачивания
Гарвардская архитектура...
Screenshot_3.jpg
(40.26 КБ) 54 скачивания
и т.д.

Но вся это фигня тебя не должна волновать)) :)))

тебя должно волновать одно - за сколько тактов процессор МК выполнит твою команду LDI...

в даташите написано: команду LDI процессор выполнит за 1 такт.

а один так - это один пиксель на экране !

Это всё что тебя должно волновать))
:tea:

Ты уже HEX файл залил ?

https://youtu.be/BaJu7JlE-tI

:tea:
Реклама
Аватара пользователя
TovarishAleksey
Потрогал лапой паяльник
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Re: Вопрос программистам

Сообщение TovarishAleksey »

Роман, ваши картинки меня ой как пугают-с..
Хекс залил, всё робыть. Только теперь надо переключиться на ассемблеровское мышление и начать писать.
"Умный может зарабатывать триста рублей, а проживать три тысячи"
roman.com
Друг Кота
Сообщения: 9157
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Вопрос программистам

Сообщение roman.com »

TovarishAleksey писал(а):надо переключиться на ассемблеровское мышление
)).jpg
(35.8 КБ) 66 скачиваний
:))
дальше... открывай студию.. .или что у тебя там... и начинай...

подключи библиотеку для ATmega328... она облегчит жизнь))
Screenshot_1.jpg
(59.84 КБ) 66 скачиваний
:tea:
а дальше всё как в ардуине...
настраиваем порты...
мигаем диодиком...
и т.д.
:tea:
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
TovarishAleksey
Потрогал лапой паяльник
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Re: Вопрос программистам

Сообщение TovarishAleksey »

Вы, Роман, тут не молчите, лучше всё мне объясните: как диодик засветить, ардуину не спалить!
Ну-у, диодик засветил, помигать - пока проблема. Вот так и кончилась поэма.. :hunger:
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Реклама
Аватара пользователя
ИВАНЫЧ956
Друг Кота
Сообщения: 13330
Зарегистрирован: Сб янв 14, 2012 15:34:13
Откуда: 26RUS

Re: Вопрос программистам

Сообщение ИВАНЫЧ956 »

[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4642034#p4642034"]Адрифт, ай яй яй, не изменяй! Ну коль нет его - то ладно, можно сделать за день, и славно! :beer:[/uquote]
Ты ещё не сделал? :))) Давно это было.

Изображение Изображение
avr910.rar
(148.93 КБ) 82 скачивания
Лучше аналоговой электроникой заниматься.
Начни с БП. Там можно хорошо повеселится когда пинцетом не тот провод зацепишь. :)))
Реклама
roman.com
Друг Кота
Сообщения: 9157
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Вопрос программистам

Сообщение roman.com »

мальчик лёша... у нас поэт))
:tea:
далее... есть регистры...

регистры R16...R31 всего 16 штук туда пишем.
(регистры R0...R15 всего 16 штук использовать нельзя... они нужны процессору).
:tea:

Код: Выделить всё

.include "m328Pdef.inc"// мега328

// Запись регистров
LDI R16, 0b00000001 //-1 такт  
LDI R17, 0b00000000 //-1 такт  

// Настройка портов на выход  (Port D)
OUT DDRD, R16          //-1 такт

//Мигаем диодом
_1:
//включить диод
OUT PORTD, R16         //-1 такт
//выключить диод
OUT PORTD, R17         //-1 такт
RJMP _1                     // -1 такт // -1 такт(переход)
Всё))

диод мигает с частотой процессора... точнее в два раза меньше... ))
можно увидеть как он мигает... если у тебя супер зрение ))
))).jpg
(39.23 КБ) 53 скачивания
:))
поэтому качаем протеус.. .и смотрим в протеусе...
:)
или переписываем программу...
:tea:


ИВАНЫЧ956 это не круто...
у нас ардуина работает и как программатор и как компьютер...
а скоро мы будем заливать прошивки по интернету... прямо с сервера компании Microchip... производителя AVR ))
:tea:
Аватара пользователя
ИВАНЫЧ956
Друг Кота
Сообщения: 13330
Зарегистрирован: Сб янв 14, 2012 15:34:13
Откуда: 26RUS

Re: Вопрос программистам

Сообщение ИВАНЫЧ956 »

у нас ардуина работает и как программатор и как компьютер...
Как вас бледнолицые братья разбаловали. Ардуина нано, терморегулятор, вольтамперметр за 100 рублёв. Были времена когда только паяльник и МЕГА8 спасали "мух" от замерзания в ульях. :)))
2024-10-29_154942.jpg
(93.16 КБ) 70 скачиваний
2024-10-29_154745.jpg
(142.55 КБ) 64 скачивания
Аватара пользователя
TovarishAleksey
Потрогал лапой паяльник
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Re: Вопрос программистам

Сообщение TovarishAleksey »

БП начал пару недель назад, не могу закончить, так как нет нормального токоизмерителя. Да-да, из чужих историй я уже вычитал об замыкании не того провода.. Программатор не буду делать-с, так как такой софтиной(см. вложение) всё отлично зашивается. Сия программа является оболочкой AvrDude.
Роман, я такой себе поэт - и не сделаю омлет. Интернет использовать не будем, не то про коды мы забудем. Коль и юзать интернет, тогда пусть знает весь-весь свет: "Паутины" ненавижу, все эти цифры отчекрыжу!! :kill:
Вложения
Screenshot_1.png
(58.53 КБ) 128 скачиваний
"Умный может зарабатывать триста рублей, а проживать три тысячи"
roman.com
Друг Кота
Сообщения: 9157
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Вопрос программистам

Сообщение roman.com »

ИВАНЫЧ956 Светодиодный Индикатор... кнопки... фууу... :facepalm:

я достал телефон из кармана... выставил все режимы... по Wi-Fi... и пошёл дальше))
улей)).jpg
(184.76 КБ) 66 скачиваний
:tea:
TovarishAleksey пойдёт))
:tea:
Аватара пользователя
ИВАНЫЧ956
Друг Кота
Сообщения: 13330
Зарегистрирован: Сб янв 14, 2012 15:34:13
Откуда: 26RUS

Re: Вопрос программистам

Сообщение ИВАНЫЧ956 »

по Wi-Fi... и пошёл дальше
:))) Ага. В те времена АДСЛ и то по блату.
roman.com
Друг Кота
Сообщения: 9157
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Вопрос программистам

Сообщение roman.com »

дальше... надо добавить память в нашу видюху))
у меги 328 максимум 2048 байт... будем использовать все...

Код: Выделить всё

.include "m328Pdef.inc"// мега328

//SRAM:
.DSEG  // SRAM
FIFO: .BYTE 2048
.CSEG  // SRAM

// Запись регистров
LDI R16, 0b00000001 //-1 такт 
LDI R17, 0b00000000 //-1 такт 

// Настройка портов на выход  (Port D)
OUT DDRD, R16          //-1 такт

//Мигаем диодом
_1:
//включить диод
OUT PORTD, R16         //-1 такт
//выключить диод
OUT PORTD, R17         //-1 такт
RJMP _1                     // -1 такт // -1 такт(переход)
теперь у нас видюха с памятью.. аж целых 2048 байт ! ))

Добавлено after 9 minutes 8 seconds:
чтение / запись
-можно напрямую
-можно через указатель

напрямую быстрей))

Код: Выделить всё

.include "m328Pdef.inc"// мега328

//SRAM:
.DSEG  // SRAM
FIFO: .BYTE 2048
.CSEG  // SRAM

//Запись регистров
LDI R16, 0b00000001 //-1 такт
LDI R17, 0b00000000 //-1 такт

//Настройка портов на выход  (Port D)
OUT DDRD, R16          //-1 такт

//Мигаем диодом
_1:

//включить диод
OUT PORTD, R16         //-1 такт
//выключить диод
OUT PORTD, R17         //-1 такт
//Запись SRAM
STS FIFO+0, R16        //-2 такт 
STS FIFO+1, R16        //-2 такт 
STS FIFO+2, R16        //-2 такт 
//Чтение SRAM
LDS R16, FIFO+0        //-2 такт 
LDS R16, FIFO+1        //-2 такт 
LDS R16, FIFO+2        //-2 такт 

RJMP _1                     // -1 такт // -1 такт(переход)
3 пикселя записали... 3 пикселя прочитали))
осталось добавить синхронизацию... и почти готово ))
:tea:
Аватара пользователя
Transformer-V
Друг Кота
Сообщения: 4249
Зарегистрирован: Пн окт 03, 2016 22:50:22
Контактная информация:

Re: Вопрос программистам

Сообщение Transformer-V »

[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4642154#p4642154"]Решать бесконечные ошибки, которые всегда у меня есть, очень надоело.[/uquote]
Именно программист решает проблему. А ошибаются все. Если надоело, значит программирование не твое или рано тебе ещё.

[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4642162#p4642162"]Или под "вручную" подразумевается тыканье иголочкой в микроконтроллер? :))[/uquote]
Нет конечно, без всяких "иголочек". Так как шину SPI или I2C или 8bit A-D легко можно реализовать на механических кнопочках(незалипайках) и на групповых 8 битных переключателях вместе с защитой от дребезга, таким образом ты сможешь натренироваться(прокачать себя) на рабах(slave device) - различные микросхемы, монохромные дисплеи, память ... и почувствовать себя "микроконтроллером". Так что, к чему это все, AVR можно вручную прошить.
Adrift
Вымогатель припоя
Сообщения: 553
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Вопрос программистам

Сообщение Adrift »

Ну что там? Вчера была LDI, какую инструкцию сегодня будете изучать? ) А ведь 4 дня назад уже было "все работает" )
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Вопрос программистам

Сообщение Morroc »

[uquote="Adrift",url="/forum/viewtopic.php?p=4642616#p4642616"]А ведь 4 дня назад уже было "все работает" )[/uquote]
Ямка :)))
Изображение
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
roman.com
Друг Кота
Сообщения: 9157
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Вопрос программистам

Сообщение roman.com »

так у нас уже всё работает ! )) мы всё прошили... и уже диодом мигаем ! )) осталось добавить "пару строк"... и всё))
:)
выше разобрали как работает процессор... на примере LDI...
сегодня будем изучать память... регистры... и указатели ))
память.jpg
(35.61 КБ) 53 скачивания
:tea:
roman.com писал(а):регистры R16...R31 всего 16 штук туда пишем.
среди этих регистров есть три особенных ))
XYZ.jpg
(36.99 КБ) 53 скачивания
попробуем их использовать...

Код: Выделить всё

.include "m328Pdef.inc"// мега328

//SRAM:
.DSEG  // SRAM
FIFO: .BYTE 2048
.CSEG  // SRAM

//Запись регистров
LDI R16, 0b00000001 //-1 такт
LDI R17, 0b00000000 //-1 такт

//Настройка портов на выход  (Port D)
OUT DDRD, R16          //-1 такт

//Мигаем диодом
_1:

//включить диод
OUT PORTD, R16         //-1 такт
//выключить диод
OUT PORTD, R17         //-1 такт

//Запись SRAM
LDI XL, LOW(FIFO)      //-1 такт 
LDI XH, HIGH(FIFO)    //-1 такт 
ST  X+, R16               //-2 такт
ST  X+, R16               //-2 такт
ST  X+, R16               //-2 такт
//Чтение SRAM
LDI XL, LOW(FIFO)     //-1 такт
LDI XH, HIGH(FIFO)    //-1 такт
LD  R16, X+               //-2 такт
LD  R16, X+               //-2 такт
LD  R16, X+               //-2 такт

RJMP _1                     // -1 такт // -1 такт(переход)
так мы делать не будем... больше тактов получается... :?
значит...будем писать напрямую)) :)
итого: у нас есть почти всё что надо для нашей видюхи)) осталось добавить "пару строк"... и всё))
:tea:

Добавлено after 39 minutes 32 seconds:
итого:
так сколько мы реально получим ?

-если использовать одну ардуину то максимум получим разрешение 134 x 480 и 4 цвета.
3.jpg
(23.98 КБ) 55 скачиваний
-если использовать три ардуины то максимум получим разрешение 402 x 480 и 256 цвета.
256.jpg
(41.67 КБ) 56 скачиваний
замечательно))
:tea:
Adrift
Вымогатель припоя
Сообщения: 553
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Вопрос программистам

Сообщение Adrift »

roman.com писал(а):-если использовать три ардуины то максимум получим разрешение 402 x 480 и 256 цвета.
402 x 480 и 256 цветов - это 402*480 = 192960 байт или под сотню ардуин на mega328 )
Аватара пользователя
Фунтик
Собутыльник Кота
Сообщения: 2706
Зарегистрирован: Пт фев 12, 2010 13:47:17

Re: Вопрос программистам

Сообщение Фунтик »

Согласно прилагаемым roman.com картинкам - все линии одинаковы. Достаточно 402 байта, т.е. памяти в 3-х с многократным запасом.

А вот зачем такую хрень проектировать и изготавливать - совсем другой вопрос...
Adrift
Вымогатель припоя
Сообщения: 553
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Вопрос программистам

Сообщение Adrift »

[uquote="Фунтик",url="/forum/viewtopic.php?p=4642696#p4642696"]А вот зачем такую хрень проектировать и изготавливать - совсем другой вопрос...[/uquote]
Ясно зачем, ТС на этом компьютере игры будет писать, после того как предварительно напишет свой компилятор, естественно )
Аватара пользователя
TovarishAleksey
Потрогал лапой паяльник
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Re: Вопрос программистам

Сообщение TovarishAleksey »

Адрифт, появились сомнения.. Незавершённое дело, как книга без последней страницы, но по-другому я не могу. Продолжу лучше с транзисторами возиться. Я то всё усвоил, а написать что-то - желание совсем пропало, вот. Возможно, позже что-то и напишу. :dont_know:
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Ответить

Вернуться в «МЯЯЯУ!»