-
PDF
tut_test.pdf
und Software brauche ich, um AVR-Mikrocontroller zu programmieren? z I/O-Grundlagen: Wie kann ich Taster und LEDs an einen AVR anschließen und benutzen? z Logik: Verschiedene Grundoperationen und Verknüpfungen z Arithmetik: Verschiedene Grundoperationen z Der Stack: Was ist der Stack und wie funktionieren
-
PDF
98294_eth_200_arr_km.pdf
Zeitraum von 00:00 bis ab 23:30 bis 23:59 16,0 °C 23:59 Temperaturen hinterlegt werden müssen: ·· Menü-Taste länger als 3 Sekunden drücken ·· Im Display erscheint „Pro“ ·· Mit OK-Taste bestätigen ·· Im Display erscheint „dAy“; mit dem Stellrad sind ein einzelner Wochentag, alle Werktage, das Wochenende oder
in „CRC Berechnung für ETH comfort 200“ · Haus & Smart Home ·
-
Datei
waage.c
BUTTON_T + BUTTON_Z); // P2.6 + P2.7 als GPIO P2REN |= (BUTTON_T + BUTTON_Z); // P2.6 + P2.7 als Taster P2OUT |= (BUTTON_T + BUTTON_Z); // mit PullUP P2IE |= (BUTTON_T + BUTTON_Z); // Button_T interrupt eingeschaltet P2IFG &= ~(BUTTON_T + BUTTON_Z); // Interrupt-Flag löschen P1OUT |= (LED_GREEN + LED_YELLOW
in „Programm zu groß für 1k Flash“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd.c
,"M",""}; unsigned char Plus_Taste[]={0x1b,0x54,0x48,1,2,1,2,"Vol+",""}; unsigned char Minus_Taste[]={0x1b,0x54,0x48,3,4,3,2,"Vol-",""}; unsigned char Mute_Taste[]={0x1b,0x54,0x48,5,6,5,2,"Mute",""}; unsigned char Input_Taste[]={0x1b
in „Probleme mit Touch-Panal und RS232“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
waage.c
BUTTON_T + BUTTON_Z); // P2.6 + P2.7 als GPIO P2REN |= (BUTTON_T + BUTTON_Z); // P2.6 + P2.7 als Taster P2OUT |= (BUTTON_T + BUTTON_Z); // mit PullUP P2IE |= (BUTTON_T + BUTTON_Z); // Button_T interrupt eingeschaltet P2IFG &= ~(BUTTON_T + BUTTON_Z); // Interrupt-Flag löschen P1OUT |= (LED_GREEN + LED_YELLOW
in „Programm zu groß für 1k Flash“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM_Dimmer_entprellt.txt
key_rpt; // key long press and repeat uint8_t direction = 1; // Dimmrichtung uint8_t pressed = 0; // Taste gedrückt uint8_t pwm = 0; // Dimmer Zustand ISR( TIMER1_COMPA_vect ) // every 10ms (Timer1) { static uint8_t ct0 = 0xFF, ct1 = 0xFF, rpt; uint8_t i; i = key_state ^ ~KEY_PIN; // key changed ? ct0 =
in „Eintastendimmer und Taster Entprellung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Fallenmelder_DEFINES.h
define SENSOR1_CHANGE 9 #define RECEIVED 10 #define STRING_END 11 //Parameter #define speed 78 //Entprell-Zeit = "Wert"*0,256ms #define baud 2400 //Baud-Rate #define baud_value (cpu_clock/(8*baud))-1 //Baud-Raten-Wert für USART Register #define cpu_clock 4000000 //CPU-Clock in Hz #define blink_wait_time
in „AVR Studio 6 I-Flag Problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
pwm.bas
Global Interrupt ein Lo = 0 ' PWM Anfangswert Phase = True Do Debounce Pind.0 , 0 , Tabelle , Sub ' Taste entprellen an Pind.0 Hi = 255 - Lo Waitms 100 ' Wait 100 ms Loop End Timer0_isr: If Phase = True Then Set Pwm ' LED EIN Timer0 = Lo ' Timer0 neuladen Phase = False Else Reset Pwm ' LED AUS Timer0 =
in „Software PWM Bascom“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
F_CPU 1000000UL /* Quarz mit 3.6864 Mhz */ #endif #include <util/delay.h> /* Einfache Funktion zum Entprellen eines Tasters */ inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) { if ( ! (*port & (1 << pin)) ) { /* Pin wurde auf Masse gezogen, 100ms warten */ _delay_ms(100); if ( *port & (1 <<
in „Atiny2313 Problem mit AVR Studio?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
pwm.bas
Index = 15 Lo = 255 ' PWM Anfangswert Phase = True Main: Do Debounce Pind.0 , 0 , Tabelle , Sub ' Taste entprellen an Pind.0 Hi = 255 - Lo Waitms 100 ' Wait 100 ms Loop End Timer0_isr: If Phase = True Then If Lo <> 255 Then Reset Pwm End If Timer0 = Lo Phase = False Else Set Pwm Timer0 = Hi Phase = True
in „LCD-Hintergrund dimmen mit FASTAVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
interrupt.h> #include <util/delay.h> #include "menue.h" #include "lcd_lib.h" #include "spi.h" //#include "entprell.h" #include "timer.h" #include "ds1867.h" /* void ad5932_set_n_inc(unsigned int wert) { ad5932_write(AD5932_N_INC | (wert & 0x0FFF)); } */ /*void ad5932_reset(void) { INT_HIGH; _delay_ms(10); INT_LOW
in „Probleme bei der Stueuerung über Taster!“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Handy-Waehlscheibe_V0.30c_Layout.bas
Dial_rd = 1 'Knopf drücken Wait 1 '0,1Sekunde warten Dial_rd = 0 'Knopf loslassen Waitms 100 Wait 8 'Tast für alle Tasten Wait 1 Gosub Key_0 Gosub Key_1 Gosub Key_2 Gosub Key_3 Gosub Key_4 Gosub Key_5 Gosub Key_6 Gosub Key_7 Gosub Key_8 Gosub Key_9 Wait 1 'Version 01.10 Gosub Key_red Gosub Key_0 Gosub Key
in „ATMega88V-Schaltung: 20% Fehlverhalten“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Handy-Waehlscheibe_V0.30c_Layout.bas
Dial_rd = 1 'Knopf drücken Wait 1 '0,1Sekunde warten Dial_rd = 0 'Knopf loslassen Waitms 100 Wait 8 'Tast für alle Tasten Wait 1 Gosub Key_0 Gosub Key_1 Gosub Key_2 Gosub Key_3 Gosub Key_4 Gosub Key_5 Gosub Key_6 Gosub Key_7 Gosub Key_8 Gosub Key_9 Wait 1 'Version 01.10 Gosub Key_red Gosub Key_0 Gosub Key
in „ATMega88V-Schaltung: 20% Fehlverhalten“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
max7219.c
#define F_CPU 8000000 // clock frequency in Hz #define ENTPRELL_ZEIT 78 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <avr/io.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #include <avr/eeprom.h> #include <inttypes.h> #include <
in „LED Matrix Max7219 Ansterung funktioniert nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Encodertest.c
LCD_String_schreiben(Buffer); LCD_String_schreiben("martin"); if(!(PINC & (1<<5)))Zaehler = 100; // Durch Taster zurücksetzen (Hardware-Entprellen) } // Ende der Hauptschleife return 0; } void init(void) { // Timer0 für Drehencoder konfigurieren TCCR0 |= (1<<CS02); // Taktteilung auf 256 TIMSK |= (1<<TOIE0);
-
Datei
main.c
Settings Register UCSRC |= (1 << UCSZ0) | (1 << UCSZ1) ; while (1) { if ( !(PORTB & (1 << PORTB0))) // Taster Da? { Prellen = 0; while (Prellen < Prellzeit) // Entprellen { if ((PORTB & (1 << PORTB0))) { Prellen++; } else { Prellen = 0; } } Senden("Hallo!" , 6 ); } } }
in „Schwierigkeiten mit dem UART AtTiny2313A“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
void) { cli(); DDRD = (1 << DDD5); freq_hz = 100; init_timer(freq_hz); sei(); while (1) { /** * - Tasten entprellen * - freq_hz ändern * - set_timer(freq_hz) */ } }
in „Atmega328P Frequenzerzeugung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
drehzahl.c
Ausgänge DDRD=0x0F; //Lüfter erstmal Volldrehzahl (sicheres Anlaufen) PORTB|=0x08; //Pull-Ups für Taster einschalten PORTD=0xFF; //Einlesen des PWM-Standes aus dem EEPROM pwm = eeprom_read_byte(EE_PWM_ADR); #if PWM == TRUE //Timer0 64er Prescalar TCCR0=0x01; #endif //Timer1 Input Capture bei steigender
in „Vergleich C Compiler“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
carrera.asm
---------- Spursensor Bahn 1 INT0 - PD2 (high active) Spursensor Bahn 2 INT1 - PD3 (high active) Taster Zurücksetzen PD4 (high active) Ausgabewerte: ------------- LCD PORTA gem. lcd_4x40.asm benutzte Register: ------------------ Status Bitfeld: kombiniert die folgenden Flags: (identisch: "Flags") - TimerFlag
in „Entprellung / Blockieren von Mehrfachinput“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Untitled_PROBEE.asm
Tastendruckzähler ;Display initialisieren call InitLcd mainloop call Tastfrei ; darauf warten, das keine Taste gedr?ckt ist call WAIT ; entprellen nur bei schlechten Tasten n?tig drueck call Tastatur ; wird nun eine Taste gedr?ckt? movfw Taste ; Tastencode nach w; Taste=0 dann Z=1 btfsc STATUS, Z ; skip wenn
in „EA DOG M162W-A“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Programm_EADOGP.asm
Tastendruckzähler ;Display initialisieren call InitLcd mainloop call Tastfrei ; darauf warten, das keine Taste gedr?ckt ist call WAIT ; entprellen nur bei schlechten Tasten n?tig drueck call Tastatur ; wird nun eine Taste gedr?ckt? movfw Taste ; Tastencode nach w; Taste=0 dann Z=1 btfsc STATUS, Z ; skip wenn
in „EA DOG M162W-A“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
FFSK_Demod_0.1_ohne_Fehlerabfrage.c
include <avr/interrupt.h> #include <util/delay.h> #include <string.h> #include "UART.h" #include "Entprellen.h" int main (void) { unsigned char puffer[32]; // Array (Speicher) für die empfangenen Strings // Ports definieren DDRC |= ~((1<<DDC0)|(1<<DDC1)|(1<<DDC2)|(1<<DDC3)); // Pin C0,C1,C2 und C3 als Eingang für die Taster definieren DDRD |= (1<<DDD0); // Pin D2 als Eingang für das NF-Signal definieren //PORTC |= 0xFF; PORTD |= 0xFF; TCCR0B = (1<<CS02)|(1<<CS00); // divide by 1024 TCNT0 = (uint8_t)(int16_t)-(F_CPU /
in „UART zu UART“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
Vorab_die_Lernbetty.pdf
some_value; ich = du; habe. Die Lernbetty - die Swissbetty als ARM-Evalboard Seite 5 Die Abfrage der Tasten auf der Betty findet sich in Zweck menu.h anschauen und vestehen lernen. Das ist tasten.c Man kann sowohl entprellte Tastendrücke (mit wichtig! dort einstellbarer Repetierzeit) abfragen als auch den
in „die Betty-Fernbedienung von Pollin als ARM-Eval Board“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
<avr/interrupt.h> #include <avr/pgmspace.h> #include <avr/delay.h> #include "uart.h" #include "Entprellen.h" #include "Telegramm.h" int main(void) { // I/O Initialisierungen DDRC = 0x00; // Port C als Eingang setzen DDRD = 0x00; // Port D als Eingang setzen //PORTD = 0x05; // interne Pull-up's an PD0 & PD2 aktivieren // Initialisierungen des Timer0 zur Entprellung der Tasten TCCR0B = (1<<CS02)|(1<<CS00); // durch 1024 teilen TCNT0 = (uint8_t)(int16_t)-(F_CPU / 1024 * 10e-3 + 0.5); // Timer mit 10ms laden TIMSK0 |= 1<<TOIE0; // Timer interrupt aktivieren // Initialisierungen
in „TTL Signal Verarbeitung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
------------------------------------------------------------------------------------- #define CNT_TASTE 7 void Tastatur(void) // Tasten abfragen und entprellen { static char taste1 = 0,taste2 = 0,taste3 = 0,taste4 = 0,taste5 = 0, taste6 = 0,taste7 = 0,taste8 = 0,taste9 = 0,taste10 = 0; Taste = NICHTS
in „Heizungssteuerung mit ATMEGA 32“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
neu.c
zvtime = 0; int zvwaittime = 200; int zvsignal = 0; int alarmledidletime = 300; int zuendung = 0; // Taster / Eingänge entprellen inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) { if ( !(*port & (1 << pin)) ) { /* Pin wurde auf Masse gezogen, 100ms warten */ _delay_ms(50); // Maximalwert des
in „Hilfe, ich finde den Fehler im Code nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
FFSK_Demod_0.1.c
include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include "UART.h" #include "Entprellen.h" int main (void) { unsigned int c0; // Hilfsvariable zum Empfangen vom Empfänger unsigned char puffer[32]; // Array (Speicher) für die empfangenen Strings // Ports definieren DDRC |= ~((1<<DDC0)|(1<<DDC1)|(1<<DDC2)|(1<<DDC3)); // Pin C0,C1,C2 und C3 als Eingang für die Taster definieren DDRD |= (1<<DDD0); // Pin D2 als Eingang für das NF-Signal definieren //PORTC |= 0xFF; PORTD |= 0xFF; TCCR0B = (1<<CS02)|(1<<CS00); // divide by 1024 TCNT0 = (uint8_t)(int16_t)-(F_CPU /
in „Übertragungsproblem+Aufhängen Atmega“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
8515FZM1.asm
Zünduhr anzusprechen, sondern als Reserve zu sehen und bei Bedarf ;von Hand (Steuerpult mit Akku und Tasten) auszulösen. Diese können somit in ;Abhängigkeit vom Wetter gezündet bzw. ausgelassen werden. Auch als Ersatz ;für eventuelle Versager können sie genutzt werden. ;Damit es nicht zu Fehlauslösungen
in „Timer1: Compare-mode spinnt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Blackstorm_Atmega8_3.bas
auf Null gesetzt. ' Wird einer der Taster länger betätigt (> 150ms) gibt es einen schnellvorlauf If T_min_stellen = 0 Then 'Wird "T_min_stellen" betätigt Waitms 150 'Entprellen If T_min_stellen = 0 Then 'Ist der Taster immer noch betätigt
in „Attiny13 Schalter“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Blackstorm_Atmega8_Lauflicht.bas
auf Null gesetzt. ' Wird einer der Taster länger betätigt (> 150ms) gibt es einen schnellvorlauf If T_min_stellen = 0 Then 'Wird "T_min_stellen" betätigt Waitms 150 'Entprellen If T_min_stellen = 0 Then 'Ist der Taster immer noch betätigt
in „Multiplexuhr mit Stundensignal (Lauflicht)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
key_new.c
key_d = 0; int key_e = 0; int key_f = 0; int key_g = 0; int key_h = 0; while(1) { // Speren mit Taster 3 if(bis(PIND, PD4)){ key_a = 0; key_b = 0; key_c = 0; key_d = 0; key_e = 0; key_f = 0; key_g = 0; key_h = 0; } mainwork(); // Zahlen a bis h abfragen if(!key_a){ key_a = get_ls_high_bit(&PINB); }
in „Pollin Atmel Evaluations-Board & Co. - Fragen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
BobbycarUnterbodenbeleuchtung.asm
wird gespielt .def counter = r19 // Was ist der Nächste Schritt der Scene .def reset = r20 // Zu Entprellen .org 0x0000 rjmp main ; Reset Handler .org OVF0addr rjmp timer0_overflow ; Timer Overflow Handler main: ; Stackpointer initialisieren ;ldi temp, HIGH(RAMEND) ;out SPH, temp ldi temp, LOW(RAMEND)
in „LEDs blinken nicht wie gewünscht.“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Main.c
void binaer_uhr_ausgeben() { PORTD = sekunden; PORTB = minuten; PORTC = stunden*2; } // Function: Taste gedrückt + Entprellen uint8_t key_pressed(volatile uint8_t *port, uint8_t pin) { // active low button: Bit nicht gesetzt if ( ! (*port & (1 << pin)) ) { _delay_ms(20); _delay_ms(20); _delay_ms(20);
in „ADC Auslese Problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Test_44333.asm
swap temp out PORTC,temp sbi PORTD,7 nop nop cbi PORTD,7 clr temp out PORTB,temp out PORTC,temp ret tasten: ;Tastenwert temp= 1= Ab 11= 5sec Ab ; 2= Auf 12= 5sec Auf ; 3= Doppeltaste 13= 5sec 2xTasten clr temp inc temp sbic PIND,3 rjmp tastenl1 inc temp sbic PIND,4 rjmp tastenl2 clr temp ; keine Taste gefunden std y+tastentimer,temp ; tastentimer auf 0 setzen ret tastenl1: sbis PIND,4 ; sind beide tasten gedrückt rjmp tastenl2 inc temp inc temp tastenl2: ldd temp2,y+tastentimer inc temp2 ; inc low nibbel counter cpi temp2,2 breq tastenl4 ; antasten einer Taste cpi temp2,15 ; 1,5 sec delay bis taste
in „Freier Speicher ab 0x60 4433?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Y_MI4.ASM
tasa,zl ;neuen Zustand für nächsten Test merken cpi mp,mpmax ;Geraet aktiv? brne menu0 ;nein, auf Tasten reagieren... rjmp menu_e ;ja, Tasten ignorieren... menu0: sbrs tas,tmenu ;Menütaste gedrückt? - ja... rjmp menu1 ;nein... inc mp ;Menüpunkt erhöhen cpi mp,mpmax ;erlaubter Menüpunkt überschritten?
in „EEPROM Tiny13“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
digiuhr.c
manuelle Einstellung gestartet wurde wird der Zähler gezählt, der //die Zeit zählt, seitdem der Taster wieder losgelassen wurde if (taster_warten) { //Taster-Entprellung: if (Taste_pressed( ) ) { //wenn der Taster nach einmaliger Taster-Interrupt-Auslösung immer noch gedrückt wird, wird die Zeit gezählt
in „DCF-Uhr mit DotMatrix-Anzeige für avr-gcc“ · Projekte & Code ·
-
Datei
new.c
} void Timer1_Reset(void) { cli(); SignalSecond = 0; TCNT1 = 0; TIFR |= (1<<OCF1A); sei(); } // Taster / Eingänge entprellen inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) { if ((*port & (1 << pin)) ) { /* Pin wurde auf Masse gezogen, 100ms warten */ _delay_ms(50); // Maximalwert des Parameters
in „Wer kann mir den Timer reparieren?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Zeitschalter.bas
Zeit3 = 0 Do 'hauptschleife Disable Interrupts Position = 20 Pwm1a = Position Zeit = 1 Wait 1 ' Zm Entprellen aus der Interrupr Routine While Abwurf = 0 'fallst der Schalter noch offen ist Gosub Batterie Wend Gosub Zeitladen '1. Zeit laden While Abwurf = 1 'hier wird das Startsignal gegeben Gosub Batterie
in „Programm umschreiben Mega8-Andruino“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
avrtut.pdf
****************************************************** EntPrell.c ---------- Übungsprojekt zum Entprellen von mechanischen Kontakten. An Pin 0 von Port D wird ein mechanischer Taster zu Masse angeschlossen. An Port B schliessen wir über Vorwiderstände 4-8 LED's an, um die Anzahl Tastendrücke anzuzeigen
-
PDF
FacharbeitsDocument.pdf
zurück und C1 wird über Discharge entladen. Im Monostabilen Betrieb eignet sich der Timer als Entpreller für Tasten. Der NE555 wird die Ansteuerung der Sende-Diode übernehmen und am IR- Empfänger auch seine Arbeit als „Missing-Puls-Detektor“ verrichten und zuletzt noch das Startsignal entprellen. Somit
in „Lichtschranke und Optokoppler an ATMEGA 8“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Kapazitaetstester_03.asm
kommend von der Schaltung ; PD6 : Ausgang zum Relai, dass den Messkondensator zuschaltet ; PD7 : Taste Null/Eichen ; PD0 : Taste Cx_messen ; PD1 : Taste Lx_messen ; Software Funktionen: ; .NOLIST .INCLUDE "m8def.inc" .LIST ; Variablen und Konstanten werden im RAM-Speicher zwischengespeichert ; um immer
in „Bitte um Codebeispiele“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM_Dimmer_entprellt.txt
key_rpt; // key long press and repeat uint8_t direction = 1; // Dimmrichtung uint8_t pressed = 0; // Taste gedrückt uint8_t pwm = 0; // Dimmer Zustand ISR( TIMER1_COMPA_vect ) // every 10ms (Timer1) { static uint8_t ct0 = 0xFF, ct1 = 0xFF, rpt; uint8_t i; i = key_state ^ ~KEY_PIN; // key changed ? ct0 =
in „Eintastendimmer und Taster Entprellung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Haussteuerung_V27.txt
Pinc.7 ' Port D - Belegung Rs232_rx Alias Portd.0 ' RS232 - Schnittstelle Rs232_tx Alias Portd.1 Taste1 Alias Pind.2 ' TASTER für die Programmeinstellungen Taste2 Alias Pind.3 Taste3 Alias Pind.4 Dat Alias Portd.5 ' Ports für das Schieberegister Clk Alias Portd.6 Stg Alias Portd.7 Stg_port Alias Portd
in „Mega644 reset“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Steuer_Pult_16Bit.asm
rcall Chk_Keys ; aktualisiere die Eingänge, ldi ZL,low(outdaten+(OUTBYTES-1)) ; jetzigen Zustand der Taster erneut laden ld in_byte_now, z ; 2.ter durchlauf zum Entprellen steht jetzt in in_byte_now cp key0, in_byte_now ; Vergleiche jetzigen Zustand mit dem vom 1.sten durchlauf brne chk_end ; sind sie unterschiedlich
in „Hilfe zur Tastenentprellung von P.Dannegger“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
zv_steuerung.c
} void Timer1_Reset(void) { cli(); SignalSecond = 0; TCNT1 = 0; TIFR |= (1<<OCF1A); sei(); } // Taster / Eingänge entprellen inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) { if ((*port & (1 << pin)) ) { /* Pin wurde auf Masse gezogen, 100ms warten */ _delay_ms(50); // Maximalwert des Parameters
in „ATMega8 I/O Problem mit PD2 und PD3“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
DCF.asm
def test_Q =r12 ;alle DCF-Werte+,+1,-neue DCF-Werte=<0>=error .def Ta_pau =r13 ;Tastenpause (zum entprellen) .def wr_pau =r14 ;Schreibpause (bei Umst. A->H+K1/K2 Taste) .def outtmp =r15 ;Ausgabe temporär ;*** ;*** Rd-Register festlegen .def uhrtemp =r16 ;allgem. tempor.-Reg. .def sek =r17 ;Sekunden 0-59
-
Datei
telefonadapter.c
PB1 (6) OC1A PWM-Tonausgang, reichlich (250 kHz) Trägerfrequenz PB2 (7) PCINT2 Erdtaste (wie Shift-Taste), 0 = gedrückt PB3 (2) XIN Quarz PB4 (3) XOUT Quarz PB5 (1) !RESET frei Es ist viel schwieriger, einen Adapter zum Zwischenschalten (ohne Modifikation des Telefonapparates) zu bauen. Der Wählscheiben-Kontakt
in „HEX-File passt nicht in Attiny 25“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
uC_Einfuehrung.pdf
hinaus nicht erfor- derlich, ein Loslassen der Taster zu detektieren, kann man über eine UND-Verknüpfung (bei Low-Side angeschlossenen Tastern mit dem Bitkomplement des aktuellen Zustandes) diejenigen Taster ermitteln, die seit der letzten Abfrage betätigt
in „AVR Atmega16 Timer Problem“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
AVR-ASM_Tutorial.pdf
tun. • Die Timer: Uhr und CTC Modus. • DerADC: Die Brücke von der analogen zur digitalen Welt. • Tasten: Einzelne Tastendrücke und Entprellen. • PWM: Ein Timer dimmt eine LED. • Schieberegister:Ausgabeport erweitern. • SRAM: Wenn die vorhandenen Register nicht mehr reichen. • 7-SegmentAnzeigen: Was ist
in „AVR-Tutorial als PDF“ · Offtopic ·
-
PDF
AVR_tutorial.pdf
Uhr und CTC Modus. 129-137 • Der ADC: Die Brücke von der analogen zur digitalen Welt. 138-156 • Tasten: Einzelne Tastendrücke und Entprellen. 157-167 • PWM: Ein Timer dimmt eine LED. 168-175 • Schieberegister: Ausgabeport erweitern. 176-195 • SRAM: Wenn die vorhandenen Register nicht mehr reichen. 196
in „AVR-Tutorial als PDF bzw *.doc“ · Mikrocontroller und Digitale Elektronik ·