Technika mikroprocesorowa laboratorium. dr inż. Dorota Rabczuk
|
|
- Sebastian Wiśniewski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Technika mikroprocesorowa laboratorium dr inż. Dorota Rabczuk
2 Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 131 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static Operation Up to 20 MIPS Throughput at 20 MHz On-chip 2-cycle Multiplier High Endurance Non-volatile Memory Segments 4/8/16/32K Bytes of In-System Self-Programmable Flash progam memory (ATmega48PA/88PA/168PA/328P) 256/512/512/1K Bytes EEPROM (ATmega48PA/88PA/168PA/328P) 512/1K/1K/2K Bytes Internal SRAM (ATmega48PA/88PA/168PA/328P) Write/Erase Cycles: 10,000 Flash/100,000 EEPROM Data retention: 20 years at 85 C/100 years at 25 C(1) Optional Boot Code Section with Independent Lock Bits In-System Programming by On-chip Boot Program True Read-While-Write Operation Programming Lock for Software Security ATmega48PA ATmega88PA ATmega168PA ATmega328P
3 Features Peripheral Features Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode Real Time Counter with Separate Oscillator Six PWM Channels 8-channel 10-bit ADC in TQFP and QFN/MLF package Temperature Measurement 6-channel 10-bit ADC in PDIP Package Temperature Measurement Programmable Serial USART Master/Slave SPI Serial Interface Byte-oriented 2-wire Serial Interface (Philips I2C compatible) Programmable Watchdog Timer with Separate On-chip Oscillator On-chip Analog Comparator Interrupt and Wake-up on Pin Change ATmega48PA ATmega88PA ATmega168PA ATmega328P
4 Features Special Microcontroller Features Power-on Reset and Programmable Brown-out Detection Internal Calibrated Oscillator External and Internal Interrupt Sources Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby, and Extended Standby I/O and Packages 23 Programmable I/O Lines 28-pin PDIP, 32-lead TQFP, 28-pad QFN/MLF and 32-pad QFN/MLF Operating Voltage: V for ATmega48PA/88PA/168PA/328P Temperature Range: -40 C to 85 C Speed Grade: V Low Power Consumption at 1 MHz, 1.8V, 25 C for ATmega48PA/88PA/168PA/328P: Active Mode: 0.2 ma Power-down Mode: 0.1 μa Power-save Mode: 0.75 μa (Including 32 khz RTC) ATmega48PA ATmega88PA ATmega168PA ATmega328P
5 ATmega328P - pinout
6 Block Diagram
7 Clock Systems and their Distribution The device has the following clock source options, selectable by Flash Fuse bits
8 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
9 Active Clock Domains and Wake-up Sources in the Different Sleep Modes
10 Reset Logic
11 General Digital I/O
12 Port Pin Configurations
13
14 Binary and hex numbers are best suited to address ports Examples: 0b = 0x01 0b = 0x02 0b = 0x04 0b = 0x08 0b = 0x10 0b = 0x20 0b = 0x40 0b = 0x80 _BV(0) = 0b _BV(1) = 0b _BV(2) = 0b _BV(3) = 0b _BV(4) = 0b _BV(5) = 0b _BV(6) = 0b _BV(7) = 0b
15 Bitwise operators: & AND OR ~ NOT << SHIFT LEFT >> SHIFT RIGHT Examples: ~ 0b = ~ _BV(0) = 0b = 0xFE ~ 0b = ~ _BV(1) = 0b = 0xFD ~ 0b = ~ _BV(2) = 0b = 0xFB ~ 0b = ~ _BV(3) = 0b = 0xF7 ~ 0b = ~ _BV(4) = 0b = 0xEF ~ 0b = ~ _BV(5) = 0b = 0xDF ~ 0b = ~ _BV(6) = 0b = 0xBF ~ 0b = ~ _BV(7) = 0b = 0x7F
16 Bitwise operators: & AND OR ~ NOT << SHIFT LEFT >> SHIFT RIGHT 0b = (1<<0) 0b = (1<<1) 0b = (1<<2) 0b = (1<<3) 0b = (1<<4) 0b = (1<<5) 0b = (1<<6) 0b = (1<<7) ~ 0b = 0b = ~(1<<0) ~ 0b = 0b = ~(1<<1) ~ 0b = 0b = ~(1<<2) ~ 0b = 0b = ~(1<<3) ~ 0b = 0b = ~(1<<4) ~ 0b = 0b = ~(1<<5) ~ 0b = 0b = ~(1<<6) ~ 0b = 0b = ~(1<<7)
17 Example: Bitwise OR PORTD = 0b???????? Number= 0b ???????? unknown bits =?????1?? result: one bit set Example: Bitwise NOT PORTD = 0b ~PORTD = 0b Example: Bitwise AND PORTD = 0b???????? Number= 0b Example: Bitwise SHIFT PORTD = 0b PORTD<<1 = 0b ???????? unknown bits & =?????0?? result: one bit cleared
18 PORTD, 2 as input internally pulled up DDRD = DDRD & 0xFB; (input) PORTD = PORTD 0x04; (pullup) PORTD, 2 as input floating (high Z) DDRD = DDRD & 0xFB; (input) PORTD = PORTD & 0xFB; (floating) PORTB, 5 as output DDRB = DDRB 0x20; (output) PORTB = PORTB 0x20; (high) PORTB = PORTB & 0xDF; (low)
19 PORTD, 2 as input internally pulled up DDRD = DDRD & ~(1<<2); (input) PORTD = PORTD (1<<2); (pullup) PORTD, 2 as input floating (high Z) DDRD = DDRD & ~(1<<2); (input) PORTD = PORTD & ~(1<<2); (floating) PORTB, 5 as output DDRB = DDRB (1<<5); PORTB = PORTB (1<<5); PORTB = PORTB & ~(1<<5); (output) (high) (low)
20 #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));
21 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> void setup() { } int main(void) { setup(); while (1) loop() return 0; } void setup() { DDRB = DDRB 0x20; } void loop() { PORTB = PORTB 0x20; delay(1000); // wait for a second PORTB = PORTB & 0xDF; delay(1000); }
22 Interrupt Vectors in ATmega328P
23 External Interrupts The External Interrupts are triggered by the INT0 and INT1 pins Register Description
24 External Interrupts Register Description
25 Przerwanie poziomem niskim hierarchia przerwań #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> void setup() { DDRD = (1<<5) (1<<6); PORTD = (1<<5) (1<<6); DDRD &= ~(1<<2) & ~(1<<3); PORTD = (1<<2) (1<<1<<3); EICRA =0; EIMSK = sei(); } ISR (INT0_vect) { PORTD = PORTD & ~(1<<5); } ISR (INT1_vect) {.. } void loop() {.. }
26 Przerwanie zboczem - stany nieustalone przycisku
27 Przerwanie zboczem - przykład #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> void setup() { DDRD = (1<<5); PORTD = (1<<5); DDRD &= ~(1<<2); PORTD = (1<<2); EICRA = (1<<ISC00); EIMSK = sei(); } void loop() {.. } ISR (INT0_vect) { switch(a) { } } case(0): _delay_ms(50); PORTD = PORTD & ~(1<<5); EIFR = EIFR (1<<INTF0); a =.; break; case(1):.. break;
28 Przerwania zewnętrzne PCINT Przerwania zewnętrzne PCINT dostępne są na pinach PCINT23 - PCINT0. W rejestrze PCICR leżą bity aktywacji 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żda zmianą na odpowiadających pinach wejściowych.
29 Przerwanie zewnętrzne PCINT - przykład #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> void setup() { DDRB = (1<<z); PORTB = (1<<z); PCICR = (1<<PCIEy); PCMSKy = (1<<PCINTx); sei(); } int main(void) { setup(); while (1) loop() return 0; } ISR(PCINTy_vect) { switch(a) { case(0): _delay_ms(50); PORTB = PORTB (1<<z); PCIFR = PCIFR (1<<PCIFy); a =.; break; } } void loop() {} case(1):.. break;
30 Timery/Liczniki Moduły liczników/timerów liczają impulsy zegarowe mikrokontrolera lub impulsy na liniach zewnętrznych mikrokontrolera. Timer 8-bitowy przepełnia się na wartości 2 8 a timer 16-bitowy przepełnia się na wartości Po przepełnieniu rejestr liczący TCNT0 zapełnia się zerami, a Timer zlicza nadal. Prescaler wydłuża N-krotnie krok timera, tym samym wydłużając czas do przepełnienia. Prescaler timera 0
31 Rejestry: zliczania, masek i flag timera 0 Rejestr zliczania Rejestr masek Maski trybów porównawczych A i B Maska trybu przepełnienia Rejestr flagowy Flagi trybów porównawczych A i B Flaga przepełnienia
32 Prescaler timera 1
33 Rejestry: zliczania, masek i flag timera 1 Maska trybu przechwytu Maski trybów porównawczych A i B Maska trybu przepełnienia Flaga przechwytu Flagi trybów porównawczych A i B Flaga przepełnienia
34 Timer0 programowe sprawdzanie flagi przepełnienia Timer0 - przerwanie OVERFLOW loop() { while (! (TIFR & (1<<TOV0))); TIFR =(1<<TOV0); PORTB &= ~(1<<6); while( );.. } setup() { TCCR0 =. DDRB = (1<<6); } ISR (TIMER0_OVF_vect) {. } int main(void) { TCCR0 =; TIMSK = ; sei(); do { while(1); return 0; }
35 Timer1 przerwanie trybu COMPARE ISR (TIMER1_COMPA_vect) { TCNT1 = OCR1A = if ((PORTB & (1<<6)) PORTB &=~(1<<6); else PORTB = (1<<6): //PORTB ^= (1 << 6); } Timer1 rejestry trybów porównawczych A i B Przerwanie nie powoduje zerowania rejestru zliczania int main(void) { DDRB = (1<<6); OCR1A = 31250; TCCR1B = (1<<CS12); TIMSK1 = ; sei(); while(1); return 0; }
36 Timer1 tryb CTC przerwanie powoduje zerowanie rejestru zliczania Wyjście na pinie OC1A lub OC1B (tryby odpowiednio COMPA i COMPB) Możliwość zmiany częstotliwości przebiegu ISR (TIMER1_COMPA_vect) {//zmiana częstotliwości} int main(void) { DDRB = (1<<1) (1<<2); OCR1A = TCCR1B = //tryb ctc TCCR1B = (1<<CS12); TIMSK1 = ; sei(); while(1); return 0; } Stała częstotliwość przebiegu int main(void) { DDRB = (1<<1) (1<<2); OCR1A = //0.5 sekundy TCCR1B = //tryb ctc TCCR1B = (1<<CS12); while(1); return 0; }
37 Ustawienia trybu CTC
38 Timer0 tryb fast PWM środek impulsu W zależności od wypełnienia przebiegu środek impulsu wypada w różnej fazie przebiegu Wyjście na pinie OC0A lub OC0B
39 Timer0 fast PWM na OC0A int bright = 0; void setup() { DDRD = TCCR0A = TCCR0B = // prescaler=64 OCR0A = 0; } void loop() { for (brights = 0; brights < 255; brights++) { OCR0A = bright; _delay_ms(20); //alternatywnie byte a=1; void loop() { bright += a; if(!bright bright>254) a = a; OCR0A = bright; _delay_ms(500); } } for //malejąco {. _delay_ms_(20); } }
40 Timer0 tryb phase correct PWM środek impulsu Niezależnie od wypełnienia przebiegu środek impulsu wypada zawsze w tej samej fazie przebiegu Wyjście na pinie OC0A lub OC0B
41 Wyjścia trybów PWM realizowanych z timerami 0, 1, 2
42 Dioda RGB kolory R, G, B po kolei void setup() { DDRx = //wyjścia OC0A(red), OC0B(green), OC2A(blue) TCCR0A = //fast PWM na OC0A oraz OC0B TCCR0B = // prescaler =256 OCR0A = 0; OCR0B = 0; //fast PWM na OC2A TCCR2A = (1<<COM2A1) (1<<WGM21) (1<<WGM20); TCCR2B = (1<<CS22); OCR2A=0; } void loop() { for (red = 0; red < 255; red++) {.= red; _delay_ms(10);} for (red = 255; red >0; red--) {..= red; _delay_ms(10);} //kolejne kolory }
43 Dioda RGB mieszanie kolorów podstawowych R, G, B Wygodnie jest stosować parametry wejściowe: hue, saturation i value z cylindrycznej przestrzeni kolorów HSV (odcień, nasycenie i jaskrawość) i przeliczać je na składowe R, G, B 0 < saturation < < value < < hue < 360 void Hsv2Rgb( double *r, double *g, double *b, double h, double s, double v ) { int i; double f, p, q, t; s/=100.0; v/=255.0; if( s == 0 ) { // (grey) *r = *g = *b = v; return; } h /= 60; i = (int)floor( h ); f = h - i; // factorial part of h p = v * ( s ); q = v * ( s * f ); t = v * ( s * ( 1 - f ) ); switch( i ) { case 0: *r = v; *g = t; *b = p; break; case 1: *r = q; *g = v; *b = p; break; case 2: *r = p; *g = v; *b = t; break; case 3: *r = p; *g = q; *b = v; break; case 4: *r = t; *g = p; *b = v; break; default: *r = v; *g = p; *b = q; break; } }
44 Dioda RGB - mieszanie kolorów R, G, B w przykładzie przyjęto: saturation =100; value = 100; hue = 0, 60, 120, 180, 240, 300 int main(void) { double red = 0.0; double green = 0.0; double blue = 0.0; double hue = 0; double saturation = 100; double valuee = 100; //fast PWM na OC0A (green), OC0B (red), OC2A (blue) } } while(1) { Hsv2Rgb(&red, &green, &blue, hue, saturation, valuee); red = red * 255.0; green = green * 255.0; blue = blue * 255.0; hue = hue ; if(hue >= 360) hue = 0; OCR0A = (uint8_t)red; //Red led is connected to pin PD6/digital 6 OCR0B = (uint8_t)green; //Green led is connected to pin PD5/digital 5 OCR2A = (uint8_t)blue; //Blue led is connected to pin PD3/digital pin 3 _delay_ms(200);
45
46 Watchdog Timer
47
48 Zestawienie rozkazów kontrolera HD44780 Komendy i dane są rozróżniane na podstawie stanu linii RS (0 - komendy; 1 - dane). Kierunek transmisji jest określany stanem linii R/W (0 - Write; 1 - Read). Sterownik HD44780 posiada dwa rodzaje pamięci: pamięć generatora znaków (CGROM/CGRAM) oraz pamięć danych (DDRAM). Pamięć generatora znaków CGROM/CGRAM zawiera graficzną postać znaków wyświetlanych na wyświetlaczu. Oprócz znaków zdefiniowanych na stałe przez producenta sterownika w pamięci CGROM do dyspozycji użytkownika pozostaje 8-znakowa pamięć CGRAM, w której można zdefiniować własne znaki (np. polskie znaki diakrytyczne). Pamięć danych DDRAM ma pojemność 80 bajtów (jeden sterownik HD4478 może obsłużyć maksymalnie 80 znaków, czyli np. 2 linie po 40 znaków, lub 4 linie po 20 znaków).
49 Połączenia przykładowe
50 Linie wyświetlacza LCD linia RS: 0 komendy dla sterownika; 1 wyświetlanie znaków ascii linia RW: 0 - zapis do sterownika lcd; 1 - odczyt ze sterownika lcd linia E - impuls aktywujący zapis/odczyt (strob): 0 - stan idle; 1 - stan aktywny linie D0 D7: bity komend lub znaków do wyświetlenia w trybie 8-bitowym linie D4 D7: bity komend lub znaków do wyświetlenia w trybie 4-bitowym
51 Inicjalizacja LCD //lcd na PORTD #define D7 7 #define D6 6 #define D5 5 #define D4 4 #define E 3 #define RS 2 #define RW 1 RS stan low RW stan low E stan high D7 stan low D6 stan low D5 stan high D4 stan high E stan low //lepiej napisz funkcję void lcd_4bity (unsigned char bajt) { PORTD = (1<<E); if(bajt & 0x01) PORTD = (1<<D4); else. if if if PORTD &= }
52 Inicjalizacja LCD cd //przejście w tryb sterowania //4-bitowy D7 D6 D5 D4 lcd_4bity (0x0..); //zdefiniuj funkcję nadawania bajtu //w dwóch częściach po 4 bity //najpierw starsze potem młodsze void lcd_bajt (unsigned char bajt) { PORTD = (1<<E); lcd_4bity(..); PORTD &= ~(1<<E); _delay_us(5); PORTD = (1<<E); lcd_4bity(.); PORTD &= ~(1<<E); _delay_us(200); } //posługując się funkcją lcd_bajt () //wydaj po kolei rozkazy inicjujące wyświetlacz Function set Display cursor shift Display ON/OFF Entry mode set Display clear 0b001DNF00 0b0001SR00 0b00001DCB 0b000001IS 0b
53 Rozkazy z grupy INI Function set (RS= 0, R/W = 0, dane = 001DNFxx) - dla D = 1 - interfejs 8-bitowy - dla D = 0 - interfejs 4-bitowy - dla N = 1 - wyświetlacz dwuwierszowy - dla N = 0 - wyświetlacz jednowierszowy - dla F = 1 - matryca znaków 5*10 punktów - dla F = 0 - matryca znaków 5*7punktów Display cursor shift - (RS = 0, R/W = 0, dane = 0001SRxx) - dla S = 1 - przesuwana jest zawartość okna - dla S = 0 - przesuwany jest kursor - dla R = 1 - kierunek przesuwu w prawo - dla R = 0 - kierunek przesuwu w lewo Display ON/OFF - (RS = 0, R/W = 0, dane = 00001DCB) - dla D = 1 - włączenie wyświetlacza - dla D = 0 - wyłączenie wyświetlacza - dla C = 1 - włączenie kursora - dla C = 0 - wyłączenie kursora - dla B = 1 - włączenie migania kursora - dla B = 0 - wyłączenie migania kursora
54 Rozkazy z grupy INI Entry mode set - (RS = 0; R/W = 0, dane = IS) - określenie trybu pracy kursora/okna wyświetlacza : - dla S = 1 po zapisaniu znaku do wyświetlacza kursor nie zmienia położenia, natomiast przesuwa się cała zawartość wyświetlacza - dla S = 0 po zapisaniu znaku do wyświetlacza kursor zmienia położenie, a przesuwanie okna jest wyłączone - dla I = 1 kursor lub okno wyświetlacza przesuwa się w prawo (inkrementacja adresu znaku) - dla I = 0 kursor lub okno wyświetlacza przesuwa się w lewo (dekrementacja adresu znaku) Maksymalny czas trwania instrukcji - 40us Display clear - (RS = 0, R/W = 0, dane = ) -instrukcja ta powoduje wyczyszczenie wyświetlacza poprzez wypełnienie go spacjami, ustawienie trybu zapisu danych od pozycji w lewym górnym rogu wyświetlacza oraz wyłączenie trybu przesuwania okna; maksymalny czas trwania instrukcji - 1,64ms Display/cursor home - (RS - 0, R/W = 0, dane = x) - instrukcja powoduje ustawienie kursora na pozycji pierwszego znaku w pierwszej linii; maksymalny czas trwania instrukcji 1,64ms
55 Podstawowe rozkazy: DD RAM set - (RS = 0, R/W = 0, dane = 1AAAAAAA) - ustawia adres pamięci wyświetlacza, pod który nastąpi zapis (bądź odczyt) danych operacją Data write lub Data read. Sterownik obsługuje 64 pozycje w każdej linii, dlatego w celu ustawienia kursora w 1-szej linii należy wydać rozkaz 0b , a w drugiej linii rozkaz 0b Data write - (RS = 1, R/W = 0, dane = zapisywany bajt danych) - zapis danych do pamięci wyświetlacza, bądź pamięci CG RAM (jeśli poprzednio wydano komendę CG RAM set) Pozostałe rozkazy: CG RAM set - (RS= 0, RW = 0, dane = 01AAALLL) - ustawia adres pamięci generatora znaków. AAA - 3-bitowy adres znaku, LLL - 3-bitowy numer linii składającej się na graficzne odwzorowanie znaku. Busy flag read - (RS = 0, R/W = 1, dane = BAAAAAAA) - odczyt flagi zajętości i adresu pamięci wyświetlacza. B - flaga zajętości wyświetlacza, AAAAAAA - 7-bitowy adres pamięci. Data read - (RS = 1, R/W= 1, dane = odczytywany bajt danych) - odczyt danych z pamięci wyświetlacza, bądź pamięci CG RAM (jeśli poprzednio wydano komendę CG RAM set)
56 Przykłady użycia podstawowych rozkazów //Przykład rozkazu DD RAM set czyli ustawienia pozycji wyświetlania: //RS w stan niski lcd_bajt (wskaż pozycję kursora) ; //Przykład rozkazu Data write czyli wyświetlania znaku: //RS w stan wysoki lcd_bajt('a'); //znak ascii a do wyświetlenia
57
58 Analog-to-Digital Converter 10-bit Resolution 0.5 LSB Integral Non-linearity ± 2 LSB Absolute Accuracy μs Conversion Time Up to 76.9 ksps (Up to 15 ksps at Maximu Resolution) 6 Multiplexed Single Ended Input Channels 0 - VCC ADC Input Voltage Range Selectable 1.1V ADC Reference Voltage Free Running or Single Conversion Mode Interrupt on ADC Conversion Complete Sleep Mode Noise Canceler
59 Konfiguracja przetwornika adc
60 Konfiguracja przetwornika adc
61 Konfiguracja przetwornika adc Bit 7 ADEN: ADC Enable Bit 6 ADSC: ADC Start Conversion Bit 5 ADATE: ADC Auto Trigger Enable Bit 4 ADIF: ADC Interrupt Flag Bit 3 ADIE: ADC Interrupt Enable Bits 2:0 ADPS2:0: ADC Prescaler Select Bits
62 Dzielenie liczby na kolumny dziesiętne Liczba / 1000 = tysiące Liczba % 1000 = reszta z tysięcy reszta z tysięcy / 100 = setki reszta z tysięcy % 100 = reszta z setek reszta z setek / 10 = dziesiątki reszta z setek % 10 = reszta z dziesiątek reszta z dziesiątek / 1 = jedności Przykład liczba / 1000 = % 1000 = / 100 = % 100 = / 10 = 8 87 % 10 = 7 7 / 1 = 7
63 Kodowanie ascii Kodowanie ascii cyfr wymaga dodania wartości 48 = 0x30
64 Transoptor odbiciowy Transoptor to optoelektroniczny element półprzewodnikowy, zawierający fotoemiter (najczęściej diodę elektroluminescencyjną z arsenku galu GaAs) i fotodetektor (fototranzystor lub fotodiodę) - zintegrowane we wspólnej obudowie. Transoptory odbiciowe (refleksyjne) znalazły zastosowanie jako czujniki odcienia szarości. Światło emitowane zostaje na powierzchnię znajdującą się po przeciwnej stronie czujnika. Zależnie od odcienia (biel odbija, czerń absorbuje), część światła pada na fotodetektor, na którym pojawia się adekwatne napięcie. Transoptor odbiciowy może także służyć jako np. przełącznik krańcowy wykrywając przed sobą przeszkodę jasnego koloru.
65 Transoptor odbiciowy CNY70 Ze względu na ryzyko uszkodzenia elementu napięcie na fotodiodę (punkt TIN przełącznik 2 zasilania) należy podawać tylko na czas pomiaru. Napięcie z TOUT należy podać na wejście przetwornika ADC. Transoptor przesłaniać na przemian kartką białą i czarną z odległości 3-5cm. Wynik pomiaru o wartości powyżej 500 (przy rozdzielczości przetwornika równej 1024) wskazuje na czarny kolor kartki, a poniżej 100 na biały. T T T TIN TOUT
66 Kulkowy czujnik przechyłu (tilt sensor) Dwie kulki stalowe zamykają obwód elektryczny w czujniku ustawionym pionowo. Po przechyleniu czujnika kulki przestają domykać obwód.
67 Joystick analogowy Wyprowadzenia joysticka: X napięcie analogowe proporcjonalne do wychylenia wzdłuż osi X Y napięcie analogowe proporcjonalne do wychylenia wzdłuż osi Y S napięcie Vcc lub 0 wskazujące stan przycisku joysticka
68 Rozpoznanie ruchu joysticka W górę Brak rozpoznania Brak rozpoznania W lewo W prawo Brak rozpoznania Brak rozpoznania W dół
69 Klawiatura analogowa KA Napięcie analogowe mierzone na wyjściu KA pozwala rozpoznać, który przycisk naciśnięto
70 Enkoder obrotowy typ: ALPS EC12 12 kroków w 360 stopniach 2 wyjścia cyfrowe : ERC1 i ERC2 zmiany stanu na wyjściach wskazują kierunek obrotu
71 Ćwiczenia do wyboru: 1. Jeśli czujnik odbiciowy rozpoznaje powierzchnię białą wówczas kolejne naciśnięcia przycisku nr 1 klawiatury analogowej przedłużają świecącą linijkę o 1 diodę (do 8-miu), a jeśli czujnik odbiciowy rozpoznaje powierzchnię czarną kolejne naciśnięcia przycisku nr 1 klawiatury analogowej skracają linijkę świecącą o 1 diodę 2. Kolejne obroty enkodera w prawo przedłużają świecącą linijkę o 1 diodę (do 8-miu), a kolejne obroty enkodera w lewo skracają linijkę świecącą o 1 diodę 3. Kolejne wychylenia joysticka w górę przedłużają świecącą linijkę o 1 diodę (do 8-miu), a kolejne wychylenia joysticka w dół skracają linijkę świecącą o 1 diodę 4. Krótkie naciśnięcia switcha samopowrotnego (poniżej 1s) przedłużają świecącą linijkę o 1 diodę (do 8- miu), a długie naciśnięcia switcha samopowrotnego (powyżej 2s) skracają linijkę świecącą o 1 diodę
72
73 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
74 USART to USB adapter
75 Asynchronous USART transmission Start bit Data bits Parity bit Stop bits
76 #define FOSC // Clock Speed #define BAUD 9600 #define MYUBRR FOSC/16/BAUD-1
77
78
79 Bit 7 RXCn: USART Receive Complete Bit 6 TXCn: USART Transmit Complete Bit 5 UDREn: USART Data Register Empty Bit 4 FEn: Frame Error Bit 3 DORn: Data OverRun Bit 2 UPEn: USART Parity Error Bit 1 U2Xn: Double the USART Transmission Speed Bit 0 MPCMn: Multi-processor Communication Mode Bit 7 RXCn: Flaga odbioru znaku Bit 6 TXCn: Flaga nadania znaku Bit 5 UDREn: Flaga pustego bufora nadawczego (mieści 2 znaki) Bit 4 FEn: Błąd ramki Bit 3 DORn: Błąd nadpisania znaku (nie odczytanego) Bit 2 UPEn: Błąd parzystości Bit 1 U2Xn: Podwojona prędkość transmisji Bit 0 MPCMn: Tryb z adresowaniem odbiorników Bit 7 RXCIEn: RX Complete Interrupt Enable n Bit 6 TXCIEn: TX Complete Interrupt Enable n Bit 5 UDRIEn: Data Register Empty Interrupt Enable n Bit 4 RXENn: Receiver Enable n Bit 3 TXENn: Transmitter Enable n Bit 2 UCSZn2: Character Size n Bit 1 RXB8n: Receive Data Bit 8 n Bit 0 TXB8n: Transmit Data Bit 8 n Bit 7 RXCIEn: Maska przerwania odbioru znaku Bit 6 TXCIEn: Maska przerwania nadania znaku Bit 5 UDRIEn: Maska przerwania pustego bufora nadawczego Bit 4 RXENn: Włączenie odbiornika Bit 3 TXENn: Włączenie nadajnika Bit 2 UCSZn2: Liczba bitów danych Bit 1 RXB8n: 8-my bit odebrany Bit 0 TXB8n: 8-my bit nadawany
80 Transmisja może się odbywać w pełnym dupleksie char a,o; ISR (USART_RX_vect) { o = UDR0; lcd_bajt(o); } ISR (USART_TX_vect) { UDR0 = a++; } int main (void) { setup(); a = 30; UDR0 = a; sei(); while (1) ; return 0; }
81
82
83
84
85
86
87
88
89
90 Zasada pracy rejestru przesuwnego 74HC595 Bity danych są wprowadzane synchronicznie szeregowo po linii DS, a wyprowadzane równolegle na liniach Q0-Q7. Dane są wprowadzane do rejestru przesuwnego 74HC595 zboczem narastającym zegara SH_CP Linia ST_CP (latch) jest w stanie niskim podczas wprowadzania danych Dane są wyprowadzane na linie równoległe Q0 Q7 zboczem narastającym impulsu ST_CP (latch) Linia DS linia danych wprowadzanych szeregowo Linia SH_CP impulsy zegarowe Linia ST_CP latch, stan idle = stan wysoki, podczas transferu danych przechodzi w stan niski, po czym ponownie wraca na stan wysoki bezczynny Linia Q0 Q7 linie danych wyprowadzanych równolegle
91 ST_CP DS SH_CP SH_CP ST_CP DS Do wyjść równoległych rejestru 74HC595 można podłączyć Np. diody, switch e lub wyświetlacz 7-segmentowy. Na schemacie powyżej linia A została podłączona do wyjścia Q0 itd., a kropka DP do wyjścia Q7.
92 Łączenie łańcuchowe rejestrów przesuwnych 74HC595 daisy chain Oprócz wyprowadzeń równoległych na liniach Q0-Q7 rejestr przesuwny 74HC595 posiada również wyjście szeregowe na linii Q7. Wyjście to może zostać wykorzystanie do podania danych na wejście kolejnego rejestru przesuwnego w łańcuchu. W połączeniu łańcuchowym wyjście rejestru n wyprowadza dane na wejście rejestru n+1 w łańcuchu. Takie połączenie pozwala na oszczędność linii mikrokontrolera.
93 Łączenie łańcuchowe rejestrów przesuwnych 74HC595 daisy chain ST_CP SH_CP DS W układzie laboratoryjnym Mizero w łańcuch daisy chain połączono 5 rejestrów przesuwnych 74HC595. Na wyjściu 4-ch z nich znajdują się wyświetlacze 7-segmentowe, na wyjściu piątego podłączono 8 diod świecących na niebiesko. W celu poprawnego wysterowania urządzeń w łańcuchu należy podać bajt sterujący na każde z nich tj. w sumie 5 bajtów.
94 //74HC595 na PORTB #define ST_CP 2 #define DS 3 #define SH_CP 5 void setup (void) { DDRB = (1<<ST_CP) (1<<DS) (1<<SH_CP); PORTB = (1<<ST_CP); PORTB &= ~(1<<SH_CP) & ~(1<<DS); } void transfer_74hc595 (unsigned char dana) { PORTB &= ~(1<<ST_CP); if (dana & (0x80)) PORTB = (1<<DS); else PORTB &= ~(1<<DS); PORTB = (1<<SH_CP); _delay_us(1); PORTB &= ; _delay_us(1); PORTB &=..; _delay_us(1);.. PORTB = (1<<ST_CP); } Funkcja transfer_74hc595 (unsigned char dana) pobiera 8 bitów danych i analizując bit po bicie kolejno wystawia je na linię DS. Każdemu bitowi na linii DS musi towarzyszyć impuls dodatni na linii SH_CP (prostokąty podświetlone). Czas stanu niskiego i wysokiego impulsu to 1us.
95 SCK = SH_CP CS = ST_CP MOSI = DS W celu usprawnienia obsługi rejestru łączymy linie SH_CP, ST_CP i DS. z liniami magistrali SPI. Będziemy teraz mogli skorzystać z rejestrów interfejsu SPI mikrokontrolera tj. podać od razu bajt danych dla linii DS oraz wydać rozkaz generowania impulsów zegarowych na potrzeby wpisu do rejestru 74HC595 zamiast programowego taktowania linii zegarowej.
96
97
98
99
GND(VSS) i VCC - masa i zasilanie. V0 - regulacja kontrastu
Programowanie wyświetlacza LCD według: http://radziu.dxp.pl Wyświetlacz graficzny 2 x 16 ma 2 wiersze, 16 znaków w wierszu, każdy znak jest wyświetlany w matrycy 5 x 8 pikseli. (2*8 wierszy * 5*16 kolumn
Bardziej szczegółowoMikroprocesory 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ółowoProgramowanie Mikrokontrolerów
Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:
Bardziej szczegółowoWyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780
Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą
Bardziej szczegółowoPodstawowe 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ółowoBootloader 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ółowoPoradnik 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ółowoPodstawowe 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ółowoSYSTEM 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ółowoProgramowanie 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ółowoPodstawowe 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ółowoTechnika Mikroprocesorowa
Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa
Bardziej szczegółowoATMega328. Memories: Flash memory 32kB SRAM 2kB EEPROM 1kB
ATMega328 Memories: Flash memory 32kB SRAM 2kB EEPROM 1kB 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
Bardziej szczegółowoKomunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski
Komunikacja w mikrokontrolerach Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Treść kursu Programowanie mikrokontrolerów AVR (ATMEL) Orientacja na komunikację międzyukładową w C Literatura
Bardziej szczegółowoWYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 2
Politechnika Białostocka WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ Instrukcja do zajęć laboratoryjnych Temat ćwiczenia: Sygnały zegarowe. Obsługa GPIO i przetwornika ADC Numer
Bardziej szczegółowoMikroprocesory 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ółowoCzujnik zbliżeniowy indukcyjny
Czujnik zbliżeniowy indukcyjny Wizualizacja Danych Sensorycznych Projekt Łukasz Adamczuk (133047) 1. Wstęp. Czujniki indukcyjne zbliżeniowe są elementami automatyki reagującymi na wprowadzenie metalu w
Bardziej szczegółowoMikroprocesory i Mikrosterowniki
Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,
Bardziej szczegółowo1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych
Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy
Bardziej szczegółowoMagistrala 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ółowostart 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ółowoOpis procedur asemblera AVR
Piotr Kalus PWSZ Racibórz 10.05.2008 r. Opis procedur asemblera AVR init_lcd Plik: lcd4pro.hvr Procedura inicjuje pracę alfanumerycznego wyświetlacza LCD za sterownikiem HD44780. Wyświetlacz działa w trybie
Bardziej szczegółowoLABORATORIUM. 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ółowo4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.
13 4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy,
Bardziej szczegółowoMikroprocesory i Mikrosterowniki
Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,
Bardziej szczegółowoLABORATORIUM. 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ółowo2. Architektura mikrokontrolerów PIC16F8x... 13
Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator
Bardziej szczegółowoKomunikacja 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ółowoListing_ $crystal = deklaracja
------------------------------------------------- Listing_4 ---------------------------------------------------- $crystal = 8000000 deklaracja częstotliwości kwarcu $regfile "m8def.dat" biblioteka mikrokontrolera
Bardziej szczegółowo4 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ółowoDOKUMENTACJA. 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ółowoInstytut 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ółowoInstytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery Dostęp do portów mikrokontrolera ATmega32 język C laboratorium: 10 autorzy: dr
Bardziej szczegółowoUproszczony 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ółowoWbudowane 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ółowoZaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:
Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi
Bardziej szczegółowoMikrokontrolery 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ółowoUniwersalny 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ółowoPolitechnika 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ółowoInstytut 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ółowoZespół Szkół Technicznych. Badanie wyświetlaczy LCD
Zespół Szkół Technicznych Badanie wyświetlaczy LCD WYŚWIETLACZE LCD CZĘSC TEORETYCZNA ZALETY: ) mały pobór mocy, 2) ekonomiczność pod względem zużycia energii (pobór prądu przy 5V mniejszy niż 2mA), 3)
Bardziej szczegółowoProgramowanie mikrokontrolerów. 8 listopada 2007
Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik
Bardziej szczegółowoZewnętrzne układy peryferyjne cz. 1 Wykład 12
Zewnętrzne układy peryferyjne cz. 1 Wykład 12 Wyświetlacz LCD zgodny z HD44780 Wyświetlacz LCD zgodny z HD44780 2 HD44780 Standardowy sterownik alfanumerycznych wyświetlaczy LCD opracowany przez firmę
Bardziej szczegółowoKomunikacja 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ółowoSzkolenia specjalistyczne
Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com
Bardziej szczegółowoLOW 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ółowoMikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4
1 Ćwiczenie nr 4 Program ćwiczenia: Interfejs szeregowy SPI obsługa sterownika ośmiopozycyjnego, 7-segmentowego wyświetlacza LED Interfejs szeregowy USART, komunikacja mikrokontrolera z komputerem PC.
Bardziej szczegółowoWykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC
Wykład 2 Przegląd mikrokontrolerów 8-bit: -AVR -PIC Mikrokontrolery AVR Mikrokontrolery AVR ATTiny Główne cechy Procesory RISC mało instrukcji, duża częstotliwość zegara Procesory 8-bitowe o uproszczonej
Bardziej szczegółowoRev Ź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ółowoKomunikacja 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ółowoLCD (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ółowoInstrukcja do ćwiczeń
Instrukcja do ćwiczeń SYSTEMY WBUDOWANE Lab. 3 Przetwornik ADC + potencjometr 1. Należy wejść na stronę Olimexu w celu znalezienia zestawu uruchomieniowego SAM7-EX256 (https://www.olimex.com/products/arm/atmel/sam7-ex256/).
Bardziej szczegółowoAlfanumeryczny wyświetlacz LCD
Tomasz Charoński Mateusz Lango Architektura Systemów Komputerowych Wprowadzenie Inteligentne wyświetlacze alfanumeryczne LCD są elementem coraz częściej spotykanym w sprzęcie powszechnego użytku: od urządzeń
Bardziej szczegółowoWstę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ółowoKomunikacja w mikrokontrolerach Laboratorium
Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali
Bardziej szczegółowoLABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2
LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie budowy systemów opartych na układach Arduino. W tej części nauczymy się podłączać różne czujników,
Bardziej szczegółowoTechnika 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ółowoNiektóre piny mogą pełnić różne role, zależnie od aktualnej wartości sygnałów sterujących.
Podłączenie mikrokontrolera ATmega8: zasilanie 8 i 22
Bardziej szczegółowoPodstawy 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ółowoTECHNIKA 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ółowoSystemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski
Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/
Bardziej szczegółowoMikroprocesory i mikrosterowniki
Mikroprocesory i mikrosterowniki Wykład 1 wstęp, budowa mikrokontrolera Wydział Elektroniki Mikrosystemów i Fotoniki Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Piotr Markowski
Bardziej szczegółowoProgramowanie 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ółowoAGH 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ółowoInstytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Systemy Czasu Rzeczywistego Zastosowanie interfejsów SPI i I2C do komunikacji laboratorium: 02 autor: mgr inż. Paweł
Bardziej szczegółowoMikroprocesory i Mikrosterowniki Laboratorium
Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali
Bardziej szczegółowoPodstawy 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ółowoWbudowane 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ółowoInstytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Systemy Czasu Rzeczywistego Programowanie wyświetlacza graficznego LCD laboratorium: 01 autor: mgr inż. Paweł Pławiak
Bardziej szczegółowoHC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy bufor dwukierunkowy HC244 dwa 4-bitowe bufory jednokierunkowe
Bufory (BUFFER) Bufory stosuje się po to by: - zwiększyć obciążalność magistrali - chronić układ wysokiej skali integracji - sterować przepływem danych HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy
Bardziej szczegółowoCW-HC08 Programowanie mikrokontrolera MC9S08QD4 [2]
CW-HC08 Programowanie mikrokontrolera MC9S08QD4 [2] Jan Kędzierski Marek Wnuk Wrocław 2012 Dokument stanowi instrukcję do ćwiczenia w ramach kursu Sterowniki robotów. Przebieg ćwiczenia Celem ćwiczenia
Bardziej szczegółowoObsługa modułu wyświetlacza LCD
Kurs programowania mikrokontrolerów PIC (4) Obsługa modułu wyświetlacza LCD Dodatkowe materiały na CD/FTP Niestety, jeszcze nie doczekaliśmy się urządzeń, które komunikują się z nami w ludzki sposób, tzn.
Bardziej szczegółowoInstrukcja obsługi i użytkowania Panel sterujący KPZ 52(E) 7
Instrukcja obsługi i użytkowania Panel sterujący KPZ 52(E) 7 1 Wyświetlacz 2 Ekran LCD 0 : Waga znajduje się w położeniu zerowym STABLE : Waga znajduje się w położeniu spoczynkowym (bez zmiany wskazań
Bardziej szczegółowoWbudowane 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ółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu
Bardziej szczegółowoProgramowanie 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ółowoUkłady czasowo-licznikowe w systemach mikroprocesorowych
Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość
Bardziej szczegółowoMikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe
Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę
Bardziej szczegółowo1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15
3 1. Wstęp... 9 2. Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE... 11 3. Rdzeń mikrokontrolerów ST7FLITE... 15 3.1. Jednostka centralna...16 3.2. Organizacja i mapa pamięci...19 3.2.1. Pamięć RAM...20
Bardziej szczegółowoPRZETWORNIK ADC w mikrokontrolerach Atmega16-32
Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA PRZETWORNIK ADC w mikrokontrolerach Atmega16-32
Bardziej szczegółowoInż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI
Inż. Kamil Kujawski Inż. Krzysztof Krefta Wykład w ramach zajęć Akademia ETI Metody programowania Assembler Język C BASCOM Assembler kod maszynowy Zalety: Najbardziej efektywny Intencje programisty są
Bardziej szczegółowoProgramowanie Układów Logicznych kod kursu: ETD6203. Komunikacja z układami cyfrowymi W dr inż. Daniel Kopiec
Programowanie Układów Logicznych kod kursu: ETD6203 Komunikacja z układami cyfrowymi W5 30.03.2016 dr inż. Daniel Kopiec Plan wykładu 1 2 3 4 5 6 Standard komunikacji RS232 Enkoder obrotowy Wyświetlacz
Bardziej szczegółowoWykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430
Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F
Bardziej szczegółowoDokumentacja Techniczna. Czytnik RFID UW-M4GM
Dokumentacja Techniczna Czytnik RFID UW-M4RM UW-M4GM -man-2 1 WPROWADZENIE... 3 2 DANE TECHNICZNE... 4 3 OPIS ELEMENTÓW OBUDOWY... 5 4 KOMENDY PROTOKÓŁU MODBUS RTU... 6 4.1 Adresy MODBUS...7 2 1 Wprowadzenie
Bardziej szczegółowoPROGRAMOWALNE 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ółowoObługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011
Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 1 Spis treści 1 Charakterystyka projektu. 3 2 Schematy układów elektronicznych. 3 2.1 Moduł czujników.................................
Bardziej szczegółowoUkłady czasowo-licznikowe w systemach mikroprocesorowych
Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość
Bardziej szczegółowoPRUS. projekt dokumentacja końcowa
Adrian Antoniewicz Marcin Dudek Mateusz Manowiecki 17.01.2007 PRUS projekt dokumentacja końcowa Temat: Układ zdalnego sterowania (za pomocą interfejsu RS-232) wyświetlaczem LCD. Spis treści: 1. 2. 3. 4.
Bardziej szczegółowoSystemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski
Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/
Bardziej szczegółowoDodatek D. Układ współpracy z klawiaturą i wyświetlaczem 8279
Dodatek D Układ współpracy z klawiaturą i wyświetlaczem 8279 Programowany układ współpracy z klawiatura i wyświetlaczem może być wykorzystywany do automatycznej obsługi matrycy klawiszy oraz zestawu wskaźników
Bardziej szczegółowoExpandery 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Ćwiczenie 7 Matryca RGB
IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -1- Ćwiczenie 7 Matryca RGB IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z inną oprócz RS - 232 formą szeregowej
Bardziej szczegółowoLabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED
LabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED Przygotował: Jakub Wawrzeńczak 1. Wprowadzenie Lekcja przedstawia wykorzystanie
Bardziej szczegółowo1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33
Spis treści 3 1. Wprowadzenie...11 1.1. Wstęp...12 1.2. Mikrokontrolery rodziny ARM...13 1.3. Architektura rdzenia ARM Cortex-M3...15 1.3.1. Najważniejsze cechy architektury Cortex-M3... 15 1.3.2. Rejestry
Bardziej szczegółowoUrzą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ółowoProgramowanie mikrokontrolerów AVR
Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem
Bardziej szczegółowoWyświetlacze graficzne : 162x64 z kontrolerem S1D x60 z kontrolerem S1D15710
S1D15705 Wyświetlacze graficzne : 162x64 z kontrolerem S1D15705 219x60 z kontrolerem S1D15710 S1D15710 Wyświetlacze S1D15705/S1D15710 są graficznymi wyświetlaczami ciekłokrystalicznymi. Wyposażone są w
Bardziej szczegółowoOPBOX 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ółowoUkł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ółowoModuł 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