-
Datei
prog_forum.bas
LCD-Ausgabe-String 'G = Zähler für Länge des LCD-Ausgabe-Strings 'Z = Zeile für LCD Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 Config Lcdpin = Pin , Db7 = Portc.0 , E = Portd.6 , Rs = Portd.7 Config Lcd = 20 * 4a Z = 1 G = 1 Initlcd Cls Locate 2 , 4 Lcd "ATMEL ready" Declare Sub Handy Declare
in „MP3-Player Bauteile für wenig Geld“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
metering.c
Ausgang outp(0x00, DDRC); //Port C als Eingang outp(0xFF, DDRD); //Port D als Ausgang outp(0x30, PORTC); //Pull-Up auf PORTC, PIN4 un PIN5 aktivieren outp(0xC0, PORTB); //Leds auf PORTB, PIN6 und PIN7 aus //cbi HIGH //sbi LOW bPortC4.bPin = 1; bPortC4.bStatus = 0; bPortC5.bPin = 1; bPortC5.bStatus =
in „Schieberegister LEDs“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Drehgeber7.bas
'Blinkzähler Dim Alarmzaehler As Byte Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portd.7 , Db5 = Portc.2 , _ Db4 = Portc.3 , E = Portc.4 , Rs = Portc.5 Config Lcd = 16 * 2 Cls Cursor Off 'System-Timer für periodische Encoder-Abfrage Config Timer0 = Timer , Prescale = 256 On Timer0 Isr_timer0 Enable
in „LCD Uhr mit Alarmfunktion mit Drehencoder in BASCOM (Ein kleines Projekt für BASCOM Änfänger Vol3)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ueben.c
1<<THERM_DQ) int main (void) { DDRB = 0b00000000; PORTB = (1<<PB1) | (1<<PB0); DDRC = 0b11011111; PORTC = 0b00000111; DDRD = 0b11111111; PORTD = 0b11111111; // Timer 0 konfigurieren TCCR0 = (1<<CS01); // Prescaler 8 // Overflow Interrupt erlauben TIMSK |= (1<<TOIE0); // Global Interrupts aktivieren sei
in „DS18S20 bringt immer 127“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
rf12.h
RF12_SDI_bit) #define RF12_SDI_off() clear_bit (RF12_SDI_port, RF12_SDI_bit) #define RF12_SDO_port PORTC #define RF12_SDO_pin PINC #define RF12_SDO_dir DDRC #define RF12_SDO_bit 2 #define RF12_FFIT_port PORTC #define RF12_FFIT_pin PINC #define RF12_FFIT_dir DDRC #define RF12_FFIT_bit 5 #define RF12_VDI_port
in „RFM 12 Probleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
dds-dac08-test_auto_mit_array-v2.bas
********** ende serial port ********************** Config Portb = Output Daten Alias Portb Config Portc.0 = Output W1 Alias Portc.0 W1 = 1 Config Portc.1 = Output W2 Alias Portc.1 W2 = 1 Config Portd.6 = Output Config Portd.7 = Output Dim Bcount As Word Dim Tempword As Word Dim Phase As Byte Dim Freq
in „ATMega644 Sinusgenerator“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
mmb.c
diode_PortA_C (int8_t portOut, int8_t pinOut) { bool temp = false; DDRA |= (1<<portOut); DDRC &= ~(1<<PC7); PORTC &= ~(1<<PC7); PORTA |= (1<<portOut); if (PINA & (1<<pinOut)) { if (PINC & (1<<PINC7)) { temp = true; PORTA &= ~(1<<portOut); } } else { temp = false; } return temp; } bool diode_PortC_A (int8_t pinIn) { bool temp = false; DDRA = 0x00; DDRC |= (1<<PC7); PORTC |= (1<<PC7); PORTC |= (1<<PC7); if (PINC & (1<<PINC7)) { if (PINA & (1<<pinIn)) { temp = true; PORTC &= ~(1<<PC7); } } else { temp = false; } return temp; } void ergebnis (bool b1, bool b2, bool b3
in „Problem mit ATmega164A und LCD FDCC1601E“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
avra_test_list.txt
Pins bit 5 .equ PINB6 = 6 ; Port B Input Pins bit 6 .equ PINB7 = 7 ; Port B Input Pins bit 7 ; ***** PORTC ************************ ; PORTC - Port C Data Register .equ PORTC0 = 0 ; Port C Data Register bit 0 .equ PC0 = 0 ; For compatibility .equ PORTC1 = 1 ; Port C Data Register bit 1 .equ PC1 = 1 ; For compatibility .equ PORTC2 = 2 ; Port C Data Register bit 2 .equ PC2 = 2 ; For compatibility .equ PORTC3 = 3 ; Port C Data Register bit 3 .equ PC3 = 3 ; For compatibility .equ PORTC4 = 4 ; Port C Data Register bit 4 .equ PC4
in „AVR mit Linux Programmieren“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
liste.lst
Pins bit 5 .equ PINB6 = 6 ; Port B Input Pins bit 6 .equ PINB7 = 7 ; Port B Input Pins bit 7 ; ***** PORTC ************************ ; PORTC - Port C Data Register .equ PORTC0 = 0 ; Port C Data Register bit 0 .equ PC0 = 0 ; For compatibility .equ PORTC1 = 1 ; Port C Data Register bit 1 .equ PC1 = 1 ; For compatibility .equ PORTC2 = 2 ; Port C Data Register bit 2 .equ PC2 = 2 ; For compatibility .equ PORTC3 = 3 ; Port C Data Register bit 3 .equ PC3 = 3 ; For compatibility .equ PORTC4 = 4 ; Port C Data Register bit 4 .equ PC4
in „Adressierung eines LUT mit Z-Register“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test7.c
use PortD PIN2 for input (signal) outp(0x07, PORTD); // pull up PIN 0,1,2 outp(0x30, DDRC); // use PortC for output outp((1<<INT0), GIMSK); // enable external int0 (PD2) outp((0<<ISC01)|(1<<ISC00) , MCUCSR); // any logical change creates interrupt0 outp((1<<ADEN)|(1<<ADSC)/*|(1<<ADFR)*/|(1<<ADPS2)|(1<
in „Umsteigen von at90s4433 auf ATMEGA8“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
temp_zum_pc.asm
****************************************** write_1: ;schreibt eine 1 sbi ddrc, 0 ;PB0 Ausgang cbi portc, 0 ;bus auf low rcall wait6us ;wartet 8us (maximum sind 15us) cbi ddrc, 0 ;lässt bus los, nun durch ext R auf high rcall wait64us ;slot muss mind. 60us lang sein ret ;******************************
in „Temperatur DS1820 ausgabe auf lcd“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
schaltlogik.c
SchaltZustandUm(uint8_t relais) // Schaltet ein Relais gewuenschter Nummer Um. Schaltaktor Explizit! { PORTC ^= (1 << relais); PORTA = (0 << relais); _delay_ms(50); PORTA = 0xff; } void SchaltZustandAus(uint8_t relais) // Schaltet ein Relais gewuenschter Nummer Aus. Schaltaktor Explizit! { PORTC &= ~(1 <<
in „undefined reference to?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
cpu_map.h
date if flash and memory space allows. #define COOLANT_FLOOD_DDR DDRC #define COOLANT_FLOOD_PORT PORTC #define COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3 #ifdef ENABLE_M7 // Mist coolant disabled by default. See config.h to enable/disable. #define COOLANT_MIST_DDR DDRC #define COOLANT_MIST_PORT PORTC #
in „Projekt: SerialComCNC Serielles Frontend für CNC GRBL mit ATMega“ · Projekte & Code ·
-
Datei
WordClock4.c
0xff; // Ausgänge auf 0, Wegen Input anpassen? PORT = Pulldown bei Input? PORTA=0x00; PORTB=0x00; PORTC=0x00; PORTD=0x00; // Initalisierung von Time --> Set für Multiplex time(); while(1) { // Stunden einstellen gezählt, 2 IFs um zu entprellen, // // time am Ende um die 2 stelligen Stunden sofort zu
in „Atmega16 PortD“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LED-Blinker2.c
#inclup_downe <C:\cc5x\16F877.h> bit LED1 @ PORTC.0; bit LED2 @ PORTC.1; bit control @ PORTC.2; void wait(uns16 ms) { uns16 i; do { i = 350; do { nop(); i = i-1; }while(i != 0); ms = ms-1; }while(ms != 0); } void main (void) { TRISC = 0b.1111.0000
in „Fehler in einer if-Bedingung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
prog.txt
0b11111110 <-- nur diese LED geht an !? out PORTC, temp ldi temp, 'A' rcall serout ldi temp, 'T' rcall serout ldi temp, 'D' rcall serout ldi temp, '0' rcall serout ldi temp, '1' rcall serout ldi temp, '2' rcall serout ldi temp, 10 rjmp serout ldi temp, 13 rjmp serout ldi temp, 0b11100000 <-- diese nicht mehr out PORTC, temp ende: rjmp ende serout: sbis UCSRA,UDRE ;Warten, bis UDR für das nächste Byte bereit ist rjmp serout out UDR, temp ret ;zurück zum Hauptprogramm
in „Fragen zu UART“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
IRQ ausloesen */ pos = 7; } SIGNAL(SIG_UART_RECV) { uint8_t recval; recval = inp(UDR); outp(recval, PORTC); // Zeichen an Port C ausgeben -> LED's outp(recval, UDR); // Zeichen zurueck senden } int main(void) { outp(0xff, DDRC); // PortC als Ausgaenge outp(0x55, PORTC); // Bitmuster einstellen /* UCR:
in „Senden an UART klappt nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
STK500.c
======= DDRC = 0xff; // Port C Ausgang PORTC = 0x00; // Port auf Null // ========================= KONFIGURATION TIMER 0 ============================= TCNT0 = STARTVAL_DEB; // Startwert in Zählregister laden TCCR0 = 0x05; // Timer startet mit
in „Variable in Bitfeld schreiben“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
init10.c
|= (1<<INT1)|(1<<INT0); //INT0/1 freigeben sei(); while(1) { #if 1 // Probleme: LEDs blitzen kurz PORTC ^= (1<<PC4); PORTD ^= (1<<PD4); _delay_ms(500); #if 0 // Keine Probleme: AN/AUS AN/AN AUS/AN AUS/AUS PORTC ^= (1<<PC4); PORTD |= (1<<PD4); _delay_ms(500); PORTD &= ~(1<<PD4); _delay_ms(500); #endif #if 0 // Keine Probleme: AN/AUS AN/AN AUS/AN AUS/AUS PORTC ^= (1<<PC4); cli(); PORTD ^= (1<<PD4); sei(); _delay_ms(1000); #endif } } ISR(INT0_vect) { PORTD ^= (1<<PD5); // Toggle LED2 _delay_ms(10); } ISR(INT1_vect) { PORTD ^= (1<<PD6); // Toggle LED1 _delay_ms
in „Digitale Signale mit Interrupt auslesen Probleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test.asm
r16,HIGH(RAMEND) out SPH,r16 ldi r16,LOW(RAMEND) out SPL,r16 ;PortC(5) als Ausgang sbi DDRC,5 sbi PORTC,5 ;Sleep enable ldi r16,0b10000000 ; out MCUCR,r16 ;Timer setzen ldi r16,LOW(65535-500) out TCNT1L,r16 ldi r16,HIGH(65535-500) out TCNT1H,r16 ;Interrupt aktivieren ldi r16,0b00000100 out TIMSK,r16 ;Timer starten ldi r16,0b00000101 out TCCR1B,r16 sei start1: sleep rjmp start1 TIM1_OVF: in r16,PORTC com r16 cbr r16,0b11011111 out PORTC,r16 ;Timer neu setzen ldi r16,LOW(65535-500) out TCNT1L,r16 ldi r16,HIGH(65535-500) out TCNT1H,r16 reti
in „sleepmode beim ATMEGA8“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
(); while(1) { PORTC &= ~(1<<5); cnt = rf22_getpacket(rx_tmp); if (cnt!= 0) { for (unsigned char a = 0;a<cnt;a++) { usart_write_char(rx_tmp[a]); /* string[a]=UDR; lcd_setcursor( a, 1 ); lcd_data(string[a]); */ } for (int i=0;i<5;i++) { string[i]=rx_tmp[i]; } lcd_setcursor( 0, 1 ); lcd_data(string); PORTC |= (1<<5); for(unsigned long b = 0;b<100000;b++){;asm("nop");}; } } }
in „rfm22b Empfänger läuft nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
krempel.txt
PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTB,&PORTB,&PORTB,&PORTB,&PORTB,&PORTB,&PORTC,&PORTC,&PORTC,&PORTC,&PORTC,&PORTC,}; ^ PinDefinition.h:12:179: error: cannot convert 'volatile uint8_t* {aka volatile unsigned char*}' to 'const Register {aka volatile PinDefinition::byte* const}'
in „AVR GPIOR Bit Verwaltung C++“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Strichbreite13.bas
Portd.7 = 1 Marke2_aus Alias Pind.7 Config Portb.0 = Output 'Umschaltung Sweep Hold 1=1ms Config Portc.2 = Input 'erweiterung Vers.10 1=0-1300MHz Portc.2 = 0 'erweiterung Vers.10 0=0-50MHz Bereich Alias Pinc.2 'erweiterung Vers.10 Config Portc.3 = Input 'erweiterung Vers.10 0=0-2MHz Portc.3 = 0 'erweiterung
in „mit Bascom über rs232 Frequenz aus einen Frequenzzählermodul auslesen.“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Strichbreite12.bas
Portd.7 = 1 Marke2_aus Alias Pind.7 Config Portb.0 = Output 'Umschaltung Sweep Hold 1=1ms Config Portc.2 = Input 'erweiterung Vers.10 1=0-1300MHz Portc.2 = 0 'erweiterung Vers.10 0=0-50MHz Bereich Alias Pinc.2 'erweiterung Vers.10 Config Portc.3 = Input 'erweiterung Vers.10 0=0-2MHz Portc.3 = 0 'erweiterung
in „mit Bascom über rs232 Frequenz aus einen Frequenzzählermodul auslesen.“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
STK500.c
======= KONFIGURATION PARALLELSCHNITTSTELLEN ===================== DDRC = 0xff; // Port C Ausgang PORTC = 0x00; // Port auf Null // ========================= KONFIGURATION TIMER 0 ============================= TCNT0 = STARTVAL_DEB; // Startwert in Zählregister laden TCCR0 = 0x05; // Timer startet mit
in „Phänomen oder Fehlbedienung?!“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Servo.c
625 gezaehlt werden */ TimeBase = 0; if( TimeBase == 0 ) /* Ein neuer 20 ms Zyklus hat begonnen, */ PORTC |= 0x10; /* Steuerleitung zum Servo auf High */ if( TimeBase == Servo ) /* Die Zeitdauer fuer den Steuerpuls ist abgelaufen */ PORTC &= 0x0F; /* Puls benden, Steuerleitung wieder auf Low */ } int main() { DDRC = 0xF0; /* oberen 4 Bit Ausgang, unteren 4 Bit Eingang */ PORTC = 0x0F; /* an den Eingaengen die Pull-Up fuer die */ /* Taster aktivieren */ TCCR0 = ( 1 << CS00 ); /* Prescaler: 1 / 8 Bei 8 Mhz wird dann alle 0.032 ms ein Overflow Interrupt ausgeloest */ TIMSK
in „Servo am Mikrocontroller“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Servo.c
625 gezaehlt werden */ TimeBase = 0; if( TimeBase == 0 ) /* Ein neuer 20 ms Zyklus hat begonnen, */ PORTC |= 0x10; /* Steuerleitung zum Servo auf High */ if( TimeBase == Servo ) /* Die Zeitdauer fuer den Steuerpuls ist abgelaufen */ PORTC &= 0x0F; /* Puls benden, Steuerleitung wieder auf Low */ } int main() { DDRC = 0xF0; /* oberen 4 Bit Ausgang, unteren 4 Bit Eingang */ PORTC = 0x0F; /* an den Eingaengen die Pull-Up fuer die */ /* Taster aktivieren */ TCCR0 = ( 1 << CS00 ); /* Prescaler: 1 / 8 Bei 8 Mhz wird dann alle 0.032 ms ein Overflow Interrupt ausgeloest */ TIMSK
in „Servo am Mikrocontroller“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Boardtester.bas
Dim Ok As Byte Const Test1 = &B10101010 Const Test2 = &B01010101 Const Maske = &B00001111 Config Portc = Input Config Portb = Output Config Pind.2 = Output Config Pind.4 = Output 'Set Pind.2 'Set Pind.4 Reset Pind.2 Reset Pind.4 'Porta = 255 'Portc = 255 Main: Waitms 100 Print "Leitungstest" Print "
in „NEED HELP bin wohl zu dumm“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PS2.asm
sind digitale IOs MOVWF CMCON MOVLW B'00111111' ; alle Pins von PORTA -> Eingänge MOVWF TRISA CLRF PORTC ; alle Pins von PORTC -> Ausgänge CLRF TRISC ; PORTC komplett löschen #DEFINE ps2_data PORTA,1 ; PS/2 Datenleitung #DEFINE ps2_clock PORTA,0 ; PS/2 Clockleitung ;***********************************
in „PIC 18F2550 und PS2 Tastaur“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PS2.asm
sind digitale IOs MOVWF CMCON MOVLW B'00111111' ; alle Pins von PORTA -> Eingänge MOVWF TRISA CLRF PORTC ; alle Pins von PORTC -> Ausgänge CLRF TRISC ; PORTC komplett löschen #DEFINE ps2_data PORTA,1 ; PS/2 Datenleitung #DEFINE ps2_clock PORTA,0 ; PS/2 Clockleitung ;***********************************
in „PIC 18F2550 und PS2 Tastaur“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
adctestavratmega64.c
ADCH<<6; high=high&&0b11000000; low=ADCL>>2; low=low&&0b00111111;*/ Auslesen=ADCL; ADCEND=ADCH; /*PORTC=0;*/ if(i==0) { PORTC=ADCEND; } if(i==1) { PORTA=ADCEND; } if(i==2) { PORTA=ADCEND; } if(i==3) { PORTA=ADCEND; } } } int main(void) { DDRA= 0xFF; DDRC= 0xFF; PORTA=0x00; PORTC=0x00; /*DDRF= 0x00; PORTF
in „ATMega 64, ALL AVR, Anfänger Problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Sram.txt
ARDUINO MEGA * AUTHOR: JOSCHKA ANDERSEN * SRAM: CY 62256 NLL-70P * */ void setup() { DDRC = 0xff; // PortC = A0 - A7 (PC0-PC7) DDRL = 0xff; // PortL = A8 - A14 (PL0-PL6) DDRD = 0xff; // PortD = ¬CE (PD0), ¬OE (PD1), ¬WE (PD2) PORTD = 0b00000111; // Setze alle Controlpins auf aus (invertiert) DDRB = 0b00000000
in „Code(SRAM steuern) verbessern. Arduino mega 2560“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Sram.txt
ARDUINO MEGA * AUTHOR: JOSCHKA ANDERSEN * SRAM: CY 62256 NLL-70P * */ void setup() { DDRC = 0xff; // PortC = A0 - A7 (PC0-PC7) DDRL = 0xff; // PortL = A8 - A14 (PL0-PL6) DDRD = 0xff; // PortD = ¬CE (PD0), ¬OE (PD1), ¬WE (PD2) PORTD = 0b00000111; // Setze alle Controlpins auf aus (invertiert) DDRB = 0b00000000
in „Code(SRAM steuern) verbessern. Arduino mega 2560“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
pwm.bas
As Byte Dim Lo As Byte Dim A As Byte Dim Phase As Bit Dim Index As Byte Dim Tem As Byte Pwm Alias Portc.0 ' Pwm Ausgang Config Timer0 = Timer , Prescale = 64 On Timer0 Timer0_isr ' bei Timer0 ueberlauf zur sub Config Portd = Input Config Portc = Output Portc = 255 Portd = 255 Enable Timer0 ' timer0 interrupt
in „Software PWM Bascom“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Countdown.c
LED_display.h" int main (void); int main() { DDRD = 0xFF; // PortD as output DDRC = 0b00001111; // PortC 0..3 as Output, 4...5 as Input PORTC = 0b00001111; // 0..2 High = Digits off uint8_t minutes = 45; // Initialization of start time: minutes uint8_t seconds = 00; // Initialization of start time: seconds
in „MyAvr_Workpad Fehler - was läuft da schief“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
SPI-Test_1_Slave.bas
.2 , E = Portd.1 , Rs = Portd.0 Initlcd Cursor Off Cls Config Pinb.2 = Input 'Slave Select Config Portc.5 = Output 'LED Grün Config Portc.3 = Output 'LED Rot Dim Test As Word Dim Wert As Integer Dim Awertl As Byte Dim Awerth As Byte Dim Befehl As Byte Dim Led As Byte Config Spi = Hard , Interrupt = Off
in „SPI Kommunikation zwischen zwei ATmega8 mit Bascom-AVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
SPI-Test_1_Slave.bas
.2 , E = Portd.1 , Rs = Portd.0 Initlcd Cursor Off Cls Config Pinb.2 = Input 'Slave Select Config Portc.5 = Output 'LED Grün Config Portc.3 = Output 'LED Rot Dim Test As Word Dim Wert As Integer Dim Awertl As Byte Dim Awerth As Byte Dim Befehl As Byte Dim Led As Byte Config Spi = Hard , Interrupt = Off
in „SPI Kommunikation zwischen zwei ATmega8 mit Bascom-AVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
sim.c
; int bit_start; SIGNAL(SIG_OUTPUT_COMPARE1A) // Interrupt bei Periodenende { TCNT1 = 0x0000; cbi(PORTC,5); bit_start = 0; } SIGNAL(SIG_OUTPUT_COMPARE1B) // Interrupt bei Bitende { sbi(PORTC,5); } void output_funktion(int protokoll) { int bit, bit_gesendet; // Timer Register setzen TIMSK = ((TIMSK) |
in „GCC Fehlermeldung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Metronom_lcd.c
send_display(0,0x06); send_display(0,0x0C); } void send_display(unsigned char reg_sel, unsigned char data) { PORTC &= ~(0x3F); PORTD &= ~(0x03); PORTC |= (data & 0x3F); PORTD |= (data>>6); (reg_sel==1)?(PORTB |= (1<<RS)):(PORTB &= ~(1<<RS)); _delay_us(100); PORTB |= (1<<EN); _delay_us(2); PORTB &= ~(1<<EN); _delay_us(100); } void init_ports() { PORTB = 0xC8; DDRB = 0x37; PORTC = 0xC0; DDRC = 0x3F; PORTD = 0x7C; DDRD = 0xC3; SFIOR &= ~(1<<PUD); }
in „LCD lässt sich nicht initialisieren“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
NESController_Interface.asm
obersten RAM-Adresse out SPH, temp ldi temp, 0xFF out DDRC, temp ldi temp, 0b01010101 ldi temp, 0x0 out PORTC, temp sbi DDRA, CLK sbi DDRA, LATCH cbi DDRA, DATA sbi CONTROLLER, DATA cbi CONTROLLER, CLK cbi CONTROLLER, LATCH ldi temp, 255 out PORTC, temp main: call decode_NES_keys out PORTC, temp jmp main decode_NES_keys
in „NES Controller (wer findet den Fehler in meinem Programm)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.asm
0xFF out DDRA, temp out DDRC, temp ; Port A und Port C low anlegen ldi temp, 0 out PORTA, temp out PORTC, temp ; Baudrate einstellen ldi temp, LOW(UBRRVAL) out UBRRL, temp ldi temp, HIGH(UBRRVAL) out UBRRH, temp ; Frame-Format: 9 Bit ldi temp, 0b10000110 out UCSRC, temp ldi temp, 0b10011100 ;9-bit, RXEN
in „RS 485 Lenz X-Bus“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
VQC10.asm
PA3 .equ Z5 = PA4 .equ Z6 = PA5 .equ Z7 = PA6 .equ CP1_PORT = PORTA .equ CP1 = PA7 .equ DATA_PORT = PORTC ; D1 - D5 -> PC0 - PC4 .equ CP2_PORT = PORTC .equ CP3_PORT = PORTC .equ CP4_PORT = PORTC .equ CP2 = PC2 .equ CP3 = PC1 .equ CP4 = PC0 .equ SPACE = $20 ; Space für Tabelle ;--- higher Register -----
in „VQC10 am Mega8 o.16??“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd_test.asm
Although aliasing is not recommended, it will be used here to make software easier to reuse ; (see PORTC in the following: it will be aliased to FT245HSPort and LCDHSPort .equ FT245DataPort = PORTD .equ FT245DataDir = DDRD .equ FT245DataPIN = PIND .equ FT245HSPort = PORTC .equ FT245HSDir = DDRC .equ FT245HSPIN = PINC .equ LCDDataPort = PORTA .equ LCDDataDir = DDRA .equ LCDHSPort = PORTC .equ LCDHSDir = DDRC ; Define the PINs for the Handshake to FT245 ; The RD line is an Output for the 8515 and an Input for the FT245 .equ FT_RD = PC0 ; The WR line is an Output for the 8515 and an
in „FT245 únd AVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
KlimaSensorKomm.c
define SHT75_DATA_0 DDRC |= (1 << SHT75_DATA) //schreibt eine "0" auf den Bus. #define SHT75_CLK_1 PORTC |= (1<<SHT75_CLK); // Taktport wird hart (5V) auf 1 gesetzt #define SHT75_CLK_0 PORTC &= ~(1<<SHT75_CLK); // Taktport wird hart (GND) auf 0 gesetzt // Befehle für den SHT #define STATUS_REG_WRITE 0b00000110
in „SHT75 - CRC Check: Ich finde den Fehler nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
temp1.asm
******************************************************************* write_1: ;schreibt eine 1 cbi portc, 6 sbi ddrc, 6 ;bus auf low rcall wait6us ;wartet 8us (maximum sind 15us) cbi ddrc, 6 ;lässt bus los, nun durch ext R auf high rcall wait64us ;slot muss mind. 60us lang sein ret ;****************************************************************************** write_0: ;schreibt eine 0 cbi portc, 6 sbi ddrc, 6 ;bus auf low rcall wait60us cbi ddrc, 6 ;lässt bus los, nun durch ext R auf high rcall wait10us ;slot muss mind. 60us lang sein ret ;*************************************************
in „DS18S20 --> Quellcode-Überprüfung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
; return 1; } } return 0; } int main(void) { DDRD &= ~( 1 << PD0 ); // PD0 auf Eingang DDRC=0xff; PORTC=0; PORTB=1; PORTD=31; DDRC=63; DDRD=238; sei(); rf12_init(); // RF12 + IO Ports initialisieren rf12_config(RF_BAUDRATE, RF12FREQ(433.92), 0, QUIET); // Baudrate, Frequenz, Leistung (0=max, 7=min),
in „Beispielprogramm für RFM12 433MHz Funk-Module“ · Projekte & Code ·
-
Datei
uart.c
#define WARTEBIT PB5 int main(void) { DDRB = 0b00000000; PORTB = ( 1 << PB5 ); DDRC = 0b11111111; PORTC = ( 1 << PC5 ); UCSRB |= (1<<TXEN)|(1<<RXEN); // UART TX einschalten UCSRC |= (1<<URSEL)|(1<<USBS)|(3<<UCSZ0); // Asynchron 8N1 UBRRH = UBRR_VAL >> 8; UBRRL = UBRR_VAL; while (1) { loop_until_bit_is_set(WARTEPIN, WARTEBIT); { } while ( (WARTEPIN & (1 << WARTEBIT)) ) ; PORTC = ( 1 << PC4 ); while (!(UCSRA & (1<<UDRE))) /* warten bis Senden moeglich */ { } UDR = 'a'; PORTC = ( 1 << PC3 ); } }
in „Ladegerät für NiMH Akku mit 3310 display“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
dummy.c
char *); ISR(TIMER1_OVF_vect) { // Reinitialize Timer 1 value TCNT1H=0xC2; TCNT1L=0xF7; if(PINC==0) PORTC=0xFF; else PORTC=0; uart_puts("ISR!\r\n"); // Place your code here } int uart_putc(unsigned char c) { while (!(UCSRA & (1<<UDRE))) /* warten bis Senden moeglich */ { } UDR = c; /* sende Zeichen */
in „Interrupt wird nicht ausgelöst“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
TOV0_TEST1.c
zaehler>0) // Zähler herunterzählen zaehler--; } int main (void) { DDRC=0xFF; // Port B auf Ausgang PORTC=0x00; // Alle Ausgänge auf 0 DDRD=0xFF; // Port D auf Ausgang PORTD=0x00; // Alle Ausgänge auf 0 OCR0=0b00001111; TCCR0=0b01110001; // TCCR0 = (2<<CS00); // Timer-0 Vorteiler auf 8 TCNT0 = TIMER0_STARTWERT
in „AVR Studio und PWM Mode“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
vu.asm
temp2 rjmp MSel4 MSel4: nop nop nop nop nop nop nop nop cpi temp, 8 brsh voll mov ZL, temp lpm out portc, r0 rjmp CB voll: outi portc, 255 CB: cpi temp2, 8 brsh voll2 mov ZL, temp2 lpm out portb, r0 reti voll2: outi portb, 255 reti ;----------------------------------------------------------; ; Initialize
in „Aussteueranzeige / VU-Meter“ · Mikrocontroller und Digitale Elektronik ·