Jump to content
Lisitsin

Персональный компьютер ZX Spectrum на микроконтроллерах AVR своими руками

Recommended Posts

Собираем компьютер ZX Spectrum на микроконтроллерах AVR своими руками!

Проект открытый, все исходники и информация проекта по ссылке

https://yadi.sk/d/9S2S0ZmNqsLykQ

Проект печатной платы выполнен в PCAD-2006, программное обеспечение разработано в AVRStudio  4b401

Здесь отвечу на все возникающие вопросы и помогу со сборкой и запуском

Share this post


Link to post
Share on other sites

а для каких целей??   есть же эмуляторы для РС , Андроида......

Screenshot_20201018_141303_com.fms.speccy[1].jpg

Screenshot_20201018_141550_com.fms.speccy[1].jpg

Edited by _MAVR_

Share this post


Link to post
Share on other sites

@Lisitsin , мне тоже не совсем понятно. Для чего?
Ну, был Синклер нап базе Z80. Для чего его клон делать на современной базе?  Делайте свой, новый

:unknw:

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Умный и безопасный дом от STMicroelectronics – строим вмеSTе!» (23.06.2021)

Приглашаем 23/06/2021 всех желающих принять участие в вебинаре, посвященном проектированию и разработке систем умного дома на базе компонентов STMicroelectronics. Экосистема продукции STMicroelectronics включает в себя как электронные компоненты, так и средства разработки, готовые стеки протоколов и законченные примеры кода. Предлагаемые ресурсы позволят разработчику легко построить каркас системы и быстро создать прототип своего приложения. На вебинаре также расскажем о беспроводных интерфейсах – ведь благодаря поддержке стандартов BLE и ZigBee разработчики смогут при необходимости интегрировать устройства сторонних производителей и создавать открытые системы.
Подробнее

Ну этому проекту avr zx spectrum уже 10 лет, и все кому надо было наверняка собрали его.

Share this post


Link to post
Share on other sites

Тактовые кнопки Panasonic - высококачественная коммутация в миниатюрном исполнении

Panasonic, один из мировых лидеров по производству высококачественных электромеханических компонентов, и Компэл представляют масштабное расширение складской программы. В настоящее время на складе Компэл доступны ведущие серии SMD-тактовых переключателей Panasonic в миниатюрных корпусах. Линейка тактовых кнопок Panasonic отличается многообразием компактных переключателей различных типоразмеров, форм штока и выводов. Переключатели отвечают важнейшим требованиям в ответственных применениях.

Подробнее

1 час назад, leshasoft сказал:

Ну этому проекту avr zx spectrum уже 10 лет

Это не тот проект, что в ж.Радио был, году так в 11....14

Share this post


Link to post
Share on other sites

Использование интеллектуальных силовых ключей PROFET в системах электропитания современных автомобилей

Современные автомобили, использующие полуавтоматизированные и автоматизированные системы вождения, отказываются от централизованных систем распределения питания в пользу децентрализованных. При этом современные системы контроля электропитания и обеспечения его безопасности требуют замены электромеханических коммутаторов и предохранителей на быстродействующие ключи на базе MOSFET со встроенными микроконтроллерами и возможностями диагностики – такие как предлагаемые компанией Infineon интеллектуальные силовые ключи PROFET.
Подробнее

1 час назад, _MAVR_ сказал:

а для каких целей??

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

Share this post


Link to post
Share on other sites
1 час назад, mvkarp сказал:

мне тоже не совсем понятно. Для чего? ...

да понять не сложно, на спектрум есть много готовых программ (у меня даже схемный симулятор есть, и я им ещё в 200x году пользовался), а на новый - нет... ну, и погрузиться в атмосферу прошлого, например...

кроме того - это законченное, предсказуемое устройство, которое можно использовать в своих ответственных проектах (ну как у вояк), которое всегда можно отремонтировать и не выяснится, что теперь эмулятор на андроиде не работает, так как он как-то не так обновился или без интернета, почему-то отказывается запускаться.

