Description: Want to add video to your next project? This device uses a PIC16F819 and not much else. Getting 20 characters to a line is possible by using the SPI port to generate video. Neat trick, eh? The character set is limited to upper case and a few punctuation marks and uses a 'folded data table' to store the image data in the space available. Input to the device is via 9600 baud RS-232 directly from a computer com port. Since this device was designed as a status display, data is placed on the screen by sending a decimal number to designate the screen location followed by up to 20 characters of text and a carriage return. This allows individual portions of the screen to be updated without disturbing the rest of the screen display. More: Lines are numbered 0,20,40,60,80,100,120, and 140. You can put data starting any place on the screen but do not count on data wrapping to the next line.
As you can see from the circuit, the PIC does all the work here. The 2N3904 is added to boost the output drive.
Sync pulses are generated in software on RB3. The video character data is sent from the internal SPI port via RB2. This is how so many characters can be generated per line. The SPI port is basically just a hardware shift register - eliminating the usual external shift register used in many video generation schemes.
Incoming data is received via RB0 and generates an interrupt to grab a line of ASCII data. (This causes the display to blank until the complete command is received).
The circuit utilizes a PIC16F819 microcontroller, which serves as the core processing unit. This 8-bit microcontroller is capable of handling various tasks including video generation and data communication. The SPI (Serial Peripheral Interface) port is employed to manage video output, allowing for efficient character rendering on the display. The device is designed to handle a specific character set, primarily uppercase letters and a limited selection of punctuation marks, which are stored in a compact 'folded data table' format to optimize memory usage.
Input data is transmitted to the device through an RS-232 serial connection operating at a baud rate of 9600. This allows for direct communication with a computer's COM port. The data format requires the user to specify a decimal number indicating the desired screen location, followed by the text to be displayed, capped at 20 characters, and concluded with a carriage return. This design enables selective updates to the display without affecting the entire screen, enhancing usability in dynamic applications.
The output stage of the circuit is supported by a 2N3904 NPN transistor, which amplifies the video signal to ensure adequate drive strength for the display. The synchronization pulses necessary for video timing are generated in software using pin RB3 of the PIC16F819. The actual video data, derived from the character set, is sent out through pin RB2 via the SPI port. This method allows for the rapid generation of multiple characters in a single line, leveraging the microcontroller's built-in capabilities to eliminate the need for external shift registers typically used in video applications.
Data reception is facilitated by pin RB0, which is configured to trigger an interrupt when incoming data is detected. This interrupt-driven design is crucial for capturing a complete line of ASCII data, ensuring that the display remains blank until the entire command is processed, thus preventing partial updates that could lead to visual artifacts on the screen. The lines of the display are numbered in increments of 20, from 0 to 140, allowing for flexible positioning of text within the available display area, though care must be taken to avoid automatic line wrapping.Want to add video to your next project? This device uses a PIC16F819 and not much else. Getting 20 characters to a line is possible by using the SPI port to generate video. Neat trick, eh? The character set is limited to upper case and a few punctuation marks and uses a 'folded data table' to store the image data in the space available. Input to the device is via 9600 baud RS-232 directly from a computer com port. Since this device was designed as a status display, data is placed on the screen by sending a decimal number to designate the screen location followed by up to 20 characters of text and a carriage return.
This allows individual portions of the screen to be updated without disturbing the rest of the screen display. Lines are numbered 0,20,40,60,80,100,120, and 140. You can put data starting any place on the screen but do not count on data wrapping to the next line. As you can see from the circuit, the PIC does all the work here. The 2N3904 is added to boost the output drive. Sync pulses are generated in software on RB3. The video character data is sent from the internal SPI port via RB2. This is how so many characters can be generated per line. The SPI port is basically just a hardware shift register - eliminating the usual external shift register used in may video generation schemes.
Incoming data is received via RB0 and generates an interrupt to grab a line of ascii data. (This causes the display to blank until the complete command is received).
SPI Integrated Circuit Bus, IC Buses, an IC, Chip-to-Chip Bus Serial Peripheral Interface, Integrated Circuit Bus types, and IC Bus Electrical Interface Descriptions. The Peripheral Interface (SPI) circuit is a.
The Serial Peripheral Interface (SPI) is a synchronous serial communication protocol...
SPI stands for Serial Peripheral Interface, which is the simplest among all communication protocols. Eight-bit data registers in the devices are connected by wires. These data registers function as shift registers, with one device controlling the data exchange within the...
This RS-232 type line receiver is designed to drive CMOS logic and incorporates a Schmitt-trigger feedback network that provides approximately 1-V input hysteresis, enhancing noise immunity. A potential issue in an interface connecting two devices, each connected to different AC...
This device uses the second method, which requires about 100 times less parts, but adds motion detection to switch cameras. The usual way to detect motion is to store a complete video frame and then look for changes on successive...
There are several websites documenting the original Furby circuit board. I decided to replace the original circuit entirely and replace it with a PIC based controller. The mechanism of the Furby itself was designed around microcontrollers. It has one motor...
This circuit is utilized in RS-232 serial interface and current loop circuit applications. It converts voltage signals into a 20mA current signal, with a maximum transmission rate of 1200 bits per second. The CCD IC1 and transistor T1 form the...
Laser based projects used to be expensive, until the development of solid state lasers. This project is designed for the entry level laser experimenter. The circuit allows any two computers with serial (RS-232) communication capability to communicate over 200 meters...
The following circuit is an example of how to get power from an RS-232 serial port. It provides regulated +5V power for logic circuits and also unregulated positive and negative power supplies for the RS-232 transmitting circuit. The circuit delivers...
The following circuit are provided here to give your idea how the overvoltage protection circuits really work and how you can easily add some protection to your circuits. To make those circuit really effective need careful component choosing and good...
We use cookies to enhance your experience, analyze traffic, and (if you allow) serve personalized ads.
By clicking Accept All, you agree to our use of cookies.
Learn more