8051 마이크로프로세서 이용해서 정말 간단한 야구게임을 만들어 보려고 했는데요.
정말 안 됩니다...ㅠㅠ
컴공은 아니고 그냥 공대생인데 프로그래밍 공부 시작한지 이제 얼마 안 된 빡머가리라 이해가 안돼요...
일단 제가 코딩한 야구게임 코드는 간단합니다.
던질 방향을 숫자로 입력받고 -> 칠 방향을 숫자로 입력받아 -> 숫자가 동일하면 홈런, 숫자가 다르면 스트라이크.
그냥 숫자 비교게임이라고 보시면 됩니다.
원래 숫자야구게임 예제를 보고 따라하려다가 제 수준에서 할 수 있을 정도로 난이도를 대폭 낮춰서 코딩해봤어요.
아무튼 Visual studio로는 쉽게 끝내서 8051로 충분히 구현 가능하겠지 싶었는데
C언어에서는 그냥 넣기만 하는 printf, scanf를
8051로 4*4 keymatrix로 입력을 받고 LCD로 출력하자니 구현하기가 너무 어렵더라고요..
제가 구상한건 4*4 keymatrix를 스트라이크 존이라고 생각하고
던질 방향과 칠 방향을 keymatrix로 각각 입력받아 비교하여 결과를 LCD로 출력하는게 목표입니다.
원래 점수 계산도 넣고, 숫자 간 차에 따라서 구종을 표시하거나 난수를 넣어서 구속을 출력하는 등
재미있게 만들 수 있을거 같아서 의욕이 넘쳤었는데 지금 처음부터 막혀버려서 엄두도 못 내고 있어요.
그래도 며칠동안 인터넷 이곳저곳 뒤져보면서 짜깁기로 어떻게 코딩은 끝냈는데
단순 노가다로 keymatrix로 입력받는 16개 숫자에 딸린 경우를 전부 일일히 코딩하다보니
지저분한것도 문제지만 용량초과로 컴파일이 안됩니다...ㅠㅠ
밑에 제가 짠 문제의 코드는 아래에 올려드릴테니 조언 좀 부탁드립니다.
8051을 쓰는 이유는 예상하셨겠지만 학교에서 대부분의 프로그래밍 과제를 8051로 내주고요
아직 과제 제출까지는 시간이 넉넉해서
제대로 이해하고 좀 더 퀄리티 있게 만들어보고 싶습니다.
제가 놓치고 있는 부분이나 "이새끼 이걸 아예 모르고있네"라고 생각하신 부분을 알려주세요
빡머갈도 이해할 수 있도록 참고할만한 서적이나 사이트를 추천해주셔도 정말 감사하겠습니다.
https://drive.google.com/open?id=0B8j8pdbANhzmeks2Wm9yRkp5U3M
일일히->일일이 (틈틈이 간간이 누누이 곰곰이 일일이 번번이 깨끗이 깊숙이 등등..) [리듬 맞춤법 봇♬]
16개 경우를 왜 일일이 코딩함 ;;
ㄴ c로는 scanf("%d", &num); 이걸로 끝낼 수 있는걸 8051로는 4*4 스캔하고 다시 그 값을 받는걸 못하겠더라고요...
나같으면 일단 스위치부터 저렇게 만들지말고 풀다운해서 8포트 인풋으로 물리고
8포터 high들어오면 인터럽트 발생시키도록 할꺼임
인터럽트 발생하면 행당 4만큼 스코어주고 열당 1만큼 스코어줘서 0~15까지 넘버링하고
그걸기반으로 똑같은지 아닌지 출력하는게 간단할듯
제가 실제로는 정해진 키트를 가지고 그걸 프로그램으로 옮긴거라서 저 4*4 스위치는 변경을 못 하는데 어떡하죠??
더 나아가면 지금은 8포트 제어지만 디먹스를 쓰면 xin이랑 셀렉트 4개로 5포트 제어가능하고
이진카운터까지 써서 셀렉트 4포트를 1포트로 줄여서 2포트로 제어가능
정해진키트면 for문 두번써서 확인해야지
행별로 high를 줄때 0~3차례대로 주면 몇번째 열에서 몇번째 행을 켰을때 인풋으로 high 들어오는지 알면 넘버링 가능하잖음
솔직히 무슨 말씀인지 하나도 못 알아듣겠는데 열심히 검색해서 이해해볼게요 ㅠㅠ. 조언 정말 감사드립니다.