BASIC4MCU | 질문게시판 | 아트메가8535 질문좀요 제발 ㅠㅠ
페이지 정보
작성자 아트메가 작성일2018-06-07 23:25 조회7,852회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=1573
본문
변기커버 사용하는원리로사용하려는데0도에서 90도로 설정하기위해서코드비젼으로 코딩을 이렇게 까지했는데 작동으로 안하는데 한번만 봐주실수있나요?ㅠㅠ그리고 도움좀 부탁드릴께요..아트메가8535에 대한 자료가 너무없어요..인터럽트 발생시 90도로 갔다가다시 리셋버튼 누르면 0도로 돌아가게 하려고하고있습니다.우선 코딩입니다#include <mega8535.h>#include <delay.h>interrupt [EXT_INT0] void ext_int0_isr (void){PORTC = (1 << PORTC6); // 0100 0000 PC6 샬균유무 LED on//변기커버 closeTCNT0 = 0xEC ; // 서보모터 middle(0도) : duty cycle 7.5%, pulse 1.5ms, OCR 20, TCNT 256-20=236 = 0xECTCNT0 = 0xE6 ; // 서보모터 middle(+90도) : duty cycle 10%, pulse 2ms, OCR 26, TCNT 256-26=230 = 0xE6 -> 변기커버 닫기//살균PORTC |= (1 << PORTC3)|(1 << PORTC2)|(1 << PORTC1)|(1 << PORTC0); // UV LED ON = 살균 시작delay_ms(10000); // 10초동안 살균 진행PORTC |= (0 << PORTC3)|(0 << PORTC2)|(0 << PORTC1)|(0 << PORTC0); // UV LED OFF = 살균 끝//변기커버 openTCNT0 = 0xF3 ; // 서보모터 middle(-90도) : duty cycle 5%, pulse 1ms, OCR 13, TCNT 256-13=243 = 0xF3 -> 변기커버 열기delay_ms(1500); // 여기에 변기 살균 routin 작성 : 변기커버 닫고 -> uv light 10초 on -> 변기커버 열기PORTC = (0 << PORTC6); // 0000 0000 PC6 샬균유무 LED off}/*interrupt [TIM0_OVF] void TIM0_OVF_isr(void){}*/void main(void){DDRC = 0xff; // 1111 1111 : PORTC LED 모두 출력DDRD = 0x00; // 0000 0000 : PORTD (INT 포함) 모두 입력PORTC = 0x00; // 0000 0000 : PORTC 값 off로 초기화SREG = 0x80; // 1000 0000 : I_bit Global Interrupt enableGICR = (0 << INT1)|(1 << INT0)|(0 << INT2)|(0 << IVSEL)|(0 << IVCE);MCUCSR = (0 << WDRF)|(0 << BORF)|(0 << EXTRF)|(0 << PORF);MCUCR = (0 << SM2)|(0 << SE)|(0 << SM1)|(0 << SM0)|(0 << ISC11)|(0 << ISC10)|(1 << ISC01)|(1 << ISC00);TIMSK = (1 << OCIE0)|(1 << TOIE0);TCCR0 = (0 << FOC0)|(1 << WGM00)|(1 << COM01)|(0 << COM00)|(1 << WGM01)|(1 << CS02)|(0 << CS01)|(1 << CS00);// UART 통신 (TxD - 살균 on off 정보를 (앱에서)보내는 역할, RxD - 인체감지센서의 값으로 사람 유무를 (앱으로)받는 역할 )// UDR : 값을 읽거나 쓸 data를 임시저장하는 버퍼 역할의 레지스터// UCSRA : UART 동작을 control하고 status 지정하는 레지스터//UCSRA = ( << RXC)|( << TXC)|( << UDRE)|( << FE)|( << DOR)|( << PE)|( << U2X)|( << MPCM);//UCSRB = ( << RXCIE)|( << TXCIE)|( << UDRIE)|( << RXEN)|( << TXEN)|( << CHR9)|( << RXB8)|( << TXB8);while (1) ;}도움좀 주세요 ㅠ
댓글 0
조회수 7,852등록된 댓글이 없습니다.