레지스터에 PIC16F877 CMCON 정보>

D

diamadiss

Guest
여보세요 everybody.I에 "COMPORATORS 독립적"2를 사용하려는부터 comporators 두 PIC16F877로.나는이 부분에서 CMCON 등록과이 문제를.이 레지스터는 1 개의 은행에 거짓말.나에게 오류 \ 난 인디애나 주 그것은 그를 보인다 1 페이지 아래로 아웃, 쇼,하지만 MPLAB가.문제는이 사람이 아무도 해결하는 데 도움이 저요?내가 전에 그를 사용하지 원하는 밑줄 당신을 가지고 제가 구체적인 그림이.감사합니다!

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="매우 행복" border="0" />코드 :

목록 피 = 16F877

포함 ""P16F877.INC

DELAY1 EQU 0x20

DELAY2 EQU의 0X21

DELAY3 EQU의 0X22

REG1 EQU 0X34

비상 업적 0x00

BSF 상태, RP0

MOVLW B'00000010 '; 두 개의 독립적인 COMPORATORS

MOVWF CMCON

MOVLW B'00111111 '; 인디애나

MOVWF TRISB; 인디애나

MOVLW B'11111111 '; 출력

MOVWF은 TRISC; 출력

BCF 상태, RP0

스타트

........
 
안녕하세요,

당신이 칩 877A하는 혼합 최대 877과, 기능을 비교는 다릅니다 아주.

이런 시도 같은 코드를 더 -코드 :목록 피 = 16F877A

포함 ""P16F877A.INCCBLOCK 0X020

DELAY1

DELAY2

DELAY3

REG1

ENDC비상 업적 0x00

고토는 메인; 인터럽트 벡터를 뛰어 넘다 사용해야합니다주요 CLRF의 간이

CLRF PORTB

CLRF PORTCBSF 상태, RP0; 꾸민 포트

MOVWF TRISAMOVLW B'00111111 '; 인디애나

MOVWF TRISB; 인디애나MOVLW B'00000000 '; 출력

MOVWF은 TRISC; 출력MOVLW B'00000010 '; 두 개의 독립적인 COMPORATORS

MOVWF CMCONBCF 상태, RP0스타트

........끝
 
수 당신이 그들을 설명 때문에 모르지만 나에게 붉은 색칠 명령을 아래에 나열되어 있습니다 function 그들의 무엇과.대답 감사합니다.목록 피 = 16F877A
포함 ""P16F877A.INC

0X020

CBLOCK
0X020
DELAY1
DELAY2
DELAY3
REG1

ENDC비상 업적 0x00
고토는 메인, 진로를 방해 뛰어 넘다에게되어야 익숙해졌
PORTA

주요 CLRF의
간이
CLRF PORTB
CLRF PORTC

BSF 상태, RP0

; 꾸민 포트
MOVWF TRISAMOVLW B'00111111 '; 인디애나
MOVWF TRISB; 인디애나

MOVLW B'00000000 '; 출력
MOVWF은 TRISC; 출력

MOVLW B'00000010 '; 두 개의 독립적인 COMPORATORS
MOVWF CMCON

BCF 상태, RP0

스타트
........



 
안녕하세요,

CBLOCK은 / ENDC이 지침에, 당신이 마이크로 칩에서 무료로 다운로드에 모두 그들을 볼 수 있습니다 - MPASM 사용자 가이드.
그들은 쉽게 입력 코드가 많은 제작에 사용 -이 경우는 훨씬 쉽게 것보다 오히려 그들을 그냥 목록 등을 사용하여 EQU 0x21, 지정하지 않는 한 위치를 필요한 개인.

CLRF 지시하는 표준 16F, 이건 삭제가 0x00 파일, 케이스에있는 간이,하지만 당신은 DELAY3을 CLRF의 예를 들어 언제든지 사용할 수있는 그것을.

또 당신은 데이터 시트 877A 할 수 있는지 모든의 끝 부분에 16F 지침을 살펴볼 것이다.

또한 코드를 준비 만든 헤더 열고 당신에게 16F877A 템플릿 파일을 제공합니다.
당신은 Mplab에서 찾을 수 있습니다 - 열어 마이크로 칩 \ MPASM 스위트 룸 \ 템플릿 \ 코드 \의 16f877ATemp.asm을

 
무슨 오류가 제품을 실수에 MPLAB 코드를 내 강제.겠습니까 명령이 내 프로그램에 대한 어떤 posibility 제대로하지 않고 작업 :

CBLOCKENDCCLRF
 
