회원가입 ID/PW 찾기
AA

AVR128을 이용한 LED구동 소스에 관한 질문입니다
#include <avr/io.h>
void Delay_us(unsigned char time_us)
{
 register unsigned char i;
 for(i=0;i<time_us;i++)
 {
  asm volatile(" PUSH R0 ");
  asm volatile(" POP R0 ");
 }
}
void Delay_ms(unsigned int time_ms)
{
 register unsigned int i;
 for(i=0;i<time_ms;i++)
 {
  Delay_us(250);
  Delay_us(250);
  Delay_us(250);
  Delay_us(250);
 }
}
int main(void)
{
 DDRB = 0xff;
 unsigned char dFlag = 'L';
 unsigned int led=1;
 while(1)
 {   
  if(dFlag == 'L')   led <<= 1;    
         else                   led >>= 1; 
  
         if(led == 0x80)     dFlag = 'R'; 
        else if(led == 1)  dFlag = 'L';   
 }
return 0;
}
BAR LED를 좌우로 움직이는 프로그램입니다. 근데 불이 다 들어오더라구요-_-;;;
이게 딜레이를 작게 줘서 다 켜져있는 것 처럼 보이는건지...음...잘모르겠습니다.
일단 회로는 128 PORTB에 LED 를 연결하고 그뒤에 어레이저항을 연결하구 GND에 물려놨습니다.

2. 스위치를 이용한 LED회로 소스인데요...
어떤 분이 짠것을 제가 제꺼에 맞게 나름 바꾸어봤는데...-_-;; 이녀석도...동작이 잘 안되더라구요
#include <avr/io.h>


#define PIN_KEY PIND

int main(void)
{
DDRB = 0xFF; // LED와 연결된 포트를 출력(Output) 모드로 설정
PORTB = 0x00; // LED 초기화
DDRD = 0x00; // KEY와 연결된 포트를 입력(Input) 모드로 설정
PIN_KEY = 0XFF; //KEY 버튼의 초기화
 
for (;;)
{
PORTB = PIN_KEY; // 입력 받은 KEY값을 LED에 출력한다.
}
return 1;
}
/* PIND는 보기 쉽게 하기 위해 #define를 걸어 이름을 재설정하였고 DDRB는 FF일때 출력값
   이 나오게 하기 위해 즉 +5V가 흘러들어갈 때 LED가 들어가도록 설정. LED는 평소에는
   -단자에 연결이 되므로 PORTB는 평소에는 0V가 흐르다가 5V 즉...FF일때 불이 들어오도록
   설정하기 위해 LED의 초기값은 00으로 잡는다. kEY 버튼의 초기화 FF는 PORTB에 5V가 들
   어 가도록 하기 위해 스위치의 그라운드를 +5V로 잡고 스위치는 0으로 잡아 스위치를 눌
   렀을 경우에만 작동하도록 만들어져있다. */

LED물려놓은건 위에 말씀드린거랑 똑같구요. 스위치 입력은 PORTD입니다.
스위치는 +에다가 물려놨는데... 안되길래 GND에다가 물려봐도 안되더군요.
스위치 입력설정에 관해서 소스가 문제가 있는걸까요?

프로그래밍이 하드웨서 설정보다 더 중요하다고 생각하는데...
프로그래밍은 어렵고 하기도 힘들더라구요 ㅡㅜ 잘하고 싶은데....
가르침을 부탁드리겠습니다. 열심히 배울께요.

