-
Datei
main.c
ADMUX=YP|(1<<REFS0); if (status==PRESSED) x=x-x/32+ADC; cbi(DDRC, YP); //Y Eingang cbi(DDRC, YN); sbi(PORTC, YP); //Y Pullup cbi(PORTC, YN); cbi(PORTC, XP); //X auf Low cbi(PORTC, XN); sbi(DDRC, XP); //X auf Ausgang sbi(DDRC, XN); state=1; sbi(ADCSR,ADSC); } else if (state==1) { if (PINC&(1<<YP)) //Messen
in „4 Draht -Touchpanel IC“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
M16_LCD.asm
ldi TEMP1,256-125 ; 8000 Zyklen out TCNT0,TEMP1 andi MODE,0b11111110 ; Timerbit zurücksetzen sbis PORTC,2 rjmp T0O_SET2 cbi PORTC,2 sbi PORTC,3 ; PORTC.3 an, 2 aus out PORTA,LED_DISPLAY_2 ; PORTA <- LED_1 rjmp T0O_SETDONE T0O_SET2: cbi PORTC,3 sbi PORTC,2 ; PORTC.2 aus, 3 an out PORTA,LED_DISPLAY_1 ; PORTA <- LED_2 T0O_SETDONE: pop TEMP1 out SREG,TEMP1 pop TEMP1 reti ROULETTE_PRINT_OUT: cli ; um PORTC konstant zu halten in TEMP2,PORTC andi TEMP2,0b00001111 ldi TEMP1,0 cpi RANDOM,0 ; bei Null oder 36+ display aus breq RS_DONE cpi RANDOM,37 brlo BEGIN_LED_SET out PORTB,TEMP1 in TEMP1,PORTC andi TEMP1,0b00001111
in „Sekunde doppelt so lang ??“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
M16_LCD.asm
ldi TEMP1,256-125 ; 8000 Zyklen out TCNT0,TEMP1 andi MODE,0b11111110 ; Timerbit zurücksetzen sbis PORTC,2 rjmp T0O_SET2 cbi PORTC,2 sbi PORTC,3 ; PORTC.3 an, 2 aus out PORTA,LED_DISPLAY_2 ; PORTA <- LED_1 rjmp T0O_SETDONE T0O_SET2: cbi PORTC,3 sbi PORTC,2 ; PORTC.2 aus, 3 an out PORTA,LED_DISPLAY_1 ; PORTA <- LED_2 T0O_SETDONE: pop TEMP1 out SREG,TEMP1 pop TEMP1 reti ROULETTE_PRINT_OUT: cli ; um PORTC konstant zu halten in TEMP2,PORTC andi TEMP2,0b00001111 ldi TEMP1,0 cpi RANDOM,0 ; bei Null oder 36+ display aus breq RS_DONE cpi RANDOM,37 brlo BEGIN_LED_SET out PORTB,TEMP1 in TEMP1,PORTC andi TEMP1,0b00001111
in „Sekunde doppelt so lang ??“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
rdr.c
MASKE_R | MASKE_S | MASKE_T) uint8_t zeile[18]; uint8_t bitmaske[3]; static void motor_an(void) { PORTC |= 1<<PC2; } static void motor_aus(void) { PORTC &= ~(1<<PC2); } static void clk_low(void) { PORTC &= ~(1<<PC3); } static void clk_high(void) { PORTC |= 1<<PC3; } static void data_low(void) { PORTC &= ~(1<<PC4); } static void data_high(void) { PORTC |= 1<<PC4; } static void rck_low(void) { PORTC &= ~(1<<PC5); } static void rck_high(void) { PORTC |= 1<<PC5; } static void oe_low(void) { PORTC &= ~(1<<PC1); } static void oe_high(void) { PORTC |=
in „Druckelement Epson Model-620 ansteuern?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ATMEGA8535_RS232.txt
1) { return 2; } if (PIND.4 == 1) { return 3; } } void pause(void) { #asm nop nop #endasm } void PORTC_output(void) { DDRC = 0xFF; PORTC = 0; } void PORTC_input(void) { DDRC = 0x00; PORTC = 0xFF; } void autoreset(void) { PORTC = 0xB2; pause(); wr = 0; pause(); wr = 1; } void autowrite(void) { PORTC
-
Datei
binaryclock.asm
löschen ldi r16, 0b01000000 out TIMSK, r16 ; Overflowinterrupt an sei loop: mov r16, H10 com r16 sbi PORTC, 5 out PORTB, r16 cbi PORTC, 0 rcall wait nop nop mov r16, H1 com r16 sbi PORTC, 0 out PORTB, r16 cbi PORTC, 1 rcall wait nop nop mov r16, M10 com r16 sbi PORTC, 1 out PORTB, r16 cbi PORTC, 2 rcall wait nop nop mov r16, M1 com r16 sbi PORTC, 2 out PORTB, r16 cbi PORTC, 3 rcall wait nop nop mov r16, S10 com r16 sbi PORTC, 3 out PORTB, r16 cbi PORTC, 4 rcall wait nop nop mov r16, S1 com r16 sbi PORTC, 4 out PORTB, r16 cbi PORTC, 5 rcall
in „Mega8 / AppNote 134 (Realtimeclock)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
webcam-starter.c
stdio.h> #include <avr/io.h> #include <avr/interrupt.h> #include "webcam-starter.h" void pc_on(void) { PORTC &= ~(1 << PC4); for (long i=0;i<50000;i++) { asm volatile ("nop"); }; PORTC |= (1 << PC4); } void get_jumper(void) { if(PORTC & (1 << PC3))jumper += 1; if(PORTC & (1 << PC2))jumper += 2; } void dcf_on
in „GCC: Erhalte viele "multiple definition of."“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
DMX_ADD.c
|= (1<<PC3); PORTC &= ~(1<<PC3); } else { DDRC &= ~(1<<PC3); PORTC |= (1<<PC3); }; if (dmx_out & 0x08) { DDRC |= (1<<PC2); PORTC &= ~(1<<PC2); } else { DDRC &= ~(1<<PC2); PORTC |= (1<<PC2); }; if (dmx_out & 0x10) { DDRC |= (1<<PC1); PORTC &= ~(1<<PC1); } else { DDRC &= ~(1<<PC1); PORTC |= (1<<PC1); }; if (dmx_out & 0x20) { DDRC |= (1<<PC0); PORTC &= ~(1<<PC0); } else { DDRC &= ~(1<<PC0); PORTC |= (1<<PC0); }; if (dmx_out & 0x40) { DDRB
in „DMX Adresse automatisch addieren“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ks0070.c
display_init(); } void display_init(void) { DDRC = 0xff; //Port C als Ausgang setzen _delay_ms(40); PORTC = 0b00100000; //4 Bit Mode setzen enable(); _delay_ms(5); PORTC = 0b00100000; //2 Line Mode enable(); PORTC = 0b11000000; //Display off enable(); _delay_ms(5); PORTC = 0b00000000; //Display an enable(); PORTC = 0b11110000; //Cursor an, Blink an enable(); _delay_ms(5); PORTC = 0b00000000; //Clear Display enable(); PORTC = 0b00010000; enable(); _delay_ms(5); PORTC = 0b00000000; //Increment enable(); PORTC
in „LCD KS0073 am AVRATMega128“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
SiebenSegmente.asm
PULLUPS ldi r16, 0b00111110 out PORTB, r16 ; PORTB auf 0 setzen -> alle Segmente aus ldi r16, 0x00 out PORTC, r16 ; PORTC auf 0xFF setzen -> alle Segmente aus loop: sbic PIND, 0 rjmp zwei ;ZAHL : 1 ldi r16, 0b00010001 out PORTC, r16 zwei: sbic PIND, 1 rjmp drei ;ZAHL : 2 ldi r16, 0b00001111 out PORTC, r16
in „Problem mit PORTB am Atmega8“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Regendusche3.cc
LED an } else if (duft_an == 0) { PORTD &=~ (1 <<LED_DUFT); // Duft LED aus } if ( led_an == 1) { PORTC |= (1 <<LED_LED); // Duft LED an } else if (led_an == 0) { PORTC &=~ (1 <<LED_LED); // Duft LED aus } if ( led_active == 0 ) // Standartlicht { PORTD |= ( (1 <<LED_TROPENREGEN) | (1 << LED_REGEN_MITTE
in „Timer und Resetprobleme mit Mega16“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
can_sd.c
USART3_UDRE_vect) {set_leds(56);} ISR(USART3_TX_vect) {set_leds(57);} set_leds(int pins) { while(1) { PORTC = ~pins; } for(;;) nop(); } /* ISR(TIMER1_COMPA_vect) { disk_timerproc(); } */ ISR(TIMER0_COMPA_vect) { disk_timerproc(); //PORTC = ~((~PORTC)+1); } ISR(SPI_STC_vect) { PORTC = 0b10101010; } static inline void blink(void) { U32 warten; PORTC = 0xFF; for(warten = 0;warten<100000;warten++) nop(); PORTC = ~0b00000001; for(warten = 0;warten<100000;warten++) nop(); PORTC = ~0b00000010; for(warten = 0;warten<100000;warten++) nop(); PORTC = ~
in „ISR(SPI_STC_vect) wird nicht verlassen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
--------------- ISR(TIMER1_COMPA_vect) { switch(Nummer){ case 2: PORTD = anzwert[zeiger[Nummer]]; PORTC |= (1<<PC5); PORTC &= ~( (1<<PC3) | (1<<PC2) | (1<<PC4)); Nummer = 5; break; case 3: PORTD = anzwert[zeiger[Nummer]]; PORTC |= (1<<PC4); PORTC &= ~( (1<<PC3) | (1<<PC2) | (1<<PC5)); Nummer--; break; case 4: PORTD = anzwert[zeiger[Nummer]]; PORTD &= ~(1<<PD7); PORTC |= (1<<PC3); PORTC &= ~( (1<<PC2) | (1<<PC4) | (1<<PC5)); Nummer--; break; case 5: PORTD = anzwert[zeiger[Nummer]]; PORTC |= (1<<PC2); PORTC &= ~( (1<<PC3) | (1<<PC4) | (1<<PC5)); Nummer--; break;
in „Controllerprobleme / Programm Atmega 8, WTV020“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
16CPapasCableTesterStableTestOk.c
previously as sent bytes outputs and showed any failure { PORTC&=~(1<<PC5); // Green LED off PORTB=BDSingleFailureByte; // Red LEDs at the failure bits outputs PORTC=CCSingleFailureByte; // Red LEDs at the failure bits outputs } } // ---------------------------
in „Alptraum jedes Programmierer: Code kompilierbar aber doch ein Denkfehler drin wer sieht´s?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
_delay_ms(500); PORTC = 0b00000000; _delay_ms(400); PORTC = 0b00000100; _delay_ms(100); PORTC = 0b00000111; _delay_ms(500); PORTC = 0b00000000; _delay_ms(500); } } while(1) { PORTC = 0b00000011; _delay_ms(2000); PORTC = 0b00000000; _delay_ms(57900); PORTC = 0b00000100; _delay_ms(100); PORTC = 0b00000111; _delay_ms(2000); PORTC = 0b00000000; _delay_ms(58000); } }
in „Genauigkeit Atmega8“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
2kom1.ASM
******************************** LCD_LB1_INIT BCF STATUS,RP0 ; Bank 0 BCF STATUS,RP1 ; Bank 0 BCF PORTC,4 ; ir-register LCD_LB1_L1 CALL LCD_LB1_OUT4 CLRWDT DECFSZ SYS_TMP1,F GOTO LCD_LB1_L1 MOVFW PORTC ANDLW H'F0' IORLW B'0011' ; Function Set MOVWF PORTC BSF PORTC,5 ; write BCF PORTC,5 BSF SYS_TMP1,5 ; wait LCD_LB1_L2 CALL LCD_LB1_OUT4 CLRWDT DECFSZ SYS_TMP1,F GOTO LCD_LB1_L2 BSF PORTC,5 ; write BCF PORTC,5 CALL LCD_LB1_OUT4 BSF PORTC,5 ; write BCF PORTC,5 CALL LCD_LB1_OUT4 BCF PORTC,0 ; 4-Bit Interface BSF PORTC,5 ; write BCF PORTC,5 CALL LCD_LB1_OUT4 MOVLW B'00101000' ; Function
in „Zahlen über rs232 an Hyperterminal“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
DDRB|=(1<<PB5)|(1<<PB3)|(1<<PB2); PORTB |= (1 << PB2); //SS High DDRC |= (1 << PC1); //SS AUsgang PORTC |= (1 << PC1); //SS auf high SPCR=(1<<SPE)|(1<<MSTR)|(1<<CPHA)|(1<<CPOL)|(1<<SPR0); int i = 0; sei(); */ PORTC |= (1 << PC1); //SS High PORTC |= (1 << PC0); //SS High _delay_ms(1000); SOFT_SPI_init(); _delay_ms(10); PORTC &=~(1<<PC1); //SS Low _delay_us(8); SOFT_SPI_WriteRead(systembyte); SOFT_SPI_WriteRead(systembyte2); _delay_us(8); PORTC |= (1 << PC1); //SS High _delay_ms(100); PORTC &=~(1<<PC1); //SS Low _delay_us
in „Allegro A4960 bzw. A4964“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
define.h
(i=0; i<=2; i++) { RS_1; PORTC = bufferminweck [zahl++]; E(); wait(); } } void alarmfunc (void) { RS_0; PORTC = 0b00000001; E(); wait(); PORTC = 0b10000000; E(); wait(); zahl = 0; for (i=0; i<=8; i++) { RS_1; PORTC = alarm [zahl
in „LED multiplexen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Kondensator_laden_Atmega16_2.c
< b3 ) { PORTC &= ~(1<<PC2); } else { PORTC |= (1<<PC2); } if ( Timer < b4 ) { PORTC &= ~(1<<PC3); } else { PORTC |= (1<<PC3); } if ( Timer < b5 ) { PORTC &= ~(1<<PC4); } else { PORTC |= (1<<PC4); } if ( Timer < b6 ) { PORTC &= ~(1<<PC5); } else { PORTC |= (1<<PC5); } if ( Timer < b7 ) { PORTC &= ~(1<<PC6); } else { PORTC |= (1<<PC6); } if ( Timer < b8 ) { PORTC &= ~(1<<PC7); } else { PORTC |= (1<<PC7); } if (Timer < 1024
in „Probleme bei 8fach ADC und PWM mit ATmega16“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main-clean.c
_t newPORTC = PINC; if ( (newPORTC ^ lastPORTC) & 0x02 && (newPORTC & 0x02) ) if (newPORTC & 0x01 ) xVAL--; else xVAL++; if ( (newPORTC ^ lastPORTC) & 0x08 && (newPORTC & 0x08) ) if (newPORTC & 0x04 ) yVAL--; else yVAL++; if ( (newPORTC ^ lastPORTC) & 0x20 && (newPORTC & 0x20 ) ) if (newPORTC & 0x10 ) zVAL--; else zVAL++; lastPORTC = newPORTC; } return 0; /* never reached */ }
in „LCD zu langsam“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Motorstueuerung.c
richtungx==1) { PORTB = PORTB |(1 << PB1); } else { PORTB = PORTB | (0 << PB1); } if(richtungy==1) { PORTC = PORTC | (1 << PC1); } else { PORTC = PORTC | (0 << PC1); } if(enablex==1) { PORTB = PORTB | (1 << PB5); } else { PORTB = PORTB | (0 << PB5); } if(enabley==1) { PORTC = PORTC | (1 << PC5); } else
in „Problem mit dem überschreiben einer Variable“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
hello.c
taster2 pressed=bit_is_clear(PINB, PINB2) //taster1 pressed=bit_is_clear(PINB, PINB3) //led 2 an cbi(PORTC,PINC4); //led 2 aus sbi(PORTC,PINC4); //led 1 an cbi(PORTC,PINC5); //led 1 aus sbi(PORTC,PINC5); //ls an sbi(PORTC,PINC3); //ls aus cbi(PORTC,PINC3); SIGNAL (SIG_INPUT_CAPTURE1) { cli(); //interrupts aus cbi(PORTC,PINC3);//ls aus } int main( void ) { DDRC=0xff;//out DDRB=0x00;//in sbi(PORTC,PINC4);//led aus sbi(PORTC,PINC5);//led aus cbi(PORTC,PINC3);//ls aus lcd_init(LCD_DISP_ON); lcd_clrscr(); lcd_puts("..
in „Falsche Zeiten bei Schallmessung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LCD_CHAR.ASM
= 1 (read) cbi DDRD ,7 ;PD7 = Eingang sbi PORTC,5 ;Enable = 1 nop ;3 Taktzyklen pause nop nop bitcheck: sbic PIND,7 ;wdh bis PIND7 = 0 rjmp bitcheck cbi PORTC,5 ;Enable = 0 cbi PORTC,4 ;R/W = 0 (write) sbi DDRD ,7 ;PD7 = Ausgang ret command_lcd: cbi PORTC,3 ret enable_lcd: sbi PORTC,5 nop nop nop cbi PORTC,5 ret init_lcd: rcall command_lcd cbi PORTC,4 rcall delay_5ms rcall delay_5ms rcall delay_5ms ldi r16,0b00111000 out PORTD,r16 rcall enable_lcd rcall
in „LCD erste Zeile adressieren -> Fehler“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ADC.asm
Port D = Ausgang für LCD out DDRD, temp1 ldi temp1, (1<<CLK | 1<<CS) ; Port C out DDRC, temp1 sbi PORTC, CS ; CS=HIGH rcall lcd_init ; Display initialisieren rcall lcd_clear ; Display löschen Main: cbi PORTC, CS ; CS=LOW rcall wait18 sbi PORTC, CLK ; CKL 1 rcall wait18 cbi PORTC, CLK rcall wait18 sbi PORTC, CLK ; CKL 2 rcall wait18 cbi PORTC, CLK rcall wait18 sbi PORTC, CLK ; CKL 3 (NULL Bit) rcall wait18 cbi PORTC, CLK rcall wait18 ldi temp3, 12 ; Bitzähler schleife: lsl temp2 ; Daten weiterschieben
in „LTC1286 --> AVR --> Software SPI“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
HV_PROG.c
we program HFUSE, otherwise LFUSE // Enable data loading //digitalWrite(XA1, LOW); PORTC &= ~(XA1); //digitalWrite(XA0, HIGH); PORTB |=(1<<XA0); _delay_ms(1); // Write fuse DATA = fuse; // set desired fuse value //digitalWrite(XTAL1, HIGH); PORTC |=(1<<XTAL1); _delay_ms(1); //digitalWrite
in „ATMEGA 644 Verfused“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Timer.c
int x[8]; while(count<8) { x[count] = (T1 &(1<<count)); count++; } //Testweise ausgabe auf PORT C PORTC=0x00; if (x[0]!=0) PORTC |= (1 << PINC0); if (x[1]!=0) PORTC |= (1 << PINC1); if (x[2]!=0) PORTC |= (1 << PINC2); if (x[3]!=0) PORTC |= (1 << PINC3); if (x[4]!=0) PORTC |= (1 << PINC4); if (x[5]!=0) PORTC |= (1 << PINC5); if (x[6]!=0) PORTC |= (1 << PINC6); if (x[7]!=0) PORTC |= (1 << PINC7); count=0; while(count<8) { if (x[count]==0) { PORTB &= ~(1 << PINB4); //delete PORTC BIT 0 TIMSK |= (1<<TOIE0
in „Probleme bei Timer gesteuertem Pin ein-und ausschalten“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
rw = 0; } return rw; } DDRC=0xFF; if(can_init(CAN_BAUDRATE_1000K, CAN_INTERRUPTS_TX, 0)==RSP_OK) { PORTC=0x01; _delay_ms(1000); } if(can_enable_mob(1, CAN_MODE_TRANSMIT_DATA, 0x01, 0x00)==RSP_OK) { PORTC=0x02; _delay_ms(1000); } PORTC= (uint8_t) can_get_mode(); _delay_ms(1000); while (1) { for(TASTERBIT=0;TASTERBIT<=7;TASTERBIT++) { if(taster(TASTERBIT)!=0) { PORTC=(1<<TASTERBIT); if(TASTERBIT==7) { PORTC=0xFF; } _delay_ms(10); PORTC=0x00; } } } uint8_t *ptr_PORTC=&PORTC; if(can_send_data(1, sizeof(PORTC), ptr_PORTC)==RSP_OK) { PORTC=0xAA; } return 0; }
in „Octopus+CAN Bus benutzen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PortBitList.h
PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTB,&PORTB,&PORTB,&PORTB,&PORTB,&PORTB,&PORTC,&PORTC,&PORTC,&PORTC,&PORTC,&PORTC}; constexpr Register ddrList[] = {&DDRD,&DDRD,&DDRD,&DDRD,&DDRD,&DDRD,&DDRD,&DDRD,&DDRB,&DDRB,&DDRB,&DDRB,&DDRB,&DDRB,&DDRC,&DDRC,&DDRC,&DDRC,&DDRC,&DDRC}; constexpr
in „C++ Klassenbibliothek für AVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
17CPapasCableTesterOneBeepAndNoCableDetection.c
previously as sent bytes outputs and showed any failure { PORTC&=~(1<<PC5); // Green LED off PORTB=BDSingleFailureByte; // Red LEDs at the failure bits outputs PORTC=CCSingleFailureByte; // Red LEDs at the failure bits outputs } } // ---------------------------
in „Alptraum jedes Programmierer: Code kompilierbar aber doch ein Denkfehler drin wer sieht´s?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
} PORTC = 0x00; for(unsigned long z = 0; z <= 2000; z++){NOP();} PORTC = 0x0F; for(unsigned long z = 0; z <= 4000; z++){NOP();} PORTC = 0x00; for(unsigned long z = 0; z <= 2000; z++){NOP();} ACK = 0; } else { PORTC = 0xF0; for(unsigned long z = 0; z <= 4000; z++){NOP();} PORTC = 0x00; for(unsigned long z = 0; z <= 2000; z++){NOP();} PORTC = 0xF0; for(unsigned long z = 0; z <= 4000; z++){NOP();} PORTC = 0x00;
in „PIC16F887 auf MC2V0 - I2C“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
} PORTC = 0x00; for(unsigned long z = 0; z <= 2000; z++){NOP();} PORTC = 0x0F; for(unsigned long z = 0; z <= 4000; z++){NOP();} PORTC = 0x00; for(unsigned long z = 0; z <= 2000; z++){NOP();} ACK = 0; } else { PORTC = 0xF0; for(unsigned long z = 0; z <= 4000; z++){NOP();} PORTC = 0x00; for(unsigned long z = 0; z <= 2000; z++){NOP();} PORTC = 0xF0; for(unsigned long z = 0; z <= 4000; z++){NOP();} PORTC = 0x00;
in „PIC16F887 auf MC2V0 - I2C“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
hello.c
taster2 pressed=bit_is_clear(PINB, PINB2) //taster1 pressed=bit_is_clear(PINB, PINB3) //led 2 an cbi(PORTC,PINC4); //led 2 aus sbi(PORTC,PINC4); //led 1 an cbi(PORTC,PINC5); //led 1 aus sbi(PORTC,PINC5); //ls an sbi(PORTC,PINC3); //ls aus cbi(PORTC,PINC3); unsigned volatile char l,h; unsigned volatile char
in „Falsche Zeiten bei Schallmessung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test.c
da ich immer nur nen Nibble brauch aber das ganze Bit auf den nicht voll vorhandenen Port lege // PORTC=0 PORTD=1 und dann die echten Werte // Das ganze 4mal für die Stellen PORTC = 0x00; PORTD = 0xFF; PORTC |= (1<<PC0); PORTD &= ~(HZ) ; _delay_ms(5);// Naja ich glaub die Transistoren sind zu lahm PORTC = 0x00; PORTD = 0xFF; PORTC |= (1<<PC1); PORTD &= ~(HE) ; _delay_ms(5); PORTC = 0x00; PORTD = 0xFF; PORTC |= (1<<PC2); PORTD &= ~(MZ) ; _delay_ms(5); PORTC = 0x00; PORTD = 0xFF; PORTC |= (1<<PC3); PORTD &= ~(ME); _delay_ms(5)
-
Datei
main.c
(50); PORTC |= (1<<lcd_d7); lcd_enable(); waitus(50); // Display on/off control PORTC &= ~((1<<lcd_d7)|(1<<lcd_d5)); lcd_enable(); waitus(50); PORTC |= (1<<lcd_d7); lcd_enable(); waitus(50); // Display clear PORTC &= ~(1<<lcd_d7); lcd_enable(); waitus(50); PORTC |= (1<<lcd_d4); lcd_enable(); waitus(50); // Entry Mode set PORTC &= ~(1<<lcd_d4); lcd_enable(); waitus(50); PORTC |= (1<<lcd_d6)|(1<<lcd_d5); lcd_enable(); waitus(50); } void init_main(void) { //
in „LCD - 4Bit - Textausgabe“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Aqua_1.txt
util/delay.h> #include <stdbool.h> #include <avr/interrupt.h> // Ausgänge zuweisen #define LED0_ON PORTC |= (1<<PC0) #define LED0_OFF PORTC &= ~(1<<PC0) #define LED1_ON PORTC |= (1<<PC1) #define LED1_OFF PORTC &= ~(1<<PC1) #define LED2_ON PORTC |= (1<<PC2) #define LED2_OFF PORTC &= ~(1<<PC2) #define LED3_ON PORTC |= (1<<PC3) #define LED3_OFF PORTC &= ~(1<<PC3) #define LED4_ON PORTC |= (1<<PC4) #define LED4_OFF PORTC &= ~(1<<PC4) #define taster0 (PIND & (1<<PD0)) #define taster1 (PIND & (1<<PD1)) #define taster2
in „Atmega8 PORTB“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Batterieometer.c
endif #include <avr/io.h> #include <util/delay.h> int main(void) { DDRC = 0b11111111; while (1) { PORTC = 0b11111111; _delay_ms(500); PORTC = 0b11111110; _delay_ms(500); PORTC = 0b11111101; _delay_ms(500); PORTC = 0b11111011; _delay_ms(500); PORTC = 0b11110111; _delay_ms(500); PORTC = 0b11101111; _delay_ms(500); PORTC = 0b11011111; _delay_ms(500); PORTC = 0b10111111; _delay_ms(500); PORTC = 0b01111111; _delay_ms(500); PORTC = 0b00000000; _delay_ms(500); } return 0; }
in „I/O Probleme ATMega 16“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
EAN_erfa_III.bas
SPS-Übernahmesignal Dim Na As String * 10 'Variable für den Barcode Config Serialin = Buffered , Size = 20 Config Portc.1 = Output 'Anzeige Belegt Config Portc.2 = Output 'Anzeige Übernahmesignal von SPS Config Portc.3 = Output 'Ausgabe Morsezeichen Config Portc.0 = Input 'Port auf Eingang geschaltet Portc.0 = 1 'Pull-Up Pin C.0 eingeschaltet Lbelegt Alias Portc.1 'Alias-Vergabe Lsps Alias Portc.2 'Ean = 0 'String für EAN-Code auf 0 setzen Belegt = 0 'Variable für belegt-Anzeige auf 0 setzen Sps = 0 Portc.2 = 0 Portc.3 = 0 Enable Interrupts Cls Upperline Lcd
in „Mega8, Bascom, RS232-Eingabe funzt nur einmal“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Telefon.asm
brne Nr4 sbi PORTB, 5 rcall wait100ms rcall uart_number cbi PORTB, 5 Nr4: cpi temp1, 4 brne Nr3 sbi PORTC, 0 rcall wait100ms rcall uart_number cbi PORTC, 0 Nr3: cpi temp1, 3 brne Nr2 sbi PORTC, 1 rcall wait100ms rcall uart_number cbi PORTC, 1 Nr2: cpi temp1, 2 brne Nr1 sbi PORTC, 2 rcall wait100ms rcall uart_number cbi PORTC, 2 Nr1: cpi temp1, 1 brne NrX sbi PORTC, 3 rcall wait100ms rcall uart_number cbi PORTC, 3 NrX: rjmp NwEn Anrufen: ldi temp3,0 out OCR2, temp3 ;440Hz Ton ausschalten rcall uart_440off sbi PORTC, 5 ;
in „Mein verrücktes Projekt ist fertig :)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Telefon.asm
brne Nr4 sbi PORTB, 5 rcall wait100ms rcall uart_number cbi PORTB, 5 Nr4: cpi temp1, 4 brne Nr3 sbi PORTC, 0 rcall wait100ms rcall uart_number cbi PORTC, 0 Nr3: cpi temp1, 3 brne Nr2 sbi PORTC, 1 rcall wait100ms rcall uart_number cbi PORTC, 1 Nr2: cpi temp1, 2 brne Nr1 sbi PORTC, 2 rcall wait100ms rcall uart_number cbi PORTC, 2 Nr1: cpi temp1, 1 brne NrX sbi PORTC, 3 rcall wait100ms rcall uart_number cbi PORTC, 3 NrX: rjmp NwEn Anrufen: ldi temp3,0 out OCR2, temp3 ;440Hz Ton ausschalten rcall uart_440off sbi PORTC, 5 ;
in „Mein verrücktes Projekt ist fertig :)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
portbits.h
*(volatile struct bits*)&PORTB).b6) #define PORTB_7 ((*(volatile struct bits*)&PORTB).b7) #define PORTC_0 ((*(volatile struct bits*)&PORTC).b0) #define PORTC_1 ((*(volatile struct bits*)&PORTC).b1) #define PORTC_2 ((*(volatile struct bits*)&PORTC).b2) #define PORTC_3 ((*(volatile struct bits*)&PORTC).b3) #define PORTC_4 ((*(volatile struct bits*)&PORTC).b4) #define PORTC_5 ((*(volatile struct bits*)&PORTC).b5) #define PORTC_6 ((*(volatile struct bits*)&PORTC).b6) #define PORTC_7 ((*(volatile struct bits*)&PORTC)
in „Display mit Touchscreen bei Pollin?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
portbits.h
*(volatile struct bits*)&PORTB).b6) #define PORTB_7 ((*(volatile struct bits*)&PORTB).b7) #define PORTC_0 ((*(volatile struct bits*)&PORTC).b0) #define PORTC_1 ((*(volatile struct bits*)&PORTC).b1) #define PORTC_2 ((*(volatile struct bits*)&PORTC).b2) #define PORTC_3 ((*(volatile struct bits*)&PORTC).b3) #define PORTC_4 ((*(volatile struct bits*)&PORTC).b4) #define PORTC_5 ((*(volatile struct bits*)&PORTC).b5) #define PORTC_6 ((*(volatile struct bits*)&PORTC).b6) #define PORTC_7 ((*(volatile struct bits*)&PORTC)
in „AVR Portpins“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Spannungsuberwachung_A16_1.c
} // Timer 0, 1000, 2000, 3000, 4000 // Schalten der Ausgänge // Transistoren if (Akku1 <= Soll) {PORTC |= (1<<PC0);} else {PORTC &= ~(1<<PC0);} if (Akku2 <= Soll) {PORTC |= (1<<PC1);} else {PORTC &= ~(1<<PC1);} if (Akku3 <= Soll) {PORTC |= (1<<PC2);} else {PORTC &= ~(1<<PC2);} if (Akku4 <= Soll) {PORTC |= (1<<PC3);} else {PORTC &= ~(1<<PC3);} if (Akku5 <= Soll) {PORTC |= (1<<PC4);} else {PORTC &= ~(1<<PC4);} if (Akku6 <= Soll) {PORTC |= (1<<PC5);} else {PORTC &= ~(1<<PC5);} if (Akku7 <= Soll) {PORTC |= (1<<PC6);} else {PORTC
in „adc in float in char für display wandeln“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
spi_send.c
CLK_SCLKSEL_RC32M_gc; } void port_init(void){ /* SS pin as output with wired AND and pull-up. MOSI & CLK as output*/ PORTC.DIRSET = PIN4_bm|PIN1_bm|PIN3_bm; PORTC.PIN4CTRL = PORT_OPC_WIREDANDPULL_gc; /* Set SS output to high. (No slave addressed). */ PORTC.OUTSET = PIN4_bm; } void ir_init(void){ /* Enable low and medium
in „XMEGA DMA SPI“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Funkuhr.asm
Pin0 in PORTC auf Ausgang cbi PORT_SEK, clk_sek2 //setze Pin0 in PORTC auf Eingang ret //Rücksprung aus Uprog. ;Minuten an Schieberegister senden SchiebeMin: sbi PORT_MIN, clk_min //setzte Pin1 in PORTD auf Ausgang
in „Dcf77 Funkuhr - Hilfe bei der Programmierung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
TestProgramm.c
200) return 0; //200 x hintereinander unter 500 u/min -> Motor aus } rev_count = 0; if (rev > 3000) PORTC |= 0x01; //1. LED grün else { PORTC &= ~0x01;} if (rev > 3300) PORTC |= 0x02; else { PORTC &= ~0x02;} if (rev > 3600) PORTC |= 0x04; else { PORTC &= ~0x04;} if (rev > 3900) PORTC |= 0x08; else { PORTC &= ~0x08;} if (rev > 4200) PORTC |= 0x10; else { PORTC &= ~0x10;} if (rev > 4500) PORTC |= 0x20; // 6. LED rot else { PORTC &= ~0x20;} if (rev > 4800) PORTC |= 0x40; else { PORTC &= ~0x40;} if (rev > 5100) PORTA |= 0x80; else { PORTA
in „CAN auslesen AT90CAN128“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
TestProgramm.c
200) return 0; //200 x hintereinander unter 500 u/min -> Motor aus } rev_count = 0; if (rev > 3000) PORTC |= 0x01; //1. LED grün else { PORTC &= ~0x01;} if (rev > 3300) PORTC |= 0x02; else { PORTC &= ~0x02;} if (rev > 3600) PORTC |= 0x04; else { PORTC &= ~0x04;} if (rev > 3900) PORTC |= 0x08; else { PORTC &= ~0x08;} if (rev > 4200) PORTC |= 0x10; else { PORTC &= ~0x10;} if (rev > 4500) PORTC |= 0x20; // 6. LED rot else { PORTC &= ~0x20;} if (rev > 4800) PORTC |= 0x40; else { PORTC &= ~0x40;} if (rev > 5100) PORTA |= 0x80; else { PORTA
in „CAN auslesen AT90CAN128“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
TestProgramm.c
200) return 0; //200 x hintereinander unter 500 u/min -> Motor aus } rev_count = 0; if (rev > 3000) PORTC |= 0x01; //1. LED grün else { PORTC &= ~0x01;} if (rev > 3300) PORTC |= 0x02; else { PORTC &= ~0x02;} if (rev > 3600) PORTC |= 0x04; else { PORTC &= ~0x04;} if (rev > 3900) PORTC |= 0x08; else { PORTC &= ~0x08;} if (rev > 4200) PORTC |= 0x10; else { PORTC &= ~0x10;} if (rev > 4500) PORTC |= 0x20; // 6. LED rot else { PORTC &= ~0x20;} if (rev > 4800) PORTC |= 0x40; else { PORTC &= ~0x40;} if (rev > 5100) PORTA |= 0x80; else { PORTA
in „Display gibt als String eine Art Pixelfehler aus“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
TestProgramm.c
200) return 0; //200 x hintereinander unter 500 u/min -> Motor aus } rev_count = 0; if (rev > 3000) PORTC |= 0x01; //1. LED grün else { PORTC &= ~0x01;} if (rev > 3300) PORTC |= 0x02; else { PORTC &= ~0x02;} if (rev > 3600) PORTC |= 0x04; else { PORTC &= ~0x04;} if (rev > 3900) PORTC |= 0x08; else { PORTC &= ~0x08;} if (rev > 4200) PORTC |= 0x10; else { PORTC &= ~0x10;} if (rev > 4500) PORTC |= 0x20; // 6. LED rot else { PORTC &= ~0x20;} if (rev > 4800) PORTC |= 0x40; else { PORTC &= ~0x40;} if (rev > 5100) PORTA |= 0x80; else { PORTA
in „Display gibt als String eine Art Pixelfehler aus“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
TestProgramm.c
200) return 0; //200 x hintereinander unter 500 u/min -> Motor aus } rev_count = 0; if (rev > 3000) PORTC |= 0x01; //1. LED grün else { PORTC &= ~0x01;} if (rev > 3300) PORTC |= 0x02; else { PORTC &= ~0x02;} if (rev > 3600) PORTC |= 0x04; else { PORTC &= ~0x04;} if (rev > 3900) PORTC |= 0x08; else { PORTC &= ~0x08;} if (rev > 4200) PORTC |= 0x10; else { PORTC &= ~0x10;} if (rev > 4500) PORTC |= 0x20; // 6. LED rot else { PORTC &= ~0x20;} if (rev > 4800) PORTC |= 0x40; else { PORTC &= ~0x40;} if (rev > 5100) PORTA |= 0x80; else { PORTA
in „Display gibt als String eine Art Pixelfehler aus“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
new.c
// FHM Rechts Hoch DDRC |= (1 << PC4); // FHM Links Runter DDRC |= (1 << PC5); // FHM Links Hoch PORTC &= ~(1 << PC2); // FHM Rechts Runter PORTC &= ~(1 << PC3); // FHM Rechts Hoch PORTC &= ~(1 << PC4); // FHM Links Runter PORTC &= ~(1 << PC5); // FHM Links Hoch // Timer Initialisieren Timer1_Init()
in „Wer kann mir den Timer reparieren?“ · Mikrocontroller und Digitale Elektronik ·