Главная > Электронные Проекты > Tiny Pong: Больше развлечений с Attiny45 и VGA

Крошечные понг: Больше развлечений с Attiny45 и VGA

Я все еще ​​жду своей дешевой модуль Bluetooth из Китая , который будет служить входной интерфейс для моего проекта табло . В то же время, я покажу вам, как превратить ваш ATtiny микроконтроллер в игру Pong (без участия до сих пор).




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


                        Attiny45
                   + ----------------- +
                   | |
            В ---- | 1 (PB5) (VCC) 8 | ---- +5 V
     22pF | |
   + - | | ---- + ------ | 2 (PB3) (PB2) 7 | ---- HSYNC
   | [] XTAL | |
   + - | | ---- + ------ | 3 (PB4) (PB1) 6 | ---- VSYNC
   | 22pF | |
   + --------------- | 4 (GND) (PB0) 5 | ---- RGB
   | | |
  GND + ----------------- +

Теперь RGB связано с PB0, и есть веские основания для этого. Я до сих пор, используя тот же метод хранения, что я хочу сделать в регистрах, но вместо 4-х, на этот раз я использую 15 так я могу добиться горизонтальное разрешение в 120 на 96, чтобы как-то пикселей в квадрате. Теперь, чтобы быть в состоянии идти корыто 120 бит и включить вывод RGB / выключения соответственно (и равномерно), мне нужно было обрезать код, удалив петли (так что вы увидите много подобных код в той части, что делает линия) и условного Скип теперь заменен на "добавить с переносом" после изменения во временный регистр, который будет использоваться с "вне", которая является менее дорогостоящим, чем "ВОО" и "CBI".

Таким образом, с точки зрения оптимизации кода, это:

	 ; R1 бит 0
	 r16 ЦБ РФ, 1
	 LSL r1
	 ADC r16, r22
	 выход, r16
	 ...  повторяется 120 раз (8 раз в битной и 15 раз в регистре)

Это лучше, чем:

	 r16 LDI, 0x08
 line44:
	 РОЛ r8
	 brcc rgboff44
	 NOP
	 ; RGB на
	 ВОО порт, RGB; ВОО = 2 часов
	 rjmp cont44
 rgboff44:
	 ; RGB с
	 CBI порт, RGB; CBI = 2 часов
	 NOP
	 NOP
 cont44:
	 Декабрь r16
	 NOP
	 NOP
	 NOP
	 NOP
	 NOP
	 Brne line44

Есть и другие части кода, которые могут представлять интерес. Например, я использовать LFSR добавить некоторые псевдо-случайных величин в направлении мяча и весла "компьютер" движений. Кроме того, я использовал алгоритм линейного Брезенхэма для определения положения шара.
Недостающую часть, по-прежнему является входом. Я не уверен, как это будет работать только с одним контактным доступны, но я предполагаю, что я буду работать что-то с модулем Bluetooth и одну из синхронизации сигналов (если вообще возможно).
Я пытался добавить введение экран или "всплеск", но программа памяти настолько мала, что я быстро превысил 4096 доступны байт.

Скачать Крошечные понг 1,0 исходный код и наслаждайтесь!

  1. TomF
    7 октября 2011 в 17:32 | # 1

    Очень впечатляет! Спасибо, что поделились этим. Я люблю проекты, где Мощь процессора заменен мозги.

  2. Смесь простого пива с имбирным или с лимонадом
    7 октября 2011 в 19:49 | # 2

    Любовь эта, хотя может у пытаться простое управление экране ноутбука, используя что-то вроде рис 12, а затем адаптироваться в ней и может сделать автомобиль шт LOL работы ГД на ур игра понг

  3. fvicente
    7 октября 2011 в 20:13 | # 3

    @ TomF
    Спасибо! Я получил некоторые хорошие идеи о том, как использовать свой единственный левый вывод управлять веслами, даст, когда я пытаюсь получить немного свободного времени ... ура

  4. Эндрю
    8 октября 2011 в 7:16 | # 4

    Привет, я просто хотел попробовать свои прохладные искаженным видео! Хороший один! :-)

Защита от спама на WP Captcha-Free