Sterownik wyświetlacza graficznego LCD typu EG2801S
|
|
- Irena Brzezińska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Sterownik wyświetlacza graficznego LCD typu EG2801S NOTATNIK KONSTRUKTORA Wyświetlacze graficzne LCD bez wbudowanego układu kontrolera mają dość złożony sposób sterowania, zmuszającym zazwyczaj konstruktorów do sięgania po specjalizowane układy scalone sterowników LCD. Jak jednak pokazuje praktyka, obsługa takich wyświetlaczy jest także możliwa bezpośrednio przez mikrokontroler, bez konieczności stosowania raczej trudno dostępnych kontrolerów graficznych typu S1D13xxx. Przykład takiego rozwiązania był już prezentowany na łamach Elektroniki Praktycznej. Artykuł przedstawia kolejny sposób dołączenia do mikrokontrolera typu STM32F107 graficznego wyświetlacza LCD bez wbudowanego układu kontrolera. Pokazany na fotografii 1 moduł typu EG2801S-AR firmy EPSON jest monochromatycznym, graficznym wyświetlaczem LCD o rozdzielczości ekranu piksele. Należy on do rodziny wyświetlaczy LCD, które nie są wyposażone w układ kontrolera, a jedynie w drajwery wierszy i kolumn. Zwykle wyświetlacze tego typu mają wbudowany jeden układ scalony sterownika wierszy i od jednego do kilkunastu połączonych szeregowo scalonych układów sterowników kolumn. Przykładowe modele wyświetlaczy tego typu umieszczono na wykazie w tabeli 1. Wyświetlacz EG2801S-AR jest wyposażony w jeden układ sterownika wierszy SED1190F i 8 układów sterowników kolumn SED1180F. Interesujący może być fakt, iż moduł EG4401S- AR o rozdzielczości pikseli ma taki sam schemat elektryczny. Różnica w budowie obu wyświetlaczy polega jedynie na tym, iż w module EG2801S cały łańcuch 8 układów SED1180F steruje jedną linią w panelu LCD, natomiast w module EG4401S pierwsze 4 układy SED1180F z łańcucha sterują linią w górnej połówce ekranu, podczas gdy kolejne 4 układy Fotografia 1. Wyświetlacz graficzny LCD typu EG2801S-AR firmy EPSON Tabela 1. Moduły graficznych wyświetlaczy LCD firmy EPSON rodziny EGxxxS o współczynniku multipleksowania 1/64 Lp Typ Rozmiar ekranu Sterownik wierszy Sterownik kolumn 1 EG2201S-AR piksele 1 SED1190F 2 SED1180F 2 EG2401S-AR piksele 1 SED1190F 4 SED1180F 3 EG2801S-AR piksele 1 SED1190F 8 SED1180F 4 EG4401S-AR pikseli 1 SED1190F 8 SED1180F 5 EG4801S-AR pikseli 1 SED1190F 16 SED1180F Tabela2. Rozmieszczenie wyprowadzeń wyświetlacza EG2801S i ich funkcje Pin Sygnał Nazwa Opis nr 1 VDD Power supply Napięcie zasilania, +5V DC ±5% 2 VSS Ground Masa 3 VLCD Power supply for LCD panel Regulacja kontrastu LCD, -17V DCmin 4 LP Latch pulse Zapis zawartości linii obrazu (aktywne zbocze opadające) 5 FR Frame pulse Sygnał AC sterowania panelem LCD 6 YDIS Display control Sterowanie modułem LCD (L moduł wyłączony, H moduł załączony) 7 YSCL Y shift clock Zegar wierszy (aktywne zbocze opadające) 8 DIN Synchronizing pulse Znacznik początku pola obrazu 9 XSCL X shift clock Zegar danych (aktywne zbocze opadające) 10 XECL Enable clock Zegar wyboru drivera kolumn 11 D0 Data 0 Bit b0 słowa danych (lsb) 12 D1 Data 1 Bit b1 słowa danych 13 D2 Data 2 Bit b2 słowa danych 14 D3 Data 3 Bit b3 słowa danych (msb) 71
2 NOTATNIK KONSTRUKTORA z łańcucha sterują linią w dolnej połówce ekranu. Odmianą modułu EG2801S-AR jest także wyświetlacz firmy EPSON typu ECM-A0083. W zasadzie jest to moduł EG2801S-AR z zainstalowanym podświetleniem powierzchni ekranu za pomocą folii EL. Wszystkie sygnały sterujące układów SED1180F i SED1190F oraz linie zasilania są wyprowadzone w wyświetlaczu EG2801S- AR na 14-pinowe złącze krawędziowe GoldPin o rastrze 2,54 mm. Rozmieszczenie wyprowadzeń opisuje tabela 2. Listing 1. Funkcja konfigurująca układy mikrokontrolera STM32 do obsługi wyświetlacza EG2801S void LCD_Init(void) GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; DMA_InitTypeDef DMA_InitStructure; // Initialization of the frame buffer // Frame buffer contains patterns of DIN, YSCL and XECL control signals LCD_InitFrameBuffer(); // Clock enable of used peripherals // LCD uses DMA1, TIM2, TIM4, TIM5, GPIOA, GPIOD and AFIO RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 RCC_APB1Periph_TIM4 \ RCC_APB1Periph_TIM5, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA RCC_APB2Periph_GPIOD \ RCC_APB2Periph_AFIO, ENABLE); // Configuration of LCD data lines and signal lines // controlled from RAM. LCD DIN signal (row scan start-up pulse) // is read-out from RAM to pin PD6. LCD YSCL signal (row scan shift // clock) is read-out from RAM to pin PD5. LCD XECL signal (enable // transition clock) is read-out from RAM to pin PD4. LCD data lines // are connected to pins PD3..PD0 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 GPIO_Pin_5 GPIO_Pin_4 \ GPIO_Pin_3 GPIO_Pin_2 GPIO_Pin_1 GPIO_ Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOD, &GPIO_InitStructure); - // Configuration of LCD X shift clock / data shift clock // LCD data shift clock XSCL is generated on pin PD12 by channel // 1 of timer TIM4 - // PD12 configuration as TIM4_CH1 output GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_PinRemapConfig(GPIO_Remap_TIM4, ENABLE); // TIM4 time base configuration (fclk=72mhz) TIM_TimeBaseStructure.TIM_Period = LCD_T_XSCL-1; TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); TIM_ARRPreloadConfig(TIM4, ENABLE); // TIM4 Channel_1 configuration: PWM1 Mode / 50% TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_Pulse = LCD_T_XSCL/2; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM4, &TIM_OCInitStructure); TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable); // Clock source configuration: TIM4 is the master for timers TIM2 and TIM5 TIM_SelectMasterSlaveMode(TIM4, TIM_MasterSlaveMode_Enable); TIM_SelectOutputTrigger(TIM4, TIM_TRGOSource_Update); - // Configuration of LCD data latch pulse // LCD data latch pulse LP is generated on pin PA0 by channel // 1 of timer TIM5 - // PA0 configuration as TIM5_CH1 output GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); // Clock source configuration: TIM5 is the slave of TIM4 TIM_SelectSlaveMode(TIM5, TIM_SlaveMode_External1); TIM_SelectInputTrigger(TIM5, TIM_TS_ITR2); // TIM5 time base configuration (fclk=ftim4) TIM_TimeBaseStructure.TIM_Period = LCD_COL_QTY/4-1; TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure); TIM_ARRPreloadConfig(TIM5, ENABLE); // TIM5 Channel1 configuration: PWM1 Mode TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_Pulse = LCD_COL_QTY/4-1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; TIM_OC1Init(TIM5, &TIM_OCInitStructure); TIM_OC1PreloadConfig(TIM5, TIM_OCPreload_Enable); Sekwencje sygnałów sterujących modułem EG2801S przedstawia rysunek 2. Dane do wyświetlacza są wpisywane synchronicznie w takt sygnału zegara danych XSCL. Zapis danych jest wykonywany opadającym zboczem tego sygnału. W jednym takcie zegara wpisywane są stany czterech kolejnych punktów w linii C x, C x+1, C x+2, C x+3 (gdzie x=1, 5, 9,..61), odpowiadające odpowiednio bitom b3, b2, b1 i b0. Ustawiony bit odpowiada zapalonemu pikselowi. Po każdym 16- tym impulsie sygnału zegara danych XSCL opadające zbocze na linii XECL aktywuje odbiór danych w kolejnym układzie sterownika kolumn SED1180F w łańcuchu, w wyniku czego następne 16 słów danych (czyli stany 64 pikseli) jest zapisywane w tym układzie. Po zapisie zawartości całej linii obrazu, co w przypadku wyświetlacza EG2801S zajmuje 128 takty zegara XSCL, opadające zbocze na linii LP zatrzaskuje w sterownikach kolumn wpisane dane. Od tego momentu rozpoczyna się ich wyświetlanie, a do rejestrów przesuwnych sterowników kolumn SED1180F wpisywana jest zawartość kolejnej linii obrazu, po czym cały cykl się powtarza. Obraz jest wyświetlany dynamicznie, linia po linii. Wybór kolejnych wyświetlanych linii obrazu jest realizowany przez układ sterownika wierszy SED1190F. Podczas trwania pierwszej linii obrazu na wejście DIN sterownika jest podawany stan wysoki, który jest zapisywany opadającym zboczem sygnału zegara wierszy YSCL. W tym momencie jest aktywowane wyświetlanie pierwszej linii obrazu. Kolejne impulsy zegara YSCL powodują przesuwanie tego stanu na następne wyjścia układu i tym samym wyświetlanie kolejnych linii obrazu. Aby obraz był stabilny, przełączanie wierszy musi się odbywać synchronicznie z zapisem do sterowników kolumn wyświetlanych danych, a więc tuż przed sygnałem LP zapisu linii. Standardowa częstotliwość odświeżania obrazu dla wyświetlacza EG2801S wynosi 60 obrazów na sekundę [1.], co przekłada się na częstotliwości sygnałów zegarowych YSCL i XSCL odpowiednio równe: 3840 Hz i Hz. Oprócz sygnałów sterujących wpisywaniem do wyświetlacza danych i wybieraniem kolejnych wyświetlanych linii obrazu, moduł EG2801S wymaga dodatkowego sygnału kontrolnego FR. Sygnał ten zmienia swój stan na przeciwny na początku każdego pola obrazu i jest wykorzystywany przez sterowniki wierszy i kolumn do generowania napięć sterujących panelem LCD o zerowej składowej stałej. Jak więc widać, sterowanie wyświetlaczem EG2801S jest dość złożone. Problem stanowi zarówno liczba sygnałów sterujących jak i ich wzajemne zależności czasowe. Z tego też powodu do obsługi wyświetlaczy graficznych LCD firma EPSON opracowała specjalizowane układy sterowników, 72
3 Sterownik wyświetlacza graficznego LCD typu EG2801S Rysunek 2. Przebiegi sterujące wyświetlaczem EG2801S-AR (Cx numer kolumny, Wy numer wiersza) np. E Jednak w przeciwieństwie do samych wyświetlaczy, układy te są mało popularne i trudno dostępne. Okazuje się jednak, że wyświetlacz EG2801S może być sterowany bezpośrednio przez mikrokontroler rodziny STM32, bez potrzeby używania specjalizowanego układu sterownika LCD. Co więcej, taka obsługa wyświetlacza LCD może być zrealizowana w mikrokontrolerze w sposób całkowicie sprzętowy, nie obciążający jednostki centralnej. Rysunek 3. Schemat blokowy sterownika wyświetlacza EG2801S-AR zbudowanego na bazie układów peryferyjnych mikrokontrolera STM32 Sterownik wyświetlacza na bazie mikrokontrolera STM32 Mikrokontrolery STM32 nie są wyposażone w układ sterownika wyświetlaczy graficznych LCD, który pozwalałby na bezpośrednią obsługę modułu EG2801S. Tym niemniej taki sterownik może zostać zrealizowany na bazie układów peryferyjnych mikrokontrolera. Przykład implementacji podobnego sterownika dla wyświetlacza typu EG9018S był już opisany w Elektronice Praktycznej [2]. Tamten wyświetlacz ma jednak znacznie prostsze sterowanie w porównaniu z modułem EG2801S, przez co jego sterownik nie może być użyty do obsługi wyświetlacza EG2801S. Przedstawiony w artykule sterownik modułu EG2801S stanowi zmodyfikowaną wersję wspomnianego wcześniej układu, zapewniającą generowanie wszystkich koniecznych sygnałów sterujących wyświetlaczem EG2801S. Schemat blokowy układu przedstawia rysunek 3. Sterownik wyświetlacza EG2801S jest zbudowany z trzech układów czasowo-licznikowych TIM4, TIM5 i TIM2 oraz układu DMA1. Timer TIM4 pracuje jako generator sygnału zegara danych XSCL. Układ ten jest taktowany niepodzielonym sygnałem zegarowym magistrali APB1 i odmierza okres sygnału XSCL. Kanał CH1 tego timera pracuje w trybie PWM generując na swoim wyjściu przebieg prostokątny o wypełnieniu 50%, którego opadające zbocze występuje w połowie okresu zliczania TIM4. Sygnał ten jest doprowadzony do modułu LCD jako zegar danych XSCL. Zdarzenie przeładowania licznika TIM4 (tj. TIM4 update event) taktuje układy czasowo-licznikowe TIM5 i TIM2, dzięki czemu generowane przez nie sygnały są zsynchronizowane z sygnałem zegara danych XSCL. Timer TIM5 odmierza czas trwania jednej linii obrazu, wynoszący w przypadku modułu EG2801S 128 takty zegara XSCL. Analogicznie to timera TIM4, kanał CH1 układu TIM5 także pracuje w trybie PWM. Zmienia on stan swego wyjścia z niskiego na wysoki podczas ostatniego taktu zegara XSCL w danej linii, generując tym samym dla wyświetlacza LCD impuls LP zapisu zawartości linii obrazu. Układ czasowo-licznikowy TIM2 realizuje z kolei syntezę sygnału FR. W tym celu timer TIM2 odmierza czas trwania dwóch pełnych pól obrazu, co w przypadku wyświetlacza EG2801S trwa takty zegara XSCL. Kanał CH2 tego timera pracuje w trybie PWM generując przebieg prostokątny o wypełnieniu 50%, zmieniający swój stan na przeciwny podczas każdego pola obrazu. Sekwencje pozostałych sygnałów sterujących wyświetlaczem LCD, tj.: zegar wyboru drivera kolumn XECL, zegar wierszy YSCL, znacznik początku pola obrazu DIN, są zapisane w pamięci RAM w buforze obrazu razem z danymi do wyświetlenia. Sekwencje przebiegów XECL, YSCL i DIN są zapisane odpowiednio na bitach nr b4, b5 i b6, podczas, gdy dane obrazu są zapisane na bitach b3 b0. Przesyłanie danych z bufora obrazu do portów I/O PD6..PD0 mikrokontrolera realizuje kanał 1 kontrolera DMA1, pracującego w trybie kołowym z postinkrementacją adresu pamięci. Transmisja danych jest inicjowana przez zdarzenie porównania z kanału CH1 timera TIM4 (tj. TIM4_CH1 compare event). Ma ono miejsce w połowie okresu zliczania układu TIM4, tj. w momencie opadającego zbocza sygnału zegara XSCL. W odpowiedzi na to zdarzenie kontroler DMA1 przesyła jeden bajt z pamięci bufora obrazu do rejestru wyjściowego ODR portu PD. Przy częstotliwości sygnału zegara magistrali AHB równej 72 MHz, transmisja ta zajmuje ok ns. Takie jest też opóźnienie zboczy sygnałów XECL, YSCL i DIN w stosunku do zbocza opadającego sygnału zegara XSCL. 73
4 NOTATNIK KONSTRUKTORA Listing 2. Funkcja inicjalizująca bufor obrazu INLINE void LCD_InitFrameBuffer(void) uint16_t i, j; // loop row and column counters uint8_t init_data; // LCD frame buffer init data // write signal patterns and LCD init data to LCD frame buffer for (i=0; i < LCD_ROW_QTY; i++) for (j=0; j < LCD_COL_QTY/4; j++) // Set picture pixels to off state (bits b3..b0) init_data = LCD_PIXEL_OFF << 3 LCD_PIXEL_OFF << 2 LCD_PIXEL_OFF << 1 LCD_PIXEL_OFF; // Write XECL pattern (bit b4) if (j%16 == 15) init_data = 0x10; // bit is set in each 16th byte // Write YSCL pattern (bit b5) if (j == LCD_COL_QTY/4-1) init_data = 0x20; // bit is set in the last byte of each row // Write DIN pattern (bit b6) if (i == 0 && j == LCD_COL_QTY/4-1) init_data = 0x40; // bit is set in the last byte of the first row if (i == 1 && j == 0) init_data = 0x40; // and the first byte of the second row LCD_frame_buffer[i][j] = init_data; // store init data in frame buffer // // Configuration of LCD AC driving signal // LCD AC driving signal FR is generated on pin PA1 by // channel 2 of timer TIM2 // PA1 configuration as TIM2_CH2 output GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); // Clock source configuration: TIM2 is the slave of TIM4 TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_External1); TIM_SelectInputTrigger(TIM2, TIM_TS_ITR3); // TIM2 time base configuration (fclk=ftim4) TIM_TimeBaseStructure.TIM_Period = 2 * LCD_ROW_QTY * LCD_COL_QTY/4-1; TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_ARRPreloadConfig(TIM2, ENABLE); // TIM2 Channel2 configuration: PWM1 Mode TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_Pulse = LCD_ROW_QTY * LCD_COL_QTY/4; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; TIM_OC2Init(TIM2, &TIM_OCInitStructure); TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Enable); -- // Configuration of LCD data transfer // LCD data is transfered to pins PD3..PD0 by DMA1 controller // via channel 1. DMA transfer is requested by compare event in channel 1 of timer TIM4 -- // DMA1 Channel 1 configuration DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&(gpiod->odr); DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&lcd_frame_buffer[0][0]; DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; DMA_InitStructure.DMA_BufferSize = LCD_ROW_QTY * LCD_COL_QTY/4; DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; DMA_Init(DMA1_Channel1, &DMA_InitStructure); // Enable DMA1 Channel 1 DMA_Cmd(DMA1_Channel1, ENABLE); // Set compare event in channel 1 of timer TIM4 as request //to start DMA transfer TIM_DMACmd(TIM4, TIM_DMA_CC1, ENABLE); -- // Configuration of display control signal // LCD display is enabled by high level on pin PA2 (YDIS signal) -- // PA2 configuration as GPIO output GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); // Enable LCD module LCD_DISPLAY_ON; -- // Start servicing LCD -- // Request the first DMA transfer TIM_GenerateEvent(TIM4, TIM_EventSource_CC1); // Enable TIM2 counter TIM_Cmd(TIM2, ENABLE); // Enable TIM5 counter TIM_Cmd(TIM5, ENABLE); // Enable TIM4 counter TIM_Cmd(TIM4, ENABLE); Ostatni z sygnałów kontrolnych wyświetlacza EG2801S, tj. YDIS sterujący załączaniem i wyłączaniem modułu LCD, jest uzyskiwany w drodze programowej obsługi linii nr 2 portu PA. Realizacja praktyczna sterownika Model sterownika został wykonany na bazie zestawu uruchomieniowego STM32 Butterfly, wyposażonego w mikrokontroler STM32F107 (fotografia 4). Schemat połączeń modułu wyświetlacza EG2801S z płytką STM32 Butterfly pokazano na rysunku 5. Wyświetlacz LCD jest bezpośrednio dołączony do portów mikrokontrolera. Co prawda, moduł EG2801S jest przeznaczony do sterowania sygnałami logicznymi w standardzie 5V, jednak jak wykazały próby z egzemplarzem wyświetlacza typu EG2801S-AR oraz typu ECM-A0083, sterowanie tych modułów sygnałami o poziomie +3,3V działa poprawnie. Linia YDIS sterująca załączaniem / wyłączaniem modułu EG2801S jest dodatkowo spolaryzowana rezystorem R1 do masy. Dzięki temu podczas restartu mikrokontrolera, jak również podczas jego programowania, linia YDIS znajduje się w stanie niskim, wymuszając tym samym wyłączenie modułu wyświetlacza, co zabezpiecza panel LCD przed uszkodzeniem wskutek pojawienia się na nim napięcia o niezerowej składowej stałej. Sytuacja taka może mieć miejsce przy braku sygnałów sterujących wyświetlaczem LCD. Układ zabezpieczający wykorzystuje fakt, iż podczas restartu mikrokontrolera wszystkie jego porty I/O, w tym linia PA2, są konfigurowane jako niespolaryzowane wejścia. O poziomie napięcia w linii YDIS decyduje w takich warunkach rezystor R1. Do generacji ujemnego napięcia VLCD, koniecznego do polaryzacji panelu LCD, wykorzystano pompę ładunkową z układu MAX232. W temperaturze pokojowej optymalny kontrast obrazu uzyskano przy napięciu na wejściu VLCD równym -7V, natomiast obraz całkowicie znikał / był całkowicie zaczerniony przy napięciu na wejściu VLCD odpowiednio równym -6V i -9V. Poziom napięcia ujemnego dostarczanego przez układ MAX232 okazał się w warunkach modelowych zupełnie wystarczający. Należy jednak mieć na uwadze, iż nie jest to regułą i w innych warunkach może być konieczny znacznie szerszy zakres regulacji napięcia VLCD. Podawany przez producenta wyświetlacza EG2801S zakres regulacji napięcia polaryzacji panelu LCD zawiera się w granicach -4-17V [1] Oprogramowanie Kod źródłowy funkcji LCD_Init() konfigurującej układy peryferyjne mikrokontrolera STM32F107 do pracy jako sterownik wyświetlacza EG2801S zamieszczono na listingu 1. Programowanie poszczególnych 74
5 Sterownik wyświetlacza graficznego LCD typu EG2801S Fotografia 4. Układ testowy, który posłużył do opracowania sterownika wyświetlacza EG2801S-AR (tutaj z podłączonym modułem typu ECM-A0083) Rysunek 5. Schemat podłączenia wyświetlacza EG2801S do zestawu uruchomieniowego STM32 Butterfly układów nie różni się w sposób znaczący od konfiguracji peryferii mikrokontrolera STM32, szczegółowo opisanej przy okazji omawiania konstrukcji sterownika dla wyświetlacza EG9018C. Z tego też względu osoby zainteresowane szczegółami programowania poszczególnych układów peryferyjnych powinny sięgnąć do tamtego artykułu. Jedyną nowością w stosunku do sterownika EG9018C jest wywołanie funkcji LCD_InitFrameBuffer() (listing 2). Jej zadanie jest dwojakie. Po pierwsze, czyści ona pamięć obrazu, zapisując na pozycjach bitowych b3..b0 wartości zerowe. Po drugie, funkcja ta zapisuje w buforze obrazu sekwencje sygnałów XECL, YSCL i DIN sterujących wyświetlaczem. W przypadku sygnału XECL inicjalizacja polega na ustawieniu bitu b4 w każdym 16-tym bajcie w buforze obrazu, co odpowiada wygenerowaniu dodatniego impulsu na linii XECL podczas każdego 16-tego impulsu zegara XSCL. Z kolei w przypadku sygnału YSCL funkcja inicjalizacji bufora obrazu ustawia bit b5 w każdym ostatnim słowie danych należącym do danej linii obrazu, co odpowiada wygenerowaniu dodatniego impulsu na linii YSCL razem z impulsem LP zapisu danych w tej linii. Wreszcie w przypadku sygnału DIN, inicjalizacja bufora obrazu polega na ustawieniu bitu b6 w ostatnim bajcie pierwszej linii i pierwszym bajcie drugiej linii, w wyniku czego na linii DIN pojawia się stan wysoki podczas pierwszego opadającego zbocza zegara YSCL w danym polu obrazu. Skonfigurowany sterownik wyświetlacza LCD nie wymaga dalszej uwagi ze strony jednostki centralnej. Generacja sygnałów sterujących wyświetlaczem oraz przesyłanie do niego danych do wyświetlenia są realizowane w tle. Z poziomu programu użytkow- Listing 3. Funkcje realizujące zaświecanie i gaszenie piksela void LCD_PixelOn(uint16_t Xpos, uint16_t Ypos) // column number, row number and bit number in frame buffer uint8_t colno, rowno, bitno; // if pixel coordinates within range if (Xpos < LCD_XSIZE && Ypos < LCD_YSIZE) // Calculate pixel position in LCD frame buffer rowno = (Ypos < LCD_ROW_QTY)? Ypos : Ypos - LCD_ROW_QTY; colno = (Ypos < LCD_ROW_QTY)? Xpos/4 : (Xpos + LCD_XSIZE)/4; bitno = 3 - Xpos%4; // Draw pixel // (acces to pixel bit is performed via bit-banding region of SRAM) *( IO uint32_t *)(SRAM_BB_BASE (((uint32_t)&lcd_frame_buffer[rowno][colno] - SRAM_BASE) << 5) \ ((bitno) << 2)) = LCD_PIXEL_ON; void LCD_PixelOff(uint16_t Xpos, uint16_t Ypos) // column number, row number and bit number in frame buffer uint8_t colno, rowno, bitno; // if pixel coordinates within range if (Xpos < LCD_XSIZE && Ypos < LCD_YSIZE) // Calculate pixel position in LCD frame buffer rowno = (Ypos < LCD_ROW_QTY)? Ypos : Ypos - LCD_ROW_QTY; colno = (Ypos < LCD_ROW_QTY)? Xpos/4 : (Xpos + LCD_XSIZE)/4; bitno = 3 - Xpos%4; // Draw pixel // (acces to pixel bit is performed via bit-banding region of SRAM) *( IO uint32_t *)(SRAM_BB_BASE (((uint32_t)&lcd_frame_buffer[rowno][colno] - SRAM_BASE) << 5) \ ((bitno) << 2)) = LCD_PIXEL_OFF; 75
6 NOTATNIK KONSTRUKTORA Fotografia 6. Efekty pracy programu demonstracyjnego Life : a) ekran startowy, b) jeden z kroków symulacji, c) koniec symulacji nika obsługa wyświetlacza ogranicza się do operacji wykonywanych na pamięci bufora obrazu. Zapalenie na wyświetlaczu piksela wymaga ustawienia w buforze obrazu bitu odpowiadającego temu punktowi, natomiast zgaszenie piksela skasowania tego bitu. Kody funkcji realizujących obie operacje przedstawia listing 3. Same funkcje sterowania pojedynczym pikselem nie są zazwyczaj wywoływane w programie użytkownika bezpośrednio, lecz służą do budowy funkcji wyższej warstwy, np. rysujących odcinki, figury geometryczne, czy też wyświetlających mapy bitowe. Nie inaczej jest w przypadku sterownika wyświetlacza EG2801S. Znajdujący się w dołączonych do artykułu materiałach moduł programowy lcd_eg2201_4801.c, poza funkcją LCD_Init(), zawiera także podstawowe funkcje rysowania odcinków, prostokątów, okręgów, map bitowych oraz tekstów. Są to te same funkcje, które zostały stworzone na potrzeby wspomnianego wcześniej sterownika wyświetlacza EG9018C. Ich dokładniejsze omówienie można znaleźć w artykule opisującym ten sterownik. W celu demonstracji działania omówionego w artykule sterownika wyświetlacza EG2801S, został opracowany prosty program realizujący dobrze wszystkim znaną grę w życie. Algorytm programu implementuje oryginalne reguły zdefiniowane przez autora tej gry, brytyjskiego matematyka Johna 76 Conwaya [3]. Efekty działania programu pokazano na fotografii 6. Podsumowanie Opisany sterownik wyświetlacza LCD został praktycznie przetestowany z modułami typu EG2801S-AR oraz ECM-A0083, jednak powinien on również działać z innymi wyświetlaczami LCD o takiej samej konstrukcji. Łatwo je rozpoznać po zamontowanych na obwodzie drukowanym wyświetlacza układach sterowników wierszy SED1190F i sterowników kolumn SED1180F. Deklaracje w pliku nagłówkowym lcd_eg2201_4801.h umożliwiają przystosowanie sterownika do obsługi każdego z typów wyświetlaczy wymienionych w tabeli 1, bez konieczności dokonywania jakichkolwiek zmian w kodzie programu. Ponieważ zaprezentowany sterownik realizuje bezpośrednie sterowanie drajwerami kolumn i wierszy panelu LCD, umożliwia on zaimplementowanie funkcji nieprzewidzianej oryginalnie przez producenta wyświetlacza, a mianowicie uzyskanie na wyświetlaczu dodatkowego stopnia szarości. W tym celu należy powiększyć dwukrotnie rozmiar bufora obrazu, tak aby obejmował on dwa kolejne obrazy. Dodatkowy stopień szarości jest uzyskiwany w takiej konfiguracji przez odpowiednie kodowanie stanu piksela w obu obrazach. Jeżeli w obu obrazach dany piksel będzie wyzerowany, to będzie on zgaszony. Z kolei, jeżeli w obu obrazach piksel będzie ustawiony, to będzie on zaświecony. Natomiast w przypadku kombinacji stanu piksela w obu obrazach równej 10 lub 01 uzyskany zostanie półton. W powyższej konfiguracji bufora obrazu możliwe jest też zrezygnowanie z generowania sygnału kontrolnego FR przez układ czasowo-licznikowy TIM2 i zapisanie sekwencji tego sygnału w buforze obrazu na pozycji nieużywanego obecnie bitu b7. Bit ten powinien być równy 0 we wszystkich słowach danych pierwszego obrazu i być ustawiony we wszystkich słowach danych drugiego obrazu. Aleksander Borysiuk alex_priv@wp.pl Bibliografia [1] Specifications for 1/64 Multiplexing LCD Module EG2201S-AR (128 x 64 dots), EG2401S-AR (256 x 64 dots), EG2801SAR (512 x 64 dots), EG4401S-AR (256 x 128 dots), EG4801S-AR (512 x 128 dots), informacje techniczne firmy Seiko Epson Corporation [2] Aleksander Borysiuk, Sterownik graficznego wyświetlacza LCD 8,4 typu EG9018C z mikrokontrolera STM32, Elektronika Praktyczna 11/2013 [3] Gra w życie, Gra_w_życie
uniwersalnych 1. Klasyfikacja liczników w układach STM32F10x 2. Konfiguracja liczników do realizacji wybranych zadań 2.
Ćwiczenia 6,7: Zastosowania liczników SysTick, RTC oraz uniwersalnych Celem ćwiczeń 6 i 7 jest zapoznanie się z konfiguracją i zastosowaniem timerów. W szczególności studenci poznają sposoby okresowego
Sterownik graficznego wyświetlacza LCD 8,4 typu EG9018C z mikrokontrolera STM32
PROJEKTY Sterownik graficznego wyświetlacza LCD 8,4 typu EG9018C z mikrokontrolera STM32 Wyświetlacze EG9018C były produkowane przez firmę EPSON. Co prawda, obecnie nie są one oferowane, ale nadal można
Technika mikroprocesorowa. Konsola do gier
K r a k ó w 1 1. 0 2. 2 0 1 4 Technika mikroprocesorowa Konsola do gier W yk o n a l i : P r o w a d z ą c y: P a w e ł F l u d e r R o b e r t S i t k o D r i n ż. J a c e k O s t r o w s k i Opis projektu
STM32 dla początkujących (i nie tylko)
STM32 dla początkujących (i nie tylko) Liczniki Trzecia część cyklu związanego z Panelem Edukacyjnym dla STM32F103 zostanie poświęcona licznikom stanowiącym wyposażenie sprzętowe tego mikrokontrolera.
Ukł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ść
Programowanie 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:
Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 PAMIĘCI SZEREGOWE EEPROM Ćwiczenie 3 Opracował: dr inŝ.
Wyś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ą
Przetwornik obrazu w systemie z STM32, czyli jak dołączyć kamerę do mikrokontrolera
Przetwornik obrazu w systemie z STM32, czyli jak dołączyć kamerę do mikrokontrolera Miniaturowe przetworniki obrazu są powszechnie stosowane w sprzęcie elektronicznym. Począwszy od zabawek przez telefony
Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.
Sprawozdanie z projektu MARM Część druga Specyfikacja końcowa Prowadzący: dr. Mariusz Suchenek Autor: Dawid Kołcz Data: 01.02.16r. 1. Temat pracy: Układ diagnozujący układ tworzony jako praca magisterska.
Ć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
Zintegrowany przetwornik obrazu w systemie z mikrokontrolerem
Zintegrowany przetwornik obrazu w systemie z mikrokontrolerem Miniaturowe przetworniki obrazu są powszechnie stosowane w najprzeróżniejszym sprzęcie elektronicznym. Począwszy od zabawek przez telefony
Wyś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
4. Karta modułu Slave
sygnały na magistralę. Można wyróżnić trzy typy układów scalonych takie jak bramki o otwartym kolektorze wyjściowym, bramki trójstanowe i bramki o przeciwsobnym wzmacniaczu wyjściowym. Obciążalność prądową
2. 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
Dołączenie do STM32 manipulatora analogowego i wyświetlacza graficznego
Dołączenie do STM32 manipulatora analogowego i wyświetlacza graficznego W artykule przedstawiamy sposób podłączenia kolejnych urządzeń peryferyjnych do kontrolera STM32. Tym razem przykłady prostych procedur
Systemy 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/
Ukł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ść
Programowanie 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
1. 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
Programowanie mikrokontrolerów 2.0
13.1 Programowanie mikrokontrolerów 2.0 Sterowanie fazowe Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 19 grudnia 2016 Triak Triak jest półprzewodnikowym elementem przełączającym
Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa
Projekt MARM Dokumentacja projektu Łukasz Wolniak Stacja pogodowa 1. Cel projektu Celem projektu było opracowanie urządzenia do pomiaru temperatury, ciśnienia oraz wilgotności w oparciu o mikrokontroler
Politechnika 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
Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D
AGH Katedra Elektroniki Podstawy Elektroniki dla Elektrotechniki Liczniki synchroniczne na przerzutnikach typu D Ćwiczenie 7 Instrukcja do ćwiczeń symulacyjnych 2016 r. 1 1. Wstęp Celem ćwiczenia jest
PAMIĘCI SYNCHRONICZNE
PAMIĘCI SYNCHRONICZNE SDRAM SDRAM Synchroniczna, dynamiczna pamięć RAM Pamięci SDRAM to moduły 168-pinowe z 64-bitową magistralą (lub 72-bitową z kontrolą parzystości). Jest ich kilka rodzajów, ale te
MARM. Laboratorium 1 system zegarów, porty wejścia/wyjścia. M. Suchenek
MARM M. Suchenek Laboratorium 1 system zegarów, porty wejścia/wyjścia Celem laboratorium jest zapoznanie się ze środowiskiem uruchomieniowym Keil µvision, w tym konfiguracja środowiska, systemu zegarów,
Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.
Generowanie sygnałów testowych VHDL Wariant współbieżny (bez procesu): sygnał
Mikrokontroler 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ę
Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel
Katedra Metrologii i Optoelektroniki Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska LABORATORIUM MIKROKONTROLERY I MIKROSYSTEMY Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4
PRUS. 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.
Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne.
Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne. Transmisja szeregowa charakteryzująca się niewielką ilością linii transmisyjnych może okazać się użyteczna nawet w wypadku zastosowania
1.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
Instytut 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
Szkolenia 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
prostych wyświetlaczy
Temat 2: Konfiguracja uniwersalnych portów wejścia/wyjścia (GPIO), obsługa prostych wyświetlaczy Celem ćwiczenia jest prezentacja sposobu konfiguracji i sterowania uniwersalnych portów GPIO μc z serii
ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!
ćwiczenie nr 7 str.1/1 ĆWICZENIE 7 Wprowadzenie do funkcji specjalnych sterownika LOGO! 1. CEL ĆWICZENIA: zapoznanie się z zaawansowanymi możliwościami mikroprocesorowych sterowników programowalnych na
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
TV LCD LED Samsung seria UE**Fxxxx
TV LCD LED Samsung seria UE**Fxxxx Algorytmy diagnozowania telewizora w przypadku zakłóceń wyświetlania obrazu. Zrozumienie przebiegu sygnałów (ścieżek sygnałowych) jest niezbędne do skutecznego rozwiązywania
CW-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
Programowalne Układy Cyfrowe Laboratorium
Zdjęcie opracowanej na potrzeby prowadzenia laboratorium płytki przedstawiono na Rys.1. i oznaczono na nim najważniejsze elementy: 1) Zasilacz i programator. 2) Układ logiki programowalnej firmy XILINX
ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)
ZL9AVR Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019) ZL9AVR to płyta bazowa umożliwiająca wykonywanie różnorodnych eksperymentów związanych z zastosowaniem mikrokontrolerów AVR w aplikacjach
Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.
Kilka informacji o przerzutnikach Jaki układ elektroniczny nazywa się przerzutnikiem? Przerzutnikiem bistabilnym jest nazywany układ elektroniczny, charakteryzujący się istnieniem dwóch stanów wyróżnionych
Wstęp...9. 1. Architektura... 13
Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości
1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.
Ćwiczenie 9 Rejestry przesuwne i liczniki pierścieniowe. Cel. Poznanie właściwości i zasady działania rejestrów przesuwnych.. Poznanie właściwości i zasady działania liczników pierścieniowych. Wprowadzenie.
Politechnika Wrocławska
Politechnika Wrocławska Instytut Cybernetyki Technicznej Wizualizacja Danych Sensorycznych Projekt Kompas Elektroniczny Prowadzący: dr inż. Bogdan Kreczmer Wykonali: Tomasz Salamon Paweł Chojnowski Wrocław,
IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO
IC200UDR002 8 wejść dyskretnych 24 VDC, logika dodatnia/ujemna. Licznik impulsów wysokiej częstotliwości. 6 wyjść przekaźnikowych 2.0 A. Port: RS232. Zasilanie: 24 VDC. Sterownik VersaMax Micro UDR002
Zewnę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ę
Technika 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
Politechnika Białostocka
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: UKŁADY ELEKTRONICZNE 2 (TS1C500 030) UKŁADY CZASOWE Białystok 2014 1. Cele
1.2. Architektura rdzenia ARM Cortex-M3...16
Od Autora... 10 1. Wprowadzenie... 11 1.1. Wstęp...12 1.1.1. Mikrokontrolery rodziny ARM... 14 1.2. Architektura rdzenia ARM Cortex-M3...16 1.2.1. Najważniejsze cechy architektury Cortex-M3... 16 1.2.2.
Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury
Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje
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
Instrukcja pomocnicza TELMATIK do licznika / timera H8DA
www.telmatik.pl Instrukcja pomocnicza TELMATIK do licznika / timera H8DA Wielo-funkcyjne urządzenie H8DA może pracować jako licznik impulsów albo przekaźnik czasowy ( timer ). Poza wyborem rodzaju pracy,
Opis układów wykorzystanych w aplikacji
Opis układów wykorzystanych w aplikacji Układ 74LS164 jest rejestrem przesuwnym służącym do zamiany informacji szeregowej na równoległą. Układ, którego symbol logiczny pokazuje rysunek 1, posiada dwa wejścia
ZL8AVR. Płyta bazowa dla modułów dipavr
ZL8AVR Płyta bazowa dla modułów dipavr Zestaw ZL8AVR to płyta bazowa dla modułów dipavr (np. ZL7AVR z mikrokontrolerem ATmega128 lub ZL12AVR z mikrokontrolerem ATmega16. Wyposażono ją w wiele klasycznych
STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107
Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32Butterfly2 Zestaw STM32Butterfly2 jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity
3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8
3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 Układ PCF 8583 jest pobierającą małą moc, 2048 bitową statyczną pamięcią CMOS RAM o organizacji 256 x 8 bitów. Adresy i dane są przesyłane szeregowo
interfejs szeregowy wyświetlaczy do systemów PLC
LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych
Ćwicz. 4 Elementy wykonawcze EWA/PP
1. Wprowadzenie Temat ćwiczenia: Przekaźniki półprzewodnikowe Istnieje kilka rodzajów przekaźników półprzewodnikowych. Zazwyczaj są one sterowane optoelektrycznie z pełną izolacja galwaniczną napięcia
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 7 (2h) Obsługa urządzenia peryferyjnego z użyciem pamięci w VHDL. Instrukcja do zajęć laboratoryjnych z przedmiotu
Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.
Płyty główne Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Układ DMA Układ DMA zawiera dwa sterowniki przerwań 8237A połączone kaskadowo. Każdy sterownik 8237A
Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.
E113 microkit Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100 1.Opis ogólny. Zestaw do samodzielnego montażu. Edukacyjny sterownik silnika krokowego przeznaczony jest
ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)
ZL2ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) 1 Zestaw ZL2ARM opracowano z myślą o elektronikach chcących szybko zaznajomić się z mikrokontrolerami z rdzeniem ARM7TDMI-S.
Timery w mikrokontrolerach STM32F3
Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM Podstawy Programowania Mikroprocesorów i Procesorów DSP Timery w mikrokontrolerach
Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09
Full Lite MFPST7 Programator ICP mikrokontrolerów rodziny ST7 Instrukcja użytkownika 03/09 Spis treści WSTĘP 3 CZYM JEST ICP? 3 PODŁĄCZENIE PROGRAMATORA DO APLIKACJI 4 OBSŁUGA APLIKACJI ST7 VISUAL PROGRAMMER
MIKROKONTROLERY I MIKROPROCESORY
PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy
Systemy 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 9-236 Łódź, Pomorska 49/53 https://std2.phys.uni.lodz.pl/mikroprocesory/
CECHY URZĄDZENIA: Podłączenie wyświetlacza
CECHY URZĄDZENIA: Napięcie zasilania: 230 VAC; Średni pobór prądu (gdy wyświetlany jest tekst) 0,25A; Maksymalny pobór prądu 0,45 A; Matryca LED o wymiarach 32 x 128 punktów, zbudowana z czerwonych diod
ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)
ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) ZL2ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) 1 Zestaw ZL2ARM opracowano z myślą
U 2 B 1 C 1 =10nF. C 2 =10nF
Dynamiczne badanie przerzutników - Ćwiczenie 3. el ćwiczenia Zapoznanie się z budową i działaniem przerzutnika astabilnego (multiwibratora) wykonanego w technice TTL oraz zapoznanie się z działaniem przerzutnika
Programowany układ czasowy
Programowany układ czasowy Zbuduj na płycie testowej ze Spartanem-3A prosty ośmiobitowy układ czasowy pracujący w trzech trybach. Zademonstruj jego działanie na ekranie oscyloskopu. Projekt z Języków Opisu
Obsługa wyświetlaczy graficznych z wbudowanym kontrolerem S6B1713, część 2 Przykłady dla mikrokontrolera AT91SAM7S256
Obsługa wyświetlaczy graficznych z wbudowanym kontrolerem S6B1713, część 2 Przykłady dla mikrokontrolera AT91SAM7S256 Od wielu lat dużą popularnością cieszą się sterowniki wyświetlaczy graficznych typu
Instytut 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
Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości
Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz
SML3 październik
SML3 październik 2005 16 06x_EIA232_4 Opis ogólny Moduł zawiera transceiver EIA232 typu MAX242, MAX232 lub podobny, umożliwiający użycie linii RxD, TxD, RTS i CTS interfejsu EIA232 poprzez złącze typu
PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI
Bartosz Wawrzynek I rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI Keywords: gesture control,
Generator przebiegów pomiarowych Ex-GPP2
Generator przebiegów pomiarowych Ex-GPP2 Przeznaczenie Generator przebiegów pomiarowych GPP2 jest programowalnym sześciokanałowym generatorem napięć i prądów, przeznaczonym do celów pomiarowych i diagnostycznych.
ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx
ZL6PLD Zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx 1 ZL6PLD jest zestawem uruchomieniowym dla układów FPGA z rodziny Spartan 3 firmy Xilinx. Oprócz układu PLD o dużych zasobach
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
Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej
Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza
Hardware mikrokontrolera X51
Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)
Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08
Pamięci Układy pamięci kontaktują się z otoczeniem poprzez szynę danych, szynę owa i szynę sterującą. Szerokość szyny danych określa liczbę bitów zapamiętywanych do pamięci lub czytanych z pamięci w trakcie
Programowanie mikrokontrolerów 2.0
4.1 Programowanie mikrokontrolerów 2.0 Taktowanie Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 22 listopada 2016 4.2 Drzewo taktowania w STM32F411 Źródło: RM0383 Reference
Układy czasowo-licznikowe w systemach 80x86
Układy czasowo-licznikowe w systemach 80x86 Semestr zimowy 2014/2015, WIEiK-PK 1 Układy czasowo-licznikowe w systemach 80x86 W komputerach osobistych oprogramowanie w szczególności, jądro systemu musi
LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19
LITEcomp Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19 Moduł LITEcomp to miniaturowy komputer wykonany na bazie mikrokontrolera z rodziny ST7FLITE1x. Wyposażono go w podstawowe peryferia, dzięki
Modulatory PWM CELE ĆWICZEŃ PODSTAWY TEORETYCZNE
Modulatory PWM CELE ĆWICZEŃ Poznanie budowy modulatora szerokości impulsów z układem A741. Analiza charakterystyk i podstawowych obwodów z układem LM555. Poznanie budowy modulatora szerokości impulsów
Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).
Ćw. 10 Układy sekwencyjne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną układy rejestrów
dokument DOK 02-05-12 wersja 1.0 www.arskam.com
ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania
Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232.
Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232. Opracowanie: Andrzej Grodzki Do wysyłania znaków ASCII zastosujemy dostępny w
Programowany układ czasowy APSC
Programowany układ czasowy APSC Ośmiobitowy układ czasowy pracujący w trzech trybach. Wybór trybu realizowany jest przez wartość ładowaną do wewnętrznego rejestru zwanego słowem sterującym. Rejestr ten
Moduł przełączania temperatury Nr produktu
INSTRUKCJA OBSŁUGI Moduł przełączania temperatury Nr produktu 000126609 Strona 1 z 5 MODUŁ PRZEŁĄCZANIA TEMPERATURY Nr produktu 12 66 09 TCM 220 Nr produktu 12 66 96 TCM 320 Przeznaczenie do użycia Produkt
Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.
ZL3ARM płytka bazowa dla modułu diparm_2106 (ZL4ARM) ZL3ARM Płytka bazowa dla modułu diparm_2106 Płytkę bazową ZL3ARM opracowano z myślą o elektronikach chcących szybko poznać mozliwości mikrokontrolerów
Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie
TRD-FLAT CLASSIC Naścienny czytnik transponderów UNIQUE w płaskiej obudowie Podstawowe cechy : zasilanie od 3V do 6V 4 formaty danych wyjściowych POWER LED w kolorze żółtym czerwono-zielony READY LED sterowany
WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY
WFiIS LABORATORIUM Z ELEKTRONIKI Imię i nazwisko: 1. 2. TEMAT: ROK GRUPA ZESPÓŁ NR ĆWICZENIA Data wykonania: Data oddania: Zwrot do poprawy: Data oddania: Data zliczenia: OCENA CEL ĆWICZENIA Ćwiczenie
INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie
INSTRUKCJA OBSŁUGI 1. Zastosowanie Przekaźnik czasowy ETM jest zadajnikiem czasowym przystosowanym jest do współpracy z prostownikami galwanizerskimi. Pozwala on załączyć prostownik w stan pracy na zadany
1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro
1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik
PUNKTOWE STEROWNIKI VERSAMAX MICRO
1.7 64-PUNKTOWE STEROWNIKI VERSAMAX MICRO IC200UDD064 40 wejść dyskretnych 24 VDC, 24 wyjścia tranzystorowe 24 VDC (zabezpieczenie przed zwarciem i przeciąŝeniem), wbudowany port RS232, drugi port dostępny
Porty GPIO w mikrokontrolerach STM32F3
Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM Podstawy Programowania Mikroprocesorów i Procesorów DSP Porty GPIO w mikrokontrolerach
Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 ZEGAR CZASU RZECZYWISTEGO Ćwiczenie 4 Opracował: dr inŝ.