D
dhruv101
Guest
안녕하세요,
나는 마이크로 - 컨트롤러 분야에 새로운입니다.내가 사용하고 PIC16F676 마이크로 칩에 의해 스타터 키트 플래시.내가)
데모 보드에있는 스위치를 폐쇄 (SW1되는 특정 LED를 토글하는 작은 프로그램을 작성했습니다.로 이해 핀 'RA3'은 그림에 대한 입력으로, 그래서 그것을 별도로 구성하는 의식하지 않아도 사용할 수있습니다?또한이 RA3 핀 내부 보드의 SW1 스위치에 연결됩니다.내가 문서에이 연결에 대한 특정 정보를 찾을 수없습니다.여기 내 코드입니다.문제가 무엇인지 어렵 그림 :
= 16f676; 목록 지시문 프로세서를 정의 목록 p 하이라이트
# 포함 <p16F676.inc>; 프로세서는 특정 변수의 정의
errorlevel -302; 목록 파일에서 메시지 302 억제
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
; '__CONFIG'지시문.은 ASM 구성 파일 내의 단어를 포함하는 데 사용됩니다.
; lables 각각 다음 지시문. inc 파일에 위치하고있습니다.
; 구성 단어를 설정에 대한 자세한 내용은 데이터 시트를 참조하십시오.
;------------을 정의
정의
# D0On B'00110000 '
# D0Off 정의 B'00000100 '
LEDOn 플래그, 0 정의 #
정의
# D0_1Tris B'00001000 '
스위치 PORTA, 3 정의 #VARIABLE ;***** 정의
w_temp EQU 0x20; 변수 컨텍스트 절약에
사용status_temp EQU 0x21; 변수 컨텍스트 절약에
사용
cblock 0x20
플래그; LED는 플래그
CountH; 디바운스 카운터 - 석사 바이트
CountL; 디바운스 카운터 -
정말 바이트
endc
;************************************************* *********************
ORG를 0x000; 프로세서 리셋 벡터
고토 메인; 프로그램의 시작으로 이동ORG를 0x004; 벡터
인터럽트 위치
movwf w_temp; 현재 승 등록 내용을
저장movf 상태, 승; 승으로 이동 상태를 등록 등록
movwf status_temp; 상태 레지스터의 내용을 저장; ISR 코드 또는 다른 지역으로 갈 수있는 전화를 서브루틴
위치
movf status_temp, 승; 상태 레지스터의 복사본을 검색할
movwf 상태; 중고
- ISR 상태 레지스터의 내용을 복원
swapf w_temp로, F
swapf w_temp, 승; 중고 - ISR 승 등록 내용을 복원
retfie; 반환에서 인터럽트내부 오실레이터를 사용하지 않을 경우;이 첫 4 지침은 필요하지 않습니다
주된
전화 0x3FF; 공장 교정 값을
검색할BSF 상태, RP0; 1 은행 파일 설정 등록
movwf OSCCAL; 공장과 칼 가치를 등록 업데이트
movlw D0_1Tris; 설정 방향의 LED가 D0 너무 - D7 출력됩니다
movwf TRISA; 모든 다른 입력 (하이 - z는)
clrf ANSEL;
한 구성 / D 조 아이오와 디지털로
movlw 00h
movwf TRISA
bcf 상태, RP0; 0 등록 은행 파일 집합
; 나머지 코드는 여기에 다닌다
clrf PORTA
movlw 07h
movwf CMCON
BSF LEDOn; LED를 나타내기 위해
설정된 플래그에있다
clrf 플래그;에서 초기의 LED 상태로 설정
movlw D0On; 데이터 편견과 LED2
앞으로 LED4
movwf PORTA; PORTA 포트 데이터를 전송
movlw 08h
movwf PORTA
안녕하세요 : btfsc 스위치
주요 고토
movlw D0Off
movwf PORTA
고토 인사
nop
nop
; 초기화 EEPROM이 위치
ORG를 0x2100
드 0x00, 0x01, 0x02, 0x03최종; 프로그램 '의 지시문'끝
나는 마이크로 - 컨트롤러 분야에 새로운입니다.내가 사용하고 PIC16F676 마이크로 칩에 의해 스타터 키트 플래시.내가)
데모 보드에있는 스위치를 폐쇄 (SW1되는 특정 LED를 토글하는 작은 프로그램을 작성했습니다.로 이해 핀 'RA3'은 그림에 대한 입력으로, 그래서 그것을 별도로 구성하는 의식하지 않아도 사용할 수있습니다?또한이 RA3 핀 내부 보드의 SW1 스위치에 연결됩니다.내가 문서에이 연결에 대한 특정 정보를 찾을 수없습니다.여기 내 코드입니다.문제가 무엇인지 어렵 그림 :
= 16f676; 목록 지시문 프로세서를 정의 목록 p 하이라이트
# 포함 <p16F676.inc>; 프로세서는 특정 변수의 정의
errorlevel -302; 목록 파일에서 메시지 302 억제
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
; '__CONFIG'지시문.은 ASM 구성 파일 내의 단어를 포함하는 데 사용됩니다.
; lables 각각 다음 지시문. inc 파일에 위치하고있습니다.
; 구성 단어를 설정에 대한 자세한 내용은 데이터 시트를 참조하십시오.
;------------을 정의
정의
# D0On B'00110000 '
# D0Off 정의 B'00000100 '
LEDOn 플래그, 0 정의 #
정의
# D0_1Tris B'00001000 '
스위치 PORTA, 3 정의 #VARIABLE ;***** 정의
w_temp EQU 0x20; 변수 컨텍스트 절약에
사용status_temp EQU 0x21; 변수 컨텍스트 절약에
사용
cblock 0x20
플래그; LED는 플래그
CountH; 디바운스 카운터 - 석사 바이트
CountL; 디바운스 카운터 -
정말 바이트
endc
;************************************************* *********************
ORG를 0x000; 프로세서 리셋 벡터
고토 메인; 프로그램의 시작으로 이동ORG를 0x004; 벡터
인터럽트 위치
movwf w_temp; 현재 승 등록 내용을
저장movf 상태, 승; 승으로 이동 상태를 등록 등록
movwf status_temp; 상태 레지스터의 내용을 저장; ISR 코드 또는 다른 지역으로 갈 수있는 전화를 서브루틴
위치
movf status_temp, 승; 상태 레지스터의 복사본을 검색할
movwf 상태; 중고
- ISR 상태 레지스터의 내용을 복원
swapf w_temp로, F
swapf w_temp, 승; 중고 - ISR 승 등록 내용을 복원
retfie; 반환에서 인터럽트내부 오실레이터를 사용하지 않을 경우;이 첫 4 지침은 필요하지 않습니다
주된
전화 0x3FF; 공장 교정 값을
검색할BSF 상태, RP0; 1 은행 파일 설정 등록
movwf OSCCAL; 공장과 칼 가치를 등록 업데이트
movlw D0_1Tris; 설정 방향의 LED가 D0 너무 - D7 출력됩니다
movwf TRISA; 모든 다른 입력 (하이 - z는)
clrf ANSEL;
한 구성 / D 조 아이오와 디지털로
movlw 00h
movwf TRISA
bcf 상태, RP0; 0 등록 은행 파일 집합
; 나머지 코드는 여기에 다닌다
clrf PORTA
movlw 07h
movwf CMCON
BSF LEDOn; LED를 나타내기 위해
설정된 플래그에있다
clrf 플래그;에서 초기의 LED 상태로 설정
movlw D0On; 데이터 편견과 LED2
앞으로 LED4
movwf PORTA; PORTA 포트 데이터를 전송
movlw 08h
movwf PORTA
안녕하세요 : btfsc 스위치
주요 고토
movlw D0Off
movwf PORTA
고토 인사
nop
nop
; 초기화 EEPROM이 위치
ORG를 0x2100
드 0x00, 0x01, 0x02, 0x03최종; 프로그램 '의 지시문'끝