Skip to content

itstyle.kr

댓글 5조회 수 2717추천 수 0
?

단축키

이전 문서

다음 문서

+ - Up Down Comment Print
?

단축키

이전 문서

다음 문서

+ - Up Down Comment Print
ldi temp,0xff ; portd s/w값 읽을 준비
  out portd,temp ;PORTD 모두 h
  nop
  in temp,pind 

  cp temp,before_key ; key가 줄렸는지 체크 채터링 방지로 1회 순환
  brne key_end ;
  mov key_value,temp
key_end:mov before_key,temp

sw1_on: bst key_value,0  ; 현재 키값이 눌리지 않았으면 다음키 진행
   brts sw1_off

  bst key_status,0 ; 이전loop 에서 눌렸었던 키면 종료
   brts sw1_end

  bst key_toggle,0 ; 현재 led 상태가 off 일경우 on으로 분기
   brts ktg0h

ktg0l: sbrs key_toggle,0 ; bit0 번째 led off
  rjmp ktg0
ktg0h: sbrc key_toggle,0 ; bit0 번째 led on
ktg0:

  sbrs key_status,0 ; 다음 loop 돌때 키가 눌렸었음을 기억해둠
  rjmp sw1_end
sw1_off:sbrc key_status,0
sw1_end:;
sw2_on: bst key_value,1
            brts sw2_off

        bst key_status,1
            brts sw2_end

        bst key_toggle,1
            brts ktg1h

ktg1l:  sbrs key_toggle,1
        rjmp ktg1
ktg1h:  sbrc key_toggle,1
ktg1:

        sbrs key_status,1
        rjmp sw2_end
sw2_off: sbrc key_status,1
sw2_end:;
sw3_on: bst key_value, 2
            brts sw3_off

        bst key_status,2
            brts sw3_end

        bst key_toggle,2
            brts ktg2h

ktg2l:  sbrs key_toggle,2
        rjmp ktg2
ktg2h:  sbrc key_toggle,2
ktg2:

        sbrs key_status,2
        rjmp sw3_end
sw3_off: sbrc key_status,2
sw3_end:;
sw4_on: bst key_value,3
            brts sw4_off

        bst key_status, 3
            brts sw4_end

        bst key_toggle,3
            brts ktg3h

ktg3l:  sbrs key_toggle,3
        rjmp ktg3
ktg3h:  sbrc key_toggle,3
ktg3:

        sbrs key_status,3
        rjmp sw4_end
sw4_off: sbrc key_status,3
sw4_end:;
sw5_on: bst key_value,4
            brts sw5_off

        bst key_status,4
            brts sw5_end

        bst key_toggle,4
            brts ktg4h

ktg4l:  sbrs key_toggle,4
        rjmp ktg4
ktg4h:  sbrc key_toggle,4
ktg4:

        sbrs key_status,4
        rjmp sw5_end
sw5_off: sbrc key_status,4
sw5_end:;
sw6_on: bst key_value,5
            brts sw6_off

        bst key_status,5
            brts sw6_end

        bst key_toggle,5
            brts ktg5h

ktg5l:  sbrs key_toggle,5
        rjmp ktg5
ktg5h:  sbrc key_toggle,5
ktg5:

        sbrs key_status,5
        rjmp sw6_end
sw6_off: sbrc key_status,5
sw6_end:;
sw7_on: bst key_value,6
            brts sw7_off

        bst key_status,6
            brts sw7_end

        bst key_toggle,6
            brts ktg6h

ktg6l:  sbrs key_toggle,6
        rjmp ktg6
ktg6h:  sbrc key_toggle,6
ktg6:

        sbrs key_status,6
        rjmp sw7_end
sw7_off: sbrc key_status,6
sw7_end:;
sw8_on: bst key_value,7
            brts sw8_off

        bst key_status,7
            brts sw8_end

        bst key_toggle,7
            brts ktg7h

ktg7l:  sbrs key_toggle,7
        rjmp ktg7
