Mikrocomputertechnik Stoppuhr Code von Homepage downloaden Atmel Studio neues Projekt erstellen XMega128A1 wählen und Dragon mit JTAG einstellen Dateien lcd.c & lcd.h im Solution Explorer “Add‘en“ Lösung 4 öffnen und in das Projekt kopieren / einfügen Mikrocomputertechnik - Stoppuhr #define F_CPU 2000000 #include #include #include #include #include #include <avr/io.h> <avr/pgmspace.h> <stdio.h> <util/delay.h> <avr/interrupt.h> "lcd.h" int s = 0; //globale Variable Sekunden int ms = 0; //globale Variable Millisekunden Mikrocomputertechnik - Stoppuhr int main(void) { PORTD.DIR = 0x00; //Port D als Eingang //Port D Pin 0 Pullup & Both Interrupt aktivieren PORTD.PIN0CTRL = PORT_OPC_PULLUP_gc | PORT_ISC_BOTHEDGES_gc; PORTD.INT0MASK = 0x01; //Port D SW0 für Interrupt Maske PORTD_INTCTRL = PORT_INT0LVL_MED_gc; //Port D Medium Level setzen lcd_init(); //LCD Display initialisieren lcd_line_one(); //erste Reihe auf dem Display wählen lcd_write_string_p(PSTR("Stoppuhr:\0")); //Text aufs Display schreiben TCC0.CTRLA = TC_CLKSEL_DIV8_gc; //Prescaler von 8 TCC0.INTCTRLA = TC_OVFINTLVL_MED_gc; //Medium Interrupt Level TCC0.PER = 2500; //10ms PMIC.CTRL |= PMIC_MEDLVLEN_bm; //Medium Level aktivieren sei(); //globale Interrupt aktivieren while(1) //Display Ansteuerung { lcd_line_two(); //zweite Reihe auf dem Display wählen char MsgTemp[17]; //Temp Spreicher für Variable sprintf_P(MsgTemp, PSTR("%2d:%3d"), s, ms); //Variable in String lcd_write_string_0(MsgTemp); //Variable aufs Display schreiben } } Mikrocomputertechnik - Stoppuhr ISR(TCC0_OVF_vect) //Interrupt Service Routine für Timer { if(ms>=990) { ms=0; //setze ms zurück s++; //addiere 1s dazu } else { ms = ms + 10; //addiere 10ms dazu } } Mikrocomputertechnik - Stoppuhr ISR(PORTD_INT0_vect) //Interrupt Service Routine für SW0 { while(!(PORTD.IN & 0x01)) //Warten bis SW0 losgelassen wird { } s = 0; //Sekunden Variable zurücksetzen ms = 0; //Millisekunden Variable zurücksetzen } Mikrocomputertechnik - Pulsmessgerät Messung der Zeit zwischen zwei Pulsen Berechnung auf Pulsschläge pro Minute Berechnungsformel? Mikrocomputertechnik - Pulsmessgerät Messung der Zeit zwischen zwei Pulsen Berechnung auf Pulsschläge pro Minute Berechnungsformel: 60 Sekunden / Messung in ms * 1000 60000 / Messung in ms Mikrocomputertechnik Pulssensor anschließen an Stecker J3 Rot = VCC_P5V0 Schwarz = GND Lila = GPIO0 Neue Berechnungsformel: 60 Sekunden / Messung in ms * 1000 / 2 60000 / Messung in ms / 2
© Copyright 2025 ExpyDoc