#define F_CPU 16000000UL #include #include //#include #include // global variables uint16_t pwm_plus_tabelle[16] PROGMEM = {0, 4, 8, 15, 19, 27, 35, 46, 58, 62, 79, 90, 100, 182, 216, 255}; uint16_t pwmtable_8[256] PROGMEM = {20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 38, 38, 38, 39, 39, 39, 40, 40, 41, 41, 41, 42, 42, 43, 43, 44, 44, 44, 45, 45, 46, 46, 47, 47, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52, 53, 53, 54, 54, 55, 55, 56, 56, 57, 58, 58, 59, 59, 60, 61, 61, 62, 62, 63, 64, 64, 65, 66, 66, 67, 68, 68, 69, 70, 70, 71, 72, 72, 73, 74, 75, 75, 76, 77, 78, 79, 79, 80, 81, 82, 83, 83, 84, 85, 86, 87, 88, 89, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 123, 124, 126, 127, 128, 129, 131, 132, 133, 135, 136, 137, 139, 140, 141, 143, 144, 146, 147, 149, 150, 152, 153, 155, 156, 158, 160, 161, 163, 164, 166, 168, 169, 171, 173, 175, 176, 178, 180, 182, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, 205, 207, 209, 211, 213, 215, 217, 220, 222, 224, 226, 228, 231, 233, 235, 238, 240, 243, 245, 247, 250, 252, 255}; uint16_t pwmtable_16[256] PROGMEM = {0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 38, 40, 41, 43, 45, 47, 49, 52, 54, 56, 59, 61, 64, 67, 70, 73, 76, 79, 83, 87, 91, 95, 99, 103, 108, 112, 117, 123, 128, 134, 140, 146, 152, 159, 166, 173, 181, 189, 197, 206, 215, 225, 235, 245, 256, 267, 279, 292, 304, 318, 332, 347, 362, 378, 395, 412, 431, 450, 470, 490, 512, 535, 558, 583, 609, 636, 664, 693, 724, 756, 790, 825, 861, 899, 939, 981, 1024, 1069, 1117, 1166, 1218, 1272, 1328, 1387, 1448, 1512, 1579, 1649, 1722, 1798, 1878, 1961, 2048, 2139, 2233, 2332, 2435, 2543, 2656, 2773, 2896, 3025, 3158, 3298, 3444, 3597, 3756,3922, 4096, 4277, 4467, 4664, 4871, 5087, 5312, 5547, 5793, 6049, 6317, 6596, 6889,7194, 7512, 7845, 8192, 8555, 8933, 9329, 9742, 10173, 10624, 11094, 11585, 12098, 12634, 13193, 13777, 14387, 15024, 15689, 16384, 17109, 17867, 18658, 19484, 20346,21247, 22188, 23170, 24196, 25267, 26386, 27554, 28774, 30048, 31378, 32768, 34218,35733, 37315, 38967, 40693, 42494, 44376, 46340, 48392, 50534, 52772, 55108, 57548, 60096, 62757, 65535}; void delay_ms( unsigned int ms ) { unsigned int i; unsigned int j; for ( i = ms; 00 ; tmp--, tmp2--){ OCR1A = pgm_read_word(&pwmtable_16[tmp]); if(tmp2==0) x=1; if(x==1){ OCR1B = pgm_read_word(&pwmtable_16[tmp2]); if(tmp2==170) x=2; } if(tmp<=86){ OCR1B = pgm_read_word(&pwmtable_16[tmp2]); } delay_ms(250); } } int main(void) { //Aus- & eingänge definieren DDRD |= (1<0; tmp--){ OCR2 = pgm_read_word(&pwmtable_8[tmp]); delay_ms(50); } */ //hoch(); runter(); } return 0; }