ktg7h:  sbrc key_toggle,7
ktg7:

        sbrs key_status,7
        rjmp sw8_end
sw8_off: sbrc key_status,7
sw8_end:;


out portd,key_toggle
rcall d1ms

이렇게 소스를 짰는데요(나머지 key2부터 주석은 똑같이 1,2,3,...7 이렇게 진행 되므로 달지 않았습니다.)

 

sbrc key_status,0

sbrs key_status,0

이 부분도 실제 레지스터에서는 변화가 없습니다.

명령을 잘못 사용한건가요

아해 사진은 주석이 글자랑 같이 보여서 사진으로 다시 올립니다.

 

 

주석처리된 부분이 잘 안보여서 사진 같이 올립니다.

컴파일러로는 avrstudio4를 사용하구요

mcu는 atmega8을 사용합니다.

 

제가 뭐 실수 한것이 있는지 봐주세요 소스 같이 첨부 합니다.

 

당근이 avr http://cafe.naver.com/carroty.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=110991 질문입니다.

 

파일 첨부가 없습니다.

파일 은 위 당근이 카페에 있습니다.

  • ?
    이민주 2010.08.17 08:56

    소스 전체가 올려져 있다보니, 분석해서 하기가 좀 번거로운것 같습니다.

     

    일단 대충 봤는데 문제점을 지적하자면..

    ldi temp,0xff ; portd s/w값 읽을 준비
      out portd,temp ;PORTD 모두 h

    이것이 저는 이해가 되지 않습니다.

     

    portD를 모두 hi상태로 해놓고선 1cycle 뒤에

    in temp,pind 

    이것이 무슨 의미가 있는걸까요..?

    어차피 temp레지스터에는 0xff만 읽힐것 같은데요.

     

    DDRD 설정을 in으로 하고 풀업을 위해 0xff라고 하신것이라면 이에 대한 설명이 없잖아요.

    주석에는 "s/w 읽을 준비"라고 되어있지만 뭘 준비한다는건지..

    풀업을 한다는건지, 뭘한다는건지 모르겠네요.

    참고로 풀업을 하려면 PUD레지스터 0이어야 하는데 이것도 참고하시구요.

     

     

     

    그리고 의문점 또하나...

      in temp,pind 

      cp temp,before_key ; key가 줄렸는지 체크 채터링 방지로 1회 순환

    주석을 보아하니 두번 읽어서 두 값을 비교한 뒤 이상 없으면 이것을 키값으로 사용하고자 하시는것 같네요.

    그러나 위 코드 위에 라벨이 없는것을 보아하니, 다시 위로 가는 명령이나 라벨은 없어보이는데요...

     

     

    저같으면 이렇게 하겠습니다.

     in temp,PIND

     rcall wait_20ms ; 20ms딜레이

     in temp2,PIND

     cp temp,temp2 ; temp레지스터와 temp2레지스터를 비교

     brne PC+3 ; 비교 결과 같지 않으면 프로그램 카운터+3

     mov key_data,temp ; 입력값을 키 값으로 사용

     rjmp PC+2 ; 프로그램 카운터+2로 무조건 분기

     ldi key_data,0xff   ; 키를 안누른 값을 로드

     .....

     

    아니면..

     

    in temp,PIND

    ldi loop_count,150 ; 150회 루프

    in temp2,PIND

    cp temp,temp2 ; 검사

    brne PC+6

    mov temp,temp2 ; 값을 복사

    subi loop_count,1 ; loop_count 1 감소

    brne PC-5

    mov key_data,temp ; 인식된 키를 key값으로 로드

    ret

    ldi key_data,0x0f   ; 키를 안누른 값으로 로드

    ret

    이런식으로 하면 여러번 검사하니깐 좋겠지요!

     

    그리고... 비트 1개씩 bst명령으로 로드해서 brts 명령으로 분기하시는데.

    이 방법을 쓰시게 되면..

    만약에.. 비트 0을 먼저 검사한다면.

    키 값이 0과 1을 동시에 눌렀다면 무조건 0을 누른것으로 인식하고 0으로 분기하겠죠.

    0,1,2,3,4,5 키를 5개를 다 눌러도 0만을 누른것으로 인식하겠죠.

     

    차라리..

    .... 키 값을 읽은 후...

    cpi key_data,0x01  ; 비트1에 해당하는 키를 검사

    breq  ...

    cpi key_data,0x02 ; 비트 2에 해당하는 키 검사

    breq ..

    cpi key_data,0x04 ; 비트 3에 해당하는 키 검사

    breq ...

    cpi key_data,0x08 ; 비트 4에 해당하는 키 검사

    breq

     

     

    이런식으로 짜면 되겠죠?

    저처럼 짜면 2~3개를 누르면 키 값을 무시할 수도 있고,

    필요에 따라

    cpi key_data,0x0c

    이렇게 하면 비트 3,4 동시 눌려야 인식되게도 구성 가능하고요!!

     

    그럼 참조하세요!~

  • ?
    Happy_day 2010.08.18 22:50

    brne PC+3, brne PC+6, brne PC-5 이 명령은 잘 이해를 못하겠는데요

    대충 무슨 뜻인지요?

    프로그램카운터에 왜 더하고 빼는지 이해가 안가서요...


    제가 하고 싶었던 것은 portd에 스위치와 led가 병렬로 달려 있는데요

    어떤키가 눌리든지 led가 토글기능이 있게 하는겁니다.

    즉 키가 계속 눌려 있으면 루프가 1회 돌면 led가 토글  되므로

    키가 눌려 있으면 루프가 계속 돌더라도 1번 눌린걸로 인식하고

    혹시 순간적(버튼 누를때)으로 채터링이 있더라도

    1번 루프 도는정도는 지나칠수 있도록 하고 싶었습니다.



    그리고... 비트 1개씩 bst명령으로 로드해서 brts 명령으로 분기하시는데.

    이 방법을 쓰시게 되면..

    만약에.. 비트 0을 먼저 검사한다면.

    키 값이 0과 1을 동시에 눌렀다면 무조건 0을 누른것으로 인식하고 0으로 분기하겠죠.

    0,1,2,3,4,5 키를 5개를 다 눌러도 0만을 누른것으로 인식하겠죠.

    이 부분은 동시에 눌러도 키를 한 개씩 확인하므로 led 의 토글은 상관 없지 않나요 ?

    키값을 t빗트로 복사하고 다음 빗트를 t빗트로 복사 하게되면 이전 명령에의한 영향을 주는 건가요?

     

    또하나

    sbrc key_toggle,3

    sbrs key_toggle,3

    이명령인데요 도움말을보면 이렇게 사용할 수 있도록 된 것 같은데...

    전혀 레지스터의 변화가 없는데 제가 잘못 사용한건가요?

    89c51와는 많이 다르네요 ....

    sbt,cbt 이 명령으로 빗트제어가 됬는데

    sbt portc.1 이런식으로요.... avr은 뭐랄까 좀 많이 달라서 ...

    cjne 이런명령을 하나로 되던 것도 cp,brne이런 명령을 두 번씩 써야하고...

    어떨때 cp,cpi 명령을 써야 하는지 .....

    ㅠ.ㅠ 눈물이 앞을 가리네요.... 독학을 하려니 산은높고....

    학원을 다니자니 여건은 안되고.....

    이전에는 회사에 프로그래머 형이 있었는데....

    지금은 관련 업종을 떠난 지 한 7년이 넘어 이젠 생소해지기도 하고.....

    후배놈이랑 같이 공부 하는데요 둘다 도토리 키재기다보니.....

     

    무엇보다 어셈 책을 보아야 할것 같은데 추천좀 부탁 드릴게요...


  • ?
    이민주 2010.08.20 16:38

    brne PC+3, brne PC+6, brne PC-5 이 명령은 잘 이해를 못하겠는데요
    답변

     

    ,,,,,

    rjmp  label_a

    nop

    nop

    nop

    label_a:

    ,,,,,

     

    이것과

     

    ,,,,

    rjmp  PC+4

    nop

    nop

    nop

    ,,,,

     

    이것과 같습니다.

     

    8051에도 어셈을 하셨으면 프로그램카운터의 개념을 아실텐데요.

    AVR C언어를 컴파일 하도 나오는 lss파일에도 역시 rjmp .+13 이런식으로 나옵니다.

     

    암튼 jmp같은 직접주소를 지정하는것은 0x01ff 이런식의 주소를 넣어줍니다.

    jmp 0x01ff

    다만 우리는 편의살 라벨을 붙여주면 어셈블러가 알아서 주소를 넣어주지요.

    만약 라벨이란게 없고 절대주소를 값을 그냥 넣었다면 소스를 수정할 엄두가 안나겠지요.

    참고로 jmp, call같은 명령은 32비트입니다. 명령어 하나가 두개의 명령어 용량을 잡아먹는다는 소리입니다.

    왜냐하면 jmp, call명령은 주소만 해도 22비트를 차지하거든요!

    이걸 설명하는 이유는

     

    brne PC+2

    rjmp PC-77

    NOP

    이렇게 있다고 하고, Z플레그가 0이라 brne에서 분기한다고 치면

    PC+2가 필요합니다.

    rjmp는 16비트니까요!

     

    그러나,

    brne PC+3

    jmp 0x01ff

    NOP

    이렇게 됬다 치면 PC+3을 넣어야 하는데, 이유는 jmp명령은 32비트니까...

     

     

    딴길로 샜는데 jmp에 이어 rjmp는

    relative jump이지요. 즉 상대주조지하는 방식은

    프로그램 카운터에 값을 더하거나 빼서 점프합니다.

     

     

     

     

    이 부분은 동시에 눌러도 키를 한 개씩 확인하므로 led 의 토글은 상관 없지 않나요 ?

     

    LED를 토글하고자 하는거라면 님 방법이 더 나은방법이 되겠습니다.

     

     

     

     

     

     

     

    sbrc key_toggle,3

    sbrs key_toggle,3

    이명령인데요 도움말을보면 이렇게 사용할 수 있도록 된 것 같은데...

    전혀 레지스터의 변화가 없는데 제가 잘못 사용한건가요?

     

    전혀 잘못 사용하셨습니다.

    SBRC와 SBRS의 명령은

    skip bit register clear와 skip bit register set의 약자입니다. <- 외운거라 틀렸을수도 있음...

    즉...

    sbrc key_toggle,3

    이것은... key_toggle레지스터의 3번 비트가 clear이면 다음 명령을 skip한다는 뜻입니다.

     

    이렇게 써먹을 수 있죠.

    sbrc r16,0

    jmp 0x1fff  ; r16레지스터 0비트가 1이면 0x1fff로

    jmp 0x10ff ; r16레지스터 0비트가 0이면 0x10ff로

    이렇게요...

     

    혹은...

    lds r16,TWSR ; TWI State register이라고 치고

    sbrs r16,TWIE ; TWIE가 1인 경우 다음명령 스킵

    rjmp PC-1 ; TWIE가 0이면 1될때까지 PC-1

     

    이렇게 쓰지요...

     

    이런것도 있습니다.

    sbrc r16,7 ; 부호를 확인

    neg r16 ; 음수면 2의 보수를 취함

    이렇게도 가능하겠죠!

     

    써먹는 방법은 다양하네요...

     

     

    아무튼 AVR에는 님께서 원하시는 8051의 sbt,cbt명령은 없습니다.

    저도 이런게 비트단위 토글기능이 있었으면 얼마나 좋을까 하는 생각을 많이 했습니다.

    그냥...

    bst key_toggle,3

    brts PC+3

    ori key_toggle,0x08

    rjmp PC+2

    andi key_toggle,~0x08

    혹은...

     

    mov r16,key_toggle

    andi key_togle,~0x08

    com r16

    andi r16,~0x08

    ori r16,key_toggle

    이런식으로 해결하셔야 할 것 같습니다.

    8051에는 1개 명령이면 될것을 AVR은 5개 명령이나 필요하네요.^^

     

    참고로 ori, andi랑 비슷한게 sbr, cbr이 있는데, 이것은 기계어 코드마저 같고, andi, cbr명령에서 어셈블할 때 하나는 보수를 취해주고 하나는 보수를 안취해주는 차이만 있습니다...

     

  • ?
    Happy_day 2010.08.23 23:18

    키 토글 완성 했습니다.

    가소롭게 생각 하실 수 있지만 몇일 애기보면서 짬내서 완성 했습니다. 다 민주님 가르쳐 주신 거지만 ㅎㅎ


    생략......
          
     ldi temp,0xff    ; PORTD 모두 high
            out portd,temp
            nop
            in temp,pind    ; S/W값을 읽어들임   

            cp temp,before_key    ; 이전에 눌렸던 S/W와 비교
            brne key_end        ; 이전에 눌렸던 S/W와 같지 않으면 "key_end"로 분기
            mov key_value,temp    ; S/W가 정상적으로 눌렸으므로 S/W값 저장
    key_end:mov before_key,temp    ; S/W값 저장
            mov    temp,key_status    ;
    ;################################################################################# S/W 1
    sw1_on: cpi key_value, 254  ;
            brne sw1_off        ; 이S/W 가 아니면 S/W 종료

            andi temp, 1       ;
            cpi temp, 1
            brne PC + 2
            rjmp sw1_end        ; 눌렸었던 S/W이면 종료
    sw1_tg: ori key_status,1   ; 키가 눌렸음을 기억
    ;/////////////////////////////////////////////////////////////////////////////
            bst key_toggle, 0   ; 이전 led 상태를 t빗트로 복사
            brts PC + 3         ; led가 off이면 pc+3
            ori key_toggle, 1  ; led on
            rjmp PC + 2         ; pc+2
            andi key_toggle, 254    ; led off
    ;/////////////////////////////////////////////////////////////////////////////
            rjmp sw1_end
    sw1_off:andi key_status,254 ; 현재 S/W 상태 초기화
    sw1_end:;
    ;################################################################################# S/W 2
    sw2_on: cpi key_value, 253  ;
            brne sw2_off        ; 이S/W 가 아니면 S/W 종료

            andi temp, 2       ;
            cpi temp, 2
            brne PC + 2
            rjmp sw2_end        ; 눌렸었던 S/W이면 종료
    sw2_tg: ori key_status,2   ; 키가 눌렸음을 기억
    ;/////////////////////////////////////////////////////////////////////////////
            bst key_toggle, 1   ; 이전 led 상태를 t빗트로 복사
            brts PC + 3         ; led가 off이면 pc+3
            ori key_toggle, 2  ; led on
            rjmp PC + 2         ; pc+2
            andi key_toggle, 253    ; led off
    ;/////////////////////////////////////////////////////////////////////////////
            rjmp sw2_end
    sw2_off:andi key_status,253 ; 현재 S/W 상태 초기화
    sw2_end:;
    ;################################################################################# S/W 3
    sw3_on: cpi key_value, 251  ;
            brne sw3_off        ; 이S/W 가 아니면 S/W 종료

            andi temp, 4       ;
            cpi temp, 4
            brne PC + 2
            rjmp sw3_end        ; 눌렸었던 S/W이면 종료
    sw3_tg: ori key_status,4   ; 키가 눌렸음을 기억
    ;/////////////////////////////////////////////////////////////////////////////
            bst key_toggle, 2   ; 이전 led 상태를 t빗트로 복사
            brts PC + 3         ; led가 off이면 pc+3
            ori key_toggle, 4  ; led on
            rjmp PC + 2         ; pc+2
            andi key_toggle, 251    ; led off
    ;/////////////////////////////////////////////////////////////////////////////
            rjmp sw3_end
    sw3_off:andi key_status,251 ; 현재 S/W 상태 초기화
    sw3_end:;
    ;################################################################################# S/W 4
    sw4_on: cpi key_value, 247  ;
            brne sw4_off        ; 이S/W 가 아니면 S/W 종료

            andi temp, 8       ;
            cpi temp, 8
            brne PC + 2
            rjmp sw4_end        ; 눌렸었던 S/W이면 종료
    sw4_tg: ori key_status,8   ; 키가 눌렸음을 기억
    ;/////////////////////////////////////////////////////////////////////////////
            bst key_toggle, 3   ; 이전 led 상태를 t빗트로 복사
            brts PC + 3         ; led가 off이면 pc+3
            ori key_toggle, 8  ; led on
            rjmp PC + 2         ; pc+2
            andi key_toggle, 247    ; led off
    ;/////////////////////////////////////////////////////////////////////////////
            rjmp sw4_end
    sw4_off:andi key_status,247 ; 현재 S/W 상태 초기화
    sw4_end:;
    ;################################################################################# S/W 5
    sw5_on: cpi key_value, 239  ;
            brne sw5_off        ; 이S/W 가 아니면 S/W 종료

            andi temp, 16       ;
            cpi temp, 16
            brne PC + 2
            rjmp sw5_end        ; 눌렸었던 S/W이면 종료
    sw5_tg: ori key_status,16   ; 키가 눌렸음을 기억
    ;/////////////////////////////////////////////////////////////////////////////
            bst key_toggle, 4   ; 이전 led 상태를 t빗트로 복사
            brts PC + 3         ; led가 off이면 pc+3
            ori key_toggle, 16  ; led on
            rjmp PC + 2         ; pc+2
            andi key_toggle, 239    ; led off
    ;/////////////////////////////////////////////////////////////////////////////
            rjmp sw5_end
    sw5_off:andi key_status,239 ; 현재 S/W 상태 초기화
    sw5_end:;
    ;################################################################################# S/W 6
    sw6_on: cpi key_value, 223    ;
            brne sw6_off        ; 이S/W 가 아니면 S/W 종료

            andi temp, 32        ;
            cpi temp, 32
            brne PC + 2           
            rjmp sw6_end        ; 눌렸었던 S/W이면 종료
    sw6_tg: ori key_status,32     ; 키가 눌렸음을 기억
    ;/////////////////////////////////////////////////////////////////////////////
            bst key_toggle, 5    ; 이전 led 상태를 t빗트로 복사
            brts PC + 3            ; led가 off이면 pc+3
            ori key_toggle, 32    ; led on
            rjmp PC + 2            ; pc+2
            andi key_toggle, 223    ; led off
    ;/////////////////////////////////////////////////////////////////////////////
            rjmp sw6_end
    sw6_off:andi key_status,223    ; 현재 S/W 상태 초기화
    sw6_end:;
    ;################################################################################# S/W 7
    sw7_on: cpi key_value, 191
            brne sw7_off        ; 이 S/W가 아니면 S/W 종료

            andi temp, 64
            cpi temp, 64
            brne PC + 2
            rjmp sw7_end        ; 눌렸었던 S/W이면 종료      
    sw7_tg: ori key_status,64     ; 키가 눌렸음을 기억
    ;/////////////////////////////////////////////////////////////////////////////
            bst key_toggle, 6    ; 이전 led 상태를 t빗트로 복사
            brts PC + 3            ; led가 off이면 pc+3
            ori key_toggle, 64    ; led on
            rjmp PC + 2            ; pc+2
            andi key_toggle, 191    ; led off
    ;/////////////////////////////////////////////////////////////////////////////
            rjmp sw7_end
    sw7_off:andi key_status,191    ; 현재 S/W 상태 초기화
    sw7_end:;
    ;################################################################################# S/W 8
    sw8_on: cpi key_value,127
            brne sw8_off        ; 이 S/W가 아니면 S/W 종료

            andi temp,128
            cpi temp,128
            brne PC + 2
            rjmp sw8_end        ; 눌렸었던 S/W이면 종료
    sw8_tg: ori key_status,128     ; 키가 눌렸음을 기억
    ;/////////////////////////////////////////////////////////////////////////////
            bst key_toggle, 7    ; 이전 led 상태를 t빗트로 복사
            brts PC + 3            ; led가 off이면 pc+3
            ori key_toggle,128    ; led on
            rjmp PC + 2            ; pc+2
            andi key_toggle,127    ; led off
    ;/////////////////////////////////////////////////////////////////////////////
            rjmp sw8_end
    sw8_off:andi key_status,127    ; 현재 S/W 상태 초기화
    sw8_end:;

            ldi temp,0xff    ; PORTD 5,6,7번핀 입출력모드 입력으로 변경
            out ddrd,temp

    out portd,key_toggle
    rcall d1ms

  • ?
    Happy_day 2010.08.23 23:21



    민주님 감사합니다.


