Atmel

AVR assembler code only :-)

Programování sériových EEPROM 24CXX pomocí ponyprog a AVR ISP programátoru s STK200/300 pinoutem, testováno na Microchip 24LC512, na stránkách lancos uvádí jen připojení k AVR ISP s SI-Prog pinoutem.

- Counter simulated by software - easy and reliable way to test simple PWM without need to use exact port or pin. Code is written for ATMega8 or similar.

- ZX Spectrum Hlas/Kecal.asm - original simple 2kB TTS ported to ATMega8 using port B, by default all bits at once, inspired by AtmelKec (hw.cz).

- Kecal.c raw Z-80->RISC->C port, output to stdout 1/255 demo MP3 (87kB from 947kB WAV).

- TTS software for ATMega8 - using 24LC512 for wave-letters data and Fast PWM to play them, written in assembler, eeprom RAW data used for v2 - unfinished / poor quality.

Examples:

- ZX Spectrum Kecal/hlas-ATMega8 (WAV, 147kB) TXT.

- ATMega8 TTS data V2 (WAV,291kB), same from PC(411kB), POC from PC only (303kB), source from PC's TTS (210kB), text read there.

- DTMF dialer vhodný např. pro vytáčení naprogramované telekonto karty, testovaná konfigurace ATMega8-16PU, sluchátko na PB1 a Vcc (při testu použito ze starého Alcatel DB, pravděpodobně KEYRIN 8R 0.1W), tlačítko na libovolném volném pinu portu B proti zemi a baterie, při testu použita Li-Ion 3.7V 1460mAh (cca 4.3V) z gme.cz, testováno v mincovém automatu, program nejprve čeká na klávesu, pak přehraje DTMF kódy a opět čeká na klávesu před dalším blokem či opakováním celého procesu.

- 4 stage multiplexed 7 segment LED display driver using TimerO of ATMega8, port D for 7 segments, half of port C for stage switching, testing counter (1/10s increments) included, works @8MHz, 1/64 prescaler, so 488Hz for interrupts, 1/2 blanking so 61Hz is basic display frequency, 3.5V power no additional components used - only ATMega8-16PU and yellow HD-BQ-N513RD (589nm, 2,0V/2,5mcd per segment), interrupt processing around 4micro seconds for blanking and 8 for display, interrupt frequency 2048 microseconds.

- Simple voltmeter - extension of the display driver code above, there is also 16/8 DIV & MOD routine, result is shown in volts (multiplied by 2.5, so 1023 for internal reference voltage is shown as 2557), there is a never-ending sleep loop instead of main program part as ADC and display uses own interrupts.

- Duty cycle meassuring - simple counter counts H impulse length (on ICP1/PB0/PIN14), result is shown in CPU ticks 0-9999 overflow is shown as ----

 

Interesting ADC info: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=56429

Song player for Tiny (Wavetable Melody Generator): http://elm-chan.org/works/mxb/report.html

Another links: https://labitat.dk/wiki/Microcontroller_Resources

Signal Generator - ASM code http://www.avr-asm-tutorial.net/avr_en/signalgen/rectgen_m8.html

AVR DDS signal generator V1.0 http://www.scienceprog.com/avr-dds-signal-generator-v10/

V2.0 http://www.scienceprog.com/avr-dds-signal-generator-v20/

 

Zpět