질문게시판 > 안녕하세요 atmega128 실습 시험준비하는 학생입니다.

TODAY267 TOTAL2,271,734
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 안녕하세요 atmega128 실습 시험준비하는 학생입니다.

페이지 정보

작성자 tony 작성일2022-05-31 15:12 조회2,052회 댓글7건

본문

	

 

When switch 1 is pressed 

initially turn off all LEDs and turn on by stacking one by one form left to right

every 0.64seconds when all LEDs are on turn them off and start over

You must use timer/counter 0 with an overflow interrupt (prescaler :1024)

(overflow interrupt를 사용하라고 했는데 이게 너무 힘드네요;;)

 

sw1 이 눌러졌을 때 왼쪽에서 오른쪽으로 0.64s interval로 전구가 하나씩 켜지는 상태로

전구가 다 켜지면 전구가 모두 꺼지고 다시 원 상태로 시작하는 코드를 구현화하려 하는데 

아래의 오버플로우 인터룹트를 사용하려고 합니다. 혹시 하나만

예를 들어 주실 수 있나요??   

 

 interrupt[TIM1_OVF]void timer1_ovf_isr(void)  

{  

 TCNT1H =0xC2;  

 TCNT1L = 0xF6;    

  ii++; 

  if(ii==8)    

  ii=0;   

 }

 

감사합니다. 좋은하루 되세요 

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

댓글 7

조회수 2,052

master님의 댓글

master 작성일

TCCR1B=4; TCNT1=28036; TIMSK=4; //600ms
    TCCR1B=4; TCNT1=21786; TIMSK=4; //700ms
//
    TCCR1B=5; TCNT1=56161; TIMSK=4; //600ms
    TCCR1B=5; TCNT1=53036; TIMSK=4; //800ms

두 종류의 분주비로 640ms 비슷하게 만들 수 있을텐데요
가능하면 분주비가 작은 것이어야만 정밀도가 더 나옵니다.
256분주비로 계산하면
0.64sec의 주파수는 1.5625Hz
16000000Hz/256분주비/1.5625Hz=40000
65536-40000=25536
1적은 값인 25535를 TCNT1에 입력하면 되겠습니다.
//
1024분주비도 계산해보죠
16000000Hz/1024분주비/1.5625Hz=10000
65536-10000=55536
1적은 55535를 TCNT1에 입력하면 되겠습니다.

계산과정에서 정수로 딱 떨어지지 않으면 오차가 발생하는 것인데
두가지 분주비 모두 정수로 딱 떨어졌으므로 오차는 없습니다.

master님의 댓글

master 작성일

0xC2F6 = 49910
65536-49910=15626
16000000/15626/1.5625Hz=655.3180596441828
분주비가 655 근처인 것은 없으니 0.64sec는 맞지 않겠습니다.

master님의 댓글

master 작성일

interrupt[TIM1_OVF]void timer1_ovf_isr(void){ 
  // TCNT1=0xC2F6; //128에서 TCNT1에 16비트 값을 넣을 수 있습니다. 코드비전에서 TCNT3은 불가(바이트 단위로 나누어서 넣어야 함)
  TCNT1=55536; // 1024 분주 경우
  if(++ii==8)ii=0; 
  PORTA=0x80>>ii;
 }

tony님의 댓글

tony 댓글의 댓글 작성일

interrupt 실행은 어떻게 하나요? TOV0를 이용해서 하나요?? TCCR0를 이용해서 하나요?

master님의 댓글

master 댓글의 댓글 작성일

TCCR1B=5; TCNT1=55536; TIMSK=4; //640ms
    SREG=0x80;
메인함수 무한루프 전에 위 코드를 넣으면
타이머1 오버플로우 인터럽트가 발생합니다.

master님의 댓글

master 작성일

LED가 LOW를 출력했을 때 ON 되는 경우 (부논리 동작)
  PORTA=~(0x80>>ii);
출력을 비트반전 시키면 됩니다.

tony님의 댓글

tony 작성일

감사합니다!!

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 아두이노 우노 온습도센서와 LED댓글[7] 이미지 체펠리 22-06-08 3358
질문 아두이노 푸쉬버튼 질문입니다.댓글[2] 이미지첨부파일 홍머생 22-06-08 1039
질문 아두이노 lcd 카운트다운 ghost45 22-06-08 1060
답변 답변글 답변 : 아두이노 lcd 카운트다운 master 22-06-08 1242
질문 블루투스 간 통신 질문입니다 새벽효 22-06-08 969
답변 답변글 답변 : 블루투스 간 통신 질문입니다 master 22-06-08 859
질문 atmega128에서 초음파 센서(HC-SR04)를 통해 부저 소리를 내려합니다. seung 22-06-08 1151
답변 답변글 답변 : atmega128에서 초음파 센서(HC-SR04)를 통해 부저 소리를 내려합니다.댓글[1] master 22-06-08 1472
질문 stm32 pwm구동 여부 질문입니다.댓글[6] 손문일 22-06-08 2405
질문 Atmaga128 인터럽트를 사용한 main문 재실행 질문입니다.댓글[5] 나욜렌 22-06-08 1396
질문 Atmega128 코딩 도와주세요,,! 이미지첨부파일 화니뿌뿌 22-06-07 1296
답변 답변글 답변 : Atmega128 코딩 도와주세요,,!댓글[3] master 22-06-08 1394
질문 스템모터 연동질문 초보코디러 22-06-07 591
답변 답변글 답변 : 스템모터 연동질문 master 22-06-07 752
질문 서보모터 질문댓글[2] 죠르디 22-06-07 1087
질문 atmega128 코드 질문있습니다 콜뚜기 22-06-07 1084
답변 답변글 답변 : atmega128 코드 질문있습니다댓글[3] master 22-06-07 1421
질문 AVR 128 -> 2560으로 변경하는 법좀 알려주세요ㅠㅠ댓글[2] tnwls 22-06-07 1445
질문 보드레이트 관련 질문댓글[1] 죠르디 22-06-07 1018
답변 답변글 답변 : 보드레이트 관련 질문 죠르디 22-06-07 1357
답변 답변글 답변 : 답변 : 보드레이트 관련 질문댓글[1] master 22-06-07 1205
답변 답변글 답변 : 답변 : 답변 : 보드레이트 관련 질문댓글[1] 죠르디 22-06-16 794
질문 우노 하드웨어 시리얼 전환댓글[7] 면지지 22-06-06 1689
질문 ATMEGA128질문입니다.댓글[1] suid82 22-06-06 1237
질문 스텝모터2개 + 초음파센서댓글[1] 공천 22-06-06 1109
질문 시리얼 통신 블루투스 질문입니다.댓글[2] 이미지첨부파일 현두이노 22-06-06 1001
질문 아두이노 서보모터 2개제어댓글[1] 아드초 22-06-06 1121
질문 아두이노 서보모터 질문드립니다. 아드초 22-06-06 878
답변 답변글 답변 : 아두이노 서보모터 질문드립니다.댓글[1] master 22-06-06 1418
질문 신호를 받아서 진동울리기댓글[4] 메론맛드링크 22-06-06 1343
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기