도트매트릭 LED 제어루틴
DOT MATRIX LED - CONTROL HOW TO
원리및 코드
DOT MATRIX LED - CONTROL HOW TO
도트 매트릭스 LED 제어 원리 설명
시프트 레지스터를 이용한 LED 도트 매트릭스 제어
폰트 데이터와 디스플레이 버퍼 데이터 처리
제어코드
// ---------------------------------------------------------------------------- void send_data(unsigned int temp){ unsigned int Mask = 0x0001, t, Flag; for (t=0; t<16; t++){ Flag = temp & Mask; // Check if 0/1 to send this time if(Flag==0) Serial_Data = 0; else Serial_Data = 1; SH_Clk = 1; // SHIFT clock toggle SH_Clk = 0; Mask = Mask << 1; } ST_Clk = 1; // Apply clock on ST_Clk to LATCH ST_Clk = 0; } // ---------------------------------------------------------------------------- // Text in 'message[]' with StringLength, shift_step = 1 // DisplayBuffer = 'unsigned int' 2 bytes for (k = 0; k < StringLength; k++){ // Send All CHAR in 'message' // SHIFT Routine with 'shift_step' for (scroll = 0; scroll < (8/shift_step); scroll++) { // Read FONT data and put it in each 'DisplayBuffer[]' for (Row = 0; Row < 8; Row++){ index = message[k]; // ASCII index temp = CharData[index-32][Row]; // Get ASCII FONT // The last CHAR is fade in to 'DisplayBuffer' from 7th column // 'DisplayBuffer' OR 'FONT >> SHIFT' --> scroll*shift_step = 0...7 // DisplayBuffer[0..15] FONT Start to FADEIN | scroll*shift_step // ######## ######## XXXXXXXX ######## #######X XXXXXXX SHT 7-0 // ######## ######## XXXXXXXX ######## ######XX XXXXXX SHT 7-1 // ................. // ######## ######## XXXXXXXX ######## XXXXXXXX SHT 7-7 DisplayBuffer[Row] = (DisplayBuffer[Row] << shift_step) | (temp >> ((8-shift_step)-scroll*shift_step)); } speed = 10 + ADC_Read(0)/10; for(l = 0; l < speed; l++){ for (i=0; i < 8; i++) { // Turn on/off each rows send_data(DisplayBuffer[i]); // Send a 'row' data CD4017_Clk = 1; // turn on/of CD4017_Clk = 0; // auto Increase 'row' Delay_ms(1); } // i CD4017_Rst = 1; // reset to '0' - first CD4017_Rst = 0; } // l } // scroll } // ----------------------------------------------------------------------------
원저자 :
PIC로 제어하는 코드가 올라가 있다
'uAVR' 카테고리의 다른 글
AVR : atmega MDF - ASAM (0) | 2019.11.02 |
---|---|
AVR에서 MDF화일 저장 - ASAM MCD-2MC (0) | 2019.11.02 |
FAST AVR UTFT Library for C (Not CPP) - SSD1289 / HY32D (0) | 2017.01.21 |
GLCD FONT convert to use for LED DOT Matrix (0) | 2017.01.21 |
윤덕용 교수님의 한글 GLCD 라이브러리 - 하위 제어포트 살리기 (0) | 2017.01.21 |