ATMega328. Memories: Flash memory 32kB SRAM 2kB EEPROM 1kB

Wielkość: px
Rozpocząć pokaz od strony:

Download "ATMega328. Memories: Flash memory 32kB SRAM 2kB EEPROM 1kB"

Transkrypt

1

2 ATMega328 Memories: Flash memory 32kB SRAM 2kB EEPROM 1kB

3

4 ISP programming

5 Bootloader programming The bootloader is basically a.hex file that runs when you turn on the board. It is very similar to the BIOS that runs on your PC. It does two things. First, it looks around to see if the computer is trying to program it. If it is, it grabs the program from the computer and uploads it into the ICs memory (in a specific location so as not to overwrite the bootloader). That is why when you try to upload code, the Arduino IDE resets the chip. This basically turns the IC off and back on again so the bootloader can start running again. If the computer isn t trying to upload code, it tells the chip to run the code that s already stored in memory. Once it locates and runs your program, the Arduino continuously loops through the program and does so as long as the board has power.

6 Arduino Uno board

7 USART Interface and USART connection to PC COM MAX 232 converts signals from an RS-232 serial port to signals suitable for use in TTL Asynchronous transmission

8 USART to USB adapter

9

10 Default Clock Source The device is shipped with internal RC oscillator at 8.0MHz and with the fuse CKDIV8 programmed, resulting in 1.0MHz system clock. The startup time is set to maximum and time-out period enabled. (CKSEL = "0010", SUT = "10", CKDIV8 = "0"). The default setting ensures that all users can make their desired clock source setting using any available programming interface. Other clock sources Low power crystal oscillator crystal External oscillator Low frequency crystal oscillator Used for real time clock

11 Clock systems

12 Linia DTR umożliwia resetowanie mikrokontrolera z komputera PC konieczne przed ładowaniem programu przez bootloader

13 Bitwise operators: & AND OR ~ NOT << SHIFT LEFT >> SHIFT RIGHT ^ EXCLUSIVE OR Example: Bitwise AND PORTD = 0b???????? Number= 0b ???????? unknown bits & =?????0?? result: one bit cleared Example: Bitwise OR PORTD = 0b???????? Number= 0b ???????? unknown bits =?????1?? result: one bit set

14 Bitwise operators: & AND OR ~ NOT << SHIFT LEFT >> SHIFT RIGHT ^ EXCLUSIVE OR Example: Bitwise NOT PORTD = 0b ~PORTD = 0b Example: Bitwise SHIFT PORTD = 0b PORTD<<1 = 0b Example: Exclusive OR PORTD = 0b Number = 0b b ^ 0b = 0b

15 Hex numbers: 0b = 0x01 0b = 0x02 0b = 0x04 0b = 0x08 0b = 0x0C 0b = 0xF1 0b = 0x88 ~0x01 = 0xfe ~0x02 = 0xfd ~0x04 = 0xfb Makro _BV(x): _BV(0) = 0b _BV(1) = 0b _BV(2) = 0b _BV(3) = 0b _BV(4) = 0b _BV(5) = 0b _BV(6) = 0b _BV(7) = 0b ~_BV(0) = 0b ~_BV(0) = 0b ~_BV(0) = 0b ~_BV(0) = 0b ~_BV(0) = 0b ~_BV(0) = 0b ~_BV(0) = 0b ~_BV(0) = 0b

16 Shifted numbers _BV(0) = 0b = (1<<0) _BV(1) = 0b = (1<<1) _BV(2) = 0b = (1<<2) _BV(3) = 0b = (1<<3) _BV(4) = 0b = (1<<4) _BV(5) = 0b = (1<<5) _BV(6) = 0b = (1<<6) _BV(7) = 0b = (1<<7) ~ (1<<0) = 0b ~ (1<<1) = 0b ~ (1<<2) = 0b ~ (1<<3) = 0b ~ (1<<4) = 0b ~ (1<<5) = 0b ~ (1<<6) = 0b ~ (1<<7) = 0b (1<<0) = (1<<PORTD0) (1<<1) = (1<<PORTD1) (1<<2) = (1<<PORTD2) (1<<3) = (1<<PORTD3) (1<<4) = (1<<PORTD4) (1<<5) = (1<<PORTD5) (1<<6) = (1<<PORTD6) (1<<7) = (1<<PORTD7)

17 General purpose input/output schematic Pullup transistor Output to pin Input from pin

18 Port D registers

19 Using Arduino library Using PORT names Pin 2 as input internally pulled up pin 2 = PORTD, 2 DDRD = DDRD & 0xFB; (input) pinmode(2, INPUT_PULLUP); PORTD = PORTD 0x04; (pullup) Pin 2 as input floating (high Z) pin 2 = PORTD, 2 DDRD = DDRD & 0xFB; (input) pinmode(2, INPUT); PORTD = PORTD & 0xFB; (floating) Pin 13 as output pin 13 = PORTB, 5 DDRB = DDRB 0x20; PORTB = PORTB 0x20; PORTB = PORTB & 0xDF; pinmode(13, OUTPUT); digitalwrite(13, HIGH); digitalwrite(13, LOW);

20 Using PORT names Using Arduino library Pin 2 as input internally pulled up pin 2 = PORTD, 2 (Uno) DDRD = DDRD & ~ _BV(2); (input) PORTD = PORTD _BV(2) ; (pullup) pinmode(2, INPUT_PULLUP); Pin 2 as input floating (high Z) pin 2 = PORTD, 2 (Uno) DDRD = DDRD & ~ _BV(2); (input) PORTD = PORTD & ~ _BV(2); (floating) pinmode(2, INPUT); Pin 13 as output pin 13 = PORTB, 5 (Uno) DDRB = DDRB _BV(5); PORTB = PORTB _BV(5); PORTB = PORTB & ~ _BV(5); pinmode(13, OUTPUT); digitalwrite(13, HIGH); digitalwrite(13, LOW);

21 Using PORT names Using Arduino library Pin 2 as input internally pulled up pin 2 = PORTD, 2 (Uno) DDRD = DDRD & ~ (1<<DDD2); (input) PORTD = PORTD (1<<PORTD2); (pullup) pinmode(2, INPUT_PULLUP); Pin 2 as input floating (high Z) pin 2 = PORTD, 2 (Uno) DDRD = DDRD & ~ (1<<DDD2); (input) PORTD = PORTD & ~ (1<<PORTD2); (floating) pinmode(2, INPUT); Pin 13 as output pin 13 = PORTB, 5 (Uno) DDRB = DDRB (1<<DDD5); PORTB = PORTB (1<<PORTD5); PORTB = PORTB & ~ (1<<PORTD5)); pinmode(13, OUTPUT); digitalwrite(13, HIGH); digitalwrite(13, LOW);

