BASIC4MCU | 질문게시판 | 답변 : atmega 128 소스 오류?
페이지 정보
작성자 master 작성일2018-12-16 15:59 조회6,231회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=6944
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-12-16 오후 4:04:39// by Ok-Hyun Park//#include <avr/io.h>#define F_CPU 16000000UL // 16 MHz#include <util/delay.h>#include <avr/interrupt.h>#include <stdio.h>//char seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f};//volatile int i=0,j=0,k;//ISR(INT4_vect){ j=1; i=0; }ISR(INT5_vect){ j=0; }ISR(INT6_vect){ j=1; }ISR(INT7_vect){ j=i=0; }//int main(void){PORTA=0xFF; DDRA=0xFF;DDRB=0xff;PORTC=0xff; DDRC=0xff; // 적외선 센서// PORTD=0xFF; // LED// PORTE=0xF0; DDRE=0x0F; // 모터PORTF=0x00; DDRF=0x00; // 버튼//EICRB=0xAA; EIFR=0xFF; EIMSK=0xf0;SREG=0x80;while(1){i=(j==1)?i+1: i;for(k=0; k<100; k++){PORTC=~8; PORTA=seg[i%10]; _delay_ms(1);PORTC=~4; PORTA=seg[i/10%10]; _delay_ms(1);PORTC=~2; PORTA=seg[i/100%10]; _delay_ms(1);PORTC=~1; PORTA=seg[i/1000]; _delay_ms(1);}//if(PIND&0x01){PORTE=0xff; PORTC=0xfe; _delay_ms(1000);PORTE=0x00; _delay_ms(3000);PORTB=0xff; PORTC=0xff; _delay_ms(1000);PORTB=0x00;}if(PIND&0x04){for(int i=0; i<=8; i++){PORTC=0x01; _delay_ms(100);PORTC=0x04; _delay_ms(100);PORTC=0x10; _delay_ms(100);PORTC=0x40; _delay_ms(100);}}if(PIND&0x08){for(int i=0; i<=8; i++){PORTC=0x80; _delay_ms(100);PORTC=0x20; _delay_ms(100);PORTC=0x08; _delay_ms(100);PORTC=0x02; _delay_ms(100);}}//if(PINF&0x01){PORTE=0xff; PORTC=0xfe; _delay_ms(1000);PORTE=0x00; _delay_ms(3000);PORTB=0xff; PORTC=0xff; _delay_ms(1000);PORTB=0x00;}//}}//DDRF=0xff;입력 포트를 출력으로 설정하면 고장납니다.//포트 D에는 LED 센서LED는 센서가 아니고 출력으로 설정해야 합니다.if(PIND&0x01)입력을 받고 있는데요 적외선 LED 입력을 받기 위한 포토센서가 연결 되어 있나요?//포트 E에는 모터모터는 DDRE 설정을 해줘야 합니다.//포트 C에는 적외선 센서코드에서는 PC0~PC3까지 세그먼트 콤몬 출력을 하고 있습니다.//포트 입출력 설정을 모르면 아무 것도 하지 못합니다.//회로도 첨부하세요
댓글 0
조회수 6,231등록된 댓글이 없습니다.