ЗЫ у меня кстати, есть ленинград и синтез - рабочие.

Edited by Хoхол

Share this post


Link to post
Share on other sites

@Хoхол , а может Вы в курсе (подскажите мне, пожауйста), каких прог нет в теперешних компах, которые были в Синклере?

Или я совсем тупой в инф. технологиях? В частности в АСУТП?

Share this post


Link to post
Share on other sites

@mvkarp Проги есть (ЗЫ сопоставимые и лучше, и нет тех самых), прог нет на новоиспечённом компе, который Вы предлагали изготовить вместо клона Синклера.

Edited by Хoхол

Share this post


Link to post
Share on other sites
1 час назад, dasZebra сказал:

получается разным у двух калькуляторов

 в свою бытность учебы в институте препод заставлял считать курсовой проект по ТОЭ с комплексными числами на логарифмической линейке с точностью до 3 знака (повернутый был на линейке). не помню сколько раз пересчитывал, ни разу не сходились токи. набил исходные данные на перфокарты в фортране 77, отдал на ЭВМ, вычислила идеально. расписал от обратного, в конце прикрепил распечатку расчета. препод проверял, долго хмыкал, увидев распечатку, спросил: а это что? я сказал, что проверял свои расчеты на машине. его восторгу не было предела, я сразу превратился в отличника.

Share this post


Link to post
Share on other sites
30 минут назад, mvkarp сказал:

И, какие...

Да почти всех прог и нет... вот включил чел - ту самую прогу и вернулся в своё детство или юность, пережил какие-то эмоции, взглянул на настоящее совсем другими глазами... 

Share this post


Link to post
Share on other sites

Тоже как-то непонятна цель. :buba:

Если причина в ностальгии, то что мешает сотворить сей девайс на вполне еще доступном Z80? 

А для творчества - с применением современной памяти и периферии.


В действительности всё выглядит иначе, чем на самом деле. ©

Share this post


Link to post
Share on other sites
1 час назад, Хoхол сказал:

Да почти всех прог и нет...

Так кокого токда ты мне голову морочил?

Share this post


Link to post
Share on other sites

@mvkarp На синклер все (много) проги есть, сейчас их найти легче чем в 90-х, этих прог нет на современном железе (разве что пользоваться эмулятором). Я кстати свои оцифровал и запускаю их через эмулятор и теперь не нужно ждать много времени при вычислениях - есть кнопка увеличения тактовой частоты.

1 час назад, smart_ed сказал:

Если причина в ностальгии, то что мешает сотворить сей девайс на вполне еще доступном Z80?

Наверное стоимость, так как кроме всё ещё доступного Z80 (у меня кстати валяется), нужно ещё несколько десятков всё ещё доступных микросхем.

Share this post


Link to post
Share on other sites

Хорош сраться уже,на ровном месте.

1 час назад, Хoхол сказал:

всё ещё доступного Z80

Еще доступен?:oДа их давно уже посдавали в драгмет вместе с ТТЛ логикой.Он то специфичный.Вот МК-лучший вариант в 21-ом веке.Да,были времена:Ленинградов,Пентагонов 128,АТМ-турбо...:rolleyes:Ностальжи.

Edited by Serjmaster

Share this post


Link to post
Share on other sites
7 часов назад, Хoхол сказал:

эмулятор на андроиде не работает..

Это скрин с моего андроида.... все работает.

Share this post


Link to post
Share on other sites
2 часа назад, _MAVR_ сказал:

моего андроида

Вашего ли? А вот спектрум - он мой.

Share this post


Link to post
Share on other sites
13 часов назад, smart_ed сказал:

Тоже как-то непонятна цель.

Ну если автор сможет повторить всё на современных микроконтроллерах включая програмную часть то ему (автору) цены не будет. Это какой же опыт и знания он приобретет.

Share this post


Link to post
Share on other sites

