2006년 12월 18일
8051 마이크로 컨트롤러 - 4학년
다운로드 : micro.zip
| Description
과목 : 마이크로프로세서 설계
0. 초기 상태


<시리얼 포트를 open한 모습>
HEX 파일을 마이크로컨트롤러 램에 적재한 후 실행 시키면 LCD 창에 'Initial-mode' 문구가 출력된다.
이제 마이컴은 추가적인 명령이 올때까지 대기 한다. 통신 프로그램을 실행시켜 마이컴과 연결된 COM1을 열어
주면 초기 설정이 모두 끝나게 된다.
통신프로그램에서 'Piano' 버튼을 클릭하면 마이컴으로 'P' 명령이 전송되고 이제.. Piano-mode로 진입한다.
모드가 바뀌면 LED의 불이 모두 꺼진다. 키보드에서 1에서 8까지의 숫자키를 누르면 그에 대응하는 LED 1개가
빛을 발하게 된다.

2. Calculator mode

통신 프로그램에서 'Calculator'버튼을 클릭하면 이 모드로 변한다. 처음 모드가 전환되면 LED의 불이 모두
꺼진다. 마이컴도 작은 규모의 컴퓨터이므로 컴퓨터 본연의 임무인 계산기능을 사용해보려고 만들었다. 예전
자료구조 시간에 만들었던 후위식 계산기 소스를 집어 넣었는데... 계산기 특성상 많이 사용하게 되는 스택의
크기가 제한적이라 입력할 수 있는 계산식의 길이가 19자를 넘을 수 없다. 부동소숫점도 사용 할 수 없다.
계산식을 입력하고 Send를 하게 되면 시리얼을 통해 마이컴으로 전송되고, 마이컴에서는 후위식으로 변환 후
계산을 하게 된다. 최종적으로 결과값이 나오면 다시 PC로 결과를 보여주고, 통신 프로그램은 전송된 결과값과
입력식을 화면에 보여주는 과정을 거친다.


| Description
과목 : 마이크로프로세서 설계
0. 초기 상태


HEX 파일을 마이크로컨트롤러 램에 적재한 후 실행 시키면 LCD 창에 'Initial-mode' 문구가 출력된다.
이제 마이컴은 추가적인 명령이 올때까지 대기 한다. 통신 프로그램을 실행시켜 마이컴과 연결된 COM1을 열어
주면 초기 설정이 모두 끝나게 된다.
1. Piano mode

모드가 바뀌면 LED의 불이 모두 꺼진다. 키보드에서 1에서 8까지의 숫자키를 누르면 그에 대응하는 LED 1개가
빛을 발하게 된다.


<8번키를 눌렀을 때 8번째 LED의 불이 켜진 모습>
2. Calculator mode

통신 프로그램에서 'Calculator'버튼을 클릭하면 이 모드로 변한다. 처음 모드가 전환되면 LED의 불이 모두
꺼진다. 마이컴도 작은 규모의 컴퓨터이므로 컴퓨터 본연의 임무인 계산기능을 사용해보려고 만들었다. 예전
자료구조 시간에 만들었던 후위식 계산기 소스를 집어 넣었는데... 계산기 특성상 많이 사용하게 되는 스택의
크기가 제한적이라 입력할 수 있는 계산식의 길이가 19자를 넘을 수 없다. 부동소숫점도 사용 할 수 없다.
계산식을 입력하고 Send를 하게 되면 시리얼을 통해 마이컴으로 전송되고, 마이컴에서는 후위식으로 변환 후
계산을 하게 된다. 최종적으로 결과값이 나오면 다시 PC로 결과를 보여주고, 통신 프로그램은 전송된 결과값과
입력식을 화면에 보여주는 과정을 거친다.


<계산이 완료되어 계산 결과값을 시리얼을 통해 전송한 후 LED를 모두 on 한 모습>
8051 내부를 보면 타이머가 2개가 있어서 이걸 이용해 시리얼 통신으로 PC의 현재 시간을 전송해 주고 타이머
인터럽트를 1초마다 발생시켜 디지털 시계를 만들까 생각했는데 너무 귀찮아서 위 2가지 정도만 만들었다.ㅡ,.ㅡ;;
# by | 2006/12/18 21:33 | CS - 과제물 | 트랙백 | 덧글(5)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
그런데 롬라이터는 어떤 걸 쓰시나요?
시계는 그냥 ds1302 쓰는게 맘이 편하더라구요-_-;
컴퓨터 통신 인터페이스는 직접 제작하신건가요??
atmega128을 쓰는데, 인터페이스가 하이퍼터미날이다보니 매번 불안&부끄럽습니다ㅠ.
자작이시면 어떤식으로 구현하신건지 조금 알수 있을까요??
그녀석 기능중에 램에다가 파일을 다운로드 하고 그 주소로 점프하는 기능이 있습니다.
그래서 테스트 할때마다 램에다가 hex 파일을 다운을 받고 프로그램을 돌립니다.....ㅋㅋ
저걸 가지고 머 다른거 할게 없나 고민중입니다..^^
rabbit153 // 그냥 수업용이라 구닥다리 씁니다. 80C31BH 라고 칩에 적혀 있네요..
네 저건 MFC로 만든 건데요. 통신하는거 간단하면서도 좀 귀찮기도 하죠.
원리는 "com1" 이렇게 자신이 사용할 포트 이름으로 파일을 열고... 이 파일에 data를 write
하면 전송되고.. 전송된 data는 이 파일을 read 하는 식입니다.
굳이 처음부터 다 만들 필요 없이 관련소스가 공개되어 있습니다. 데브피아 자료실에 가셔서
'시리얼' 이라고 검색하시면 관련 프로그램을 구하실 수 있습니다. ㅎㅎ