질문게시판 > 답변 : atmega128 avr usart 질문

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

답변 : atmega128 avr usart 질문

페이지 정보

작성자 master 작성일22-06-21 07:53 조회664회 댓글5건

본문

//

// usart 에 1,2 입력시 led 좌,우측 순차점등이고 

// atmega128 array Fnd 가 좌,우측 나뉘어서 1,2 입력 한 숫자만큼 증가

//

#include <avr/io.h>

#include <avr/interrupt.h>

#include "1.h"

#define  CPU_CLOCK  7372800UL

#define  BAUD_RATE  19200

#define  BAUD_RATE_L(CPU_CLOCK/(161*BAUD_RATE))-1

#define  BAUD_RATE_H((CPU_CLOCK/(161*BAUD_RATE))-1)>>8

//

volatile unsigned char FND[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x27,0x7F,0x6F};

volatile unsigned char digit=0,display_num[4]={0.0.0.0}

volatile unsigned int tic_time=0;

//

char U0_rxChar(){ while(!(UCSR0A&0x80)); return UDR0; }

void U0_txChar(char d){ while(!(UCSR0A&(1<<UDRE0))); UDR0=d; }

void U0_txStr(char *s){ while(*s)U0_txChar(*s++); }

//

void delay(unsigned int dsec){ tic_time=0; while(dsec>tic_time); }

//

ISR(TIMER0_COMP_vect){ // 998.2638888888889us

  tic_time++;

  PORTA=FND[display_num[digit]]; PORTG=~(1>>digit);

  if(++digit>3)digit=0;

}

//

int main(void){

  int i,count,count1;

  unsigned char byte;

  unsigned char buf1[]="1.led 좌측부터 순차점등 \r\n";

  unsigned char buf2[]="2.led 우측부터 순차점등 \r\n";

  unsigned char buf3[]="input number(1-2):";

  DDRA=0xFF;   DDRC=0xFF; DDRG=0xFF; PORTG=0xFF;

  UCSR0B=0x18; UBRR0L=23;

  TCCR0=0x0C;  OCR0=114; TIMSK=2; //7372800Hz/64/(1+114)=1001.739130434783Hz,998.2638888888889us

  sei(); 

  for(;;){

    U0_txStr(buf1); U0_txStr(buf2); U0_txStr(buf3);

    byte=U0_rxChar(); U0_txChar(byte); U0_txStr("\r\n");

    if(byte=='1'){

      if(++count>99)count=0;

      display_num[0]=count/10;

      display_num[1]=count%10;

      for(i=0;i<8;i++){ PORTC=0x01<<i; delay(125); } PORTC=0;

    }

    if(byte=='2'){ 

      if(++count1>99)count1=0;

      display_num[2]=count1/10;

      display_num[3]=count1%10;

      for(i=0;i<8;i++){ PORTC=0x80>>i; delay(125); } PORTC=0;

    }

  }  

  return 0;

}

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 5

조회수 : 664

snoflak님의 댓글

snoflak 작성일

timsk 저렇게 설정하면 256분주로 설정되는건가요?
그리고 답변 감사합니다 많은 도움이 됐습니다.

master님의 댓글

master 댓글의 댓글작성일

7372800Hz/256=28800Hz
1ms로 만들기 위해서는 1000Hz가 나와야 하는데 28.8로 나누어야 하므로
근사치인 29로 나누면
7372800Hz/256/29=993.1034482758621Hz
64분주에 비해서 오차가 더 큽니다.

snoflak님의 댓글

snoflak 작성일

그렇군요 감사합니다 그리고 만약 256분주를 쓴다면
TCCR0=0x0E; OCR0=29; TIMSK=2; 로 설정하고
delay 함수는 124로 설정하면 되는 건가요?

master님의 댓글

master 댓글의 댓글작성일

설정은 맞습니다. 약 1ms
delay(125) 하면 대충 125ms가 되는거죠

snoflak님의 댓글

snoflak 댓글의 댓글작성일

감사합니다 delay 는125로 그대로 설정하면 되는군요
 많은 도움이 됐습니다 도와주셔서 감사합니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 PIC 블루투스 연결 댓글[18] 픽공부 새글 10:28
질문 PIC18F452 블루투스 연결 댓글[4] 마이컴 새글 22-08-08
질문 아두이노 코드 해석을 못하겠습니다... 댓글[2] 김가헌 새글 22-08-08
질문 아두이노 코드를 avr로 변환해 주세요 ...ㅠ 댓글[3] 옹냥냥 새글 22-08-08
질문 아두이노 녹음-스피커모듈 관련 질문있습니다 ㅠㅠ 댓글[2] 방귀뿡뿡 새글 22-08-08
질문 Serial EEPROM 실수값 저장.. 댓글[2] 첨부파일광이  22-08-07
질문 STM32 Live Expression 값들이 깜빡이는… 댓글[3] 둠둠  22-08-05
질문 아두이노 ESP32 wifi module 댓글[1] Yoon  22-08-03
질문 atmega128과 dht11, lcd를 연결했는데 0… 댓글[1] 고양이33  22-08-02
질문 ATMEGA 128 코드를 합치려고 하는데 어렵네요 댓글[2] 고양이33  22-08-02
질문 서보모터 제어에 대해 질문있습니다. 댓글[2] 첨부파일뉴비에오  22-07-30
질문 적외선 통신 알려주실분있나요 ㅠㅠ 댓글[1] hkjsj10  22-07-30
질문 아두이노 관련 궁금합니다. 댓글[1] 뱝뱝  22-07-28
질문 아두이노 우노 MCP4725 댓글[3] opqr  22-07-27
질문 레오나르도 인체감지센서 알림 안옴 면지지  22-07-24
답변 답변 : 레오나르도 인체감지센서 알림 안옴 master  22-07-25
질문 Uno에서 엔코더값 놓치는 이유가 뭘까요... 댓글[3] MAKTUB  22-07-24
질문 아두이노 압력센서 연동 질문 댓글[4] dbice  22-07-23
질문 아두이노 버튼 누르기 문의 댓글[1] 김형근  22-07-23
질문 HM10 다중페어링 댓글[1] ㅎㅋㅎㅋㅎ  22-07-22
질문 모터드라이브 선정 댓글[6] 조숩인  22-07-22
질문 ad9850 sin파 2 댓글[6] 첨부파일opqr  22-07-21
질문 ad9850 sin파 합성 댓글[7] 첨부파일opqr  22-07-20
질문 특정값이 n초이상,n번 이상 연속될경우를 감지하는 함수… 댓글[4] 우수  22-07-17
질문 delay를 millis함수로 바꾸는데 질문있습니다. 댓글[12] 첨부파일뉴비에오  22-07-16
질문 피에조 부저로 맬로디 만들기인대 코딩 까지 했는데 아두… 댓글[2] 첨부파일mingu123  22-07-15
질문 블루투스와 안드로이드 연동관련 질문입니다! ㅎㅇㅎㅇ  22-07-14
질문 아두이노간 블루투스 통신에 대해서 질문있습니다 첨부파일뉴비에오  22-07-13
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전