Video signal generation with PIC chip

The idea of creating video signals with a microcontroller is very fascinating to me. Creating live video data through software is not an easy task. The task is even more complicated if implemented on a PIC chip. The video signal has to constantly be generated, and any calculations have to be done during a small window of time between frames being drawn. It is much easier to have a hardware video signal generator such as a video card, and then feed the preformed information to it.
The above picture is a picture of a game system created around the PIC16F84. It contains both the video generation software, as well as the game software. This chip is an 18 pin microcontroller made by Microchip. Rickard Grunee writes:
…I have designed the hardware of the PIC game system to be able to run several different kinds of games. It has two standard C64/Amiga/Atari joysticks and video and audio output. The processor is a PIC16F84 running at 12MHz. The description of the hardware is placed on this separate page as it is the same for both of my PIC-based video games. So far I’ve only made two games, Pong and Tetris, but some day there might be more games for the system. (Most unlikely that I write more games though as I probably will write more games for the SX-system instead)…
You can read all about how to generate video on this chip at www.rickard.gunee.com Sadly my new microcontroller programmer will not program the 16F84. I may have to build my own programmer.


I am not going to go into the specifics of how to generate video, because it is very complicated. You can read a good article on it here. The two pictures you see are from rickard gunee’s site. The first one is a sample video signal output from his chip, and the next picture is the output on the screen. The timing of the video signal is very important. The spikes on the signal correspond to the vertical lines on the screen. This signal is the information for one horizontal sweep across the screen. It gives all of the information for one row of pixels. It has on the left, a set-up spike, and then there is an 8 microsecond pause. The other spikes you see correspond to the white, and gray stripes. The baseline is the information for black. This video only has thre shades. The first is black, then their is gray, and then their is white. One warning for this site, is that since it is produced in Europe, it is on the PALS system, and not NTSC, which is the American format for telivision.
Another good resource for creating video signals using a microcontroller (Atmel mega32) can be found here.
8 Responses to “Video signal generation with PIC chip”
Leave a Reply



see a version of this stuff written in picc here : http://droolcup.com/other/pictv/
[...] Here is an interesting microcontroller project similar to the video signal generation project that I have previously discussed. This is a digital multimeter that produces a composite video output that can be displayed on a television screen. He uses an Atmel AT90S1200 microcontroller. Check out this cool project. [...]
hi
how to convert tv signal to digtal and from digital to tv again by pic
help me please
thank you
thanks
hi
I have a project at university. my project is scrolling text on the tv screen. I use pic microcontroller for doing it. and I saw this website and tried to see vertical lines on the screen like the upper figure. I am using pic c to do it. My simulating program’s name is proteus(ISIS) and I can see the same signal at the ossiloscope.
can you help me please..?
hi
I have a project at university. my project is scrolling text on the tv screen. I use pic microcontroller for doing it. and I saw this website and tried to see vertical lines on the screen like the upper figure. I am using pic c to do it. My simulating program’s name is proteus(ISIS) and I can see the same signal at the ossiloscope. but when I do the curciut I cannot see the same vertical lines :((((
can you help me please..?
hi sercan, im a bit noob in this, but, have you think about PAL/NTSC? (i repeat, im a bit noob and dont speak english very well)
Similar project with ATmega8 is here: http://www.sweb.cz/tvterminal