Понедельник, 25.11.2024, 20:16
Микроконтроллерная техника AVR
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Помоги сайту
Поддержи наш сайт
Через WebMoney
U222865683087
R391933670808
Z877043628365
E649133782052

или пополни нашу SMS копилку
SMS.копилка

Ссылки

 Каталог статей
Главная » Статьи » Учимся работать с AVR

Генераторатор видеосигнала на МК (практика)
Итак разобравшись с теорией соберем простой видео генератор. Он будет много функциональный ибо в нем бедет несколько режимов работы.
Запустим Code Vision AVR и выберем определенные настройки.

Выставим на 12 МГц для большей точности. В собранной схеме я настоятельно рекомендую использовать кварц и 2 конденсатора.

Устанавливаем порты :
 

Полученный код отредактируем:

#include <mega8.h>  // библиотека МК
#include <delay.h>  // библиотека задержки
unsigned char info=0; // переменная режима робаты генератора
void main(void)
{
PORTB=0x01;
DDRB=0x00;

PORTC=0x00;
DDRC=0x03;

while (1)
  {
      if (PINB.0==0)      // прибавляем значения переменной кнопки
      {
       info++;
       delay_us(250);
      }
      if (info==4)
       info=0;  
     
      /// Генерируем Видео
     
      PORTC.0=0;     // генерируем синхроимпульс
      PORTC.1=0;
      delay_us(4);   // длина синхроимпульса 4 мс.
     
      PORTC.0=0;     // уровень чорного
      PORTC.1=1;
      delay_us(8);    // длина 8 мс
           
      if (info==0)
      {
      
       PORTC.0=1;        // уровень серого
       PORTC.1=0;
       delay_us(10);     // 10 мс
      
       PORTC.0=1;        // уровень белого
       PORTC.1=1;
       delay_us(32);     // 32 мс
      
       PORTC.0=1;        // уровень серого
       PORTC.1=0;
       delay_us(10);     // 10 мс
      }
     
      if (info==1)
      {
      
       PORTC.0=1;        // уровень серого
       PORTC.1=0;
       delay_us(10);     // 10 мс
      
       PORTC.0=0;        // уровень черного
       PORTC.1=1;
       delay_us(32);     // 32 мс
      
       PORTC.0=1;        // уровень серого
       PORTC.1=0;
       delay_us(10);     // 10 мс
      }

       if (info==2)
      {
      
       PORTC.0=0;        // уровень черного
       PORTC.1=1;
       delay_us(10);     // 10 мс
      
       PORTC.0=1;        // уровень белого
       PORTC.1=1;
       delay_us(32);     // 32 мс
      
       PORTC.0=0;        // уровень черного
       PORTC.1=1;
       delay_us(10);     // 10 мс
      }

       if (info==3)
      {
      
       PORTC.0=0;        // уровень черного
       PORTC.1=1;
       delay_us(17);     // 10 мс
      
       PORTC.0=1;        // уровень серого
       PORTC.1=0;
       delay_us(17);     // 17 мс
      
       PORTC.0=1;        // уровень белого
       PORTC.1=1;
       delay_us(18);     // 18 мс
      }     
  };
}


Собираем Схемку:


И при моделировании мы уведем  работы нашего  генератора.
 

Все файлы по проекту в разделе "файлы".


Категория: Учимся работать с AVR | Добавил: my-avr (12.02.2009)
Просмотров: 16757 | Комментарии: 7 | Рейтинг: 5.0/1 |
Всего комментариев: 7
7 Денис  
0
Странно, но я не вижу формирования кадрового СИ. Что разве КСИ телекам уже не нужны?

6 NiSkNAme  
0
Может будет проще синхроимпульс повесиь на таймер а выводить изображение в прерывании?

5 Алексей  
0
Задержка при нажатии кнопки очень мала.

3 Upgrader  
0
И еще вопрос... Зачем это надо? Я понимаю если надо надпись какую-то вывести, картинку... это очень даже нужно. А так-то совсем не интересно.

4 my-avr  
0
просто привожу пример что реально можно вывести изображения с МК на телевизор wink
вот кому интересно парень сделал по моему примеру
http://forum.cxem.net/index.p....=518466

2 my-avr  
0
Да, действительно была ошибка, теперь материал исправлен.
Спасибо GDragon, за внимательность wink

1 GDragon  
1
Хотелось бы спросить вот что. В теории написано, что длина строки составляет 64 микросекунды, а в данной программе все сделано в миллисекундах. Получается, если собрать схему с прошивкой как тут представлено - то мы не увидим ничего путного на телеэкране?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright My-AVR © 2024
Наша кнопка
У нас появилась кнопка, код кнопки:

Лаборатория самоделок на микроконтроллерах AVR

Форма входа
Наш опрос
Какой МК вы используете?
Всего ответов: 3230
Статистика/Друзья
CY-PR.com



Онлайн всего: 1
Гостей: 1
Пользователей: 0

РадиоКОТ - популярно об электронике. Авторские схемы, новые разработки. Обучение по электронике, микроконтроллерам, ПЛИС. Форум Сайт по радиоэлектронике. У нас все просто и интересно… ARV Reserch: Электроника — просто, полезно, увлекательно. Электронные устройства и программные средства для радиолюбителей и профессионалов, только авторские разработки, плагиата нет! Разработки на заказ. AVR projects Создание электронных роботов своими руками Схемы и программы на AVR http://ur5yfv.ucoz.ua/BANNER.gif Блог начинающего эмбеддера. Дай волю паяльнику! Самоделки на all-make.ru Принципиальные схемы Модулі автозапуску бензогенератора та системи АВР, електромонтажні роботи
Хостинг от uCoz