번호 분류 제목 글쓴이 날짜 조회 수
공지 안내사항 구 SORELL 질문과 답변 게시판   이민주 2008.04.03 6614
공지 안내사항 질문과 답변 게시판 이용 방법[비회원인 경우 실명 사용] [1]  file 이 민주 2006.09.30 6526
848 질문 레이저경보기 [1]   영원이란 2010.10.10 1251
847 질문 gps 사용자 설명서도 다운로드를 받을수 없다고 나오네요? [2]   프라이 2010.09.21 1232
846 질문 gps도트메트릭스시계문의 [31]   스피드 2010.09.10 1820
845 질문 프로그램 카운터 관련 & 램 사용관련 질문 있습니다. [3]   Happy_day 2010.08.23 1501
844 질문 민주님 avr어셈블리어 책좀 추천해 주세요 [2]   Happy_day 2010.08.20 1748
» 질문 어셈블리어 key 읽는 것 관련해서 질문드립니다. [5]  image Happy_day 2010.08.14 2717
842 안녕하세요 &nbsp; 자료... [1]   원스톤 2010.08.10 1172
841 질문 atmega8 어셈블리어 "lpm" 명령관련 질문드립니다. [1]   Happy_day 2010.07.29 1428
840 질문 다운로드 권한이 없다고 하는데 어쩌야 하나요?? [1]   고양이신사 2010.06.11 1677
839 질문 질문 몇가지만 더 드릴게요 [1]   prunus 2010.05.30 1572
838 질문 MPF6659 부품질문이에요 [1]   김국환 2010.05.25 1335
837 질문 그래픽이퀄라이져표시기 질문드립니다.  fileimage 김재범 2010.05.08 1323
836 답변 [re] 김재범님 답변입니다. [1]   이민주 2010.05.09 1043
835 질문 그래픽 이퀄라이져 질문.   김대영 2010.05.02 1151
834 [re] 김대영님 답변입니다.   이민주 2010.05.03 940
833 질문 도트매트릭스를 이용한 디지털 시계   김남균 2010.04.11 1433
832 [re] 김남균님 답변입니다.   이민주 2010.04.12 886
831 질문 안녕하세요 도트매트릭스를 이용한 디지털 시계   김남균 2010.04.07 1372
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 ... 45 Next ›
/ 45
Designed by hikaru100

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

itstyle.kr

itstyle.kr에 있는 모든 콘텐츠(사진, 회로도, 소스 코드, 게시물 등)는 사전 서면 동의없이 재배포할 수 없습니다.
홈페이지 주소 정보.

Powered by Xpress Engine / Designed by hikaru100

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234