회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
35 중고장터 HOTLM629 DC모터 PID 제어기 판매합니다.2 navy-ty 5471 2009.07.29
34 중고장터 HOTDC 서보 모터 특가 판매, 30개 수량 한정판매.6 모터플러스 4735 2009.04.02
33 중고장터 HOTD&J DC모터 3개 판매[미사용] 로봇용적합 IGM30 24V 엔코더 타1 아크마 6102 2009.01.11
32 중고장터 HOT형광등안정기판매및기술궁금한거 받아요. 달빛 4989 2008.08.27
31 중고장터 HOT소형 모델 만드는데 도움 좀...1 미루~** 4808 2008.06.02
30 중고장터 HOT오실로스코프 판매합니다.....11 스코프 5444 2008.05.23
29 중고장터 HOThs-311 서보모터/rf 판매 합니다2 あさひ 5088 2008.02.14
28 중고장터 HOT서보모터 대량구매합니다. 아크마 4431 2008.02.01
27 중고장터 HOTAI모터 시리즈 삽니다@@@@@2 볼매(승훈) 9508 2008.01.31
26 중고장터 HOT초음파센서 SRF08 및 플렉스 센서 새것(포장 뜯지도않았어요) 팝니다. 센스가이 5892 2008.01.28
25 중고장터 HOTTL16C550 멀티 포트 UART 컨트롤러 아크마 4515 2007.12.17
24 중고장터 HOT초음파 센서 SRF-04 아크마 5586 2007.11.29
23 중고장터 HOTusb to ps2 변환기[무료]1 아크마 4023 2007.11.27
22 중고장터 HOTSLA7026 있으신분 ^^4 뺘쑝 4297 2007.11.21
21 중고장터 HOT마이크로 마우스 부품 구합니다4 DEAN 5253 2007.11.08
20 중고장터 HOTPSD센서(미사용) 명랑소년 7369 2007.11.05
19 중고장터 HOT초음파센서 SRF10(미사용_) 명랑소년 5712 2007.11.05
18 중고장터 HOTOVAL LED 삽니다. shin 5695 2007.11.02
17 중고장터 HOTPSpice 기초와 활용 Ver 10.x 서적 팝니다. [판매완료]6 shin 6326 2007.10.30
16 중고장터 HOTOrCAD 10.3 서적 팝니다. [판매완료]3 shin 5268 2007.10.30
  • 만물은 유전한다.
    - 헤라클레이토스
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.