본문 1. 실습의 목표 ① ATmega128의 포트에 대해 이해한다. ② ISP(In System Programming)에 대해 이해한다. ③ 각 포트를 구성하는 레지스터(DDRx, PROTx, PINx) 사용법을 습득한다. ④ LED, S/W, FND를 이용하여 포트의 사용법을 실습한다. 2. 실습의 내용 ① 보드와 PC의 연결 ② Codevision의 기본 설정 ③ 프로그램의 편집(스위치 입력에 따른 LED 점등) ④ 프로그램 작성 실험 1. #include <mega128.h> //mega128라는 헤더파일을 포함하는 전처리문 #include <delay.h> //mega128라는 헤더파일을 포함하는 전처리문 typedef unsigned char byte; //unsigned char형 대신에 byte도 사용가능하게 함 byte sw; //sw라는 변수를 선언 void main(void) //main문 선언 byte sw; //sw라는 변수를 선언 DDRD=0xff; //D포트를 출력상태로 만듬 DDRA=0xff; //A포트를 출력상태로 만듬 PORTD=0x00; //D포트의 초기상태를 0으로 만듬 PORTA=0x00; //A포트의 초기상태를 0으로 만듬 while(1) //while 문안의 조건을 만족하지 않으면 무한반복 sw=PIND; //sw에 D포트에서 읽어 들인 값을 저장 else if(sw 0x01) PORTA=0x01; //스위치1번이 on 상태라면 첫 번째 LED에 불을 켬 else if(sw 0x02) PORTA=0x02; //스위치2번이 on 상태라면 두 번째 LED에 불을 켬 else if(sw 0x04) PORTA=0x04; //스위치3번이 on 상태라면 세 번째 LED에 불을 켬 else if(sw 0x08) PORTA=0x08; //스위치4번이 on 상태라면 네 번째 LED에 불을 켬 else if(sw 0x10) PORTA=0x10; //스위치5번이 on 상태라면 다섯 번째 LED에 불을 켬 else if(sw 0x20) PORTA=0x20; //스위치6번이 on 상태라면 여섯 번째 LED에 불을 켬 else if(sw 0x40) PORTA=0x40; //스위치7번이 on 상태라면 일곱 번째 LED에 불을 켬 else if(sw 0x80) PORTA=0x80; //스위치8번이 on 상태라면 여덟 번째 LED에 불을 켬 else PORTA=0x00; //스위치가 on 상태가 아니라면 7-SEG LED에 불이 켜지지 않음 실험 2. #include <mega128.h> //mega128라는 헤더파일을 포함하는 전처리문 #include <delay.h> //delay.h를 포함하는 헤더파일 typedef unsigned char byte; //unsigned char형 대신에 byte도 사용가능하게 함 byte i; //i라는 변수를 선언 byte snd_num 10 = 0x3f,0x06,0x5b,0x4f,0x66,0x7d,0x27,0x7f,0x6f ; //snd_num 이란 10칸 짜리 배열 변수를 생성하여 그안에 안의 데이터를 저장 byte snd_loc 4 = 0x01,0x02,0x04,0x08 ; // 안의 숫자를 Snd_loc라는 변수에 저장 void main(void) //main문 선언 DDRA=0xff; //A포트를 출력상태로 만듬 DDRC=0x0f; //C포트를 입력상태로 만듬 while(1) //while 문안의 조건을 만족하지 않으면 무한반복 하고 싶은 말 좀 더 업그레이드하여 자료를 보완하여, 과제물을 꼼꼼하게 정성을 들어 작성했습니다. 위 자료 요약정리 잘되어 있으니 잘 참고하시어 학업에 나날이 발전이 있기를 기원합니다 ^^ 구입자 분의 앞날에 항상 무궁한 발전과 행복과 행운이 깃들기를 홧팅 키워드 번째, 스위치, 포트, 실험, 헤더파일, 만듬 |
2018년 10월 6일 토요일
실험레포트 마이크로프로세서 실험 실습 레포트 2
실험레포트 마이크로프로세서 실험 실습 레포트 2
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기