컨트롤러"LCD

S

smileguitar

Guest
코드 :

리스트 P는 = 16F877

# 포함시킬 <P16F877.INC>

errorlevel -302

errorlevel -207

__CONFIG _CP_OFF & _PWRTE_ON & _XT_OSC & _WDT_OFF;========== =============== VARIABLECBLOCK 0x20

NUM1; 번호를

num2; 번호를

NUM3; 번호를

NUM4; 번호를

D1에

D2에

D3

D4

ENDCORG를 0x00

고토 스타트텍스트 외침 LCD_INIT

BSF PORTB, 2; 연구 / S를 설정하는 '1 '

MOVLW H'45 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'6E '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'74 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'65 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'72 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'20 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'43 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'6F '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'64 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'65 '

MOVWF PORTD

외침 CLOCK_E

RETLW 0x00잘못 외침 LCD_INIT

외침 LCD_LINE2

BSF PORTB, 2; 연구 / S를 설정하는 '1 '

MOVLW H'57 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'72 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'6F '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'6E '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'67 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'20 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'43 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'6F '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'64 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'65 '

MOVWF PORTD

외침 CLOCK_E

RETLW 0x00올바른 전화 LCD_INIT

외침 LCD_LINE2

BSF PORTB, 2; 연구 / S를 설정하는 '1 '

MOVLW H'43 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'6F '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'72 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'72 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'65 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'63 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'74 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'20 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'43 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'6F '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'64 '

MOVWF PORTD

외침 CLOCK_E

MOVLW H'65 '

MOVWF PORTD

외침 CLOCK_E

RETLW 0x00BSF 시작 상태, RP0

MOVLW B'00000001 '

MOVWF TRISB

MOVLW B'00000000 '

MOVWF TRISD

BCF 원사 상태, RP0

CLRF PORTB

CLRF PORTD

고토에 BEGIN외침에 BEGIN 텍스트

BTFSC PORTB, 0; Enter 키를 = 1 건너뛰기

고토에 BEGIN;면 Enter 키를 = 스타트 0 GO한 MOVLW 디 1 '

MOVWF NUM1; NUM1 = 1 세트

SUBLW B'00000001 '; NUM1 - 1

BTFSS 상태, Z부터; NUM1 - 1 = 0?

고토 두; 예, 어서 다음 숫자

고토 잘못두 MOVLW 디 2 '

MOVWF num2; NUM1 = 2 세트

SUBLW B'00000010 '; num2 - 2

BTFSS 상태, Z부터; num2 - 2 = 0?

고토 3 명 예, 어서 다음 숫자

고토 잘못MOVLW 쓰리 디 3 '

MOVWF NUM3; NUM1 = 3 세트

SUBLW B'00000011 '; NUM3 - 3

BTFSS 상태, Z부터; NUM3 - 3 = 0?

고토 4 개의; 예, 어서 다음 숫자

고토 잘못4 개의 MOVLW 디 4 '

MOVWF NUM4; NUM1 = 4 세트

SUBLW B'00000100 '; NUM4 - 4

BTFSS 상태, Z부터; NUM4 - 4 = 0?

고토 잘못; 없음 돌아가려면 스타트

고토 올바른

BSF PORTB, 5LCD_INIT BCF 원사 PORTB, 2

MOVLW B'00110000 '

MOVWF PORTD; 기능이 설정되어 : 8 비트 인터페이스

외침 CLOCK_E

MOVLW B'00001100 '

MOVWF PORTD; DISPALY 커서 : 설정에 표시; CURSOR 밑줄 끄기; CURSOR 깜박임 꺼짐

외침 CLOCK_E

MOVLW B'00111000 '

MOVWF PORTD; 기능이 설정되어 : 8 비트, 2 라인 모드; 5x10 DOT는 포맷

외침 CLOCK_E

MOVWF B'00000001 '

MOVWF PORTD; 삭제 디스플레이

외침 CLOCK_E

MOVLW B'00000110 '

MOVWF PORTD; 캐릭터 입력 모드 : 증분; DISPLAY를 변화

외침 CLOCK_E

RETLW 0x00LCD_LINE2 BCF 원사 PORTB, 2; 연구 / S의 집합에 '0 '

MOVLW B'11000000 '

MOVWF PORTD; 제 2 라인으로 이동

외침 CLOCK_E

RETLW 0x00CLOCK_E BSF PORTB, 1

외침 DELAY2

BCF 원사 PORTB, 1

RETLW 0x00DELAY1 MOVLW 디 130 '

MOVWF D2에

MOVLW 디 221 '

