회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
452 마이크로프로세서 HOTKEIL Compiler에 대한 매뉴얼 파인 윤 1452 2010.02.25
451 마이크로프로세서 HOT초보인데요.. 개똥껄레 842 2010.02.20
450 펌웨어 & 코딩언어 HOT8051과 일반 C와 많이 차이나나요?5 개똥껄레 1097 2010.02.20
449 펌웨어 & 코딩언어 HOTblackfin 칩 부트코드 작성해보신분?1 퀴아쿠 863 2010.02.19
448 마이크로프로세서 HOTATmega128 ADC 관련하여 도움요청드립니다.1 쥬니치로 2977 2010.02.18
447 펌웨어 & 코딩언어 HOT어셈블리를 공부해야할까요?>8 GrayShark 1227 2010.02.17
446 마이크로프로세서 HOT책좀 추천해주세요 ^^;11 GrayShark 1252 2010.02.17
445 마이크로프로세서 HOTlcd backlight에 대한 질문입니다.1 strongman 1212 2010.02.10
444 마이크로프로세서 HOTatmega128 포트 a에 대한 질문입니다.2 strongman 1190 2010.02.09
443 마이크로프로세서 HOTkey matrix에 대한 질문2 strongman 3563 2010.02.09
442 마이크로프로세서 HOTwinide sim51 또는 프로테우스 에뮬레이터좀 사용하고 싶습니다.4 Eodrmfdl 3447 2010.02.09
441 마이크로프로세서 HOTAVR128 uart관련 질문올립니다.3 히야신스83 1334 2010.02.08
440 펌웨어 & 코딩언어 HOTC언어책 추천 해주세요 ㅋㅋ9 따라하다 1624 2010.02.06
439 Software & IDEs HOTatmega128에 대해 알기 쉬운 책 좀 알려주세요..5 마이무따이가 1471 2010.02.03
438 마이크로프로세서 HOT7-세그먼트관련 질문입니다...5 좋지 1173 2010.02.02
437 마이크로프로세서 HOT임베디드 제어법 개괄적으로 설명좀 해주세요1 수달달이짱 798 2010.01.30
436 마이크로프로세서 HOT제가 PIC18F8723칩을 찾고 있는데요. 엑스트라 1488 2010.01.29
435 마이크로프로세서 HOT8051을 처음 접하게 되었는데..2 타키온 1183 2010.01.27
434 마이크로프로세서 HOT8051참힘드네요.8 동키 1121 2010.01.26
433 마이크로프로세서 HOT팬틸트 제작( 2개 서보모터 따로 제어) 질문입니다.9 haze 3609 2010.01.25
Prev 1 ... 31 32 33 34 35 36 37 38 39 40 ... 58 Next
  • 세상이 자기를 버렸다고 생각하지 마라. 세상은 날 가진적이 없다.
    - 박 종영
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.