PIC16F877A 변환하려면 PIC16F88를

N

NeoMatrix

Guest
안녕하세요하여 모든

내가 프로그래밍과 C의 그림 오전 새로운 방법이주십시오 수있는 오류를 시도이주는 bedy 어떤 때는 내가 pic16f877a 코드를 picf88이 변환

이것은 PIC16F88입니다
OSCCON = 0x60; / / B6 .. 4 = 110 = 8MHz
ANSEL = 0; / / I / O를 디지털로 모든 ADC가 핀

내가이 PIC16F877A의 데이터 시트에서 볼 수 거기 oscilator 내부 및 ADC가 변환됩니다 내가 날 수 없다 파일 주소를 어떻게 말씀에 bedy이 즐겁게 해줄 수있는
이것은 C에서 mikro 코드입니다
************************************************** ********
////////////////////////////////////////////////// ////////////////////
# 포함 "types.h"
# 포함 "bit.h"
# 포함 "charset8x8.h"

////////////////////////////////////////////////// ////////////////////
/ / 정의
////////////////////////////////////////////////// ////////////////////
) 4 # 정의 ROW_RESET의 setBit을 (간이,; resBit을 (간이, 4)
) 2 간이, # 정의 NEXT_ROW_STROBE setBit을 (; resBit을 (간이, 2)

////////////////////////////////////////////////// ////////////////////
무효의 초기화 (무효) (
ADCON1 = 0x60; / / B6 .. 4 = 110 = 8MHz

ANSEL = 0; / / I / O를 디지털로 모든 ADC가 핀

/ / OSCCON = 0x60; / / B6 .. 4 = 110 = 8MHz

/ / ANSEL = 0; / / I / O를 디지털로 모든 ADC가 핀
)

////////////////////////////////////////////////// ////////////////////
무효의 init_ports (무효) (

간이 = 0;
TRISA = 0; / / 0 =는 O / 임

PORTB = 0;
TRISB = 0; / / 0 =는 O / 임
)

////////////////////////////////////////////////// //////////////////////
/ / 여기부터 시작해
/ /
무효의 main () (
U8 나는 = 0; / / 일반적인 목적의 루프 var에.
U8 행 = 0; / / 현재의 디스플레이 행.
U8 아스키 = 0; / / 문자 데이터를 사용합니다.
U8 마스크 = 1; / / 행 마스크.
U16의 row_count = 0; / / 행 카운터.
U16 blinkc = 0; / / LED가 깜박이는 카운터.
U16의 blink_onoff = 1; / / LED는 상태.

init_ports ();
초기화 ();

ROW_RESET;

(용;

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="눈짓" border="0" />

(

/ / RA3를 @ 플래시 LED가
상태를하면 ( blinkc> 300) (/ / 변경하는 시간은?
blinkc = 0;

/ / 세트 깜박 상태
blink_onoff =! blink_onoff;
면 (blink_onoff) (
setBit (간이, 3);
다른) (
resBit (간이, 3);
)

/ / 어떤 캐릭터인가요?평가 깜박의 변경에
아스키 ;
문자 1면 (아스키> 9) (/ / 아뇨에 다시 더 그렇게.
아스키 = 0;
ROW_RESET;
NEXT_ROW_STROBE; / / 생략 재설정 위치.
)
)

행을 후 다른 8 행 각 출력 행에 데이터가 / / 그럼 반복됩니다.
PORTB = charset2 [아스키] [행 ];
delay_ms (1); / / LED를 위해 에너지를주고 몇 가지.
PORTB = 0;

행 % 1 = 8; / / 행 8 유지합니다.

NEXT_ROW_STROBE;

row_count 경우 ( 의 ==

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="시원한" border="0" />

(
row_count = 0;
ROW_RESET;
NEXT_ROW_STROBE은; / / 위치 재설정 이동하는 적극적인 행, 1 -
)

) / / 무한 루프.
)
************************************************** ******************

답장을 기다리며

감사

 
f877 있음;
ADCON1는 가치를 osc 설치되지 사용할 수 있습니다.이 reg가 좋아요 / 전으로 ADC는 핀을을 선택 사용되는
(그리고 만약 핀을 ADC를 모두 사용하여 원하는 디지털 있으며, ADCON1 = 0x07).
ANSEL는 f877에 SFR되지 않습니다.
그리고 만약 당신이 Word에서 원하는 설정하여 osc 가치를 설정에서 정의해야합니다 프로그램의 아래 써주세요.

 
안녕하세요 alabora

답변 감사에 대한

죄송 해요, 잘못 게시된 의견과

실제로 프로젝트에 자사는 또한 말합니다 pic16f84a을 사용할 수 있습니다 우리는

어떻게 이것을 변환 할 수있는 날 난 말할 수 u하시기 바랍니다 pic16f84a 안 사용하려는해야 pic16f88 내가 그렇게

OSCCON = 0x60; / / B6 .. 4 = 110 = 8MHz

ANSEL = 0; / / I / O를 디지털로 모든 ADC가 핀이 프로젝트는 원래

http://www.best-microcontroller-projects.com/led-dot-matrix-display.html

http://www.geocities.com/mdaslamknl/led-dot-matrix-display.zip

원본 코드
************************************************** **
////////////////////////////////////////////////// ////////////////////
# 포함 "types.h"
# 포함 "bit.h"
# 포함 "charset8x8.h"

////////////////////////////////////////////////// ////////////////////
/ / 정의
////////////////////////////////////////////////// ////////////////////
) 4 # 정의 ROW_RESET의 setBit을 (간이,; resBit을 (간이, 4)
) 2 간이, # 정의 NEXT_ROW_STROBE setBit을 (; resBit을 (간이, 2)