MOVWF D1에

LOOP1 DECFSZ D1에, 1

고토 LOOP1

DECFSZ D2에, 1

고토 LOOP1

RETLW 0x00DELAY2 MOVLW 디 13 '; DELAY 10ms

MOVWF D4

MOVLW 디 251 '

MOVWF D3

LOOP2 DECFSZ D3, 1

고토 LOOP2

DECFSZ D4, 1

고토 LOOP2

RETLW 0x00끝
 
내가 PIC는 사용하지 않았습니다.

그래서 코드에 .. 어쩔 수 없어요

하지만 만약 그때 내가하려고 수있는 논리적인 질문 ...
만약 당신이 그 질문을 게시하고 언제든지 원하는 ..

감사합니다
H_D_R에 의해 2008년 2월 28일 4시 3분에 편집한 마지막으로, 1 시간을 편집한 총

 
시뮬레이터와 마이크 로칩 MPLAB에서 온을 사용하십시오.

귀하의 소프트웨어를 통해 일단 사이클, 넌하기 이유 / 어디에 잘못된 것입니다.

 
H_D_R 썼습니다 :

내가 PIC는 사용하지 않았습니다.그래서 코드를 도울 수 ..하지만 만약 그때 내가하려고 수있는 논리적인 질문 ...

만약 당신이 그 질문을 게시하고 언제든지 원하는 ..감사합니다
 
smileguitar 썼습니다 :H_D_R 썼습니다 :

내가 PIC는 사용하지 않았습니다.그래서 코드를 도울 수 ..하지만 만약 그때 내가하려고 수있는 논리적인 질문 ...

만약 당신이 그 질문을 게시하고 언제든지 원하는 ..감사합니다
 
안녕하세요 Smileguitar,문제 해결 # 1 :

당신은 텍스트와 함께 시작 루틴을 반복합니다.

변경 코드
코드 :외침에 BEGIN 텍스트

BTFSC PORTB, 0; Enter 키를 = 1 건너뛰기

고토에 BEGIN;면 Enter 키를 = 스타트 0 GO

 
H_D_R 썼습니다 :smileguitar 썼습니다 :H_D_R 썼습니다 :

내가 PIC는 사용하지 않았습니다.그래서 코드를 도울 수 ..하지만 만약 그때 내가하려고 수있는 논리적인 질문 ...

만약 당신이 그 질문을 게시하고 언제든지 원하는 ..감사합니다
 
안녕하세요 smileguitar,
U에서 그것이 작동 목소리 들으니 반갑군요.
설명 : wrongchk & correctchk
직접 함수를 호출 U 않았을 고려
-------------------------------------------------
BTFSS 상태, Z부터; NUM4 - 4 = 0?
전화를 잘못; 없음 돌아가려면 스타트
올바른 외침
---------------------------------------------
(저는 위의 예제에서 성명을 전화로 귀하의 성명을 고토 수정했다.) 코드가 잘못된 경우 기능을 처음으로 실행할 것입니다 false입니다 그것도 올바른 기능을 수행할 것이며 4 NUM 개의를 확인합니다.

이 상황에서, wrongchk 및 correctchk을 피하기 위해 필요합니다

환호

Nishal

 
안녕

문제는 후에 프롬프트가 ""그림 returs 빠르게 자사의 포트에서 무슨 일이 스캔 코드를 입력합니다.그리고 음,,, 인간은 시간이 좀 걸립니다 buttom 입력의 몇 가지 miliseconds 가정해 봅시다 누르십시오.
그래서 그림을 반환하면, 자신의 포트를 스캔 buttom 아직도 너무 (확인을 누르면 debounce)를 입력하고 새 잘못된 코드로 입력한 것 같아요.

문제를 해결하려면, 프로그램 및 지연에 내놓 던가 buttom 입력에 연결하는 작은 RC 필터 설계.

귀하의 문제는 사라질 것이다 이쪽으로.

행운을 빕니다

 
난, 감사를 참조하십시오!지금은 이해합니다.

또 다른 질문은, 내 코딩으로 인해, 어떻게 표시 후 LCD를 분명히있을거야?내가 B'00000001 '을 취소한 아니지만 사용하려고 했어요.

 
smileguitar 썼습니다 :

난, 감사를 참조하십시오!
지금은 이해합니다.또 다른 질문은, 내 코딩으로 인해, 어떻게 표시 후 LCD를 분명히있을거야?
내가 B'00000001 '을 취소한 아니지만 사용하려고 했어요.
 

Welcome to EDABoard.com

Sponsor

Back
Top