회원가입 ID/PW 찾기
AA
#include <mega128.h> // mega128 헤더파일 사용

unsigned int cnt=0, sec=0; // cnt 와 sec를 int 형으로 선언
Byte *ptr;
char E_Welcom[]="2006142033/r/n";
char H_Welcom[]="2006124001";

interrupt [USART0_DRE] void usart0_transmit(void)
{
    UDR0 = *ptr;
    ptr++;
if(*ptr==0)
{
if(count==0)
{
ptr=E_Welcom;
}
else
{
ptr=H_Welcom;
}
}
}

void Init_USART0(void)
{
UCSR0B = (1<<RXCIE0) | (1<<UDRIE0) | (1<<RXEN0) | (1<<TXEN0);
UCSR0A = 0X00;
UCSR0C = 0X06;
UBRR0H = 0X00;
UBRR0L = 0X07;
SEI();
}

void InterTimer_init(void) //타이머 초기화 함수.
{   
    TCCR0 |= (1<<WGM01); //CTC모드로 설정
    TCCR0 |= (1<<CS01)|(1<<CS00)|(1<<CS02); //1024분주 프리스케일러
    OCR0 = 143;             //14.7456MHz/1024분주 /(1+143) = 100Hz =10ms 마다 출력 비교를 한다
    TIMSK = (1 << OCIE0); //타이머/카운터0 출력 비교 인터럽트 허가
    SREG |= 0x80; //타이머/카운터0 출력 비교 인터럽트 허가
}

interrupt[TIM0_COMP] void Clock_timer(void) //10ms마다 인터럽트 발생
{      
    cnt++; //cnt 1 증가
    if(cnt == 100) //cnt가 100이 되었을때 조건문 안에 명령 수행
    {   
        cnt = 0; //cnt를 0으로 초기화하고   
        sec++; //sec 1증가
    }
}                            

void main(void)
{
    Init_USART0();
    InterTimer_init(); //인터럽트,타이머 초기화 함수 호출
    ptr =0;
    
    while(1)
    {  
if(sec)
{
  if(sec%2==0)
  {
     ptr=E_Welcom;
  }
  else
  {
     ptr=H_Welcom;
      }
        }
    }
}  
   1교간격으로 2011와 2012가 교대로 출력되는 소스를 구현했는데 안되네요 ㅠ
   출력은 하이퍼터미널로 확인합니다.
댓글 1
  • No Profile

    자세한 소스 분석보다는 바꾸면 좋겠는 것을 알려 드립니다.

    1. uart 송신을 인터럽트가 아닌 폴링으로 처리하면 좋겠구요,

    2. 타이머 클럭을 32.768kHz 로 사용하면 좋겠네요,, 없으면 ...

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

search
번호 분류 제목 글쓴이 조회 수 날짜
4404 자유주제 HOT스마트그리드 관련 인터뷰2 일렉트로닉 18721 2011.11.25
4403 드론/로봇/라인트레이서 HOT라인트레이서 프로그램 질문 입니다. 마이크로0001 1021 2011.11.25
4402 마이크로프로세서 HOT오토캐드에서 작성한 회로도를... 땜쟁이야 1576 2011.11.22
4401 마이크로프로세서 HOTinterrupt 사용법에 대해서 궁금한 점 있습니다. 해오 892 2011.11.21
마이크로프로세서 HOT1초마다 교대로 문자 출력하는 소스인데 안되서요 ㅠ1 허브명수 1178 2011.11.21
4399 Allegro & OrCAD HOTpart를 수정하여 사용할수있는 방법?1 정상까지 가보자! 892 2011.11.20
4398 마이크로프로세서 HOT안녕하세요. 픽 두번쨰로 접한 초보입니다. 여쭈고 싶은게 있어서요 거덜러미 1040 2011.11.20
4397 자유주제 HOT군것질...2 견우7 21611 2011.11.18
4396 전기전자 아무거나 HOT소리 관련 역학... 질문1 견우7 790 2011.11.18
4395 마이크로프로세서 HOT데이터 입력에 관한 질문입니다. 드미트리 898 2011.11.18
4394 전기전자 아무거나 HOTVHDL로 60초를 표현하는 방법 소스인데,, 어떻게 해야 할까요? 안녕하세요. 1107 2011.11.18
4393 자유주제 HOT"스마트그리드! 한국의 역할이 크다!"IEEE 회장 척아담스2 일렉트로닉 12720 2011.11.17
4392 드론/로봇/라인트레이서 HOT아크마님.. 라인트레이서 구동 질문입니다1 호롤로로로로 952 2011.11.16
4391 개발용역 HOT회로 설계 드립니다. 휴너시스 7751 2011.11.16
4390 펌웨어 & 코딩언어 HOT외부 SRAM 컨트롤하는 것좀 도와주세요.1 쩡무 1389 2011.11.15
4389 마이크로프로세서 HOTpid제어를 통해서 도립진자를 만드려는데 좀 힘드네요ㅜ 도와주세요ㅜ 매실한잔 1490 2011.11.14
4388 마이크로프로세서 HOTled 제어하는데... 실마리온 1015 2011.11.14
4387 PADS HOTpads 9.3 과 4.1 의 호환에 대해서1 azza2222 1257 2011.11.14
4386 Analog & Mixed-Signal 설계 HOT전기전자 간단한 differential BJT 증폭기 도와주실분.. gfgg 1096 2011.11.12
4385 마이크로프로세서 HOT8051 사거리 신호등 LED패턴 바꾸기 소스코드좀 봐주세요... LED깜빡 1511 2011.11.12
Prev 1 ... 70 71 72 73 74 75 76 77 78 79 ... 295 Next
  • 교양 교육의 기본목표는 인간을 자유롭게 하여, 그들의 잠재능력을 최대한으로 발휘하게 하는 것이다.
    - 화이트
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.