Мне вот тоже непонятно. С точки зрения пользователя, то какая разница - "софтовая" эмуляция (коих уже немеряно есть) или "железная" - всё равно это ЭМУЛЯЦИЯ.
А если нужно аутентичности, то это должна быть только хардкорная конструкция с реальным Z80, AY-3-89xx и магнитофоном "Весна".
И никаких там tap`ов на МР3 плеере, как максимум - BETA-DISK на ВГ93.


"Я не знаю какой там коэффициент, я просто паять умею. "

Share this post


Link to post
Share on other sites

Экран у Спектрума маловат. 

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

Спрайтовый принцип вывода графики и сейчас вполне актуален .

Share this post


Link to post
Share on other sites
9 минут назад, dodik сказал:

Вот если б его  расширить

Ну если автор разберется в софте то я думаю расширить проблем не будет. И это еще один плюс данной работы. В перспективе можно сделать платформу для чего нибудь полезного

Share this post


Link to post
Share on other sites
26 минут назад, dodik сказал:

Экран у Спектрума маловат. 

Ну-у, не знаю, у меня 61см диагональ была. Хватало за глаза. :crazy:

Share this post


Link to post
Share on other sites

Куда его расширять то, при разрешении 256х192 ?  Чтобы смотреть на пиксели размером в полсантиметра?
А если увеличивать реальное разрешение, то это будет уже совсем другая машина, несовместимая с ZX. А кому она нужна, ардуины и прочих платформ мало что-ли?

Edited by Dr. West

"Я не знаю какой там коэффициент, я просто паять умею. "

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Вот как раз формула вычисляет корень из среднеквадратичного значения. Но вот с ней "дебет с кредитом" не сходится. Дополнительно для проверки у меня к примеру есть светодиодная лампа на 20Вт мощности и Зарядник от мобильного устройства приблизительно 69Вт мощности. _____________________________________________________________ 1) Я выкидываю расчёт среднеквадратичного значения из программы и снимаю значения АЦП напрямую, далее я добавляю конденсатор (сглаживающий), он и будет работать вместо формулы, сглаживать и приводить к единому числу все пульсации. (т.е. повторюсь за место формулы работает, конденсатор) То при калибровке такой схемы: - У меня все лампочки по потреблению тока имеют почти-что такой же результат, как и на тестере "плюс" или "минус", расхождения есть но незначительные. - Дополнительно если я подключаю светодиодную лампу, у меня расчётная мощность получается (~18-19 Вт), что почти что права на этикетке лампы написано (20Вт), - Дополнительно подключаю зарядник от мобильника, который даёт такие импульсы большие (на графике выше показаны эти импульсы), схема с конденсатором показывает (~59-65 Вт) - что тоже укладывается в пределы написанного на этикетке зарядника, а именно (230В, 0,3А, 69Вт). _____________________________________________________________ 2) Я подключаю АЦП напрямую (выкидываю конденсатор с резистором), и подключаю расчёт среднеквадратичной формулы. И тут и начинается странность.  При калибровке такой схемы: - Все лампочки также по потреблению тока имеют почти-что такой же результат, как и на тестере "плюс" или "минус", расхождения есть но незначительные. - Светодиодная лампа, у меня расчётная мощность получается (~30 Вт), что уже гораздо страннее, - Зарядник от мобильника, показывает (~600 Вт), что ещё более страннее ибо столько зарядка мобильника потреблять не может.   Судя по расчётам формулы, при подключении обычных ламп накаливания, где сигнал с датчика тока имеет синусоидальный сигнал, среднеквадратичная формула работает отлично, но стоит только подключить устройства с импульсным блок питанием, как формула перестаёт работать и показывает какие-то другие значения. И здесь конденсатор включенный в цепь имеет куда более правдивые показания, чем формула. Но всё же, и там и там, и в схеме без формулы, но с конденсатором, ни в схеме без конденсатора, но с формулой, на графиках видна нелинейность напоминающая параболу. 
    • Красные провода - рабочая обмотка, синие - пусковая. Фазировка пусковой относительно рабочей определяет направление вращения. Пусковая включается через конденсатор. Один включен постоянно, второй на момент пуска, с помощью реле или свециального выключателя. Термопредохранитель в разрыв любого сетевого провода.
    • Здравствуйте! Есть мотор от мясорубки нужно восстановить схему подключения. 1). По схеме что на табличке мотора, разобраться с подключением реверс-переключателя не получилось. На табличке указано что к обоим проводам цвета "BROWN" подключен тепловик/предохранитель, а по факту один из проводов цвета "BROWN" был напрямую подключен к клемме входящего 220В. кабеля. 2). Схема что указана в инструкции от мясорубки вообще без обозначения цветов провода, а 12контактный реверс/переключатель просто не подходит к такому подключению, так как если соблюдать по схеме номера контактов он просто по очереди размыкает контакты питания. Моя схема ОДНОФАЗНАЯ! Помогите пожалуйста разобраться!
    • Это усилитель в клипе? Очень интересно....Под ламповый звук косит?
    • Да, я внимательно посмотрю на ваши подсказки.
    • Как знать...Можно и тут нагородить, не знамо ...и не одну.
    • @Andrey 69 благодарю! С утра попробую электролиты поставить
  • Similar Content

    • By Anton Chehonin
      Вот сам код программ
       
      Текст программы МК
      /*******************************************************
      Chip type : ATmega8
      Program type : Application
      AVR Core Clock frequency: 8,000000 MHz
      Memory model : Small
      External RAM size : 0
      Data Stack size : 256
      *******************************************************/

      #include <mega8.h>
      #include <delay.h>

      // Alphanumeric LCD functions
      #include <alcd.h>

      // Standard Input/Output functions
      #include <stdio.h>
      #include <stdlib.h>

      // Declareyourglobalvariableshere

      float s;
      unsigned long int k0=0,k1=0,k2=0,k3=0,k0123=0;
      unsigned long int k4=0,k5=0,k6=0,k7=0;//k4567=0;
      unsigned long int k8=0,k9=0,k10=0,k11=0;//k891011=0;
      unsigned long int k12=0,k13=0,k14=0,k15=0;//k12131415=0;
      unsigned long int k16=0,k17=0;
      char k=0;

      void main(void)
      {
      // Declare your local variables here

      char buffer[20];


      char a,b,c,d,e,f;
      // Присваивание переменным a,b,c численные значения 63 05 00 01 CF A1
      a=0b01100011;
      //63
      b=0b00000101;
      //05
      c=0b00000000;
      //00
      d=0b00000001;
      //01
      e=0b11001111;
      //CF
      f=0b10100001;
      //A1

      DDRD.2=1;
      PORTD.2=0;

      // USART initialization
      // Communication Parameters: 8 Data, 1 Stop, No Parity
      // USART Receiver: On
      // USART Transmitter: On
      // USART Mode: Asynchronous
      // USART Baud Rate: 9600
      UCSRA=(0«RXC) | (0«TXC) | (0«UDRE) | (0«FE) | (0«DOR) | (0«UPE) | (0«U2X) | (0«MPCM);
      UCSRB=(0«RXCIE) | (0«TXCIE) | (0«UDRIE) | (1«RXEN) | (1«TXEN) | (0«UCSZ2) | (0«RXB8) | (0«TXB8);
      UCSRC=(1«URSEL) | (0«UMSEL) | (0«UPM1) | (0«UPM0) | (0«USBS) | (1«UCSZ1) | (1«UCSZ0) | (0«UCPOL);
      UBRRH=0x00;
      UBRRL=0x33;


      // Alphanumeric LCD initialization
      // Connections are specified in the
      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
      // RS - PORTС Bit 0
      // RD - PORTС Bit 1
      // EN - PORTС Bit 2
      // D4 - PORTС Bit 3
      // D5 - PORTС Bit 4
      // D6 - PORTС Bit 5
      // D7 - PORTD Bit 7
      // Characters/line: 20
      lcd_init(20);
      lcd_clear();
      delay_ms(1000);
      while (1)
      {
      printf("%c%c%c%c%c%c",a,b,c,d,e,f); // отправка в порт

      //принимаем байты
      k=getchar(); // 0 байт
      if (k==99) {PORTD.2=1;}
      k0=getchar(); // 1 байт Активная энергия+
      k1=getchar(); // 2 байт
      k2=getchar(); // 3 байт
      k3=getchar(); // 4 байт
      k4=getchar(); // 1 байт Активная энергия-
      k5=getchar();
      k6=getchar();
      k7=getchar();
      k8=getchar(); // 1 байт Реактивная энергия+
      k9=getchar();
      k10=getchar();
      k11=getchar();
      k12=getchar(); // 1 байт Реактивная энергия-
      k13=getchar();
      k14=getchar();
      k15=getchar();
      k16=getchar();
      k17=getchar(); // 19 байт


      k0=k0«24;
      k1=k1«16;
      k2=k2«8;
      k0123=k0|k1|k2|k3;


      s=k0123;
      sprintf(buffer,"A+=%.4fkWh",s/2500);
      lcd_gotoxy(0,0);
      lcd_puts(buffer);

      // k4=k4«24;
      // k5=k5«16;
      // k6=k6«8;
      // k4567=k4|k5|k6|k7;
      // s=k4567;
      // sprintf(buffer,"A-=%.4fkWh",s/2500);
      // lcd_gotoxy(0,1);
      // lcd_puts(buffer);
      //
      // k8=k8«24;
      // k9=k9«16;
      // k10=k10«8;
      // k891011=k8|k9|k10|k11;
      //
      //
      // s=k891011;
      // sprintf(buffer,"R+=%.4fkVarh",s/2500);
      // lcd_gotoxy(0,2);
      // lcd_puts(buffer);
      //
      //
      // k12=k12«24;
      // k13=k13«16;
      // k14=k14«8;
      // k12131415=k12|k13|k14|k15;
      // s=k12131415;
      // sprintf(buffer,"R-=%.4fkVarh",s/2500);
      // lcd_gotoxy(0,3);
      // lcd_puts(buffer);

      delay_ms(1000);
      lcd_clear();

      }
      }
    • By dima040891
      Приветсвую!
      Кто ни будь работал с микросхемой STLED316S?  Это драйвер семисегментонго индикатора.
      Можете привести минимальный кусок кода который выводит любую цифру на дисплей. Из документации не пойму как с ней работать...
      На форумах инфы почти нет. Из того что есть тоже толку мало. Буду рад любой инфе по этой микросхеме.

      Ещё правильно же понимаю биты по SPI передаются младшим вперёд, а такты нужно передавать инверсные?

      В качестве МК применяю STM32.
    • By leonid zhukov
      Привет.  Переделываю блок питание для компьютера на регулированый импульсны й блок питание. Случайно тронулся щупальцем прибора и короткое замыкание, теперь не работает дежурка и низковольтное. Высоковольтное работает. Поменял оптрон pc817 не заработало, второй раз дотронулся и опять короткое замыкание. Заранее спасибо

    • By sunjob
      добрый день
      проект v-usb
      выкус из спецификации/инета/форумов:
      - реализация не полностью соответствует стандарту
      - работа на 100% не гарантируется
      - питание по USB / с компа может провалиться до 4-4.5В (а F_CPU идет в "притирочку" ...)  :))
      у всех рекомендованных схем подключения (3 шт) имеются те или иные очевидные минусы.



      как следствие стабильно может работать только при "определенных условиях"
      в планах поработать с библиотекой.
      для начало решил "набросать" альтернативный вариант. (так сказать, попытаться закрыть все возможные дыры в подключении)


       
      достаем помидоры, баркова, мысли, высказываемся (заранее благодарен)
      tag: v-usb, usb, avr, atmega328p, avr-gcc, linux/mac-osx
      NO atmega32u4, NO arduino pro micro etc...

×
×
  • Create New...