[마이크로 프로세서 소스] 키친타이머 소스 작성 소스코드 - pic 16f84
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[마이크로 프로세서 소스] 키친타이머 소스 작성 소스코드 - pic 16f84에 대한 보고서 자료입니다.

목차

[마이크로 프로세서 소스] 타이머 작성 소스코드 - pic 16f84

1. 기능 설명
① 회로도
② 주요 기능

2. Flow Chart

3. SubRoutine 설명
1) LOOKUP TABLE
2) ISR(Interrupt Service Routine) 시작 부분
3) PORTB,4 INTERRUPT 부분
4) TM0 INTERRUPT 부분
5) LED_ON 부분
6) LED_OFF 부분
7) ISR 끝 부분
8) 입출력 설정 부분
9) MAIN PROGRAM 부분
10) 기타 설정
11) BEEP & MELODY 부분
12) 각종 DELAY 및 계명 설정

4. 전체 프로그램 SOURCE

5. 자신이 작성한 프로그램의 특징 및 과제물 작성하면서 느낀 점.
① 프로그램의 특징
② 과제물 수행 동안의 감상

본문내용

CALL DELAY2
MOVLW .255
MOVWF BAK_NUM
MOVLW B'00000010'
MOVWF PORTA
MOVLW B'00001110'
MOVWF PORTB
LOOP20
BSF PORTB,5
CALL SOL
BCF PORTB,5
DECFSZ BAK_NUM
GOTO LOOP20
CALL DELAY2
MOVLW .255
MOVWF BAK_NUM
MOVLW B'00000001'
MOVWF PORTA
MOVLW B'00001110'
MOVWF PORTB
LOOP21
BSF PORTB,5
CALL MI
BCF PORTB,5
DECFSZ BAK_NUM
GOTO LOOP21
CALL DELAY2
MOVLW .255
MOVWF BAK_NUM
MOVLW B'00000010'
MOVWF PORTA
MOVLW B'00001110'
MOVWF PORTB
LOOP22
BSF PORTB,5
CALL RE
BCF PORTB,5
DECFSZ BAK_NUM
GOTO LOOP22
CALL DELAY2
MOVLW .255
MOVWF BAK_NUM
MOVLW B'00000001'
MOVWF PORTA
MOVLW B'00001110'
MOVWF PORTB
LOOP23
BSF PORTB,5
CALL MI
BCF PORTB,5
DECFSZ BAK_NUM
GOTO LOOP23
CALL DELAY2
MOVLW .255
MOVWF BAK_NUM
MOVLW B'00000010'
MOVWF PORTA
MOVLW B'00001110'
MOVWF PORTB
LOOP24
BSF PORTB,5
CALL DO
BCF PORTB,5
DECFSZ BAK_NUM
GOTO LOOP24
CALL DELAY2
RETURN
; ====================<< DELAY >>====================
DELAY1 ; 10ms DELAY
MOVLW .13
MOVWF I_DBUF1
LP1 MOVLW .200
MOVWF I_DBUF2
LP2 NOP
DECFSZ I_DBUF2,F
GOTO LP2
DECFSZ I_DBUF1,F
GOTO LP1
RETURN
DELAY2 ; 250us DELAY
MOVLW .59
MOVWF DBUF1
SLP1
NOP
DECFSZ DBUF1
GOTO SLP1
RETURN
DELAY3 ; 250us DELAY
MOVLW .255
MOVWF DBUF4
SLP2
NOP
DECFSZ DBUF4
GOTO SLP2
RETURN
; ================<< Syllable Names >>================
DOMOVLW.10
MOVWFMDBUF1
LPX1MOVLW.30
MOVWFMDBUF2
LPX2NOP
DECFSZMDBUF2,F
GOTOLPX2
DECFSZMDBUF1,F
GOTOLPX1
RETURN
REMOVLW.9
MOVWFMDBUF3
LPX3MOVLW.29
MOVWFMDBUF4
LPX4NOP
DECFSZMDBUF4,F
GOTOLPX4
DECFSZMDBUF3,F
GOTOLPX3
RETURN
MIMOVLW.8
MOVWFMDBUF5
LPX5MOVLW.30
MOVWFMDBUF6
LPX6NOP
DECFSZMDBUF6,F
GOTOLPX6
DECFSZMDBUF5,F
GOTOLPX5
RETURN
PAMOVLW.8
MOVWFMDBUF7
LPX7MOVLW.28
MOVWFMDBUF8
LPX8NOP
DECFSZMDBUF8,F
GOTOLPX8
DECFSZMDBUF7,F
GOTOLPX7
RETURN
SOLMOVLW.7
MOVWFMDBUF9
LPX9MOVLW.29
MOVWFMDBUF10
LPX10NOP
DECFSZMDBUF10,F
GOTOLPX10
DECFSZMDBUF9,F
GOTOLPX9
RETURN
RAMOVLW.6
MOVWFMDBUF11
LPX11MOVLW.30
MOVWFMDBUF12
LPX12NOP
DECFSZMDBUF12,F
GOTOLPX12
DECFSZMDBUF11,F
GOTOLPX11
RETURN
END
5. 자신이 작성한 프로그램의 특징 및 과제물 작성하면서 느낀 점.
① 프로그램의 특징
○ 장점
하나의 변수로 모든 LED를 통제가능하다.
MELODY 부분이 교재에 다른 Original Source이다.
○ 단점
정교한 박자 설정이 비교적 어렵다.
전체 소스가 거의 한계에 가까울 정도로 길다.(약 1015줄 정도)
② 과제물 수행 동안의 감상
- 일단 플로우차트를 작성하고, 계획을 세울 정도로 긴 프로그램을 계획하고 Design하는 것이 처음에는 무척이나 힘이 들었다. 게다가 처음에 각 LED가 작동하는 원리를 파악하는 바람에 어느 정도 늦은 출발되었다는 것과 프로그램 작성시 계획 수립의 중요성을 절실하게 느낄 수 있을 수 있었다. 또한 이렇게 계획을 세우고, 실제로 프로그래밍에 들어서면서 프로그램이 길어지는 바람에 중간중간 계속해서 버그를 내고, 그것을 조금씩 수정하는 과정에서 프로그래밍이 내가 느껴오던 것보다 훨씬 더 어렵고, 힘든 작업임을 깨달을 수 있었다. 실험실에서 과제를 수행하는 동안 다른 분들의 프로그램도 한번씩 구경해 볼 수 있었는데, 다른 조들의 소스는 의외로 우리 조보다 짧은 것을 보고, 아직도 나의 프로그래밍 능력이 많이 떨어진다는 것을 느낄 수 있었다. 또한 MELODY 파트에서 MELODY를 무한 LOOP 시키는 도중에 키를 길게 누르면, 꺼지도록 설정을 했음에도 불구하고, 특정 자리에서는 정상 작동이 되면서도 특정 자리에서는 정상 작동이 되지 않는 등의 문제점을 풀지 못해 미숙한데로 남겨둔 것과 본 소스 부분이 의외로 긴 것으로 인해 MELODY 부분에 좀 더 긴 음악을 넣어볼 수 없었다는 것이 무척이나 아쉬움으로 남는다.
만약 앞으로 학교를 졸업하고 기업에 취업을 해서도 어셈블리 프로그래밍을 할 기회가 생긴다면, 그 때까지 더욱 더 어셈블러를 공부해서 조금 더 간략하면서도 정교한 동작이 되는 그런 프로그램을 할 수 있었으면 좋겠다.
마지막으로 1학기 동안 나의 아둔함에도 불구하고, 열성적인 자세로 친절하고 자세하게 우리를 이끌어 주신 성기웅 교수님께 수고와 감사에 말을 드리고 싶다.
교수님, ‘1학기 동안 정말 감사드리고, 수고하셨습니다!!’
  • 가격3,300
  • 페이지수31페이지
  • 등록일2014.03.27
  • 저작시기2014.3
  • 파일형식한글(hwp)
  • 자료번호#909865
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니