-
Datei
inkrementalgeber_schrittmotor_Final.cc
MotorStepBackward(); int main( void ) { // Hauptschleife.... // Aus- bzw. Eingänge konfiguration DDRC=0xFF; // PORTC als Ausgang DDRD=0x00; // PORTD als Eingang DDRB=0x00; // PORTD als Eingang PORTD = 0xFF; // Pullup; 0=aus; 1=ein // Eingang nach Masse gezogen, wenn geschlossen. Ansonsten Pegel auf VCC PORTB = 0xFF
in „Drehrichtungsumkehr.Microcontroller Programm funzt nicht richtig.“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
GenProcs.h
void); //initialize the pic void InitOSC(void); void InitPORTA(void); void InitPORTB(void); void InitPORTC(void); void InitPORTD(void); void InitPORTE(void); void InitTimer(void); unsigned char ReadEEPROM(unsigned int); void WriteEEPROM(unsigned int, unsigned char); /////////////////////////////////////
in „GLCD hängt sich nach einer Weile auf“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Error.txt
in dieser Funktion) RNCtrl.c: In Funktion »Mlinksvor«: RNCtrl.c:242: Fehler: »PORTC« nicht deklariert (erste Benutzung in dieser Funktion) RNCtrl.c:242: Fehler: »PC6« nicht deklariert (erste Benutzung in dieser Funktion) RNCtrl.c:242: Fehler: »PC7« nicht deklariert (erste Benutzung in dieser Funktion) RNCtrl.c: In Funktion »Mlinksstop«: RNCtrl.c:245: Fehler: »PORTC« nicht deklariert (erste Benutzung in dieser Funktion) RNCtrl.c:245: Fehler: »PC6« nicht deklariert (erste Benutzung in dieser Funktion) RNCtrl.c:245: Fehler: »PC7« nicht deklariert (erste Benutzung
in „Mikrocontrollerprogrammierung mit Ubuntu (AVRISPmkII/ATMega32)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
tap_code.bas
End If Loop End '**************** subs *************** Knock: Knock_string_length = Len(codestring) Portc.3 = 1 'der erste Klopf Waitms Ontime Portc.3 = 0 For I = 1 To Knock_string_length Letter = Mid(codestring , I , 1) Pause = Val(letter) * Pausen_faktor Print Pause Waitms Pause 'die ermittelte Pause Portc.3 = 1 'der abschliessende Klopf Waitms Ontime Portc.3 = 0 Next I Return Rx_in: Rx_byte = Inkey() Incr M If Rx_byte <> 13 And M <= Rx_max Then Rx_string = Rx_string + Chr(rx_byte) Else Set Rx_received
in „Tap Code Generator Klopfzeichen mit Atmega und Bascom“ · Projekte & Code ·
-
Datei
ADC_Bargraph_00.ASM
------------------------------ ;Pinbelegung ; PORTA RA0/AN0 ADC-Input ; PORTB RB0:7 LED, Rv470R ; PORTC NC ;-------------------------------------------------------------- ;Aufgabe ; ADC-ADRESL Bit 0-8 in Balkenanzeige umwandeln ;************************************************************** ; Prozessor-Konfiguration
in „Analog Digital Converter kleines Problem (PIC)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
FlipDot_Test6.ino
Ausgang // Alles auf Ausgänge auf High setzen PORTB = PORTB | 0b00001111; //Pin PB4-0 auf HIGH, inaktiv PORTC = PORTC | 0b00011111; //Pin PC5-0 auf HIGH, inaktiv PORTD = PORTD & 0b00011111; //Pin PD7-5 auf LOW, damit ENABLE 1-3 von FB2800 inaktiv } void loop() // ========== Alles Gelb =====================
in „Arduino Nano Bitmanipulation“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.cpp
0' also ungleich dem "String-Endezeichen(Terminator)" */ uart_putc(*s); s++; } } void init_BT() { PORTC=PORTC|0b00000100; // BT Modul anschalten //_delay_ms(1000); char Name[20] ="AT+NAMEModul2"; char Passwort[20]="AT+PIN0001"; uart_puts(Name); //_delay_ms(500); uart_puts(Passwort); //_delay_ms(500);
in „Atmega8 SPI läuft nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
10; EinerS = Stunden % 10; ZehnerS = Stunden / 10; } void Zeigen(void) { PORTB = zaehlen[EinerM]; PORTC = driver[0]; _delay_ms(2); PORTB = zaehlen[ZehnerM]; PORTC = driver[1]; _delay_ms(2); PORTB = zaehlen[EinerS]; PORTC = driver[2]; _delay_ms(2); PORTB = zaehlen[ZehnerS]; PORTC = driver[3]; _delay_ms
in „Interrupt Frage ATMEGA8535“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
AT32MENU_Int_anzeige_Abfrage_Passwort.bas
Config Portb.3 = Input Config Portd.2 = Output Config Portd.3 = Output ' Einstellungen zum LCD Config Portc = Output Config Portd.7 = Output Config Portd.6 = Output Config Portd.5 = Output Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 Config
in „Servomotor ansteuern in Bascom“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
03_prog.c
--------------------------------------------------------*/ void toggle_I2C(void) { if (bit_is_set(PORTC,PINC5)){ cbi(PORTC,PINC5); return; } if (bit_is_clear(PORTC,PINC5))sbi(PORTC,PINC5); } void toggle_I2C_2(void) { if (bit_is_set(PORTC,PINC4)){ cbi(PORTC,PINC4); return; } if (bit_is_clear(PORTC,PINC4))sbi(PORTC,PINC4); }
in „SCA3000-D02 von VTI via I2C?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
AvrStudio_c.ini
Bitname PINB5 = Bitname PINB4 = Bitname PINB3 = Bitname PINB2 = Bitname PINB1 = Bitname PINB0 = Bitname PORTC = Register PORTC7 = Bitname PORTC6 = Bitname PORTC5 = Bitname PORTC4 = Bitname PORTC3 = Bitname PORTC2 = Bitname PORTC1 = Bitname PORTC0 = Bitname PC7 = Bitname PC6 = Bitname PC5 = Bitname PC4 = Bitname
in „uint8_t u. Freunde sollen blau sein, sähe doch besser aus?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test1.c
ini_ee EEMEM; int main(void) { DDRC = 0xff; DDRC &= ~( 1 << PC0 ); /* PIN PB0 auf Eingang (Taster) */ PORTC |= ( 1 << PC0 ); DDRB &= ~( 1 << PB0 ); /* PIN PB0 auf Eingang (Taster) */ PORTB |= ( 1 << PB0 ); lcd_init(); set_cursor(0,1); _delay_ms(50); lcd_string("Stundenzaehler"); set_cursor(0,2); lcd_string
in „Fehler im Betrieb“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
empfangsmodul.c
Adds 1 minute to clock, wich means that 24V or -24V is applied to the clock { if(Next_Minute) { sbi(PORTC,2); // applay 24V to Clock vFWait(255); // wait 6.5 ms vFWait(255); // wait 6.5 ms vFWait(255); // wait 6.5 ms cbi(PORTC,2); // no Voltage to Clock usTime++; vFWait(255); // Wait 6.5 ms vFWait(255); // wait 6.5 ms vFWait(255); // wait 6.5 ms Next_Minute=0; } else { sbi(PORTC,3); // Applay -24V to clock vFWait(255); // Wait 6.5 ms vFWait(255); // Wait 6.5 ms vFWait(255); // wait 6.5 ms //vFWait(255); // wait 6.5 ms cbi(PORTC,3); // no Voltage to Clock usTime++; vFWait(255
in „variable verschwindet im arbeitsspeicher !“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
TWI-Module mit PortPins TWI_Master_t twiMaster; /*!< TWI master module. */ // TWI_Master_t ^= stuktur PORTC.DIRSET |= PIN0_bm; // Als Ausgang TWI SDA // TWI am PortC initialisiert PORTC.DIRSET |= PIN1_bm; // Als Ausgang TWI SCL // TWI am PortC initialisiert PORTD.DIRSET |= PIN0_bm; // Als Ausgang TWI SDA
in „TWI - Hilfe!“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
I2C.asm
***************************************** ; Prozessor 16F887 ; Takt für Prozessor 16 MHz ; I2C an PortC ; LEDs an PortD ; LEDs: ; LED1 -> PORTD,0 -> 1cm = 0,455 V ; LED2 -> PORTD,1 -> 2cm = 0,860 V ; LED3 -> PORTD,2 -> 3cm = 1,445 V ; LED4 -> PORTD,3 -> 4cm = 2,151 V ; LED5 -> PORTD,4 -> 5cm = 2,879
in „PIC16F887 - LCD Toshiba 20x4 Zeichen - Assembler“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test.c
avr/interrupt.h" // BEFEHLE void setCommand( uint8_t data ){ _delay_ms(10); DDRC = 0xff; // ausgang PORTC = data; RW_0; CO_0; E_1; _delay_us(50); E_0; } // DATEN void setData( uint8_t data ){ _delay_ms(10); DDRC = 0xff; // ausgang PORTC = data; RW_0; CO_1; E_1; _delay_us(50); E_0; } void Initialize(){
in „Probleme mit DOG-M (128x64)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Entprelltest.c
;;) { if ( TasteSleepOK() && UartSleepOK() ) { PORTC |= 2; // rote LED an signalisiert "ich gehe nun schlafen." MCUCR = ((1 << SE) | (1 << SM1)); // Power down (und INTx bei low Level, falls ein sehr ungünstiger INTx auftrat) // Für den Fall, dass in
in „AVR Einstieg / Probleme mit Programm Interrupt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Test3.c
Count_Servo2 = 0; } ISR(TIMER2_COMPA_vect) { if(Count_Servo1 <= 17 ){ if(NrOverflow_Servo1 % 2 == 0) PORTC &= ~(1 << PC0); else {PORTC |= (1 << PC0);} NrOverflow_Servo1++; if( NrOverflow_Servo1 == sizeof(Array_Servo1) / sizeof(unsigned char) ) NrOverflow_Servo1 = 0; OCR2A = Array_Servo1[ NrOverflow_Servo1
in „Timer stören sich gegenseitig“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd_routinen.h
sein und die 4 // Datenleitungen müssen auf aufeinanderfolgenden Pins liegen // LCD DB4-DB7 <--> PORTC Bit PC0-PC3 #define LCD_PORT PORTC #define LCD_DDR DDRC #define LCD_DB PC0 // LCD RS <--> PORTC Bit PC4 (RS: 0=Data, 1=Command) #define LCD_RS PC4 // LCD RW <--> PORTC Bit PC6 (RW: 0=Write, 1=Read) #define LCD_RW PC5 // LCD EN <--> PORTC Bit PC5 (EN: 1-Impuls für Daten) #define LCD_EN PC6 //////////////////////////////////////////////////////////////////////////////// // LCD Ausführungszeiten (MS=Millisekunden, US=Mikrosekunden) #define
in „LCD 204B-NLW & AtMega32“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test_uhr.bas
Timer1 Takt Enable Interrupts '----------------------------------------------- Config Pinc.3 = Input Portc.3 = 1 Alarm_onoff Alias Pinc.3 Config Pinb.1 = Input Portb.1 = 1 Taster2 Alias Pinb.1 Config Pinb.2 = Input Portb.2 = 1 Taster3 Alias Pinb.2 Config Pinb.3 = Input Portb.3 = 1 Taster4 Alias Pinb.3 Config Pinb.4 = Input Portb.4 = 1 Taster5 Alias Pinb.4 'Buzzer Port Config Portc.0 = Output Speaker Alias Portc.0 'LED definieren Config Portc.1 = Output Led Alias Portc.1 'Hauptprogramm Do 'Einstellen Stunde Debounce Pinb.1 , 0 , Stunde , Sub 'Einstellen Minute Debounce Pinb.2
in „Uhr mit Atmega 8“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Main.c
#include <avr/io.h> int main(void) { DDRC = 1; unsigned long i; for(;;) { PORTC = PORTC & 254; i=0; while(i<=1000) { i++; } PORTC = PORTC | 1; i=0; while(i<=5000) { i++; } } return 0; }
in „Hilfe bei Programmierung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
adc_display.c
Stelle im Display ausgeben case 0: fRechenWert = (float) fAnzeigeWert; iAlterWert = (int) fRechenWert; PORTC = aFloatDisplayDecode[(int) fRechenWert]; break; // Wert für zweite Stelle im Display ausgeben case 1: fRechenWert = (fRechenWert - iAlterWert) * 10; iAlterWert = (int) fRechenWert; PORTC = aIntDisplayDecode
in „AVR Timer + ADC“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Forum.c
keyWords[] = { { "CONFIGURE", CONFIGURE_SYM }, { "PORTA", PORTA_SYM }, { "PORTB", PORTB_SYM }, { "PORTC", PORTC_SYM }, { "PORTD", PORTD_SYM }, { "SETBIT", SETBIT_SYM }, { "CLEARBIT", CLEARBIT_SYM }, { "OUTPUT", OUTPUT_SYM }, { "INPUT", INPUT_SYM }, }; unsigned char Tokens[1024]; int nextToken; #define
in „Grundlagen zur Interpreter Programmierung“ · Softwareentwicklung ·
-
Datei
main.asm
.Nibbles swap Temp0 ; Vertauschen andi Temp0,0b00001111 ; oberes Nibble auf Null setzen ;in Temp1,PORTC ; Lese Port C, um andere Ausgänge nicht zu beeinflussen ;andi Temp1,0b11110000 ; unteres Nibble löschen ;or Temp0,Temp1 ; unteres und oberes Nibble sbi PORTD,RS ; RS High out PORTC,Temp0 ; ausgeben
in „Probleme bei LCD Display Darstellung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Senden.c
(1<<PD4) | (1<<PD2)); DDRC |= (1<<PC2); //PB4 als Ausgang -> Senden/Empfangen PORTD &=~ (1<<PD2); PORTC &=~ (1<<PC1); PORTC &=~ (1<<PC2); PORTC &=~ (1<<PC3); PORTC &=~ (1<<PC4); PORTC &=~ (1<<PC5); PORTD &=~ (1<<PD4); DDRD &= ~(1<<PD3); //INT1 als Eingang PORTD |= (1<<PD3); //Pull-up einschalten EIMSK
in „RFM12b an Atmega168 - Empfangsprobleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Senden.c
(1<<PD4) | (1<<PD2)); DDRC |= (1<<PC2); //PB4 als Ausgang -> Senden/Empfangen PORTD &=~ (1<<PD2); PORTC &=~ (1<<PC1); PORTC &=~ (1<<PC2); PORTC &=~ (1<<PC3); PORTC &=~ (1<<PC4); PORTC &=~ (1<<PC5); PORTD &=~ (1<<PD4); DDRD &= ~(1<<PD3); //INT1 als Eingang PORTD |= (1<<PD3); //Pull-up einschalten EIMSK
in „RFM12b an Atmega168 - Empfangsprobleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Senden.c
(1<<PD4) | (1<<PD2)); DDRC |= (1<<PC2); //PB4 als Ausgang -> Senden/Empfangen PORTD &=~ (1<<PD2); PORTC &=~ (1<<PC1); PORTC &=~ (1<<PC2); PORTC &=~ (1<<PC3); PORTC &=~ (1<<PC4); PORTC &=~ (1<<PC5); PORTD &=~ (1<<PD4); DDRD &= ~(1<<PD3); //INT1 als Eingang PORTD |= (1<<PD3); //Pull-up einschalten EIMSK
in „RFM12b an Atmega168 - Empfangsprobleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Geschwindigkeitsmessung_Arduino_Leonardo_Mod.ino
char n = 50; while(n--) _delay_ms(1); } void lcd_impuls(void) // Schreibimpuls mit Mindestlaenge { PORTC |= LCD_STROBE; _delay_us(2); PORTC &= ~LCD_STROBE; } void lcd_nibble(char c) // 4-bit-Wert ausgeben { char temp; temp = PORTB & 0xc3; // Datenleitungen an PortB.2 -> PortB.5 temp |= ((c>>2) & 0x3c)
in „Stoppuhr – Geschwindigkeit – Pulsweite mit Atmega88“ · Projekte & Code ·
-
Datei
88DDS.txt
$0100 to $03FF in SRAM cbi DDRB,1 ; Bit 8 is off cbi PORTB,1 cbi DDRC,0 ; deglitch not needed cbi PORTC,0 cbi DDRC,1 ; addon not wanted cbi PORTC,1 clr r27 ldi r31,3 TL: ; cycl. ld r0,z ; 2 out PORTD,r0 ; 1 update BIT 0..7 sub r28,r24 ; 1 sbc r29,r25 ; 1 sbc r30,r26 ; 1 sbc r31,r27 ; 1 ori r31,0x02 ;
in „DDS Sinus erzeugung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Programmtext.txt
Deklaration Config Adc = Single , Prescaler = Auto 'SPI Deklaration Config Spi = Soft , Din = None , Dout = Portc.3 , Ss = None , Clock = Portb.6 'Pinkonfiguration Config Portb.7 = Output 'SPI enable Rechteck Config Portc.4 = Output 'SPI Enable Spannung Config Portc.5 = Output 'SPI enable Strom Config Portc.6
in „Fehler = Register Setzen?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
mcp2515.txt
// ... warten bis der Sendepuffer leer ist ... while ( !( UCSRA & (1<<UDRE)) ); //LED 1x Ein aus PORTC = 0b00000001; _delay_ms(200); PORTC = 0x00; //Zeichen Zurücksenden UDR = buffer; } //ISR FÜR SENDEN ISR(USART_TXC_vect) { //LED 1x Ein aus PORTC = 0b01000000; _delay_ms(200); PORTC = 0x00; } //############ SPI INTERRUPT //SPI FÜR EMPFANGEN ISR(SPI_STC_vect) { //LED 1x Ein aus PORTC = 0b00011000; _delay_ms(200); PORTC = 0x00; } //############ Externer Interrupt ISR(INT2_vect) { //LED 1x Ein aus PORTC = 0b00000010; _delay_ms(200); PORTC = 0x00; uint8_t spidata; spidata = spi_Transfer
in „MCP2515 richtig initialisiert?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd.h
char buffertakt [50]; int zaehler; int zahl; int hz; int i; #define RS_1 PORTC |= (1<<PC7) #define RS_0 PORTC &= ~(1<<PC7) int wait () { _delay_ms(2); return 0; } int E () { PORTC |= (1<<PC6); PORTC &= ~(1<<PC6); return 0; } int ausgabe () { RS_0; PORTA=0b10000000; //Cursorpoisition
in „frequenz auslesen und auf lcd anzeigen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
SHIFTOUT_Test.bas
$regfile "m48def.dat" $crystal = 10000000 $baud = 9600 Config Portc.4 = Output Config Portc.5 = Output Config Portc.3 = Input Config Portb = Output Clockeingang Alias Pinc.3 Bitausgabe Alias Pinc.4 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare
in „SHIFTOUT- Befehl in Bascom geht nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test1.c
include <stdint.h> int main (void) { DDRB = 0x00; DDRC = 0xff; while (1) { if (PINB & (1<<PINB1)) PORTC |= (1 << 1); /* setzt Bit 2 an PortA auf 1 */ else PORTC &= ~(1 << 1); /* loescht Bit 2 an PortA */ if (PINB & (1<<PINB2)) PORTC &= ~(1 << 2); /* loescht Bit 2 an PortA */ else PORTC |= (1 << 2); /
in „Spannung am Ausgang obwohl auf LO geschaltet [ATmega8]“ · Analoge Elektronik und Schaltungstechnik ·
-
Datei
Schrittmotor.asm
, 3 ;PWM1 ;PORTB, 4 ;PWM2 ;PORTB, 5 ;ISP,MOT4 ;PORTB, 6 ;PWM5,ISP ;PORTB, 7 ;ISP,MOT5 ;PORTC, 0 ;Drehgeber B ;PORTC, 1 ; ;PORTC, 2 ;JTAG ;PORTC, 3 ;JTAG ;PORTC, 4 ;JTAG ;PORTC, 5 ;JTAG ;PORTC, 6 ;Ausgang Richtung ;PORTC, 7 ;Ausgang Daten stoppen ;PORTD, 0 ;RX Serielle Schnittstelle ;PORTD,
in „Spielerei mit einem 5-Phasen-Schrittmotor“ · Projekte & Code ·
-
Datei
servo.c
; case (4): PORTB|=(1<<PB2)+(1<<PB3); break; case (5): PORTB|=(1<<PB4)+(1<<PB5); break; case (6): PORTC|=(1<<PC0)+(1<<PC1); break; case (7): PORTC|=(1<<PC2)+(1<<PC3); break; case (8): PORTC|=(1<<PC4) ; } //Pulsende für den aktuellen Slot festlegen OCR1A=servos1[aktueller_slot]*75 + 14400; OCR1B=servos2
in „18 fach Servo Controller“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ultraschall2.txt
interrupt [TIM2_COMP] void timer2_comp_isr(void) { zaehler++; //BURST mit 40kHz if(zaehler < 17) { PORTC.1 = ~PORTC.1; PORTC.0 = 0; } else { PORTC.0 = 1; } if(zaehler==80) ACSR=ACSR | 0b00001000; //analogcomp interrupt aktivieren erst kurz nach burst damit nicht sofort interrupt ausgelöst wird zaehler
in „Atmega 8 stürzt unregelmäßig ab“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Caro_08.07.2012.c
abfliessen kann werden beide Als Input geschaltet // 0 = Output und 1 = Input DDRC = 0b00111111; PORTC = 0b00000000; _delay_us(5); // C wird aufgeladen // Pin 0,2,4 werden zu OUTPUTS // Pin 0,2,4 werden High geschalten DDRC = 0b00101010; PORTC = 0b00010101; _delay_us(5); DDRC = 0b00111111; PORTC = 0b00000000; // Ladung aus C abfuehren auf GND // Pin 1,3,5 werden OUTPUT und LOW DDRC = 0b00010101; PORTC = 0b00000000; } //ADC Messen static uint16_t readADC(uint8_t mux) { ADMUX &=~(1<<MUX|...|1<<MUX0); // alle MUX-Bits löschen ADMUX |= mux; // MUX-Bits setzen ADCSRA |= (1 << ADSC); // eine Wandlung
in „ADC mit ATmega8A“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test.c
abfliessen kann werden beide Als Input geschaltet // 0 = Output und 1 = Input DDRC = 0b00000000; PORTC = 0b00000000; _delay_us(5); // C wird aufgeladen // Pin 0,2,4 werden zu OUTPUTS // Pin 0,2,4 werden High geschalten DDRC = 0b00010101; PORTC = 0b00010101; _delay_us(5); DDRC = 0b00000000; PORTC = 0b00000000; // Ladung aus C abfuehren auf GND // Pin 1,3,5 werden OUTPUT und LOW DDRC = 0b00101010; PORTC = 0b00000000; } //ADC Messen static uint16_t readADC(uint8_t mux) { ADMUX &=~(1<<MUX0)|(1<<MUX1)|(1<<MUX2); // alle MUX-Bits löschen ADMUX |= mux; // MUX-Bits setzen ADCSRA |= (1 << ADSC); // eine
in „ADC mit ATmega8A“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd.h
Daten müssen zusammenliegen, können aber an einer // beliebigen Postion anfangen // LCD DB4-DB7 <--> PORTC Bit PC2-PC5 #define LCD_PORT PORTC #define LCD_DDR DDRC // LCD Datenbus, Bitnummer des untersten Bits D4, kann auf den // Portbits 0..4 liegen #define LCD_DB PC1 // LCD RS <--> PORTC Bit PC0 (RS: 0=Data, 1=Command) #define LCD_RS_PORT PORTC #define LCD_RS_DDR DDRC #define LCD_RS PC0 // LCD EN <--> PORTC Bit PD3 (EN: 1-Impuls für Daten) #define LCD_EN_PORT PORTD #define LCD_EN_DDR DDRD #define LCD_EN PD3 ///////////////////////////////
in „LCD Atmega 168 Problem initialisiert nicht, kann mir jemand compilieren?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
tastaur.txt
,1 ;Pin 2 der Matrixtastatur CALL Tastatur2 GOTO Tastatur Tastatur1 BCF PORTA,1 BSF PORTA,0 BTFSC PORTC,0 ;Pin 5 der Matrixtastatur CALL ausgabe1 BTFSC PORTC,1 ;Pin 6 der Matrixtastatur CALL ausgabe4 RETURN Tastatur2 BCF PORTA,0 BSF PORTA,1 BTFSC PORTC,0 ;Pin 5 der Matrixtastatur CALL ausgabe2 BTFSC PORTC,1 ;Pin 6 der Matrixtastatur CALL ausgabe5 RETURN
in „4x4 Matrixtastatur Problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Servo-Test.c
define F_CPU 1000000 int main(void) { DDRC |= (1 << PC5); DDRD &= ~(1 << PD0); DDRD &= ~(1 << PD1); PORTC &= ~(1 << PC5); //LED aus char taster1; char taster2; while(1){ taster1 = (PIND & 1<< PD0); taster2 = (PIND & 1<< PD1); if (taster2){ PORTC |= (1 << PC5); //LED an } else if(taster1){ PORTC |= (1 << PC5); //LED ab } else{ PORTC &= ~(1 << PC5); //LED aus } } return 0; }
in „Buttonswerte auswerten“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd.h
unsigned int hz; int i; unsigned int lowbyte; unsigned int highbyte; unsigned int result; #define RS_1 PORTC |= (1<<PC7) #define RS_0 PORTC &= ~(1<<PC7) int wait () { _delay_ms(2); return 0; } int E () { PORTC |= (1<<PC6); PORTC &= ~(1<<PC6); return 0; } int ausgabe () { RS_0; PORTA=0b10000000; //Cursorpoisition
in „frequenz auslesen und auf lcd anzeigen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
globals.h
#ifndef _globals_H_ #define _globals_H_ //Portnames #define RS485_EN_PORT PORTC #define RS485_EN_PIN PC5 //Flags /* SHT SCK and DATA Port and Pin definitions */ #define SHT_PORT PORTC #define SHT_DDR DDRC #define SHT_DATA_PORT PORTC #define SHT_SCK_PORT PORTC #define SHT_DATA_DDR
in „SHT11 misst Mist“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test.asm
D durch Ausgabe von 0x00 ins ;Richtungsregister DDRD als Eingang konfigurieren ldi r16, 0xFF out PORTC, r16 ;PORTC auf 0xFF setzen -> alle LEDs aus loop: sbic PIND, 2 ;"skip if bit cleared", nächsten Befehl überspringen, ;wenn Bit 0 im IO-Register PIND =0 (Taste 0 gedrückt) rjmp loop ;Sprung zu "loop:" -> Endlosschleife cbi PORTC, 5 ;Bit 3 im IO-Register PORTC auf 0 setzen -> 4. LED an ende: rjmp ende ;Endlosschleife
in „Anfängerproblem mit Atmega8-Programmierboard“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
slave.txt
Rest als Eingang SPCR = (1<<SPE)|(1<<SPIE); //Aktivierung des SPI + Interrupt } SIGNAL (SIG_SPI) { PORTC = 1; data = SPDR; //Daten empfangen switch(data) { case 'a': SPDR='1'; PORTC = 2; break; case 'b': SPDR='2'; PORTC = 3; break; case 'c': SPDR='3'; PORTC = 4; break; } } int main() { DDRC = 0xff; spi_init
in „SPI Atmega168“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM.c
<<ICES1); TIMSK |= (1<<TICIE1); DDRC |= (1<<DDRC0); sei(); while(1) { } } ISR(TIMER1_CAPT_vect) { PORTC |= (1<<PORTC0); TCCR1B |= (1<<CS10); OCR1A = comp; TIMSK |= (1<<OCIE1A); TCNT1 = 0; TIFR = (1<<ICF1); } ISR(TIMER1_COMPA_vect) { PORTC &= ~(1<<PORTC0); TIMSK &= ~(1<<OCIE1A); }
in „ATmega8 PWM mit Input Capture generieren“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
iom88.h
DDRD, 0x0A) /* Data Direction Register, Port D */ SFR_B(PIND, 0x09) /* Input Pins, Port D */ SFR_B(PORTC, 0x08) /* Data Register, Port C */ SFR_B(DDRC, 0x07) /* Data Direction Register, Port C */ SFR_B(PINC, 0x06) /* Input Pins, Port C */ SFR_B(PORTB, 0x05) /* Data Register, Port B */ SFR_B(DDRB, 0x04
in „IAR Embedded Workbench for Atmel AVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
fail_jingle.h
Delay-Routinen #include <stdint.h> void fail_sound(void){ uint16_t hilf = 0; for(hilf = 98; hilf > 0; hilf--){ PORTC = (1 << PC6); _delay_ms(1.28); PORTC &= ~(1 << PC6); _delay_ms(1.28); /*diese for-Schleife schaltet PINC6 mit einer Frequenz von ca. 391Hz *für ca. 250ms auf '0' und '1'. */ } for(hilf = 100; hilf > 0; hilf--){ PORTC = (1 << PC6); _delay_ms(3.8); PORTC &= ~(1 << PC6); _delay_ms(3.8); /*diese for-Schleife schaltet PINC6 mit einer Frequenz von ca. 132Hz *für ca. 760ms auf '0' und '1'. Hintereinander auf einen Lautsprecher
in „Programmoptimierung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Prog7.c
oben PORTC = (Adresse + 1); PORTA = Daten >> 8; //oberes Byte an Datenbus anlegen delay_us(20); PORTD &= ~IOW; //IOW-Bit kippen => Daten einlesen delay_us(20); PORTD |= IOW; } /*******************************
in „Ethernetkontroller sendet aber kein Empfang“ · Mikrocontroller und Digitale Elektronik ·