-
Datei
Original.c.c
= dat + 1; // dat & 15, gib dat aus dat = dat & 15; PORTA = dat * 16 & 0xF0; } _delay_ms(40); // Taste entprellen loop_until_bit_is_set (PINB, S1); // Warte bis die Taste S1 nicht mehr gedrückt wird _delay_ms(40); // Taste entprellen } if (!(PINB & (1<<S2))) // wenn Taste S2 gedrückt wird verzweige
in „Ttiny 461a isp schaltung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
0200_main.c
#define LED_ROT_AUS P5OUT |= BIT7 void programmversion(void); void UART1_einstellen(void); void tasten_entprellen(void); void daten_senden(const unsigned char *data, int cnt); void daten_ausgeben(unsigned int data); void Dx_ausgeben(char data); void temp_ausgeben(unsigned int data); void antwort_empfangen
in „Sende/Empfangsvorgang mittels nur 1St. µC“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
versuch5.c
5.10.2004 abgtippt von Internet-9-2004/home.wtal.de/Mischka/index.htm //Ein Zähler. Mit der einen Taste wird der Zählerstand erhöht und mit der anderen erniedrigt. //Die LEDs am PortB zeigen den Zählerstand in binärer Form. //Plus-Taste ist RA0, Minus-Taste ist RA1. //Zuerst wird abgefragt, ob die Plus-Taste
in „MPLAB Variable PORTA läßt sich nicht verändern“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
Alle Funktionen, welche im Programm verwendet werden //sind dem Compiler bekann zu machen. void Entprell(void); // Entprellen der Taster void Ports (void); // Initialisierung der Ports void TimerA1 (void); // Init des Timers A1 void TimerB0 (void); void INIT_TA2(void); void INIT_TA0(void); void Ausgabe_Pulsbreite
in „MSP430 F5529 Wobbel-Generator“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
0221-TS-_antwort_empfangen_512-Test.c
#define LED_ROT_AUS P5OUT |= BIT7 void programmversion(void); void UART1_einstellen(void); void tasten_entprellen(void); void daten_senden(const unsigned char *data, int cnt); void daten_1_ausgeben(unsigned int data); void daten_2_ausgeben(unsigned int data); void daten_3_ausgeben(unsigned int data)
in „512 Byte-Sektor einer SD-Karte mit E32-868T drahtlos übertragen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Orlyjonok.asm
Prog-Schalter Zahnriemen sbis pina,6 ; rcall progschkr ; Abfrage Prog-Schalter Kran ;********************Taster abfragen*************************************** abfr: ; Anfang Abfrage sbis pinb,2 ; rcall autowinden ; Abfrage und entprellen Auto Netz einholen sbis pinb,4 ; rcall autowinden ; Abfrage und entprellen Auto Netz auslegen sbis pind,2 ; rcall autokran ; Abfrage und entprellen Auto Kran hoch sbis pind,3 ; rcall autokran ; Abfrage und entprellen Auto Kran runter rjmp abfr ; zurück zum Anfang ;*******includes********************************************************** .include
in „AVR Assembler: ret springt an falsche Stelle zurück“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
attiny85.c
volatile uint8_t output=AUS; void long_delay(uint16_t ms) { for(; ms>0; ms--) _delay_ms(1); } void entprellen (void) { uint8_t x = 0; _delay_ms(10); while(!(PINB & REED)); while(x<3) { if(!(PINB & REED)) x=0; else x++; _delay_ms(10); } } uint8_t taste(void) { if(!(PINB & REED)) { entprellen(); return 1;
in „Bosch E-Bike Antrieb Geschwindigkeitssensor“ · Fahrzeugelektronik ·
-
Datei
attiny10.c
messstatus=ERSTMESSUNG; void long_delay(uint16_t ms) { for(; ms>0; ms--) _delay_ms(1); } void entprellen (void) { uint8_t x = 0; _delay_ms(10); while(!(PINB & REED)); while(x<3) { if(!(PINB & REED)) x=0; else x++; _delay_ms(10); } } uint8_t taste(void) { if(!(PINB & REED)) { entprellen(); return 1;
in „Bosch E-Bike Antrieb Geschwindigkeitssensor“ · Fahrzeugelektronik ·
-
Datei
intTaste.c
/******************************************************************** intTaste.c - Tastenhandling mit Entprellem per Interrupt von Philipp Klostermann Dieser Code dient nur einer Erläuterung und wird auf eigene Gefahr verwendet. Möglicherweise funktioniert er nicht oder ist fehlerhaft
in „AVR Einstieg / Probleme mit Programm Interrupt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LCD_sheet2.c
Rücksprungadresse { //LCD-Menü Deklarationen und Definitionen: uint8_t pos2 = 0; show2(); do { if(EINGABE_TASTEN & (1<<RUNTER_TASTE)) //Wenn auf Runtertaste gedrückt wir dann: { _delay_ms(20); //entprellen if(pos2 < 2) pos2++; //zähle Position hoch } else if(EINGABE_TASTEN & (1<<RAUF_TASTE)) //Wenn Runtertaste
in „Display-Menü programmieren“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LCD_sheet2.c
) //INLINE da sonst Probleme wenn mehrere Pages mit Rücksprungadresse { show2(); do { if(EINGABE_TASTEN & (1<<RUNTER_TASTE)) //Wenn auf Runtertaste gedrückt wir dann: { _delay_ms(20); //entprellen if(pos2 < 3) pos2++; //zähle Position hoch } else if(EINGABE_TASTEN & (1<<RAUF_TASTE)) //Wenn Runtertaste
in „Display-Menü programmieren“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Modulkram.c
für Datenempfang unsigned int t,k; void programmversion(void); void UART1_einstellen(void); void tasten_entprellen(void); void E32_konfigurieren(void); void pause400(void); void pause40000(void); void daten_senden(void); void daten_ausgeben(void); void Dx_ausgeben(void); void temp_ausgeben(void); void
in „Sende/Empfangsvorgang mittels nur 1St. µC“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
send_an_0202_G1_antwort_empf_neue_Vers.c
für Datenempfang unsigned int t,k; void programmversion(void); void UART1_einstellen(void); void tasten_entprellen(void); void E32_konfigurieren(void); void daten_senden(void); void daten_ausgeben(void); void Dx_ausgeben(void); void temp_ausgeben(void); void antwort_empfangen(void); void pause40000(void
in „Sende/Empfangsvorgang mittels nur 1St. µC“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LCD_sheet3.c
) //INLINE da sonst Probleme wenn mehrere Pages mit Rücksprungadresse { show3(); do { if(EINGABE_TASTEN & (1<<RUNTER_TASTE)) //Wenn auf Runtertaste gedrückt wir dann: { _delay_ms(20); //entprellen if(pos3 < 4) pos3++; //zähle Position hoch } else if(EINGABE_TASTEN & (1<<RAUF_TASTE)) //Wenn Runtertaste
in „Display-Menü programmieren“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Wecker_01.c
PORTB=st_8; min_8=0; st_8=0; } void prog (void) { while(foo==0) { if(!(PINC & (1<<0))) // Abfrage Taster +Minute { ++min; if(min>59) { min=0; } _delay_ms(2); while(foo2==0) { if(PINC & (1<<0)) // Taster entprellen { ++foo2; _delay_ms(2); } } foo2=0; } if(!(PINC & (1<<1))) // Abfrage Taster +Stunde { ++st; if(st>=24) { st=0; } _delay_ms(2); while(foo2==0) { if(PINC & (1<<1)) // Taster entprellen { ++foo2; _delay_ms(2); } } foo2=0; } show(); if(PINC & (1<<5)) { ++foo; } } foo=0; } void run (void) // Ablauf Programm { RUN=1; while(foo==0) { show(); if(PINC & (1<<4)) { ++foo; RUN=0
in „RTC-Timer2 - Binär Uhr“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
Alle Funktionen, welche im Programm verwendet werden //sind dem Compiler bekann zu machen. void Entprell(void); // Entprellen der Taster void Ports (void); // Initialisierung der Ports void TimerA1 (void); // Init des Timers A1 void TimerB0 (void); void INIT_TA2(void); void INIT_TA0(void); void Ausgabe_Pulsbreite
in „Moduswechsel durch gleichzeitiges Drücken beider Taster“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
led_blinken.c
Programm für Taster 1 // ---------------------------------------------------------------------------------------- //Taster betätigt? 1=JA, 0=NEIN, Anfangs nicht betätigt if (statusProgramm==0) { // den Taster abfragen
in „LED blinken mit Taster an/ausschalten will nicht so recht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
STK500.asm
5 .equ SW6 = 6 .equ SW7 = 7 .def Led_State = r0 ; LED auf Port B .def Key_State = r1 ; gedrückte Tasten auf Port D, Pegel 1 Taste gedrückt .def Key_Buffer0 = r2 ; Bit Buffer zum Entprellen der Tasten .def Key_Buffer1 = r3 ; 4 Level tief .def Key_Counter = r16 ; Tastenwiederholung .def Led_PWM = r17 ;
-
Datei
Entprellen_Minimal.ino
#include "Arduino.h" #include <avr/interrupt.h> //------------------------------------------------------------------------------ // 16-bit Timer/Counter 1 Overflow Interrupt alle 4ms (16Mhz/2^16) //------------------------------------------------------------------------------ ISR( TIMER1_OVF_vect ) { volatile byte r2 = 0xFF, r5 = 0; //Werden in Timer1 Compare A ISR und Main verwendet static uint8_t r1, r3 = 0xFF, r4 = 0xFF; //Fuer Timer1 Compare A ISR reserviert // r1 = interrupt Arbeitsregister // r2 = key_state ;Entprellter Tasterzustand invertiert // r3 = key_ct0 ;2-Bit Abwaertszaehler Bit0
in „Mit dem ATMEL STUDIO 7 klarkommen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
fahrwerk.c
Hauptprogramm ================================= while(1) { // =========================== Fragt Taster ab ============================= // Dieser Block kann später durch die Abfrage des SPI-Registers getauscht // werden if (PINB & (1 << PB0)) // Wenn "vor" { delay_ms(10); // Entprellen while ((PINB
in „mmh wer findet den Fehler?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Hauptprogramm1.c
bestätigen, ansonsten Alarm druecken"); display_ptext(buf1,3,3); } while(ALARM == 1 || NEXT == 1); entprell(); } while (NEXT == 1 && ALARM != 1); entprell(); // Wochentagausgabe display_clear(); display_position(2,3); buf = "Wochentag:"; display_text(buf); display_position(3,3); buf = "Mo"; display_text
in „PIC - Sourcefehler aber was??“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
H_Encoder__C_net.txt
uint8_t get_key_short( uint8_t key_mask ); uint8_t get_key_long ( uint8_t key_mask ); void init_entprell(void); #define KEY_DDR DDRC #define KEY_PORT PORTC #define KEY_PIN PINC #define H_ENCODER_TASTER 0 // Hand-Encoder Taster #define KEY1 1 #define H_ENCODER_SPUR_B 2 // Hand-Encoder Spur B #define KEY3
in „Peter Dannegger´s ( PeDa ) Entprellroutine in ein Arduino Sketch einbinden“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
H_Encoder__C_net.txt
uint8_t get_key_short( uint8_t key_mask ); uint8_t get_key_long ( uint8_t key_mask ); void init_entprell(void); #define KEY_DDR DDRC #define KEY_PORT PORTC #define KEY_PIN PINC #define H_ENCODER_TASTER 0 // Hand-Encoder Taster #define KEY1 1 #define H_ENCODER_SPUR_B 2 // Hand-Encoder Spur B #define KEY3
in „Peter Dannegger´s ( PeDa ) Entprellroutine in ein Arduino Sketch einbinden“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
8_Taster_1.bas
Interrupt-Handler Überlauf Timer 0 I = Pind 'Eingänge einlesen I.7 = Pina.0 'PA0 dazuschummeln (statt PD7) 'Der Entprell-Algorithmus ist bei Peter-Dannegger abgeguckt: I = Not I 'Pegel invertieren I = I Xor Tas 'nur Änderungen erhalten Tz0 = Tz0 And I 'Prellzähler (Bit 0) unveränderter Tz1 = Tz1 And I 'Tasten löschen
in „Schalter zu Taster“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
TB_peda_debouncer_BP_V1.bas
TB_peda_debouncer_BP_V1.bas 'date : 20.09.2008 'copyright : public domain 'micro : Mega8 'description : Bulletproof Tasten-Entprell-Routine in BASCOM ' Original in ASM von Peter Dannegger ' an PortD.2 bis D.7 ist ein 16*2 LCD angschlossen ' an PortB.0 bis B.5 sind 6 Taster angeschlossen (gegen GND) ' an PortC.0 bis C.5 sind 6 LEDs angeschlossen (gegen GND) ' Key_state ist aktueller Taster-Zustand gedrückt oder nicht ' Key_press zeigt an, welche Taste gedrückt wurde '----------------------------------------------------------------------------------------- $regfile = "m8def.dat" ' specify
-
PDF
Tasterentprellen.pdf
gebräuchliche Schalter bzw. Taster. Ge V 5 - 6 9/99 Digitaltechnik 5 Aufgaben einer Schaltung Bild 5-9: Symbole von Schaltern (bistabil) und Tastern (monostabil) Beim Betätigen eines Tasters oder Schalters rechnet man mit Prellzeiten
-
PDF
lh06.PDF
Damit keine Betätigung verlorengeht, sollte das Programm wenig- stens 40 mal in der Sekunde an jeder Taste "vorbeikommen", im Interesse eines zuverlässi- gen Entprellens sogar noch öfter. 20 LEHRHEF06 -ONTAKTBAUELEMENTEKONTAKTSCHALTUN-EN Entprellung Wenn das Prellen (Contact Bounce) stört, muß es in der
in „Frage zu internen Pull-Up Widerstände bei PICs“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Board_Mono_PWM_3.c
255 Takten an sein //************ Interrupt ISR ************* ISR(INT0_vect) //Interrupt extern Taster an PD2 INT0 { PORTC=0x0c; // LED 3+4 an sleep_ms(50); // entprellen } ISR(INT1_vect) //Interrupt extern Taster an PD3 INT1 { PORTC=0x03; // LED 1+2 an sleep_ms(50); //entprellen } ISR(TIMER1_COMPA_vect
in „Timerproblem bei PWM nach Tutorial „SOFT-PWM“ ( Atmega8)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ProgChangeTest.asm
______ ; MCLR 5V--------1| |40-------Rel 16 RB7 ; RA0 Kanalsw1------2| |39-------Rel 15 RB6 ; RA1 Tast.Up/Kanalsw2------3| |38-------Rel 14 RB5 ; RA2 Tast.Dn/Kanalsw3------4| |37-------Rel 13 RB4 ; RA3 Kanalsw4------5| |36-------Rel 12 RB3 ; RA4 EDIT-sw-------6| |35-------Rel 11 RB2 ; RA5 ChannelNrRead
in „trotz org-befehl funktioniert programm-counter tabelle nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Drehgeber.c
_t inc = 0; //definiere Inc Zählerwert Drehgeber static int8_t last; //Gloale Variablen int8_t D_taster; //definiere Taster Drehgeber //LCD_Texte const char HM0[] PROGMEM = "=> Standheizung "; const char HM1[] PROGMEM = "=> Innenbeleuchtung "; const char HM2[] PROGMEM = "=> RGB Beleuchtung "; const char
in „Mikrocontroller hängt Interrupt schuld?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Drehgeber.c
_t inc = 0; //definiere Inc Zählerwert Drehgeber static int8_t last; //Gloale Variablen int8_t D_taster; //definiere Taster Drehgeber //LCD_Texte const char HM0[] PROGMEM = "=> Standheizung "; const char HM1[] PROGMEM = "=> Innenbeleuchtung "; const char HM2[] PROGMEM = "=> RGB Beleuchtung "; const char
in „Mikrocontroller hängt Interrupt schuld?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
poti.txt
eingang gesetzt if ( PORTC & (1<<PINC2) ) // Führe Aktion aus, wenn Bit Nr.2 in PinC gesetzt ist (Taster gedrückt) { // Funktion zum Entprellen des Tasters //--------------------------------------------------- // 100ms warten _delay_ms(100); if ( ! (PORTC & (1 << PINC2)) ) { // Anwender Zeit zum Loslassen
in „digitales poti ansteuern“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
H_Encoder_entprellen_PeDa.ino
uint8_t get_key_short( uint8_t key_mask ); uint8_t get_key_long ( uint8_t key_mask ); void init_entprell( void ); #define XTAL 16e6 // 16MHz #define KEY_DDR DDRC #define KEY_PORT PORTC #define KEY_PIN PINC #define H_ENCODER_TASTER 0 // Hand-Encoder Taster #define KEY1 1 #define H_ENCODER_SPUR_A ( 1<<
in „Peter Dannegger´s ( PeDa ) Entprellroutine in ein Arduino Sketch einbinden“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Test_PWM.c
my_delay (uint16_t milliseconds) { for (; milliseconds > 0; milliseconds--) _delay_ms (1); } char entprellen(void) { static unsigned char zustand; char rw = 0; if(zustand == 0 && !(TASTERPORT & (1<<TASTERBIT))) //Taster wird gedrueckt (steigende Flanke) { zustand = 1; rw = 1; } else if (zustand == 1 && !(TASTERPORT & (1<<TASTERBIT))) //Taster wird gehalten { zustand = 2; rw = 0; } else if (zustand == 2 && (TASTERPORT & (1<<TASTERBIT))) //Taster wird losgelassen (fallende Flanke) { zustand = 3; rw = 0; } else if (zustand == 3 && (TASTERPORT
in „HW PWM zum LED dimmen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LCD-Timer.asm
r_flag, 1<<takt ; Flagge Takt setzen ; ***** Tasterentprellung ***** entprellen: cpi dg_count, 10 ; Taster 10 Timerdurchläufe lange gedrückt? breq dg_tast_set ; ja? --> Sprung nach dg_tast_set sbic PinC, 0 ; Taster an PinC 0 gedrückt? rjmp dg_tast_reset ; nein? --> Sprung nach dg_tast_reset inc dg_count ; Register dg_count +1 rjmp Tim0a_OVF ; weiter in der Timer ISR dg_tast_reset: clr dg_count ; Register dg_count löschen rjmp Tim0a_OVF ; weiter in der Timer ISR dg_tast_set: sbis
in „LCD Timer sekunden Takt zu langsam“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
UARTProtokoll.c
= 0) ) { taster_status = TASTER_RIGHT; display_control(); taster_flag = 1; } else if ( !(TASTER_PORT & (1<<TASTER3)) && (taster_flag == 0) ) { taster_status = TASTER_MENUE; display_control(); taster_flag = 1; } else taster_status = 0; /* Entprellen der Taster */ if (taster_flag == 1 && taster_status == 0) taster_debounce_time++; /* Entprell Reset */ if (taster_debounce_time >= TASTER_DEBOUNCE_TIME && taster_flag == 1
in „Timer1 im CTC und LCD Probleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Delays.c
//Delays.c #include <p30F4012.h> #include "Common.h" void Wait_Bottom(void) { ms(10); //c.a. 10ms Taste entprellen while(1) { Key_Pad(50); if(E_Flag == 1)//E_Flag spielt bei Tastenabfrage und Wartezeiten eine Zentrale Rolle in fast allen Routinen! { break; } } ms(10); //c.a. 10ms Taste entprellen } void
in „LCD Display am PIC - verstädnisfrage BUS Übertragung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Counter.txt
Minuten 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 „Countdown (Zähler)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Phasenabschnitt_10.c
auf HIGH gesetzt - Reti, warte auf nächste fallende Flanke... Prozessor: ATMEGA8 Takt: 3,2768MHz Tasten: PB0 -> UP * PB1 -> DOWN !!!!!!!!!!!Beschreibung nicht aktuell!!!!!!!!!!! Interner Quarz, 8MHz, Timer 1 mit Vorgabe 4000 */ #include <avr/io.h> #include <avr/interrupt.h> #define T_UP PINB0 #define
in „Phasenabschnittsdimmer“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LED_3Zust.c
F_CPU 1000000UL // interner Oszi; Takt Def. immer als 1.! #include <util/delay.h> // Entprellheader Taster # include "..\includes\Entprell_Flanken.h" // Blinkheader # include "..\includes\LED_blinken.h" //################################################################### int main(void) { DDRD |=(1<<PD2); // LED ;setzen, also Ausgang DDRC &=~(1<<PC5); // Taster (low-activ); nicht setzen, also Eingang PORTC |=(1<<PC5); // Pull Up Widerstand // (nicht noetig wenn hardwaremaessig realisiert !) int Tastendruckzaehler=0; // 1=Ledblinken() , 2=LED ein, 3=LED aus
in „Frage zu Afängerfehler“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
merged.lst
TADA: 1454: 069C 80 39 SJMP KEINE_TASTE1 ; Modus = 1 : alte Taste noch aktiv 1455: 1456: 069E WARTE: 1457: 069E 12 06 DB LCALL ENTPRELL ; Entprellzeit abwarten 1458: 06A1 E5 90 MOV A,TASTEN_PORT ; Pruefen ob Taste noch aktiv ist 1459: 06A3
in „8051 Assembler + Linker für WINDOWS 10/11“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
avr_lcd.c
/////////////////////////////////////////////////// ISR(INT0_vect) // SIGNAL(SIG_INTERRUPT0) { //Taster entprellen _delay_ms(50); Komma = 5; Speicher1++; if(Speicher1 == 2){ Speicher1 = 0; Komma = 0; Temperatur_Soll++; } } ISR(INT1_vect) // SIGNAL(SIG_INTERRUPT1) { //Taster entprellen _delay_ms(50);
in „Interrupt löst ungewollt aus“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
13.12.2006_Aufgabe1.pdf
Portpin. Somit muß der ' Ausgang des MC auf low / 0 gehen, damit die LED an ist. ' PortB: Eingang, Taster schalten den Portpin zu Masse. Somit liefert ein ' unbetätigter Taster ein 1 / high Signal, ein betätigter ein 0 Signal. ' --------------------------------------------------------------------------
in „Debounce Funktion“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Spot_Welder_Fets.asm
setting EEWE sbi EECR,EEWE set_eeprom1: sbic EECR,EEWE rjmp set_eeprom1 set_eeprom2: sbis PIND,4 ;Taste immer noch gedrückt? rjmp set_eeprom2 ;ja set_eeprom3: sbis PIND,6 ;Taste immer noch gedrückt? rjmp set_eeprom3 ;ja ldi r19,1 ;nein rcall wait ;entprellen ret schalten: rcall wait ; ---------------
in „Atmega8 PORTD7 Problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Steuerung.c
Display-Anzeige. * Sie steuert den zweiten Mikrocontroller an und * bekommt Signale von den fünf Tastern.*/ void main (void) { unsigned int k,m,l,y=2012; int g,b,c,d,e,f,h,x=0,z=0; char Buf[20]; // Ausgänge werden festgelegt LATA = 0x00; LATB = 0x00; LATC = 0x00; LATD = 0x00; LATE = 0x00; TRISA = 0b00000000
in „Mplab x ide - C18 -- Programm wird nicht compiliert“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
T_r_timer_impuls.asm
entprellen tst r19 breq haupt rjmp warten2 rjmp haupt ;timer aktivieren zeitaktiv: ldi r16, 0b00000100 ;teiler out TCCR1B, r16 ldi r16, 0b00000100 out TIMSK, r16 ldi r16, 0 ldi r17, 70 out TCNT1H, r17 out TCNT1L
in „timer1 Interrupt springt falsch aus isr“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
keys.c
(void) { static unsigned char tast_code, verzoeger; static bit gedrueckt; if (gedrueckt&&(tast_code==(TAST_PORT&TAST_MASK))) { // Taste schon erkannt (noch gedrückt) // evtl. Toggelfunktion ! if (verzoeger) { verzoeger--; delay (20000
-
Datei
Schranke.asm
Telegrammbeginn-Vorteiler cpi wl,tvt0+1 ;abgelaufen? brlo mainloop1 ;nein... rjmp Tastenabfrage ;ja, Tasten entprellen und noch viel mehr... mainloop1: lds wl,stempo ;ist der inc wl ;Nachlaufzähler cp nlz,wl ;abgelaufen? brlo mainloop2 ;nein... rjmp schrankentempo ;ja, Job erledigen... mainloop2: ; sbrc
in „Taster-Entprellung am Tiny13 in Assembler“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Waehlscheibege_ndert.cc
---------------------------------------- ISR (TIM0_OVF_vect) { ++Sleepzaehler; //----------------Taster für Ziffern entprellen und gewählte Ziffer erfassen-------------------------- ++Timerzaehler_neu; if (PINB&0b00000010) { if (Timerzaehler_neu - Timerzaehler_alt > 2) ++Ziffer; Timerzaehler_neu = 0; Timerzaehler_alt = 0; } //-----Taster für Betätigung der Wählscheibe entprellen, und Rücklauf in Ausgangsstellung erfassen---- ++Timerzaehler_neu_2; if (!(PINB&0b000000001)) { if (Timerzaehler_neu_2 - Timerzaehler_alt_2 > 2) if (Scheibe_in_Bewegung
in „Attiny 13 kommt nicht mehr aus Sleepmodus“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Waehlscheibege_ndert22_01.cc
---------------------------------------- ISR (TIM0_OVF_vect) { ++Sleepzaehler; //----------------Taster für Ziffern entprellen und gewählte Ziffer erfassen-------------------------- ++Timerzaehler_neu; if (PINB&0b00000010) { if (Timerzaehler_neu - Timerzaehler_alt > 2) ++Ziffer; Timerzaehler_neu = 0; Timerzaehler_alt = 0; } //-----Taster für Betätigung der Wählscheibe entprellen, und Rücklauf in Ausgangsstellung erfassen---- ++Timerzaehler_neu_2; if (!(PINB&0b000000001)) { if (Timerzaehler_neu_2 - Timerzaehler_alt_2 > 2) if (Scheibe_in_Bewegung
in „Attiny 13 kommt nicht mehr aus Sleepmodus“ · Mikrocontroller und Digitale Elektronik ·