[마이크로프로세서 ] 마이크로프로세서 손뼉선풍기
- 최초 등록일
- 2005.08.15
- 최종 저작일
- 2005.05
- 23페이지/ 한컴오피스
- 가격 5,000원
소개글
이 자료는 제가 마이크로프로세서 80196 수업을 듣고 Final Project 로 만든 것에 대한 보고서 입니다. 제가 만든 것은 손뼉 선풍기로 손뼉을 치는 것에 따라 꺼지고 켜지고 속도 조절까지 가능하게 하였습니다. 코딩과 함께 코딩팁 그리고 자세한 주석, 즉 총체적으로 하드웨어 부문과 소프트웨어 부문을 확실하게 설명해 놓아서 쉽게 접하실 수 있을 것 같습니다. 만드는데 정말 많은 시간을 투자한 것입니다. 결국 성공을 하여서 성공해서 어떤식으로 선풍기가 돌아갔고 LCD 표시를 통해 그것 또한 관찰하실 수 있습니다. 말로 표현하기 힘든 방대한 자료라^0^
무튼~~80196 마이크로프로세서를 공부하시는데 도움이 되었음 좋겠습니다.
목차
Abstract
Purpose
Pre-knowledge
Process
Result
Analysis
Conclusion
본문내용
1. 박수 소리를 감지하는 스위치를 만들어 박수 소리나 기타 비슷한 강도의 소리를 주면 선풍기가 저절로 돌고 그 소리가 몇 번 행해지느냐에 따라 모드를 나누고 그 모드를 행할 수 있도록 한다.
2. 마프 Final을 통해 이제까지 수업시간을 통해 배운 내용을 총괄적으로 응용해 보도록 한다.
3. 나아가서 80196에 대한 전반적인 특징을 익히고 그것을 Final에 적용시켜 본다.
<Coding Strategy>
[Coding.1]
Main();함수에서
1) ioc1=0x29; //serial통신과 timer2, PWM동시에 사용 =>PWM 초기화가 안되서 알고 봤 더니 ioc1=0x28 (serial통신과 timer2 동시에 사용)으로만 설정되어 있는 것이었다.
2)마프보드에서는 default상태에서 PWM에5V를 출력하므로 반드시 main함수에서 PWM신 호를 0으로 초기화 시켜주어야 한다.
[Coding.2] - 출력 속도 다른 LCD Control
Control mode 출력 lcd와 timer mode의 lcd 출력 delay는 틀려야하는데 분명 delay를 나누어 썼는데 값조절 해 보면 상호 영향을 받는 걸 볼 수 있었다. 그 이유는 무엇일까? tdelay()값을 아무리 0으로 낮추어도 delay() 값이 워낙 크면 Timer count 올라가는 속도가 현저하게 느린 것을 확인할 수 있었다. delay()를 32780->22780으로 낮추니까 Timer 속도 그나마 제대로 나오는 것을 확인할 수 있었다.
또한 Timer2 Loop안에 제일 마지막에 있는 homeline(); 안에 보니까 delay();를 포함하고 있었다. 따라서 thomeline();이라는 새로운 'LCD 홈라인' 함수를 정의하여 주어 문제를 해결했다.
=>> 밑에 있는 것은 추가한 함수 이다.
void thomeline(void);
void lcd_tputch(char datum);
void lcd_tprint(char *d);
void tdelay(void);
참고 자료
없음