안녕하세요,

오류가 발생하면 그 같은 명령어들을 나열할 것이다 Mplab이 잘못되었습니다.
클릭하는 경우 해당 라인에 포인트를 그냥 당신이보고, 좀 오류에 - 그것은 당신의 것입니다 어셈블러 그 바로 당신을 데려갈 코드 라인.

문제가있는 CMCON 원래 당신이 뭐였지 877 칩이하지 않는 준수 그 등록 - 그것은 칩이다 877A에서만 사용되는 - 먹으렴 이유없이 오류가 내장된 위의 코드는 내.

어떤 오류가 지금 점점까요?- 당신은 전체에 오류가 필요하다 표시 및 코드.

 
장치에서 P16F877A 지금 확인을 작동합니다.하지만 난에 장치 P16F877하지 않습니다 work.Show P16F877A을 구매해야합니다.

내 코드 :

목록 피 = 16F877
포함 ""P16F877.INC
DELAY1 EQU 0x20
DELAY2 EQU의 0X21
DELAY3 EQU의 0X22
REG1 EQU 0X34
비상 업적 0x00
BSF 상태, RP0
MOVLW B'00000010 '; 두 개의 독립적인 COMPORATORS
MOVWF CMCON
MOVLW B'00111111 '; 인디애나
MOVWF TRISB; 인디애나
MOVLW B'11111111 '; 출력
MOVWF은 TRISC; 출력
BCF 상태, RP0
스타트
MOVLW 00h
MOVWF REG1
루프
전화 DELAY
BTFSC의 PORTB, 1
전화 TEMP를
고토 루프

TEMP를
MOVLW 02H
MOVWF PORTC
귀환DELAY
MOVLW 도르 20 '
MOVWF DELAY1
제 3
MOVLW 도르 256 '
MOVWF DELAY2
두번째
MOVLW 도르 256 '
MOVWF DELAY3
처음
DECFSZ DELAY3, 1
고토 처음
DECFSZ DELAY2, 1
고토 두번째
DECFSZ DELAY1, 1
고토 제 3
귀환

끝Deleting intermediary files...

