00001 00002 #include "hs_timer.h" 00003 #include "timer0_lib.h" 00004 00005 //aus ...#include "usb_key.h" // board specific 00006 #define Led0_on() (PORTD |= 0x10) // Red 00007 #define Led2_on() (PORTD |= 0x40) // Green 00008 #define Led0_off() (PORTD &= 0xEF) 00009 #define Led2_off() (PORTD &= 0xBF) 00010 00011 00012 00013 #define T1 200 /* n * 1ms*/ 00014 00015 00016 // 1 Millisekunde Verzoegerung mittels Timer0 00017 void delay_1ms( void) 00018 { 00019 Timer0_start(-125); // startwert, timer zählt hoch: +1,+1 ... 00020 while( (TIFR0 &0x01) ==0) // Warten, bis Timer Overflow Flag kommt 00021 { /*wait */} // d.h. Timer ==0 00022 Timer0_stop(); // Timer Overflow Flag löschen 00023 } 00024 00025 00026 // dies Function wartet n * 1ms ( Millisekunde) 00027 void delay_ms( unsigned int n) 00028 { 00029 for(;n!=0;n--) 00030 { 00031 delay_1ms(); 00032 } 00033 } 00034 00035 // neues Zeichen, Buchstabenzwischenraum 00036 void nz(void) 00037 { 00038 delay_ms(1*T1); 00039 } 00040 00041 // neues Wort, Wortzwischenraum 00042 void nw(void) 00043 { 00044 delay_ms(3*T1); 00045 } 00046 00047 // 1 mal 'kurz' 00048 void did(void) 00049 { 00050 Led0_on(); 00051 delay_ms(T1); 00052 Led0_off(); 00053 delay_ms(T1); 00054 } 00055 00056 //1 mal 'lang' 00057 void dah(void) 00058 { 00059 Led0_on(); 00060 delay_ms(3*T1); 00061 Led0_off(); 00062 delay_ms(T1); 00063 } 00064 00065 // Pause , ein bischen länger 00066 // gruen led an 00067 void pause(void) 00068 { 00069 Led2_on(); 00070 delay_ms(5*T1); 00071 Led2_off(); 00072 delay_ms(T1); 00073 } 00074 00075 00076