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끝
리스트 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끝