댓글 2

  • 첫번째 꺼는 딜레이가 없는데 무엇을 주셨다는건지 모르겠네요. 너무 빨라서 다 켜져 있는것 처럼 보일 겁니다.

    두번째는 얼핏 봐서는 문제가 없는것 처럼 보이는데요

    실험을 스위치에 물리지 말고 포트 D포트중 1번째 꺼 , PORTD.0 을 GND 혹은 VCC에 직접 물리시고... 프로그래밍을

    while(1)
    {
        if ( PIND.0 )
       {
          PORTB = 0x11 ;
        }
        else
           PORTB = 0x18
     
       while(1);
    }

    이렇게 해보세요.

    즉, 포트 D의 0번이 그라운드이면 0x18이 출력될겁니다.

    만약 안된다면 뭔가 문제가 있는듯 한데요. 마이컴 불량이던가 등등.

    소스를 너무 의미 있게 볼 필요는 없고 그냥 의미만 아시면 됩니다.

    그리고 마이컴 프로그래밍은 가장 중요한게 하드웨어 이고 그 기반위에 프로그램이 되어야 합니다.

    즉, 하드웨어를 직접 테스터기나 등등으로 검증을 한 다음 마이컴으로 직접 하나씩 제어해 보면서 되는지를 확인해야 합니다.

    우선 회로를 그리시고, 회로를 이해하시고 검증한다음 마이컴을 하나씩 검증해 나가야 합니다.

    가장 오래 걸리는 일이 가장 빠른 지름길 입니다.

    마이컴 프로그램이 어려운 이유는 하드웨어라는 변수와 함께 마이컴 셋팅이라는 변수 그리고 컴파일러의 문법적 특성등이 있어서

    일반 프로그래밍방법으로 접근 하시면 안됩니다.

    그럼 파이팅
  • No Profile
    글쓴이 천청심 08.10.12 08:58 댓글 좋아요 0 싫어요 0
    꺼이 꺼이....친절하게 자세히 갈켜주셔서 감사합니다 ㅡ..ㅜ

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
46 펌웨어 & 코딩언어 HOTblackfin 칩 부트코드 작성해보신분?1 퀴아쿠 863 2010.02.19
45 펌웨어 & 코딩언어 HOT어셈블리를 공부해야할까요?>8 GrayShark 1227 2010.02.17
44 펌웨어 & 코딩언어 HOTC언어책 추천 해주세요 ㅋㅋ9 따라하다 1624 2010.02.06
43 펌웨어 & 코딩언어 HOTc언어질문인데요5 tiger2 995 2009.12.17
42 펌웨어 & 코딩언어 HOT프로그래밍 공부는 어느순서로 공부해야하나요??6 기꾸닝 1470 2009.12.02
41 펌웨어 & 코딩언어 HOT[초짜] 세그먼트를 이용해 카운터 하는 소스를 짜려고 하는데 ..5 기꾸닝 1472 2009.12.02
40 펌웨어 & 코딩언어 HOTc언어 ㅠㅠ3 kjs85179 1441 2009.11.05
39 펌웨어 & 코딩언어 HOT라운드 로빈 방식의 스케쥴러에서... karismapong 1980 2009.10.20
38 펌웨어 & 코딩언어 HOT도와주세요!!4 심봉사 1299 2009.09.21
37 펌웨어 & 코딩언어 HOTC 언어 궁금한거 있습니다~3 로이안 1139 2009.09.04
36 펌웨어 & 코딩언어 HOT마이컴 초짜의 넋두리~12 소스리 1255 2009.08.20
35 펌웨어 & 코딩언어 HOT8051 신호등 C언어론 한건데요 딜레리....2 근자 1650 2009.05.26
34 펌웨어 & 코딩언어 HOT어셈 관련해서 질문입니다..^^;2 화언 1274 2009.04.22
33 펌웨어 & 코딩언어 HOT이거좀 도와주세요2 지노 931 2008.10.12
32 펌웨어 & 코딩언어 HOT8051 4거리 신호등에서의 소스에서요1 마모루 1158 2008.09.08
31 펌웨어 & 코딩언어 HOTjava ....5 あさひ 921 2008.08.19
30 펌웨어 & 코딩언어 HOTacc.h 오류문제입니다.ㅠ1 미스터조ㅋ 864 2008.06.21
29 펌웨어 & 코딩언어 HOTC언어와 C++의 차이점이 무엇인가요??6 날아가는잡쉐 1618 2008.04.29
28 펌웨어 & 코딩언어 HOTPCM의 구조를 알고 싶습니다.2 Kasanova77 2323 2008.03.29
27 펌웨어 & 코딩언어 HOT혹시 이 프로그램..8 빛나는 영혼 1234 2008.03.13
  • 나의 음악은 어린아이들과 동물들이 가장 잘 이해한다.
    - 스트라빈스키
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.