본문 바로가기
코스웨어/16년 스마트컨트롤러

20160323-업무일지-허도경-ADC

by 알 수 없는 사용자 2016. 3. 28.
728x90
반응형

pixel(픽셀)

원본보존압축:원본 그대로 압축시킨다. 용량이 많다.

손실압축: 사람이 인식 불가한 정도의 용량들을 삭재하여 압축한다. 용량이 원본보다 줄어든다.

Red    256bit->1byte

Green    256bit->1byte          총3bit 이 세가지가 한개의 색깔을 나타날때 쓰인다.

Blue    256bit->1byte

∴1pixel = 3byte









 

 

 

ADCH           ADCL             ADCL                ADCH

X11

1111       1110

1111      1111

10X

      8bit            8bit                8bit                    8bit

 

ADPS2:0 = 0~2

 

 LCD.c

#include "LCD.h"

void LCD_Init()
{
     DDRC = (1<<RS)|(1<<RW)|(1<<EN);
     DDRA = 0XFF;
     CTL = (0<<RS)|(0<<RW)|(0<<EN);
     BUS = 0X00;

 LCD_Inst(LCD_FUNC);
 LCD_Inst(LCD_DSP);
 LCD_Inst(LCD_ENT);
 LCD_Inst(LCD_CUR);
 LCD_Inst(LCD_CLR);
 LCD_Inst(LCD_HOME);

}

void LCD_Inst(unsigned char ucInst)
{
     volatile unsigned int uiCnt;
   
     CTL = CTL&(~(1<<RS));
     CTL = CTL&(~(1<<RW));
     CTL = CTL&(~(1<<EN));
     BUS = ucInst;
     for(uiCnt = 0; 30000>uiCnt; ++uiCnt);
     for(uiCnt = 0; 30000>uiCnt; ++uiCnt);
 
     CTL = CTL|(1<<EN);
     for(uiCnt = 0; 30000>uiCnt; ++uiCnt);

 CTL = CTL&(~(1<<EN));
 for(uiCnt = 0; 30000>uiCnt; ++uiCnt);
 for(uiCnt = 0; 30000>uiCnt; ++uiCnt);

}

void LCD_Data(unsigned char ucData)
{
     volatile unsigned int uiCnt;
   
     CTL = CTL|(1<<RS);
     CTL = CTL&(~(1<<RW));
     CTL = CTL&(~(1<<EN));
     BUS = ucData;
     for(uiCnt = 0; 3000>uiCnt; ++uiCnt);
     for(uiCnt = 0; 3000>uiCnt; ++uiCnt);
 
     CTL = CTL|(1<<EN);
     for(uiCnt = 0; 3000>uiCnt; ++uiCnt);

 CTL = CTL&(~(1<<EN));
 for(uiCnt = 0; 3000>uiCnt; ++uiCnt);
 for(uiCnt = 0; 3000>uiCnt; ++uiCnt);

}

void LCD_STR(const char *cString)
{
     while(0!=*cString)
     {
      LCD_Data(*cString);
      ++cString;
     }

}

LCD.h

#ifndef __LCD_H__
#define __LCD_H__ 

#include "main.h"

 

#define RS  4
#define RW 5
#define EN  6

#define BUS PORTA
#define CTL PORTC

#define LCD_CLR  0x01
#define LCD_HOME  0x02
#define LCD_ENT  0x06 //S:0Shift OFF, I/D:1 Increase Mode
#define LCD_DSP  0x0C //D:1 Display On C:1 Cursor on B:1 Blink On
#define LCD_CUR  0x14//S/C:0 Shift Cursor OFF R/L:1
#define LCD_FUNC  0x38 //DL:1 Data length 8bit  N:1 2Line F:0 Font 5X8

void LCD_Init(void);
void LCD_Inst(unsigned char ucInst);
void LCD_Data(unsigned char ucData);
void LCD_STR(const char *cString);

#endif

728x90