22 Cod in AtmelStudio: int main(void) { setup(); while (1) loop(); return 0; Cod in Arduino setup(); loop(); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// void setup (void) { // the setup function runs once when you press reset or power the board //funkcja setup jest wykonywana 1x po resecie lub podaniu zasilania void loop(void) { // the loop function runs over and over again forever //funkcja loop() jest wykonywana w kółko w nieskończonej pętli

23 Example: blinking LED Using Arduino library void setup() { pinmode(13, OUTPUT); void loop() { digitalwrite(13, HIGH); delay(1000); // wait for a second digitalwrite(13, LOW); delay(1000); Using PORT names void setup() { DDRB = DDRB 0x20; void loop() { PORTB = PORTB 0x20; delay(1000); // wait for a second PORTB = PORTB & 0xDF; delay(1000);

24 Example: button const int buttonpin = 2; const int ledpin = 13; int buttonstate = 0; // the number of the pushbutton pin // the number of the LED pin // variable for reading the pushbutton status void setup() { pinmode(ledpin, OUTPUT); pinmode(buttonpin, INPUT); // initialize the LED pin as an output: // initialize the pushbutton pin as an input: void loop() { buttonstate = digitalread(buttonpin); // read the state of the pushbutton value: if (buttonstate == HIGH) // check if the pushbutton is pressed. { // turn LED on: digitalwrite(ledpin, HIGH); else { // turn LED off: digitalwrite(ledpin, LOW);

25 Example: serial monitor Serial monitor is an application on PC connected to USART via USB int incomingbyte = 0; // for incoming serial data void setup() { Serial.begin(9600); // opens serial port, sets data rate to 9600 bps void loop() { // send data only when you receive data: if (Serial.available() > 0) { // read the incoming byte: incomingbyte = Serial.read(); // say what you got: Serial.print("I received: "); Serial.println(incomingByte, DEC);

26 Serial.write(33); Serial.write(33) gives!" Serial.print(33); Serial.print(33) gives 33" Serial.print( ) gives "1.23" Serial.print('N') gives "N" Serial.print("Hello world.") gives "Hello world." Serial.print(78, BIN) gives " " Serial.print(78, OCT) gives "116" Serial.print(78, DEC) gives "78" Serial.print(78, HEX) gives "4E" Serial.println( , 0) gives "1" Serial.println( , 2) gives "1.23" Serial.println( , 4) gives "1.2346"

27 void setup() { Serial.begin(9600); int thisbyte = 33; void loop() { Serial.write(thisByte); Serial.print(", dec: "); Serial.print(thisByte); Serial.print(", hex: "); Serial.print(thisByte, HEX); Serial.print(", oct: "); Serial.print(thisByte, OCT); Serial.print(", bin: "); Serial.println(thisByte, BIN); if (thisbyte == 126) { thisbyte = 33; // go on to the next character thisbyte++;

28 Interrupt vectors

29 Przerwania zewnętrzne INT0, INT1 INT0 PORTD2 linia nr 2 INT1 PORTD3 linia nr 3 Stan wysoki na linii jest stanem bezczynnym (IDLE state). Przerwanie może być wywołane przez: LOW level (poziom niski), FALLING edge (zbocze opadające), RISING edge (zbocze narastające), CHANGE (każda zmiana). ISR (INT0_vect) example LOW level void setup() { pinmode(13, OUTPUT); EIMSK = // zdjęcie maski interrupts(); void loop() { digitalwrite(13, LOW); ISR (INT0_vect){ digitalwrite(13, HIGH);

30 Przerwania zewnętrzne INT0, INT1 Funkcja biblioteczna attachinterrupt attachinterrupt (digitalpintointerrupt(pin), procedura przerwania, atrybut); Pin: 2 lub 3 numery przerwania INT0, INT1 Procedura: wykonywana w przerwaniu tu: blink() Atrybut: LOW (poziom niski), FALLING (zbocze opadające, RISING (zbocze narastające), CHANGE (każda zmiana). #define ledpin 13 void setup() { pinmode(ledpin, OUTPUT); attachinterrupt(digitalpintointerrupt(3), blink, FALLING); void loop() { Attachinterrupt void blink () { int state = digitalread(ledpin); digitalwrite (ledpin, state^1); //toggle state example

31 Przerwania zewnętrzne wybór źródła przerwania Przerwania zewnętrzne maska przerwania

32 Stany nieustalone przycisku Rejestr flagowy przerwań zewnętrznych

33 Program, który radzi sobie ze stanami nieustalonymi przycisku #define ledpin 13 #define buttonpin 3 void setup() { pinmode(ledpin, OUTPUT); pinmode(buttonpin, INPUT_PULLUP); attachinterrupt(digitalpintointerrupt(3), blink, CHANGE ); void loop() { void blink () { _delay_ms(30); if(digitalread(buttonpin)==1) { int state = digitalread(ledpin); digitalwrite (ledpin, state^1); _delay_ms(60); EIFR=0;

34 Przerwania zewnętrzne przykład ISR (INT0_vect) { // void setup() { DDRD &= ~_BV(x); PORTD = _BV(x); DDRB = _BV(y); PORTB &= ~_BV(y); EICRA = EIMSK = sei(); //linia x portu D jako wejście //podwieszenie wejścia // linia y portu C jako wyjście //wyjście w stan low //konfiguracja: poziomem lub zboczem // zdjęcie maski // lub interrupts() odblokowanie przerwań void loop() { ///

35 Przerwania zewnętrzne PCINT Przerwania zewnętrzne PCINT dostępne na pinach PCINT23 - PCINT0 są objęte 3-ma wektorami przerwań, po 8 linii na jeden wektor. W rejestrze PCICR leżą bity aktywacji grup przerwań: PCINT0-7 (bit PCIE0), PCINT8-14 (bit PCIE1), PCINT15-23 (bit PCIE2). W rejestrach PCMSK0, 1, 2 leżą maski indywidualne przerwań PCINT23-0. Przerwania PCINT23-0 są aktywowane każdą zmianą na pinach wejściowych.

36 Example: PCINT vectors #define switch z void setup() { pinmode (13, OUTPUT); digitalwrite(13, LOW); // z numer linii switcha w IDE //dioda PCICR = (1<<PCIEy); // wybór przerwania (są 3 wektory przerwań po 8 linii) PCMSKy = (1<<PCINTx); // wybór linii w ramach danego wektora przerwania sei(); // lub interrupts(); ISR(PCINTy_vect) { //wybór wektora przerwania (są 3 wektory przerwań) _delay_ms(50); digitalwrite(13, digitalread(13) ^ 1); while(digitalread(switch)==1); //lub while(digitalread(switch)==0); w zależności od montażu switch/rezystor _delay_ms(50); PCIFR = _BV(PCIFy); void loop() {

37 Example: Timer1 overflow vector Przerwanie wywołane przepełnieniem rejestru zliczania timera #define ledpin 13 void setup() { pinmode(ledpin, OUTPUT); nointerrupts(); TCCR1A = 0; TCCR1B = 0; TCCR1B = (1 << CS12); TIMSK1 = (1 << TOIE1); interrupts(); // disable all interrupts // w Arduino zerowania konieczne ze względu // na wpisy pre-konfiguracyjne IDE // 256 prescaler // enable timer overflow interrupt // enable all interrupts ISR(TIMER1_OVF_vect) { // timer compare interrupt service routine int state = digitalread(ledpin); digitalwrite(ledpin, state ^ 1); // toggle LED pin void loop() {

38 Example: Timer1 compare vector CTC mode - przerwanie wywołane zrównaniem zawartości rejestru zliczania TCNT1 z rejestrem Porównawczym OCR1, - tryb CTC - każde przerwanie powoduje zerowanie rejestru zliczania TCNT0 #define ledpin 13 void setup() { pinmode(ledpin, OUTPUT); nointerrupts(); // disable all interrupts TCCR1A = 0; TCCR1B = 0; OCR1A = 31250; // compare match register 16MHz/256/2Hz TCCR1B = (1 << WGM12); // CTC mode TCCR1B = (1 << CS12); // 256 prescaler TIMSK1 = (1 << OCIE1A); // enable timer compare interrupt interrupts(); // enable all interrupts ISR(TIMER1_COMPA_vect) { state = digitalread(ledpin); digitalwrite(ledpin, state ^ 1); // timer compare interrupt service routine void loop() {

39 The Arduino performs some initialization of the timers. The Arduino initializes the prescaler on all three timers to divide the clock by 64. Timer 0 is initialized to Fast PWM, while Timer 1 and Timer 2 is initialized to Phase Correct PWM. See the Arduino source file wiring.c for details.

40 Fast PWM with Timer0 PWM signal on OC0A or OC0B

41 Fast PWM with Timer0 int brig = 0; void setup() { TCCR0A = 0; TCCR0B = 0; TCCR0A = (1 << WGM00) (1 << WGM01) (1 << COM0A1); TCCR0B = (1 << CS00); pinmode(6, OUTPUT); OCR0A = 0; void loop() { //Now Loop with increasing brightness for (brig = 0; brig < 255; brig++) { OCR0A = brig; delay(500); //Now Loop with decreasing brightness for (brig = 255; brig > 0; brig--) { OCR0A = brig; delay(500);

42 ADC Analog-digital converter int analogread(uint8_t pin) { uint8_t low, high; ref= 1; pin -= 14; ADMUX = (ref<< 6) (pin & 0x07); sbi(adcsra, ADEN); sbi(adcsra, ADSC); while (bit_is_set(adcsra, ADSC)); low = ADCL; high = ADCH; return (high << 8) low; int mojadc() { char l, h; ADMUX = ((1<<REFS0)); ADCSRA = ((1<<ADEN) (1<<ADSC)); ADCSRA = ((1<<ADPS2) (1<<ADPS1)); while (! (ADCSRA & (1<<ADIF))); ADCSRA = (1<<ADIF); //zerowanie flagi adif lo = ADCL; hi = ADCH; return (hi << 8) lo;

43 Example: analog input void setup() { Serial.begin(9600); void loop() { int sensorvalue = analogread(a0); Serial.println(sensorValue); delay(1);

44 Podstawowe funkcje biblioteczne (makra) Rejestr danych portu D - PORTD Bit Nazwa PORTD7 PORTD6 PORTD5 PORTD4 PORTD3 PORTD2 PORTD1 PORTD0 Odczyt/zapis R/W R/W R/W R/W R/W R/W R/W R/W Wartość początkowa #define cbi(reg, bitmask) *reg &= ~bitmask #define sbi(reg, bitmask) *reg = bitmask Przykłady: cbi (PORTD, (1<<6)); PORTD &= ~(1<<6); cbi (PORTD, PORTD6); PORTD &= ~(1<< PORTD6); cbi (PORTD, _BV(6)); PORTD &= ~(1<<_BV(6)); sbi (PORTB, (1<<6)); PORTD = (1<<6); sbi (PORTD, PORTD6); PORTD = (1<< PORTD6); sbi (PORTD, _BV(6)); PORTD = (1<<_BV(6));

45 Podstawowe funkcje biblioteczne (makra) Rejestr wejściowy portu D - PIND Bit Nazwa PIND7 PIND6 PIND5 PIND4 PIND3 PIND2 PIND1 PIND0 Odczyt/zapis R R R R R R R R Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A N/A wartość nieustalona sfr = special function register #define bit_is_set(sfr, bit) (_SFR_BYTE(sfr) & _BV(bit)) while(bit_is_set(pind, PIND5)) { while(pind & (1<< PIND5)) { #define bit_is_clear(sfr, bit) (!(_SFR_BYTE(sfr) & _BV(bit))) while(bit_is_clear(pind, PIND5)) { while(!(pind & (1<< PIND5))) { #define loop_until_bit_is_set(sfr, bit) loop_until_bit_is_set(pind, PIND5); do { while (bit_is_set(pind, PIND5)); #define loop_until_bit_is_clear(sfr, bit) loop_until_bit_is_clear(pind, PIND5) ; do { while (bit_is_clear(pind, PIND5));

46 Universal Asynchronous Receiver-Transmitter USART Features Full Duplex Operation (Independent Serial Receive and Transmit Registers) Asynchronous or Synchronous Operation Master or Slave Clocked Synchronous Operation High Resolution Baud Rate Generator Supports Serial Frames with 5, 6, 7, 8, or 9 Data Bits and 1 or 2 Stop Bits Odd or Even Parity Generation and Parity Check Supported by Hardware Data OverRun Detection Framing Error Detection Noise Filtering Includes False Start Bit Detection and Digital Low Pass Filter Three Separate Interrupts on TX Complete, TX Data Register Empty and RX Complete Multi-processor Communication Mode Double Speed Asynchronous Communication Mode

47 USART BAUD rate (typical baurate: 1200, 2400, 4800, 9600, 19200, itd.)

48 USART frame format (typical 8n1)

49 USART0 rejestry: flagowy UCSR0A, kontrolny UCSR0B, kontrolny UCSR0C

50 USART0 rejestry: prędkości UBRR0L i UBRR0H, odbiorczy UDR0 i nadawczy UDR0 (dwa rejestry o tej samej nazwie zapewniające dupleksową transmisję danych

51 void setup() { #define FOSC // Clock Speed #define BAUD 9600 #define ubrr FOSC/16/BAUD-1 UBRR0H = UBRR0L = UCSR0B = UCSR0C = void loop() //nadawanie { //nadaj bajt ascii ++ //poczekaj na flagę TXC0 //wyzeruj flagę TXC0 void loop() //odbiór { //poczekaj na flagę RXC0 { //odbierz //odeślij

52 #include <util/delay.h> includes _delay_us(80); _delay_ms(80); delaymicroseconds(480); Example: delay functions

53 Controlling sleep modes register description

54 Tryby uśpienia i sposób wybudzania

Bootloader programming

Bootloader programming Arduino Esplora ATMega32u4 ISP programming Bootloader programming The bootloader is basically a.hex file that runs when you turn on the board. It is very similar to the BIOS that runs on your PC. It does

Bardziej szczegółowo

Bootloader programming

Bootloader programming Arduino Esplora ATMega32u4 ISP programming Bootloader programming The bootloader is basically a.hex file that runs when you turn on the board. It is very similar to the BIOS that runs on your PC. It does

Bardziej szczegółowo

Technika mikroprocesorowa materiały do laboratorium. Autor: Dorota Rabczuk

Technika mikroprocesorowa materiały do laboratorium. Autor: Dorota Rabczuk Technika mikroprocesorowa materiały do laboratorium Autor: Dorota Rabczuk Architektura mikrokontrolera AT90S8515 1. Jednostka arytmetyczno-logiczna ALU posiada dostęp do 32-ch rejestrów 8-bitowych, na

Bardziej szczegółowo

Technika mikroprocesorowa laboratorium. dr inż. Dorota Rabczuk

Technika mikroprocesorowa laboratorium. dr inż. Dorota Rabczuk Technika mikroprocesorowa laboratorium dr inż. Dorota Rabczuk Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 131 Powerful Instructions Most Single Clock Cycle

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów...2 2. ISP...2 3. I/O Ports...3 4. External Interrupts...4 5. Analog Comparator...5 6. Analog-to-Digital Converter...6

Bardziej szczegółowo

SYSTEM PRZERWAŃ ATmega 32

SYSTEM PRZERWAŃ ATmega 32 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA SYSTEM PRZERWAŃ ATmega 32 Opracował: mgr inż.

Bardziej szczegółowo

Rev Źródło:

Rev Źródło: KAmduino UNO Rev. 20190119182847 Źródło: http://wiki.kamamilabs.com/index.php/kamduino_uno Spis treści Basic features and parameters... 1 Standard equipment... 2 Electrical schematics... 3 AVR ATmega328P

Bardziej szczegółowo

Technika mikroprocesorowa materiały do laboratorium. Autor: Dorota Rabczuk

Technika mikroprocesorowa materiały do laboratorium. Autor: Dorota Rabczuk Technika mikroprocesorowa materiały do laboratorium Autor: Dorota Rabczuk Architektura mikrokontrolera AT90S8515 1. Jednostka arytmetyczno-logiczna ALU posiada dostęp do 32-ch rejestrów 8-bitowych, na

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów...2 2. ISP...2 3. I/O Ports...3 4. External Interrupts...4 5. Analog Comparator...6 6. Analog-to-Digital Converter...6

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery System przerwań laboratorium: 11 autorzy: dr hab. Zbisław Tabor, prof. PK mgr inż.

Bardziej szczegółowo

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Wersja 1.0 Tomasz Pachołek 2017-13-03 Opracowanie zawiera opis podstawowych procedur, funkcji, operatorów w języku C dla mikrokontrolerów AVR

Bardziej szczegółowo

Schemat blokowy architektury AVR

Schemat blokowy architektury AVR Schemat blokowy architektury AVR Rejestry procesora AVR dostępne programowo Rejestry procesora AVR związane z pobraniem i wykonaniem rozkazu Schemat blokowy procesora ATMega 2560 ATMEL ATMEGA328P MEMORY

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART ATmega Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 1 Podstawy programowania, stany uśpienia Program ćwiczenia: zapoznanie z regulaminem laboratorium i zasadami zaliczenia, zapoznanie ze sprzętem laboratoryjnym i oprogramowaniem,

Bardziej szczegółowo

DOKUMENTACJA. dot. Budowy i przebiegu konstrukcji linefollower-a. Data: MCHT2 Jakub Tomczyk Łukasz Pawelec Mateusz Wróbel

DOKUMENTACJA. dot. Budowy i przebiegu konstrukcji linefollower-a. Data: MCHT2 Jakub Tomczyk Łukasz Pawelec Mateusz Wróbel DOKUMENTACJA dot. Budowy i przebiegu konstrukcji linefollower-a Data: 2016-11-25 MCHT2 Jakub Tomczyk Łukasz Pawelec Mateusz Wróbel Spis Treści 1. Opis tematu. 2. Niezbędne obliczenia 3. Schemat ideowy

Bardziej szczegółowo

Laboratorium mikrokontrolerów

Laboratorium mikrokontrolerów Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki WIET Laboratorium mikrokontrolerów Ćwiczenie 4A Klawiatura matrycowa - projekt Autor: Paweł Russek http://www.fpga.agh.edu.pl/pm ver. 23.10.16

Bardziej szczegółowo

Urządzenia peryferyjne RS-232. Wykład 2

Urządzenia peryferyjne RS-232. Wykład 2 Urządzenia peryferyjne RS-232 Wykład 2 Transmisja szeregowa Poprzez kanały telekomunikacyjne Zaleta: niskie koszty Wymaga konwersji szeregowo/równoległej np. rejestr przesuwny Dwie metody: asynchroniczna

Bardziej szczegółowo

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Laboratorium mikrokontrolerów Ćwiczenie 7 Przerwania Autor: Paweł Russek Tłumaczenie: Sebastian Koryciak http://www.fpga.agh.edu.pl/tm ver. 25.05.16

Bardziej szczegółowo

Rev Źródło:

Rev Źródło: KamPROG for AVR Rev. 20190119192125 Źródło: http://wiki.kamamilabs.com/index.php/kamprog_for_avr Spis treści Introdcution... 1 Features... 2 Standard equipment... 4 Installation... 5 Software... 6 AVR

Bardziej szczegółowo

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR Podstawy systemów mikroprocesorowych Wykład nr 4 Interfejsy szeregowe dr Piotr Fronczak http://www.if.pw.edu.pl/~agatka/psm.html Komputery przesyłają dane na dwa sposoby: równolegle: Kilka bitów danych

Bardziej szczegółowo

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Laboratorium mikrokontrolerów Ćwiczenie 7 Przerwania Autor: Paweł Russek Tłumaczenie: Sebastian Koryciak http://www.fpga.agh.edu.pl/tm ver. 8.06.15

Bardziej szczegółowo

Pomoc do programu konfiguracyjnego RFID-CS27-Reader User Guide of setup software RFID-CS27-Reader

Pomoc do programu konfiguracyjnego RFID-CS27-Reader User Guide of setup software RFID-CS27-Reader 2017-01-24 Pomoc do programu konfiguracyjnego RFID-CS27-Reader User Guide of setup software RFID-CS27-Reader Program CS27 Reader należy uruchomić przez wybór opcji CS27 i naciśnięcie przycisku START. Programme

Bardziej szczegółowo

Uwaga: dioda na wyjściu 13 świeci gdy na wyjście podamy 0.

Uwaga: dioda na wyjściu 13 świeci gdy na wyjście podamy 0. Podstawowe funkcje sterowania pinami cyfrowymi pinmode(8, OUTPUT); //ustawienie końcówki jako wyjście pinmode(8, INPUT); // ustawienie końcówki jako wejście pinmode(8, INPUT_PULLUP); // ustawienie końcówki

Bardziej szczegółowo

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip) Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip) Embeded systems Architektura układów PSoC (Cypress) Możliwości bloków cyfrowych i analogowych Narzędzia

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Instytut Informatyki Politechnika Poznańska Zasilanie: 5V Pobór prądu: < 2mA Efektywny kąt: < 15º 11-2014 2 Zasada pomiaru Odległość = (Szerokość impulsu Prędkość dźwięku) / 2 11-2014 3 Zależność prędkości

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 2 Magistrala UART Program ćwiczenia: konfiguracja transmisji danych między komputerem PC a mikrokontrolerem przy użyciu magistrali UART. Zagadnienia do przygotowania: podstawy programowania

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji

Bardziej szczegółowo

Systemy Wbudowane. Arduino C. Arduino C - stałe. Arduino C - Stałe. Arduino C - Stałe. Funkcje matematyczne. Arduino C - Stałe

Systemy Wbudowane. Arduino C. Arduino C - stałe. Arduino C - Stałe. Arduino C - Stałe. Funkcje matematyczne. Arduino C - Stałe Arduino C - stałe Systemy Wbudowane Arduino C Wersja 2018 Unikać redefiniowania istniejących stałych. Stosowane dla polepszenia zrozumiałości kodu. Lepiej HIGH niż 0x01 Lepiej INPUT_PULLUP niż 0x2 Uwzględniają

Bardziej szczegółowo

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie. Magistrala SPI Magistrala SPI składa się z linii: MOSI Master output Slave input MISO Master input Slave Output SCK Clock SS Slave select (CS Chip Select lub CE Chip Enable) Sygnał taktujący transmisję

Bardziej szczegółowo

OPBOX ver USB 2.0 Mini Ultrasonic Box with Integrated Pulser and Receiver

OPBOX ver USB 2.0 Mini Ultrasonic Box with Integrated Pulser and Receiver OPBOX ver.0 USB.0 Mini Ultrasonic Box with Integrated Pulser and Receiver Przedsiębiorstwo BadawczoProdukcyjne OPTEL Sp. z o.o. ul. Morelowskiego 30 PL59 Wrocław phone: +8 7 39 8 53 fax.: +8 7 39 8 5 email:

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Instytut Informatyki Politechnika Poznańska AVR ang. Advanced Virtual RISC Twórcami są Alf Egil Bogen, Vegard Wollan RISC Architektura AVR została opracowana przez dwóch studentów w Norweskim Instytucie

Bardziej szczegółowo

AGH Akademia Górniczo- Hutnicza w Krakowie Katedra Elektroniki WIET

AGH Akademia Górniczo- Hutnicza w Krakowie Katedra Elektroniki WIET AGH Akademia Górniczo- Hutnicza w Krakowie Katedra Elektroniki WIET Technika Microprocesorowa Laboratorium 6 Timery i liczniki Auhor: Paweł Russek Tłumaczenie: Ernest Jamro http://www.fpga.agh.edu.pl/tm

Bardziej szczegółowo

Systemy Wbudowane. Arduino, AVR (wersja 2019) Arduino. Arduino. Oprogramowanie. Rys historyczny. Mikrokontroler

Systemy Wbudowane. Arduino, AVR (wersja 2019) Arduino. Arduino. Oprogramowanie. Rys historyczny. Mikrokontroler Mikrokontroler Platforma Mikrokontroler AVR Uno Systemy Wbudowane IDE: Środowisko Preprocesor kodu Terminal Uruchamianie, AVR (wersja 09) mgr inż. Marek Wilkus http://home.agh.edu.pl/~mwilkus Wydział Inżynierii

Bardziej szczegółowo

Systemy Wbudowane. Arduino, AVR (wersja 2018) Arduino. Arduino. Oprogramowanie. Rys historyczny. Mikrokontroler

Systemy Wbudowane. Arduino, AVR (wersja 2018) Arduino. Arduino. Oprogramowanie. Rys historyczny. Mikrokontroler Mikrokontroler Platforma Mikrokontroler AVR Uno Systemy Wbudowane IDE: Środowisko Preprocesor kodu Terminal Uruchamianie, AVR (wersja 018) mgr inż. Marek Wilkus http://home.agh.edu.pl/~mwilkus Wydział

Bardziej szczegółowo

Pomiar odległości z Arduino czujniki, schematy, przykładowe kody

Pomiar odległości z Arduino czujniki, schematy, przykładowe kody Pomiar odległości z Arduino czujniki, schematy, przykładowe kody W robotyce, mechatronice czy modelarstwie do rozwiązania jest problem pomiaru odległości do czegoś, na przykład do ściany lub do kogoś idącego

Bardziej szczegółowo

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1 Dodatek C 1. Timer 8-bitowy (Timer0) 1.1. Opis układu Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1 Rys. 1. Schemat blokowy timera Źródłem sygnału taktującego może być zegar

Bardziej szczegółowo

LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) Polarizing filter. Thin film with a vertical ais. Liquid crystal Polarizing filter. Thin film with a horizontal ais. Polarizing filter. Thin film with a horizontal ais. Polarizing

Bardziej szczegółowo

Programowanie mikrokontrolerów. 15 stycznia 2008

Programowanie mikrokontrolerów. 15 stycznia 2008 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 15 stycznia 2008 RS232 Jeden z najstarszych interfejsów szeregowych Pierwotne przeznaczenie to łączenie terminali znakowych z komputerem, często

Bardziej szczegółowo

Programowanie systemów autonomicznych

Programowanie systemów autonomicznych Programowanie systemów autonomicznych Blok obieralny: Inteligentne Systemy Autonomiczne Instytut Informatyki Stosowanej Stefanowskiego 18/22 al. Politechniki 11 Tomasz Jaworski Piotr Duch Programowanie

Bardziej szczegółowo

Systemy Wbudowane. Arduino C. Arduino C - stałe. Arduino C - Stałe. Arduino C - Stałe. Funkcje matematyczne. Arduino C - Stałe

Systemy Wbudowane. Arduino C. Arduino C - stałe. Arduino C - Stałe. Arduino C - Stałe. Funkcje matematyczne. Arduino C - Stałe Arduino C - stałe Systemy Wbudowane Arduino C Wersja 2019 Unikać redefiniowania istniejących stałych. Stosowane dla polepszenia zrozumiałości kodu. Lepiej HIGH niż 0x01 Lepiej INPUT_PULLUP niż 0x2 Uwzględniają

Bardziej szczegółowo

Systemy Wbudowane. Arduino, AVR (wersja ) Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler

Systemy Wbudowane. Arduino, AVR (wersja ) Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler Mikrokontroler Platforma Systemy Wbudowane IDE:, AVR (wersja 016-0) mgr inż. Marek Wilkus http://home.agh.edu.pl/~mwilkus Wydział Inżynierii Metali i Informatyki Przemysłowej AGH Kraków Mikrokontroler

Bardziej szczegółowo

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Komunikacja w mikrokontrolerach Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Sterowniki Urządzeń Mechatronicznych laboratorium. Ćw. 3: Timer v1.0

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Sterowniki Urządzeń Mechatronicznych laboratorium. Ćw. 3: Timer v1.0 1 CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie się z możliwościami odmierzania czasu za pomocą wewnętrznego TIMER a mikrokontrolerów serii AVR 2 ZAKRES NIEZBĘDNYCH WIADOMOŚCI - wiadomości z poprzednich

Bardziej szczegółowo

Omówimy przykłady 8-mio bitowego licznika z wyposażenia ADuC812 (CISC 51) oraz mikrokontrolera ATMega128 należącego do rodziny AVR.

Omówimy przykłady 8-mio bitowego licznika z wyposażenia ADuC812 (CISC 51) oraz mikrokontrolera ATMega128 należącego do rodziny AVR. Liczniki/czasomierze (T/C) należą do standardowego składu wewnętrznych układów peryferyjnych (WEP) mikrokontrolerów. Często różnią się znacznie pod względem funkcji, które rozszerzają proste zliczanie

Bardziej szczegółowo

Opis bezprzewodowego układu do pomiaru oporu elektrycznego skóry

Opis bezprzewodowego układu do pomiaru oporu elektrycznego skóry Opis bezprzewodowego układu do pomiaru oporu elektrycznego skóry Andrzej Jeziorski 307408 Układ powstały w ramach zaliczenia przedmiotu Programowanie Mikrokontrolerów miał być udoskonaleniem układu do

Bardziej szczegółowo

RS868v3 module configuration

RS868v3 module configuration RS868v3 module configuration Configuration procedure To enter the configuration mode insert a jumper onto the pins marked CONFIG (see: Pinout). After every issued command (besides device reset) the device

Bardziej szczegółowo

Listing_ $crystal = deklaracja

Listing_ $crystal = deklaracja ------------------------------------------------- Listing_4 ---------------------------------------------------- $crystal = 8000000 deklaracja częstotliwości kwarcu $regfile "m8def.dat" biblioteka mikrokontrolera

Bardziej szczegółowo

Wbudowane układy peryferyjne cz. 2 Wykład 8

Wbudowane układy peryferyjne cz. 2 Wykład 8 Wbudowane układy peryferyjne cz. 2 Wykład 8 Timery Timery (liczniki) 2 Timery informacje ogólne Mikrokontroler ATmega32 posiada 3 liczniki: Timer0 8-bitowy Timer1 16-bitowy Timer2 8-bitowy, mogący pracować

Bardziej szczegółowo

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C:

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C: Mikrokontroler Platforma Systemy Wbudowane IDE:, AVR mgr inż. Marek Wilkus Wydział Inżynierii Metali i Informatyki Przemysłowej AGH Kraków Mikrokontroler AVR Uno Środowisko Terminal Uruchamianie http://home.agh.edu.pl/~mwilkus

Bardziej szczegółowo

Przerwanie. Źródła przerwań

Przerwanie. Źródła przerwań Podstawy systemów mikroprocesorowych Wykład nr 3 Przerwania i liczniki dr Piotr Fronczak http://www.if.pw.edu.pl/~agatka/psm.html fronczak@if.pw.edu.pl Przerwanie Warunek lub zdarzenie, które przerywa

Bardziej szczegółowo

architektura komputerów w 1 1

architektura komputerów w 1 1 8051 Port P2 Port P3 Serial PORT Timers T0, T1 Interrupt Controler DPTR Register Program Counter Program Memory Port P0 Port P1 PSW ALU B Register SFR accumulator STRUCTURE OF 8051 architektura komputerów

Bardziej szczegółowo

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015 XMEGA Warsztaty CHIP Rok akademicki 2014/2015 Plan warsztatów: Wprowadzenie do Atmel Studio (20/11/2014) Porty I/O (20/11/2014) Przerwania (27/11/2014) Wykorzystana literatura: [1] Dokumentacja ATMEL(www.atmel.com):

Bardziej szczegółowo

LOW ENERGY TIMER, BURTC

LOW ENERGY TIMER, BURTC PROJEKTOWANIE ENERGOOSZCZĘDNYCH SYSTEMÓW WBUDOWANYCH ĆWICZENIE 4 LOW ENERGY TIMER, BURTC Katedra Elektroniki AGH 1. Low Energy Timer tryb PWM Modulacja szerokości impulsu (PWM) jest często stosowana przy

Bardziej szczegółowo

Arduino Power Shield. Moduł Arduino do sterowania silnikami dużej mocy i pomiaru prądu

Arduino Power Shield. Moduł Arduino do sterowania silnikami dużej mocy i pomiaru prądu Arduino Power Shield Moduł Arduino do sterowania silnikami dużej mocy i pomiaru prądu 1 S t r o n a 1. Opis ogólny W odpowiedzi na potrzeby szybko rozwijającego się rynku prototypowania z użyciem platformy

Bardziej szczegółowo

Podstawy Techniki Mikroprocesorowej Laboratorium

Podstawy Techniki Mikroprocesorowej Laboratorium Laboratorium Ćwiczenie 3 Liczniki 0, 1, 2 (Timer Counters T/C0, T/C1, T/C2) Program ćwiczenia: obsługa trybu pracy normalny wybranego licznika, obsługa trybu pracy CTC wybranego licznika, obsługa trybu

Bardziej szczegółowo

Mikrokontroler AVR ATmega32 - wykład 9

Mikrokontroler AVR ATmega32 - wykład 9 SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 1 Mikrokontroler AVR ATmega32 - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 2 CechyµC ATmega32 1.

Bardziej szczegółowo

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter UART Universal Asynchronous Receier- Transmiter Cel projektu: Zbudowanie układu transmisji znaków z komputera na wyświetlacz zamontowany na płycie Spartan-3AN, poprzez łacze RS i program TeraTerm. Laboratorium

Bardziej szczegółowo

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA TIMERY w mikrokontrolerach Atmega16-32 Opracował:

Bardziej szczegółowo

DIGA Object Dictionary opis

DIGA Object Dictionary opis MANUAL DIGA Object Dictionary opis UWAGA! Dokument: DIGA_Object_Dictionery_Manual_v1_01.odt Publikowany jako: DIGA_Object_Dictionery_Manual_v1_01.pdf Data utworzenia: 27/09/2013 Napisany prze: Jacek Barcik

Bardziej szczegółowo

Układy czasowe / liczniki (timers/counters)

Układy czasowe / liczniki (timers/counters) Układy czasowe / liczniki (timers/counters) Współpraca MK z otoczeniem w czasie rzeczywistym wymaga odliczania czasu, zliczania zdarzeń lub generowania złożonych sekwencji binarnych. Funkcje te realizowane

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów AVR z rodziny ATmega. Programowanie mikrokontrolerów AVR z rodziny ATmega. Materiały pomocnicze Jakub Malewicz jakub.malewicz@pwr.wroc.pl Wszelkie prawa zastrzeżone. Kopiowanie w całości lub w częściach bez zgody i wiedzy autora

Bardziej szczegółowo

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA TIMERY w mikrokontrolerach Atmega16-32 Opracował:

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery Zastosowanie przetwornika analogowo-cyfrowego do odczytywania napięcia z potencjometru

Bardziej szczegółowo

Prosty system alarmowy z Arduino

Prosty system alarmowy z Arduino W tym opracowaniu chcemy zaproponować skonstruowanie prostego urządzenia, które chciałby posiadać każdy tajny agent lub detektyw, a mianowicie prosty system alarmowy, który będzie się uruchamiał, gdy detektor

Bardziej szczegółowo

Moduł mikrokontrolera PROTON (v1.1)

Moduł mikrokontrolera PROTON (v1.1) Moduł mikrokontrolera OPIS Moduł mikrokontrolera PROTON (Rys. 1) przeznaczony jest do stosowania w prototypowych systemach uruchomieniowych. Podstawowym elementem modułu jest układ scalony mikrokontrolera

Bardziej szczegółowo

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307 Język C Wykład 9: Mikrokontrolery cz.2 Łukasz Gaweł Chemia C pokój 307 lukasz.gawel@pg.edu.pl Pierwszy program- powtórka Częstotliwość zegara procesora μc (należy sprawdzić z kartą techniczną μc) Dodaje

Bardziej szczegółowo

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian 1 / 9 Content list / Spis Treści 1. Hardware and software requirements, preparing device to upgrade Wymagania sprzętowe i programowe, przygotowanie urządzenia do aktualizacji 2. Installing drivers and

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów AVR z rodziny ATmega. Programowanie mikrokontrolerów AVR z rodziny ATmega. Materiały pomocnicze Jakub Malewicz jakub.malewicz@pwr.wroc.pl Wszelkie prawa zastrzeżone. Kopiowanie w całości lub w częściach bez zgody i wiedzy autora

Bardziej szczegółowo

Programowanie mikrokontrolerów. 5 grudnia 2007

Programowanie mikrokontrolerów. 5 grudnia 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 5 grudnia 2007 Przerwania Umożliwiają asynchroniczną obsługę różnych zdarzeń, np.: zmiana stanu wejścia, zakończenie przetwarzania analogowo-cyfrowego,

Bardziej szczegółowo

Mikrokontrolery AVR Wprowadzenie

Mikrokontrolery AVR Wprowadzenie Mikrokontrolery AVR Wprowadzenie Komunikacja z otoczeniem mikrokontrolera Każdy z mikrokontrolerów posiada pewna liczbę wyprowadzeń cyfrowych które służą do wprowadzania i odbierania informacji z mikrokontrolera.

Bardziej szczegółowo

Systemy Wbudowane. Raspberry Pi komunikacja szeregowa (wersja 2019) Higiena pracy z Qt. Komunikacja szeregowa. Qt Creator i uruchamianie.

Systemy Wbudowane. Raspberry Pi komunikacja szeregowa (wersja 2019) Higiena pracy z Qt. Komunikacja szeregowa. Qt Creator i uruchamianie. Higiena pracy z Qt W miarę możliwości tworzymy projekt z szablonu "Qt Console Application", Jeżeli nie kompiluje: Systemy Wbudowane Otworzyć plik projektu w edytorze Qt Creatora, Dodać: Raspberry Pi komunikacja

Bardziej szczegółowo

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

4 Transmisja szeregowa, obsługa wyświetlacza LCD. 1 4 Transmisja szeregowa, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy, - ramka transmisyjna, - przeznaczenie buforów obsługi

Bardziej szczegółowo

PRAKTYCZNE NAUCZANIE SYSTEMÓW WBUDOWANYCH Z WYKORZYSTANIEM PLATFORMY ARDUINO

PRAKTYCZNE NAUCZANIE SYSTEMÓW WBUDOWANYCH Z WYKORZYSTANIEM PLATFORMY ARDUINO Dorota Rabczuk Akademia Morska w Gdyni PRAKTYCZNE NAUCZANIE SYSTEMÓW WBUDOWANYCH Z WYKORZYSTANIEM PLATFORMY ARDUINO Artykuł stanowi podsumowanie doświadczeń dydaktycznych w dziedzinie praktycznego nauczania

Bardziej szczegółowo

PROGRAMOWALNE SYSTEMY MECHATRONIKI

PROGRAMOWALNE SYSTEMY MECHATRONIKI PROGRAMOWALNE SYSTEMY MECHATRONIKI Laboratorium nr 5 Podstawy programowania mikrokontrolerów. Przerwania. 1. System przerwań informacje ogólne Programy sterujące mikrokontrolerów rzadko mają postać listy

Bardziej szczegółowo

Moduł 4 przekaźników sterowanych RS485

Moduł 4 przekaźników sterowanych RS485 Gotronik PPHU Dane aktualne na dzień: 20-01-2017 08:44 Link do produktu: /modul-4-przekaznikow-sterowanych-rs485-p-3942.html Moduł 4 przekaźników sterowanych RS485 Cena Dostępność Numer katalogowy 160,00

Bardziej szczegółowo

Rev Źródło:

Rev Źródło: KAmodNFC Rev. 20190119185550 Źródło: http://wiki.kamamilabs.com/index.php/kamodnfc Spis treści Basic features and parameters... 1 Standard equipment... 2 Electrical schematics... 3 View of PCB... 4 Output

Bardziej szczegółowo

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian 1 / 8 Content list / Spis Treści 1. Hardware and software requirements, preparing device to upgrade Wymagania sprzętowe i programowe, przygotowanie urządzenia do aktualizacji 2. Installing drivers and

Bardziej szczegółowo

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja ----------------------------start---------------------------- Program mikroprocesorowego miernika mocy generowanej $crystal = 8000000 deklaracja częstotliwości kwarcu taktującego uc $regfile "m8def.dat"

Bardziej szczegółowo

Pilot RF 4-kanałowy + odbiornik XY-DJM-5V umożliwia zdalne sterowanie do czterech urządzeń. Nadajnik pilot MX804. Odbiornik XY-DJM.

Pilot RF 4-kanałowy + odbiornik XY-DJM-5V umożliwia zdalne sterowanie do czterech urządzeń. Nadajnik pilot MX804. Odbiornik XY-DJM. Pilot RF 4-kanałowy + odbiornik XY-DJM-5V umożliwia zdalne sterowanie do czterech urządzeń. Właściwości: Nadajnik pilot MX804 zasilanie pilota bateria L1028 23A 12V Napięcie zasilające 3V do 12 V Pobierany

Bardziej szczegółowo

Server setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0;

Server setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0; Server setup #include #include boolean incoming = 0; byte mac[] = 0x00, 0xAA, 0xBB, 0xCC, 0xDA, 0x02 ; IPAddress ip(192,168, 0, 230); EthernetServer server(80); void setup() pinmode(2,

Bardziej szczegółowo

Expandery wejść MCP23S17 oraz MCP23017

Expandery wejść MCP23S17 oraz MCP23017 Expandery wejść MCP23S17 oraz MCP23017 Expander I/O MCP20S17 I2C Piny wyjściowe expanderów MCP23S17 oraz MCP23017 Expander I/O MCP23S17 SPI Podłączenie urządzenia na magistrali SPI z płytą Arduino. Linie

Bardziej szczegółowo

Z pomocą Arduino budujemy mikrofon podsłuchowy

Z pomocą Arduino budujemy mikrofon podsłuchowy Z pomocą Arduino budujemy mikrofon podsłuchowy W tym opracowaniu skonstruujemy bardzo użyteczne urządzenie dla wszystkich ciekawskich i wścibskich ludzi: mikrofon podsłuchowy z opcją nagrywania. Projekt

Bardziej szczegółowo

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach!

Bardziej szczegółowo

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406 ATMEGA128 MINI MODUŁ VE-APS-1406 Wstęp Instrukcja użytkownika Opis Instrukcja prezentuje mini moduł z mikrokontrolerem rodziny AVR (firmy ATMEL) Atmega128 w obudowie TQFP 64. Procesor ATmega128 wyposażony

Bardziej szczegółowo

Struktura QSM (Queued Serial Module)

Struktura QSM (Queued Serial Module) Struktura QSM (Queued Serial Module) MW-ZPCiR-ICT-PWr 1 Nadajnik transmisji asynchronicznej (SCI) MW-ZPCiR-ICT-PWr 2 Odbiornik transmisji asynchronicznej (SCI) MW-ZPCiR-ICT-PWr 3 SCIbaud 32 f SYS SCBR

Bardziej szczegółowo

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis Machine Learning for Data Science (CS4786) Lecture11 5 Random Projections & Canonical Correlation Analysis The Tall, THE FAT AND THE UGLY n X d The Tall, THE FAT AND THE UGLY d X > n X d n = n d d The

Bardziej szczegółowo

SCL > Pin 21 SDA > Pin 20 VCC > 5V GND > GND

SCL > Pin 21 SDA > Pin 20 VCC > 5V GND > GND Nazwa implementacji: Budowa RTC w oparciu o DS1307 Autor: Krzysztof Bytow Opis implementacji: Układ DS1307 jest to zegar czasu rzeczywistego (Real Time Clock) służy do odliczania czasu niezależnie od stanu

Bardziej szczegółowo

Język programowania. KURS Kurs Arduino (1)

Język programowania. KURS Kurs Arduino (1) Kurs Arduino (1) Język programowania Dodatkowe materiały na CD/FTP Rozpoczynamy naukę programowania Arduino. W pierwszej kolejności zajmiemy się specyficznym językiem Arduino, który dostępnymi bibliotekami

Bardziej szczegółowo

Wbudowane układy peryferyjne cz. 1 Wykład 7

Wbudowane układy peryferyjne cz. 1 Wykład 7 Wbudowane układy peryferyjne cz. 1 Wykład 7 Wbudowane układy peryferyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach! Ponadto

Bardziej szczegółowo

LED PAR 56 7*10W RGBW 4in1 SLIM

LED PAR 56 7*10W RGBW 4in1 SLIM LED PAR 56 7*10W RGBW 4in1 SLIM USER MANUAL Attention: www.flash-butrym.pl Strona 1 1. Please read this specification carefully before installment and operation. 2. Please do not transmit this specification

Bardziej szczegółowo

Programowanie Mikrokontrolerów. Komunikacja szeregowa w standardzie EIA232 z wykorzystaniem modułu USART.

Programowanie Mikrokontrolerów. Komunikacja szeregowa w standardzie EIA232 z wykorzystaniem modułu USART. Programowanie Mikrokontrolerów Komunikacja szeregowa w standardzie EIA232 z wykorzystaniem modułu USART. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Komunikacja szeregowa Jakie znamy typy komunikacji

Bardziej szczegółowo

Układ transmisji szeregowej AVR

Układ transmisji szeregowej AVR Układ transmisji szeregowej AVR Transmisja szeregowa/równoległa porównanie: w transmisji szeregowej dane wysyłane są bit po bicie, mniej przewodów niż w transmisji równoległej (dwa przewody elektryczne

Bardziej szczegółowo

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32) Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32) wersja 0.4 (20 kwietnia 2015) Filip A. Sala W niniejszym, bardzo krótkim opracowaniu, postaram się przedstawić

Bardziej szczegółowo

Car MP3 Player MM211. Aby zapewnić prawidłową obsługę sprzętu zapoznaj się dokładnie z instrukcją i zachowaj ją na przyszłość.

Car MP3 Player MM211. Aby zapewnić prawidłową obsługę sprzętu zapoznaj się dokładnie z instrukcją i zachowaj ją na przyszłość. Car MP3 Player MM211 Aby zapewnić prawidłową obsługę sprzętu zapoznaj się dokładnie z instrukcją i zachowaj ją na przyszłość. To ensure proper use of this product please read this User s Manual carefully

Bardziej szczegółowo

Instrukcja obsługi Czytnika RFID IND-U1

Instrukcja obsługi Czytnika RFID IND-U1 d Instrukcja obsługi Czytnika RFID IND-U1 INVEO s.c. ul. Rzemieślnicza 21 43-340 Kozy tel: +48 785552252 www.inveo.com.pl info@inveo.com.pl Szanowny Kliencie! Dziękujemy bardzo za wybór naszego produktu.

Bardziej szczegółowo

Przetwornik analogowo-cyfrowy

Przetwornik analogowo-cyfrowy Przetwornik analogowo-cyfrowy Przetwornik analogowo-cyfrowy A/C (ang. A/D analog to digital; lub angielski akronim ADC - od słów: Analog to Digital Converter), to układ służący do zamiany sygnału analogowego

Bardziej szczegółowo

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian 1 / 12 Content list / Spis Treści 1. Hardware and software requirements, preparing device to upgrade Wymagania sprzętowe i programowe, przygotowanie urządzenia do aktualizacji 2. Installing drivers needed

Bardziej szczegółowo