////////////////////////////////////////////////// ////////////////////
무효의 초기화 (무효) (
OSCCON = 0x60; / / B6 .. 4 = 110 = 8MHz

ANSEL = 0; / / I / O를 디지털로 모든 ADC가 핀
)

////////////////////////////////////////////////// ////////////////////
무효의 init_ports (무효) (

간이 = 0;
TRISA = 0; / / 0 =는 O / 임

PORTB = 0;
TRISB = 0; / / 0 =는 O / 임
)

////////////////////////////////////////////////// //////////////////////
/ / 여기부터 시작해
/ /
무효의 main () (
U8 나는 = 0; / / 일반적인 목적의 루프 var에.
U8 행 = 0; / / 현재의 디스플레이 행.
U8 아스키 = 0; / / 문자 데이터를 사용합니다.
U8 마스크 = 1; / / 행 마스크.
U16의 row_count = 0; / / 행 카운터.
U16 blinkc = 0; / / LED가 깜박이는 카운터.
U16의 blink_onoff = 1; / / LED는 상태.

init_ports ();
초기화 ();

ROW_RESET;

(용; (

/ / RA3를 @ 플래시 LED가
상태를하면 ( blinkc> 300) (/ / 변경하는 시간은?
blinkc = 0;

/ / 세트 깜박 상태
blink_onoff =! blink_onoff;
면 (blink_onoff) (
setBit (간이, 3);
다른) (
resBit (간이, 3);
)

/ / 어떤 캐릭터인가요?평가 깜박의 변경에
아스키 ;
문자 1면 (아스키> 9) (/ / 아뇨에 다시 더 그렇게.
아스키 = 0;
ROW_RESET;
NEXT_ROW_STROBE; / / 생략 재설정 위치.
)
)

행을 후 다른 8 행 각 출력 행에 데이터가 / / 그럼 반복됩니다.
PORTB = charset2 [아스키] [행 ];
delay_ms (1); / / LED를 위해 에너지를주고 몇 가지.
PORTB = 0;

행 % 1 = 8; / / 행 8 유지합니다.

NEXT_ROW_STROBE;

row_count 경우 ( 의 == (
row_count = 0;
ROW_RESET;
NEXT_ROW_STROBE은; / / 위치 재설정 이동하는 적극적인 행, 1 -
)

) / / 무한 루프.
)
************************************************** ******************

 
OSCCON = 0x60; / / B6 .. 4 = 110 = 8MHz

ANSEL = 0; / / I / O를 디지털로 모든 ADC가 핀

16F84 그들을 생략 단지 지원하지 않습니다 중 하나를 그렇게,.당신은 그래도 실행 크리스탈에 도착 그것은 16F84 줄께 8MHz - 10합니다.

 
f84이 아니 ANSEL과 OSCCON의 규정.그래서 당신은 무슨말을해야 ADC가에 대한 설치가 있기 때문에 핀을 ADC의 정보가 없습니다.당신은 어디 에나 또는 마이크로 칩의 데이터 시트에서 볼 수있는이.그리고도 이런 프로그램을 설치하여 설정 라인에 추가한다 당신이 osc :& _WDT_OFF & _PWRTE_ON

_PWRTE_ON __config _CP_OFF & _XT_OSC 및
_WDT_OFF &

당신은 "과 설정 16f84"검색이 인터넷에 대해.

 
덕분에 너무 나도 할 것을해볼 것이다

정말 감사드립니다

감사

 

Welcome to EDABoard.com

Sponsor

Back
Top