-
Datei
AVRTel21.c
|= 134; /* Port LC=C7=128 Ausgang! ( und PORTD 2) */ DDRC &= 191; /* Port RVLC=C6=64 Eingang! */ PORTC |= 64; /* RVLC an */ errorpcf(); /*als Test */ pause(); pause(); PORTC &= 191; /* RVLC aus */ wartezeit(); PORTC &= 127; /* LC low = abgehoben */ PORTD |= 4; /* PORTD2 high - zur Kontrolle */ if ( !(PINB &= 64)) /* wenn es klingelt, dann Impulse an RVLC; */ /* mit LC = low wird abgehoben */ { PORTC &= 127; /* LC low = abgehoben */ PORTD |= 4; /* PORTD2 high - zur Kontrolle */ wartezeit(); wartezeit(); wartezeit(); PORTC |=128; /* LC high = aufgelegt */ PORTD &=251; /* PORTD2 low - zur Kontrolle
in „neues WinAVR macht Probleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Programmtext.txt
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
RFM70_HH.c
init_KB.c" /* RFM70 init routine K. Boetzel 2013 ATXMEGA128 */ // SPI #define SlaveDeselect_RFM70 PORTC.OUTSET = PIN4_bm // Port C Pin 4 #define SlaveSelect_RFM70 PORTC.OUTCLR = PIN4_bm; _delay_us(2) #define RFM70_enable PORTC.OUTSET = PIN3_bm // chip enable (CE) #define RFM70_disable PORTC.OUTCLR = PIN3_bm #define RFM70_IRQ PORTC.IN & PIN2_bm // Interrupt // in main program: // PORTC.DIRSET = PIN3_bm | PIN4_bm | PIN5_bm | PIN7_bm; // CE, SS, Mosi und CLK as output // PORTC.PIN4CTRL = PORT_OPC_WIREDANDPULL_gc; //Bank1 register
in „RFM70 arbeitet nicht zuverlässig“ · HF, Funk und Felder ·
-
Datei
TEST.bas
enable interrupts to occur Config Portb = Input Config Pinb.1 = Output Config Pinb.5 = Output Config Portc = Output Config Pinc.0 = Input Config Portd = Input Config Pind.1 = Output Portb = &B11111111 Portc = &B11111111 Portd = &B11111111 I = 0 Stopzaehler = 0 Zaehler = 96 Rs232_incounter = 0 Fadetime_seconds = 3 Activechannel = 1 Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portb.5 , Rs = Portc.1 Config Lcd = 16 * 2 Waitms 100 Upperline Lcd "-= PC_DIMMER2 =-" Lowerline Lcd Versionsnummer '****************** Programmschleife
in „LCD am mega8 will nicht ganz“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
graka.asm
Comm, temp out Comm, _NOP ret InitRAMDAC: cbi portb, RS0 ;Init Data Mask sbi portb, RS1 ser temp out portc, temp nop nop cbi portb, WR nop nop sbi portb, WR ret LoadLUT: sbr Bit, (1<<DWiP) cbi portb, RS0 ;Reset Color LookUpTabele Adress cbi portb, RS1 clr temp out portc, temp nop nop cbi portb, WR nop nop
in „VGA Grafikkarte mit AVR und 8MB SDRAM“ · Projekte & Code ·
-
Datei
T6963V2.asm
; T6963C Hauptansteuerung V.2.0 ; 8 Datenleitungen an PORTB ; 4 Steuerleitungen an PORTC ; 1 Mhz ; (c) Wolfram Hildebrandt, 7.11.2003; Übersetzung von PIC-Software ;**** gemachte Änderungen sind mit /****/ gekennzeichnet ;**** (Hauptsächlich Anpassung der Hardware) ;**** Bei mir: PC0..
in „Grafik LCD Ansteuerung funz nicht??“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
rfm12_interupt_test.c
DataLength) { RF12_Data[RF12_Index++] = (rf12_trans(0xB000) & 0x00FF); } else { rf12_trans(0x8208); cbi(PORTC, RX); RF12_status.Rx = 0; } if(RF12_Index >= RF12_Data[0] + 3) //EOT { rf12_trans(0x8208); cbi(PORTC, RX); RF12_status.Rx = 0; RF12_status.New = 1; //GICR &= ~(1<<INT0); //disable int0 } } else if(
in „rfm12 mit interrupt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
rfm12_interupt_test_end.c
DataLength) { RF12_Data[RF12_Index++] = (rf12_trans(0xB000) & 0x00FF); } else { rf12_trans(0x8208); cbi(PORTC, RX); RF12_status.Rx = 0; } if(RF12_Index >= RF12_Data[0] + 3) //EOT { rf12_trans(0x8208); cbi(PORTC, RX); RF12_status.Rx = 0; RF12_status.New = 1; //GICR &= ~(1<<INT0); //disable int0 } } else if(
in „rfm12 mit interrupt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Lichtschranke.c
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
main.c
Port C, Pin 1 (On-Board-LED) auf Ausgang schalten DDRC = DDRC & 0xF0; // Port C auf Eingabe schalten PORTC = 0x0F; // Pullup_Rs eingeschaltet while(1) { start(TMG4903+0); _delay_ms(1000); PORTC = read(0x94,0x96,0x98,0x9A); switch (PORTC){ //Auswertung der übertragenen Zahl vom Master und ausführen des dazugehörigen
in „Farbsensor TMG4903 mit Atmega328PB“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Test_Xmega.asm
DDRB, accu1 ; Alle BitŽs von PortB sind EINGÄNGE ldi accu1, 0b00000000 out PORTB, accu1 ; ________PORTC________ ; Konfiguration:AAAAAAAA 0=E= Eingang / 1=A=Ausgang ; Bits von PortC:76543210 ldi accu1, 0b00000000 ; Lade accu1 mit Binärzahl 0b......... out DDRC, accu1 ; Alle BitŽs von PortC sind EINGÄNGE ldi accu1, 0b00000000 out PORTC, accu1 ; ________PORTD________ ; Konfiguration:AAAAAAAA 0=E= Eingang / 1=A=Ausgang ; Bits von PortD:76543210 ldi accu1, 0b11111111 ; Lade accu1 mit Binärzahl 0b......... out DDRD, accu1 ; Alle BitŽs
in „ATXMega128 - Erste Erfahrungen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Test_Xmega.asm
DDRB, accu1 ; Alle BitŽs von PortB sind EINGÄNGE ldi accu1, 0b00000000 out PORTB, accu1 ; ________PORTC________ ; Konfiguration:AAAAAAAA 0=E= Eingang / 1=A=Ausgang ; Bits von PortC:76543210 ldi accu1, 0b00000000 ; Lade accu1 mit Binärzahl 0b......... out DDRC, accu1 ; Alle BitŽs von PortC sind EINGÄNGE ldi accu1, 0b00000000 out PORTC, accu1 ; ________PORTD________ ; Konfiguration:AAAAAAAA 0=E= Eingang / 1=A=Ausgang ; Bits von PortD:76543210 ldi accu1, 0b11111111 ; Lade accu1 mit Binärzahl 0b......... out DDRD, accu1 ; Alle BitŽs
-
Datei
hilfe.txt
Memory Model: SMALL Data Stack Size: 128 bytes Use an 2x16 alphanumeric LCD connected to the STK200+ PORTC header as follows: [LCD] [STK200+ PORTC HEADER] 1 GND- 9 GND 2 +5V- 10 VCC 3 VLC- LCD HEADER Vo 4 RS - 1 PC0 5 RD - 2 PC1 6 EN - 3 PC2 11 D4 - 5 PC4 12 D5 - 6 PC5 13 D6 - 7 PC6 14 D7 - 8 PC7 */ /* the LCD is connected to PORTC outputs */ #asm .equ __lcd_port=0x15 ;PORTC #endasm /* include the LCD driver routines */ #include <lcd.h> typedef unsigned char byte; /* table for the user defined character arrow that points to the
in „sekundenzähler mit timer“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ad9854.c.c
#define _RD PIN_1 #define _WR PIN_6 #define _IO_UPD_CLK PIN_7 void io_init( void ) { /* Port C */ PORTC = 0; // Port-Register zurücksetzen DDRC = 0; // Port C --> hochohmig DDRC |= _FSK_BPSK_HOLD; DDRC |= _RD; DDRC |= _WR; //DDRC |= _IO_UPD_CLK; PORTC |= _RD; // nRD --> Hi (nicht lesen!) /* Port B */
-
Datei
Timer.txt
uint8_t anzahl; void frequenz(void); /* Unterprogramm zum Ansteuern des Senders */ ISR (Timer0) { PORTC = PINC ^ ( 1 << Start); timerdurchlaeufe++; return; } void main(void) { DDRC = (1 << DDC3)|(1 << DDC2); PORTC|=(1<<Start); PORTC|=(1<<Senderport); if(timerdurchlaeufe<2) { frequenz(); } } void frequenz
in „Timer 0 beim Atmega8“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
void) { _delay_ms(10000); PORTF.DIR = 0b11111111; //Deklarierung der Ausgänge PF0-PF7 für Datenbits PORTC.DIR = 0b00011111; //Deklarierung der Ausgänge PC0-PC4 für RST(Bit 0),CS,RS,WR,RD (Bit 5) PORTC.OUT = 0b00011101; //Anfänglichen Zustand bereits deklarieren PORTF.OUT = 0b00101101; //Datenbyte (Colour) while (1) { //init(); PORTC.OUT = 0b00010101; //Zum Transmitten WR (Bit 4) Low setzen _delay_ms(10); //Schreibprozess mehr Zeit ermöglichen PORTC.OUT = 0b00011111; //WR und CS High setzen } }
in „ILI9341: 4 Fragen zum ansteuern“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
hello.c
int warschon=0; SIGNAL(SIG_INTERRUPT0) { eeprom_write_word(0,TCNT1); cbi(PORTB,PINB1);//led an cbi(PORTC,PINC3);//ls aus } SIGNAL (SIG_OVERFLOW1) { TCNT1=0; } int main( void ) { DDRB=0xff; //out DDRC=0xff; //out DDRD=0x00; //in PORTB=0xff;//alles aus PORTC=0x00;//alles aus GIMSK=(1<<INT0);//interrupt
in „Schallgeschwindigkeit bestimmen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test.c
Start Timer TCCR1B = _BV(CS10); //TIMER_CLOCKSPEED_FULL; //_BV(CS10) // Enable OC1 as output. SET_BIT(PORTC,6); SET_BIT(DDRC,6); TCCR1A |= _BV (COM1A1); //Set Compare Register OCR1A=512; */ SET_BIT(PORTC,6); SET_BIT(DDRC,6); SET_BIT(PORTB,6); SET_BIT(DDRB,6); while(1) { _delay_ms(500); SET_BIT(PORTB,6); SET_BIT(PORTC,6); _delay_ms(500); CLR_BIT(PORTB,6); CLR_BIT(PORTC,6); } }
in „Timer Output Compare Pin tut nichts“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LEDTaster.asm
out ADMUX,r16 ; sbi ADCSR,ADSC ;ADC Starte Konversation ldi r16,0x00 rjmp Auslesen Auslesen: sbi PORTC,0 ;LED leuchtet cbi PORTC,1 nop cbi PORTC,0 ;inverse bias sbi PORTC,1 nop cbi DDRC,1 ;beide Anschlüsse auf null LED kann sich entladen nop sbi ADCSR,ADSC ;ADC starten warten: sbic ADCSR,ADSC ;warten
in „LED Lichtabhängiger schalter Hilfe!!!“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
bitbang.txt
define D_IN DDRC&=~(1<<PC4) // DDR Data In #define D_OUT DDRC|=(1<<PC4) // DDR Data Out #define D_H PORTC|=(1<<PC4) // Data High #define D_L PORTC&=~(1<<PC4) // Data Low #define C_H PORTC|=(1<<PC5) // CLK High #define C_L PORTC&=~(1<<PC5) // CLK Low #define D_P PINC&(1<<PC4) // Abfrage Data unsigned char
in „Sensor I²C Problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
hello.c
SIGNAL(SIG_INTERRUPT0) { eeprom_write_word(0,TCNT1); TCNT1=reload; cbi(PORTB,PINB1);//led an cbi(PORTC,PINC3);//ls aus } SIGNAL (SIG_OVERFLOW1) { TCNT1 =reload; } int main( void ) { DDRB=0xff; //out DDRC=0xff; //out DDRD=0x00; //in PORTB=0xff;//alles aus PORTC=0x00;//alles aus GIMSK=(1<<INT0);//interrupt
in „timer will nicht, allround problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
t.c
interrupts // Output DDRC |= (1<<PC1); // LED // Input DDRC &= ~(1<<PC2); // Button // Pullup Resistors PORTC |= (1<<PC2); // Button while(1) { } return 0; } void setup_pin_change_interrupt(void) { PCMSK1 = (1<<PCINT10);//Un-mask PCINT9 PCICR = (1<<PCIE1);//Enable the PORTC pin change interrupt } ISR(PCINT1_vect) //ISR { if(PINC & (1<<PC2)) // When Button pressed { okay_button++; PORTC |= (1<<PC1); // turn on LED delay_ms(120); } else { PORTC &= ~(1<<PC1); // turn off LED delay_ms(120); } }
in „Coin Collector Output verwerten?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
} } int init_ausgang(void) { /*outp(0xFF, DDRC); // Alle Ports von C als Output setzen outp(0xFF, PORTC); // Alle LEDs aus */ DDRC=(1<<DDC0); PORTC=(1<<DDC0); } int ausgabe_on(void) { PORTC=(0<<DDC0); } int ausgabe_off(void) { PORTC=(1<<DDC0); } int init_eingang(void) { DDRA = 0x00; } int main(void)
in „GCC - I/O problem + Tastatur - Blackout“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Zahlenschloss_2.c
; break; } if (PINC==0x00) i++; } } if ((code[0]==1)&&(code[1]==9)&&(code[2]==9)&&(code[3]==0)) { PORTC=0x05; _delay_ms(3000); PORTC=0x00; i=0; } else { PORTC=0x02; _delay_ms(3000); PORTC=0x00; i=0; } } return 0; }
in „AVR Studio Zahlenschloss Programm Problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Xmega_test_9_outputcompare.c
avr/io.h> #include <avr/interrupt.h> #include <stdint.h> #include <stdio.h> ISR (TCC0_OVF_vect) { PORTC.OUT = 0b00111111; } ISR (TCC0_CCA_vect) { PORTC.OUT = 0b11001100; } ISR (TCC0_CCB_vect) { PORTC.OUT = 0b00110011; } int main(void) { PMIC.CTRL |= PMIC_HILVLEN_bm |PMIC_MEDLVLEN_bm|PMIC_LOLVLEN_bm; //Interruptlevel freigeben PORTC.DIR = 0xFF; // Port C als Ausgang OSC.CTRL |= OSC_RC32MEN_bm; //32 Mhz Clock while(!(OSC.STATUS & OSC_RC32MRDY_bm)); CCP = CCP_IOREG_gc; CLK.CTRL = 0x01; sei(); // Interrupts freigeben TCC0.CTRLB =
in „AtXmega Timer Compare“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
testHardware.c
unbenuzten (unbeschalteten) Pins als Eingang PORTB = 0xFF; //Pull-ups ein DDRD = 0x00; PORTD = 0xFF; PORTC = 0x03; //Pull-ups für TWI Bus aktiv #endif } /**********************************************************************/ int main(void) { port_init(); while (1) { CLEARBIT(PORTC, out1); _delay_ms (50); SETBIT(PORTC, out1); } }
in „Auswahl der Hardware durch Präprozessor“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ow.c
char ow_reset(void) { unsigned char zw; DDRC |= (1<<OWICPIN); // 1-wire Leitung auf LOW (Ausgang) PORTC &= ~(1<<OWICPIN); // DQ auf Low _delay_us(460); // 460 us warten PORTC |= (1<<OWICPIN); // DQ auf High DDRC &= ~(1<<OWICPIN); // 1-wire Leitung auf High (Eingang) _delay_us(65); // 65 us warten zw
in „DS18S20 auslesen (finde den fehler nicht)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LED.c
volatile ("nop"); zaehler--; } ms--; } } void main(void) { /* INITIALIZE */ uartinit(); DDRC = 0xff; // PortC als Ausgang deklarieren PORTC= 0xff; /* BLINK, BLINK ... */ while (1) { PORTC = 0b00000001; uartsenden(); delay_ms(20); PORTC = 0b00000000; delay_ms(20); } } void uartinit(void) { #define UART_BAUD_RATE
in „ATMEGA8 & USB chip FT232BM“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
bis alles übertragen ist PORTC |= (1 << PC1); //SS High // _delay_ms(100); PORTC &=~(1<<PC1); //SS auf low SPDR = motorbyte1; //Wert i schreiben while(!(SPSR &(1<<SPIF))); //Warten bis alles übertragen ist SPDR = motorbyte2; //Wert i schreiben while(!(SPSR &(1<<SPIF))); //Warten bis alles übertragen ist PORTC |= (1 << PC1); //SS High } }
in „SPI ATMega328P Daten sende“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
breadboard.c
countDISPLAY= 0; countSERVO++; countLED++; countDISPLAY++; // PWM for servo if(countPWM>servopos) PORTC &= ~(1<<3); else PORTC |=(1<<3); if(countPWM<200) countPWM++; else countPWM =0; // counter for autoSERVO if((servostatus == AUTOSERVO) && (countSERVO >= 10000)){ countSERVO = 0; autoservoflag = TRUE; } // counter for LED if(!LEDoff && (countLED >= 5000/LEDfreq)){ countLED = 0; PORTC ^= (1<<PC0); } // counter for DISPLAY if(countDISPLAY >= 10000){ countDISPLAY = 0; display(digit++); if(digit>9) digit=0; } } // MAIN ///////////////////////////////////////////////////////////////
in „Fragen zum timer interrupt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
SDTest3.asm
0<<CPHA) | (0b10<<SPR0) out SPCR, r16 cbi SPSR, SPI2X ; Initialization delay rcall wait_100ms sbi PORTC, 0 ; Debug-Ausgabe ; 74+ Takte an Karte senden ldi r16, 0x0f sd_init_loop: ldi spi_reg, 0xff rcall spi_send_recv dec r16 brne sd_init_loop ; CMD0 senden ldi sd_reg1, 0x40 ldi sd_reg2, 0x00 ldi sd_reg3
in „SD-Karte an AVR idlet nur“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Caro_08.07.2012.c
; void main(void) { // 0 = Output und 1 = Input DDRD = 0xff; // Alles entladen DDRC = 0b00111111; PORTC = 0b00000000; _delay_us(5); ADC_Init(); Kalibration(); while(1) { // Laed und entlaed die Kondensatoren stetig // und erzeugt eine konstante Spannung // deren Aenderung kann anschliessend gemessen
in „ADC mit ATmega8A“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Test.c
0; z=0; // Nach dem Sichern - annullieren } } ISR(TIMER2_OVF_vect) // timer2 overflow interrupt { PORTC = 0b00000000; // alle Digits aus TCNT2 += 50; // war auf 0 digit_position++; if( digit_position == 4 ) {digit_position = 0;} PORTD = digits[digit_position]; PORTC = digitControl[digit_position]; }
in „Multiplex+ICP“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
V1.5_Master_6.12..txt
Initialisierung out SPH,R16 ldi R16,lo8(RAMEND) out SPL,R16 ; Ports B2-5 werden durch SPI-Init festgelegt ; PORTC0 für ADC sbi DDRC,1 ; PORTC1 als Ausgang (SS1) sbi PORTC,1 ; Pegel high sbi DDRC,2 ; PORTC2 als Ausgang (SS2) sbi PORTC,2 ; Pegel high cbi DDRC,3 ; PORTC3 als Eingang (Slave-Rückmeldung) sbi PORTC,
in „SPI Kopplung von ATmega8 und ATtiny 2313“ · Projekte & Code ·
-
Datei
main.txt
include "E:\Eigene Dateien\Dropbox\Atmel AVR\AVR Programme\1aVorlagen\lcd_tools2.c" #define keypad_port PORTC #define port PINC #define F_CPU 4000000UL // Systemtakt in Hz - Definition als unsigned long beachten // Ohne ergeben sich unten Fehler in der Berechnung //Frequenzvorteiler anpassen je nach MHZ Zahl
in „AVR5 debugger stürzt ab, wenn F_CPU definiert“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Diplomarbeit.c
60 * WheelPerimeter * 1000; // km/h drivenKm = speed * second * 3600; // km if(PORTA & (1<<PA0)) { PORTC = ~touren; } else if(PORTA & (1<<PA1)) { PORTC = ~speed; } else if(PORTA & (1<<PA2)) { PORTC = ~drivenKm; }*/ } } /* ISR(TIMER1_COMPA_vect) { second++; spins += 3; } ISR(ADC_vect) { switch(ADMUX) { case 0: PORTC = ~ADCH; // voltage in V break; case 1: adcChargevar++; if(adcChargevar>125) { result += ADCH/1000*3600; // charge in Vh (theoretically) PORTD = ~result; adcChargevar = 0; } break; default: break;
in „20x4 lcd zeigt immer das gleiche an“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Hauptprogrammtest.c
|= (1<<PD7); //E ausgang DDRB = 0xF0; //Port B als Ausgang PORTA = 0x00; //LEDs auf null gesetzt. PORTC = 0x00; //LEDs auf null gesetzt. RS = 0; void lcd_init(); void lcd_clrscr(); void lcd_putc(char c) { lcd_write(c,1); } while(1) { while (PIND & (1<<PD4)) //Taster S4 { _delay_ms(5); // Zeitschleife von 5ms(Entprellung) while (PIND & 1<<PD4); //Entprellung _delay_ms(5); PORTC ^= 0xFF; if(PORTC==0xFF) { PORTA = 0x00; } if(PORTC==0x00) { PORTA = 0xFF; } } } }
in „ATmega16 und HD44780 in 4-Bit modus Hilfe!“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ZACOM.asm
(Bit01) ; ldi lauf,0b11111101 out PORTC,lauf ; rjmp ende_vergleich ; zweig_1: cpi lauf,0b11111101 brne zweig_2 ; ldi ZL,LOW(codes*2) ldi ZH,HIGH(codes*2) add ZL,r19 ldi temp,0b00000000 adc ZH,temp lpm mov temp,r0 ;Bitmuster für Digit 100er
in „7 Segment mit flimmern“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
servotest.c
servo_abs[maxservos+1]; void servoset_generell (void) { uint8_t count; servo_gen[0].adr =0x15; /*PORTC (als _SFR_IO8(0x15) benutzen*/ servo_gen[0].pin = PC0; servo_gen[0].absmax =carsm_max; servo_gen[0].absmin =carsm_min; servo_gen[1].adr =0x15; /*PORTC (als _SFR_IO8(0x15) benutzen*/ servo_gen[1].pin =PC1; servo_gen[1].absmax =carsm_max; servo_gen[1].absmin =carsm_min; servo_gen[2].adr =0x15; /*PORTC (als _SFR_IO8(0x15) benutzen*/ servo_gen[2].pin =PC2; servo_gen[2].absmax =carsm_max; servo_gen[2].absmin =carsm_min; servo_gen[3].adr =0x15; /*PORTC (als _SFR_IO8(0x15) benutzen*/ servo_gen[3].pin
in „Timer/Interrupt-Problem bei Atmega32“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Wattmeter_v1.62.c
PB6) | (1 << PB7)); // Activate the internal pull up resistors for PinB6 and PinB7 (Servo reverse) PORTC |= (1 << PC0) | (1 << PC1); // Activate Laser //Unused Ports as Input and Pull Up enabled PORTB |= ((1 << PB0) | (1 << PB5)); PORTC |= ((1 << PC2) | (1 << PC3) | (1 << PC4) | (1 << PC5) | (1 << PC6
in „Ein Programm mit unterschiedlichen Auswirkungen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Wattmeter_v1.63.c
PB6) | (1 << PB7)); // Activate the internal pull up resistors for PinB6 and PinB7 (Servo reverse) PORTC = (1 << PC0) | (1 << PC1); // Activate Laser //Unused Ports as Input and Pull Up enabled PORTB |= ((1 << PB0) | (1 << PB5)); PORTC |= ((1 << PC2) | (1 << PC3) | (1 << PC4) | (1 << PC5) | (1 << PC6)
in „Ein Programm mit unterschiedlichen Auswirkungen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LS_328_ARD.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
hilfe.asm
UBRR,temp ; Baudrate ins Register schreiben ldi temp, 0xFF out DDRC, temp ;Port C = 8 Ausgänge sbi PORTC,0 ; Ampel auf PortC Bit0 auf HIGH setzen rcall waiting_long ;etwas wartezeit für den Osziloskop loop: cbi PORTC,0 ;Ampel auf LOW sbis USR,UDRE ;Warten, bis UDR für das nächste Byte bereit ist rjmp
in „merkwürdiges phänomen mit 90S8515 und UART“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uc_running_test.c
unsigned char x=1; UsartInit(); //uart_init(); while(1) { PutC(); } return 0; } void IsUcRunning(void) { PORTC |= (1<<PORTC0); PORTC &= ~(1<<PORTC0); } void UsartInit(void) { unsigned char x; UCSRC |= (1<<URSEL); //UBRRL = (TAKT / (16UL *BAUD))-1; UBRRH = 51; UCSRB |= (1<<TXEN) | (1<<RXEN); UCSRC |= (1<<URSEL
in „Hypertterminal lässt sich nicht öffnen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
c.asm
#include <avr/io.h> int main (void) { DDRC = 0xff; PORTC = 0x3f; return 0; } .cseg Label_8: rjmp RESET rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY rjmp SPM_RDY
in „Bascom oder C verwenden?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
minilcd.txt
... * * com?seg1 (0-7) ist direkt die Ausgabe an PortB * com?seg2 (0-5) ist direkt die Ausgabe an PortC * Bit6 ist für PortD5 (letztes Segment) * ** Tasten schalten die Versorgungsspannung ein und lösen Interrupt aus. * Linke Taste = INT0 = Pin_D_2 * Rechte Taste = INT1 = Pin_D_3 * Tatsen mit Timer2
in „Loses Matrix-LCD mit Atmega48 ASM“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
SDTest3.asm
0<<CPHA) | (0b10<<SPR0) out SPCR, r16 cbi SPSR, SPI2X ; Initialization delay rcall wait_100ms sbi PORTC, 0 ; Debug-Ausgabe ; 74+ Takte an Karte senden ldi r16, 0x0f sd_init_loop: ldi spi_reg, 0xff rcall spi_send_recv dec r16 brne sd_init_loop ; CMD0 senden ldi sd_reg1, 0x40 ldi sd_reg2, 0x00 ldi sd_reg3
in „SD-Karte an AVR idlet nur“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ebus.c
case REC_DATA: // Hier werden die normalen Telegramme aufgezeichnet c = ser_getc(); // if (c==0) PORTC |= (1<<2); { if ((!(c==SYN))||(c==0x00)) { ebus_buffer[ebus_pos] = c; if (!(ebus_pos>39)) ebus_pos++; ebus_control &= ~READY_TO_SEND;} else if (c==SYN) {ebus_pos=0; PORTC ^= (1<<0); ebus_control |= READY_TO_SEND;} } if (ebus_pos>=1) {PORTC |= (1<<1);} else PORTC &= ~(1<<1) ; if (ebus_pos==5) Folge_Bytes = ebus_buffer[4]; if (ebus_pos==Folge_Bytes+6) zustand=ANALYSE_DATA; // if (ebus_control==READY_TO_SEND) zustand=SEND_DATA; break; case
in „ebus protokoll mitschnitt bei einem Wolf Heizkessel“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
I2C.asm
***************************************** ; Prozessor 16F887 ; Takt für Prozessor 16 MHz ; I2C an PortC ; LEDs an PortD ; LEDs: Messspannung 5V / 256 Auflösung = 19,53 mV => Sensorsspannung/19,53mV => DDW ; LED1 -> PORTD,0 -> 1cm = 0,455 V => 23,29 => 23 = 17h ; LED2 -> PORTD,1 -> 2cm = 0,860 V => 44,03
in „PIC16F887 - LCD Toshiba 20x4 Zeichen - Assembler“ · 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 initialisieren */ void ADC_Init(void) { uint16_t result; // interne Referenzspannung als Refernz für den ADC wählen: ADMUX = (1<<REFS1) | (1<<REFS0); // Bit ADFR ("free running
in „ADC mit ATmega8A“ · Mikrocontroller und Digitale Elektronik ·