VIRTUAL PERIPHERALS | DESCRIPTION | SOURCE FILE Download File |
---|---|---|
sx demo (6vps) | This demo includes a 19.2k baud UART, two PWM outputs, a 16-bit independent timer, and two 8-bit A/D converters, all implemented as Virtual Peripherals, in software. This is compatible with the SX Demo Board from Parallax, and is the same code is shipped with the Parallax tools. | |
Power V.P. Demo (16 VPs) | This demo includes six 19.2k baud UARTS, four PWM outputs, four 16-bit independent timers, and two 8-bit A/D converters, all implemented as Virtual Peripherals, in software. This is not compatible with the SX Demo Board from Parallax, but is a very impressive demonstration of the type of power that software can provide on the right kind of silicon. | |
DTMF I/O | This application combines DTMF input and output. Designed to be compliant with the Scenix SX Modem evaluation board. | Source code currently available only by request. |
Bell-202 1200Baud FSK Modem | This application combines Bell-202 1200Baud FSK I/O, DTMF output and 1200bps UART. Also includes AT command interface. Designed to be compliant with the Bell-202 specification and Scenix SX Modem evaluation board | |
Running 8 Different Virtual Peripherals | This example is a super set of the complex solution. It includes one 19.2k baud, UART, two 8-bit A/D converters, two PWM outputs, one I2C serial link, and two 16-bit independent timers. In addition following 3 Virtual Peripherals running concurrent: Time clock (keeps count in msec), a software execution path switcher and push button detection and debounce. | |
2400-230.4K UART | This is a simplified software module that communicates over an RS-232 port to a PC and will echo back what is received. This is compatible with the SX Demo Board. | uart_vp.src |
Eight UART (19.2k Baud) | This software configures the Port B pins as inputs and Port C pins as outputs for the respective UARTs (i.e., UART0=RB.0+RC.0, UART1=RB.1+RC.1, ...). This code is not compatible with the SX Demo Board provided by Parallax, but offers an impressive example of the power of virtual peripherals. | uarts.src |
8-Bit PWM | This is a software module that creates an 8-bit PWM signal on one output port pin. This is compatible with the SX Demo Board. | pwm_vp.src |
Multiple PWM Outputs |
This example code provides 8 PWM outputs on the PORT B pins. Each PWM is individually adjustable (through code modifications), for different duty cycles. This should be used to toggle LED's or drive small speakers directly off the PORT B pins, although frequencies of up to 1MHz are available. | pwms.src |
8-Bit ADC |
The traditional 8-Bit A/D Converter relies on comparison with a known reference, through an amplifier, to adjust for the difference in the unknown signal. With some software tricks, we can implement a simple 8-bit A/D converter on any CMOS input to the SX device. This is compatible with the SX Demo Board. | adc_vp.src |
16-Bit Timer |
A simple virtual peripheral to create a 16-bit independent timer. Each timer only consumes 11 instruction cycles. This is compatible with the SX Demo Board. | timer_vp.src |
I2C
Master Interface |
This software works with the SX Demo Board provided by Parallax to write to, read from or erase the serial EEPROM memory device. | i2cm_vp.src |
I2C Slave Interface |
This software works with the SX Demo Board provided by Parallax to write to, read from or erase the serial EEPROM memory device. | i2cs_vp.src |
SX to SX SPI Interface |
This application note provides an example of data transfer between two SX microcontrollers through the SPI data bus. This demo consists of two programs - DEMO3M.SRC and DEMO3S.SRC, which correspond to the SPI Master and SPI Slave sides accordingly. The schematic file, spischdemo3.pdf is also provided. | demo3m.src demo3s.src sxschdemo3.pdf |
SPI/uWire Low-speed Master Interface |
These Virtual Peripherals add SPI communication capability to the SX. This suite of routines cover all possible variations of SPI with high and low-speed versions of both master and slave mode operation. | spi_ml.src |
SPI/uWire High-speed Master Interface |
These Virtual Peripherals add SPI communication capability to the SX. This suite of routines cover all possible variations of SPI with high and low-speed versions of both master and slave mode operation. | spim.src |
SPI/uWire High-speed Slave Interface |
These Virtual Peripherals add SPI communication capability to the SX. This suite of routines cover all possible variations of SPI with high and low-speed versions of both master and slave mode operation. | spis.src |
Stepper Motor Control |
This Virtual Peripheral adds the ability to control a stepper motor. This routine excites the stepper motor using half-step sequence but the excitation method can be changed to any sequence you choose simply by modifying the startstep lookup-table with the appropriate sequence of excite output. | stepper.src |
4x4 Keyboard Scan | This application note presents programming techniques for scanning a 4x4 keyboard usually found in both consumer and industrial applications for simple numeric data entry. | keyscan.src |
Push Buttons & Path Switcher |
This application note presents programming techniques for implementing and debouncing from 1-4 push buttons. This implementation also demonstrates the use of a path switcher (combined with a simple real-time clock ) to reduce the execution time of each interrupt. | |
FSK Generation | Frequency Shift Keying Virtual Peripheral for Telephony applications. This routine provides a 1200 Baud, Phase-coherent FSK generation with minimal external circuitry. | fsk.src |
DTMF Generation | Dual Tone Multiple Frequency generation Virtual Peripheral created using PWM signals. | dtmf.src |
Digital Frequency Synthesizer | Richard Ottosen has developed an improved version of the Digital Frequency Synthesizer described in Tom Napier's article "Digital Frequency Synthesis" in issue 99 (October 1998) of Circuit Cellar INK. | |
Real-Time Clock | This VP implements a real time clock that keeps a 16-bit milliseconds count, and has the option for full time clock capabilities, including seconds, minutes, hours, and days. | clock_vp.src |
Comparitive resistance meter with LCD Driver |
This software uses two software A/D converters, on pins RB.5 and RB.6, to read in a known resistance value, and compare it to an unknown, and then outputs the results on an 8-segment LCD. The RA pins drive the commons, and the RC pins drive the characters | |
8-Bit LCD Interface | Interfacing an SX uC to a Hitachi HD44780-Driven LCD display, using an 8-bit parallel data bus without interrupts. | lcd8xmpl.src |
4-Bit LCD Interface | Interfacing an SX uC to a Hitachi HD44780-Driven LCD display, using a 4-bit parallel data bus without interrupts. | lcd4xmpl.src |
USB Scanner Interface |
USB application notes for SX used with netchip USB interface hardware. the VP is for the scanner interface, not the USB port. | |
Binary to 7 segment LED Converters | Binary to 7 segment LED Converters | seven_seg.src seven_seg.pdf |
Bar Graph Display | This application will create a bar graph display, similar to a signal strength meter on a stereo. By modulating the signal to the LED's, it is possible to create an analog effect on a discete, digital display. | bargraph.src |