PWM Timer0  Ver.1.0.
Felix S.
Macros | Functions
GccApplication1.cpp File Reference

Hauptprogramm (not in Arduino Style!!!) More...

#include <avr/io.h>
#include <stdlib.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "lcd-routines.h"

Go to the source code of this file.

Macros

#define F_CPU   16000000UL
 
#define DEBUGCYCLETIME   5000
 

Functions

void setup ()
 
void LCD_WRITE (const char buffer[16])
 
int main (void)
 
 ISR (ADC_vect)
 
 ISR (TIMER0_COMPA_vect)
 
 ISR (TIMER0_OVF_vect)
 

Detailed Description

Hauptprogramm (not in Arduino Style!!!)

PWM (ATMEGA 328p 16Mhz)

Author
Felix Sukal 2016 4AHEL
Date
29.01.16
Version
1.0

Aufgabenstellung

Ein Potentiometer (zwischen Masse und VCC) auf Pin ADC0 steuert permanent die Helligkeit einer Led an Pin OC0A (PD6). ADC und PWM werden mit einer Aufloesung von 8 bit betrieben, da dies vollkommen ausreichend ist för die Helligkeitssteuerung einer LED. Mit dem Conversion Finnished Interrupt des ADCs wird der wert dem PWM Module übergeben und eine weitere Conversion gestartet.

Es ist nicht möglich dieses Projekt auf unseren Arduino boards zu testen, da der PWM Ausgangspin einer der Display Datenpins ist. Um ein lauffähiges Program zu erhalten müssen in der lcd-routines.h die Defines der Piplay Pins und die Hardware (lcd schield) geändert werden.

wegen Simulation sind die Trace-Meldungen auskommentiert ATTENTION: die Simulation von OC0A scheint nicht zu funktionieren; man sieht den Pin nicht togglen

Definition in file GccApplication1.cpp.