몸매 :
파일을 삭제 중개 ...다.
실행 :는 "C : \ 프로그램 파일 \ MPLAB IDE를 \ MCHIP_Tools \의 mpasmwin.exe"/ 질문 / p16F877A "Untitled.asm"/ 난 "Untitled.lst"/ e "로 Untitled.err"
경고 : [205] C : \ FFFFFF \ UNTITLED.ASM 1 : 컬럼 1 발견 지시자.(목록)
경고 : [205] C : \ FFFFFF \ UNTITLED.ASM 2 : 열 지시자 발견 1.(포함)
메시지 [301] C : \ 프로그램 파일 \ MPLAB IDE를 \ MCHIP_TOOLS \ P16F877.INC 37 : 메세지 : (프로세서 - 헤더 파일이 불일치합니다. 선택된 확인 프로세서.)
경고 : [205] C : \ FFFFFF \ UNTITLED.ASM 7 : 열 지시자 발견 1.(org)가
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 8 : 컬럼 1 발견 opcode.(BSF)
경고 : [203] C : UNTITLED.ASM 9 : 발견 opcode에 열을 1 \ \ FFFFFF.(MOVLW)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 10 : 컬럼 1 발견 opcode.(MOVWF)
오류 [113] C : \ FFFFFF \ UNTITLED.ASM 10 : 기호)하지 CMCON 이전에 정의된 (
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 11 : 컬럼 1 발견 opcode.(MOVLW)
경고 : [203] C : UNTITLED.ASM 12 : 발견 opcode에 열을 1 \ \ FFFFFF.(MOVWF)
메시지 [302] C : \ FFFFFF \ UNTITLED.ASM 12 : 등록 피연산자의 은행 0 아니에요.되었는지 은행 비트가 정확하고 있습니다.
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 13 : 컬럼 1 발견 opcode.(MOVLW)
경고 : [203] C : UNTITLED.ASM 14 : 발견 opcode에 열을 1 \ \ FFFFFF.(MOVWF)
메시지 [302] C : \ FFFFFF \ UNTITLED.ASM 14 : 등록 피연산자의 은행 0 아니에요.되었는지 은행 비트가 정확하고 있습니다.
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 15 : 컬럼 1 발견 opcode.(BCF)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 17 : 컬럼 1 발견 opcode.(MOVLW)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 18 : 컬럼 1 발견 opcode.(MOVWF)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 20 : 컬럼 1 발견 opcode.(전화)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 21 : 컬럼 1 발견 opcode.(BTFSC)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 22 : 컬럼 1 발견 opcode.(전화)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 23 : 컬럼 1 발견 opcode.(고토)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 26 : 컬럼 1 발견 opcode.(MOVLW)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 27 : 컬럼 1 발견 opcode.(MOVWF)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 28 : 컬럼 1 발견 opcode.(왕복)
경고 : [207] C : \ FFFFFF \ UNTITLED.ASM 34 : 컬럼 1 일 이후에 발견 레이블을 붙입니다.(3)
경고 : [202] C : \ FFFFFF \ UNTITLED.ASM 35 : 범위 밖으로 인수.최하위 비트가 사용됩니다.
경고 : [207] C : \ FFFFFF \ UNTITLED.ASM 37 : 컬럼 1 일 이후에 발견 레이블을 붙입니다.(2)
경고 : [202] C : \ FFFFFF \ UNTITLED.ASM 38 : 범위 밖으로 인수.최하위 비트가 사용됩니다.
경고 : [207] C : \ FFFFFF \ UNTITLED.ASM 40 : 컬럼 1 일 이후에 발견 레이블을 붙입니다.(1)
경고 : [203] C : \ FFFFFF \ UNTITLED.ASM 47 : 컬럼 1 발견 opcode.(왕복)
경고 : [205] C : \ FFFFFF \ UNTITLED.ASM 52 : 열 지시자 발견 1.(끝)
앞뒤가 맞지 않는 요청한대로 첫 번째 실패에 빌드합니다.
빌드 실패 : 토 3월 6일 23시 29분 19초 2010

 
안녕하세요,

탭 그 그림 라인을 아래 단지의 대부분을 음 그래서 1 때문에 오류가 발생하는 대부분의 노선은 이후 칼럼을 시작하도록하고 코드입니다.

코드가 오류없이 빌드하지만 실행이없는 '그것을 증명하기 위해 코드를하고 싶지 않는 당신.

귀하의 지연 값은 0 유효 - 255 지정할 수 있습니다 최대.

당신은 그러나 877 칩을 지정하여 프로젝트가 칩 877A로되어야 세트 - 당신이 원하는 실제로 당신은 단지 구성 할 필요가 없습니다 수 있도록 새로운 프로젝트를 - 선택 오른쪽에 칩을 장치를 누릅니다.

최대 다른 매우 877A이게 설정 기억하지 877도 않는 그것을 비교, CMCON 레지스터를한다면 당신은 다운로드 877 데이터 시트 -이 차이는 특이한 때하는 데 두 같은 칩을 877과 877A, 일반적으로 미성년자 매우.
나 칩 새로운 구입하기 전에 코드를 것이 수정하여, 내가 구입한 당신이있을 경우 877 안 사용은에 당신이 할 수있는 그것은 수도 찾아 - 비교 스스로 기능을 칩, 충분히 있지만 싼해야 877A가.비교 정보에 대한 자세한 있나요에 대한 튜토리얼에서이보세요.
http://www.gooligum.com.au/tutorials/baseline/PIC_Base_A_9.pdf

코드 :목록 피 = 16F877A

포함 ""P16F877A.INC

DELAY1 EQU 0x20

DELAY2 EQU의 0X21

DELAY3 EQU의 0X22

REG1 EQU 0X34

비상 업적 0x00

고토 메인주요 BSF 상태, RP0

MOVLW B'00000010 '; 두 개의 독립적인 COMPORATORS

MOVWF CMCON

MOVLW B'00111111 '; 인디애나

MOVWF TRISB; 인디애나

MOVLW B'11111111 '; 출력

MOVWF은 TRISC; 출력

BCF 상태, RP0

스타트

MOVLW 00h

MOVWF REG1

루프

전화 DELAY

BTFSC의 PORTB, 1

전화 TEMP를

고토 루프TEMP를

MOVLW 02H

MOVWF PORTC

귀환DELAY

MOVLW 도르 20 '

MOVWF DELAY1

제 3

MOVLW 도르 255 '

MOVWF DELAY2

두번째

MOVLW 도르 255 '

MOVWF DELAY3

처음

DECFSZ DELAY3, 1

고토 처음

DECFSZ DELAY2, 1

고토 두번째

DECFSZ DELAY1, 1

고토 제 3

귀환끝
 
새로운 것들을 몇 가지 이해 Wp100의 날 감사에 대한 지원합니다.

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="매우 행복" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top