8051 프로세서를 이용한 계산기
- 최초 등록일
- 2013.06.28
- 최종 저작일
- 2011.05
- 23페이지/ MS 파워포인트
- 가격 2,000원
소개글
8051 프로세서를 활용하여 계산기를 만든 프로젝트 발표 ppt 입니다.
목차
1 전체적 구성도
2 프로젝트 일정
3 코드 흐름 설명
4 구현된 코드 설명
5 역할 분담
6 결과 분석 및 발전방향
본문내용
8개의 키 값을 받기 위해 기존의 8051에 있는 key_check코드를 보고 응용하였습니다. 네개의 스위치를 입력 받을 수 있게 한 기존의 코드에서는 00001111과 A의 값을 and연산으로 하는 것을 보았고, 여기서 스위치 값을 입력 받는 부분이 1로 표현되었다는 점을 착안하여, 8개의 스위치를 입력받기 위해 8비트 모두 1로 바꾸어주었으며, 스위치를 입력하는 실습을 한 코드를 보고 분석하여 눌려지는 자리가 0이 된다는 사실을 알고, 8개의 키를 눌렀을 경우에 이와같은 이진수가 A레지스터에 입력 된다고 생각하였습니다. 그리고 눌러진 키 값이 무엇인지, 그리고 그 값이 무엇인지를 기억해서 연산을 처리하는 경우를 코드로 구현하지 못해서, 대신에 초기값을 이용해서 더하기와 곱셈 연산을 할 수 있도록 하였습니다. 그렇기 때문에 숫자를 입력받는 각 스위치의 키 값은 1로 초기화를 하게됩니다.
처음 값이 loop가 돌지 않을 경우에 1부터 시작되는 R1의 값이 4인지 비교를 해서 4가 아니라면 증가시키고 출력은 1을 빼고 출력을 하고 4이상이 되면 계속해서 3을 출력하도록 코딩이 되어있었고 여기서 비교값이 4인 이유는 초기값은 1이고 키 값이 세번 입력될때까지 숫자가 변하기 때문입니다. loop를 돌게 하는 코드에서는 시작하자마자 인클리먼트를 시키는 코드로 점프하게 되는데 이 이유가 1을 감소해서 출력하기 때문입니다. 수정 당시에 감소하여 출력하지 않고 바로 출력할 수 있는 코드를 만들 수도 있었지만, 그렇게 되면 연산 부분의 코드까지 고쳐야 하는 상황이 발생 되기 때문에 이 부분에서 제약사항이 있었습니다. 인클리먼트 레이블의 명령어 끝에 R1의 값이 5인지를 비교를 해서 4이상이 출력되기 전에 R1의 값을 2로 바꾸어 주게 되면 4번째 눌렀을 경우에 1이 출력되게 만들수 있었습니다. 코드를 설계하는데에 출력값과 저장값을 각기 다른 레지스터를 사용하는 것을 지키면서 코드를 짜게 되었습니다.
참고 자료
없음