블로그 이미지
하루, 글. 그림. 영상매체. 표현을 도와주는 기기들. 도전 중. 동화다아아
    동화다아아

    카테고리

    분류 전체보기 (176)
    잡담 (1)
    IT 기기-리뷰&뉴스 (7)
    리뷰 - 도서 (1)
    리뷰 - 영상 (0)
    리뷰 - 그림/음악 (1)
    내장형 하드웨어 (163)
    Total
    Today
    Yesterday
    - 브레드 보드에 ARM과 LCD 연결전 결선 확인

     

    ⇒ PA16 - PIN.1(VSS-GND)

    ⇒ PA17 - PIN.2(VDD) / PIN.3(V0)

    ⇒ PA18 ~ PA23 - PIN.7~14(BUS)

    ⇒ PA24 - PIN.15(LEDK)

    ⇒ PA25 - PIN.16(LEDA)




    PIN DESCRIPTION

    No. 

    Symbol

     Function

     

    1

    VSS

     GND(0V)

     전원에 연결

    2

    VDD

     Power supply for Logic(+5.0V)

    3

    V0

     Power supply for LCD drive

    4

    RS

     Register selection

     (H: Data register , L :Instruction register)

     arm에 연결

    5

    R/W

     Read/write selection

     (H: Read(CPU ← LCM) , L: Write(CPU → LCM))

     arm에 연결

    6

    E

     Enable signal for LCM

     (Enable 신호가 들어오면 LCD가 켜진다.)

     전원 or arm

    7~14

    DB0~DB7

     Data Bus lines

     arm에 연결

    15

    LEDK

     Power supply for Backlight(0V) - LED Cathode

     전원 or arm

    16

    LEDA

     Power supply for Backlight(+5.0V) - LED Anode

     전원 or arm



    - LCD PIN 납땜

     

    - 브레드 보드에 연결

     

    - PIN4(RS), PIN5(R/W), PIN6(E) 결선 - 각각 PA8, PA9, PA10



     

    - source insight 실행 순서
    ⇒ New project → Browser 선택 → Add and Remove에서 파일선택 추가 → close
    ⇒ 추가파일
     → AT91SAN7S256.h(include)
     → cstartup.s
     → elf32_littlearm.lds
     → main.c
     → lowlevel.c
     → makefile
     → project.h(include)


    - LED PIN 번호와 ARM 보드 연결 과정

    32               24

    23     BUS      16

    15

    제어 8

    7                  0

     

     

     

    10

    9

    8

     

     

    1

    1

    1

    1

    1

    1

    1

    1

     

    E

    N

    TW

    R

    S

    11111111 << 16


    RS    1 0000 0000 (0x100)

    RW  10 0000 0000 (0x200)

    EN 100 0000 0000 (0x400)

    BS 1111 1111 0000 0000 0000 0000 (FF0000)


    #define PIOA_PER      (*(volatile unsigned int *)0xFFFFF400)
    #define PIOA_OER     (*(volatile unsigned int *)0xFFFFF410)
    #define PIOA_PPUDR   (*(volatile unsigned int *)0xFFFFF460)
    #define PIOA_CODR    (*(volatile unsigned int *)0xFFFFF434)
    #define PIOA_SODR    (*(volatile unsigned int *)0xFFFFF430)

    #define  CLCD_RS     (1 << 8// 0x100 (PA8)
    #define  CLCD_RW     (1 << 9// 0x200 (PA9)
    #define  CLCD_EN     (1 << 10// 0x400 (PA10)
    #define  CLCD_BS     (0xFF << 16// FF0000 (PA16~23)


    void OUT_INIT(void)
    {
            
    // Configure the pin in output
            
    PIOA_OER  = CLCD_BS || CLCD_RS || CLCD_RW || CLCD_EN; 

                                            // 11가닥의 선이 활성화(PIN을 출력용으로)
            // Set the PIO controller in PIO mode instead of peripheral mode
            
    PIOA_PER  = CLCD_BS || CLCD_RS || CLCD_RW || CLCD_EN; 

                                            // PIN enable
            // Disable pull-up
            
    PIOA_PPUDR  = CLCD_BS || CLCD_RS || CLCD_RW || CLCD_EN; 

                                            // 해당하는 PIN의 불이 꺼진다.
    }

    int main(void)
    {
            
    volatile unsigned int iCount = 0;

            OUT_INIT();

            
    while (1)
            {
                    PIOA_CODR 
    = 0x00000001;
                    
    for(iCount=0;1000000 >= iCount; ++iCount);

                    PIOA_SODR 
    = 0x00000001;
                    
    for(iCount=0;1000000 >= iCount; ++iCount);
            }
            
    return 0;
    }


    '내장형 하드웨어 > ARM' 카테고리의 다른 글

    ADS v1.2 설치방법  (0) 2011.09.05
    ARM - PIN DESCRIPOTION  (0) 2011.07.11
    Posted by 동화다아아
    , |

    최근에 달린 댓글

    최근에 받은 트랙백

    글 보관함