G
goowiz
Guest
안녕하세요, 저는 출력 숫자로 삼성
UC - 20102 - GNARS하려고 한 줄에 20 문자의 LCD 디스플레이는 PIC16f684 마이크로.
좀 문제가있어서 ...내가 핀에 따라 다음과 같은 유선 것들이 # :
PIC는 액정 ------------
14 ---------- --- 접지
13
12
11
10 (C0) -------- D4
9 일 (에 C1) --------- D5
8 (C2 상태) --------- D6
7 (C3에) --------- D7
6
5
4
3 (A4를) --------- RS
2 (대답) --------- 활성화
1 --------------- 5 v를
여기 내 코드 :
코드 :
# <Temp Sensor.h> 포함
# 포함 <math.h>활성화 PIN_A5 정의 #
RS PIN_A4 정의 #
LCD_TYPE 1 정의 #/ / 기능 / 글로벌 변수 Delcaration
무효 초기화 (무효);
무효 InitLCD (무효);
무효 lcd_send_nibble (숯불 C);
무효 lcd_send_data (숯불 C);
무효 lcd_send_command (숯불 명령);
int 난;주요 무효 ()
(
SET_TRIS_A (0x01);setup_adc_ports (sAN0 | VSS_VDD);
setup_adc (ADC_CLOCK_INTERNAL);
setup_timer_0 (RTCC_INTERNAL | RTCC_DIV_1);
setup_timer_1 (T1_DISABLED);
setup_timer_2 (T2_DISABLED, 0,1);
setup_comparator (NC_NC_NC_NC);
setup_vref (가 FALSE);
setup_oscillator (OSC_INTRC);InitLCD ()
무효 InitLCD (무효)
(/ / 초기화 액정
output_low (활성화); / / 비활성화 액정
delay_ms (50); 50ms / / 지연SET_TRIS_C (0x00); / / 모든 C 포트 출력으로 설정
delay_ms (15); 15ms / / 지연은 (i = 1;위한 난 <= 3; 나)
(
output_low (RS); / / 명령어 세트 용 LCD 세트
output_c (3); / /
output_high (활성화); / / LCD는 활성화
delay_us (5); / / 딜레이 5us
output_low (활성화); / / 비활성화 액정
delay_ms (5); / / 딜레이 5ms
)lcd_send_nibble (3); / /lcd_send_command (0x20); / / 기능 설정 :
/ / 4bit 데이터 길이
/ / 1 선
/ / 5 x 7 도트 포맷lcd_send_command (0x0F); / / 표시 ON / OFF 제어 :
/ / 디스플레이
/ / 커서 켜기
/ / 블링크 켜기lcd_send_command (0x01); / / 디스플레이 지우기lcd_send_command (0x05); / / 엔트리 모드 설정 :
/ / 감소 하나
/ / 네 시프트lcd_send_data (0x52); / /은 "R"
lcd_send_data (0x45); / / "E"가
lcd_send_data (0x41); / / "A"를
lcd_send_data (0x44); / / "D"는
lcd_send_data (0x59); / / "Y"는
)무효 lcd_send_nibble (C) 숯불
(
output_c (C); / / 액정에 출력 문자
output_high (활성화); / / LCD는 활성화
delay_us (5); / / 딜레이 5us
output_low (활성화); / / 비활성화 액정
)무효 lcd_send_command (숯불 명령)
(
delay_ms (5); / / 딜레이 5ms
output_low (RS); / / 명령어 세트 용 LCD 세트
lcd_send_nibble (명령>> 4); / / 높은 비트 전송
lcd_send_nibble (명령 & 0x0F); / / 낮은 비트 전송
)무효 lcd_send_data (C) 숯불
(
delay_ms (5); / / 딜레이 5ms
output_high (RS); / / 데이터에 대한 설정의 LCD 세트
lcd_send_nibble (C>> 4); / / 높은 비트 전송
lcd_send_nibble (은 C & 0x0F); / / 낮은 비트 전송
)
UC - 20102 - GNARS하려고 한 줄에 20 문자의 LCD 디스플레이는 PIC16f684 마이크로.
좀 문제가있어서 ...내가 핀에 따라 다음과 같은 유선 것들이 # :
PIC는 액정 ------------
14 ---------- --- 접지
13
12
11
10 (C0) -------- D4
9 일 (에 C1) --------- D5
8 (C2 상태) --------- D6
7 (C3에) --------- D7
6
5
4
3 (A4를) --------- RS
2 (대답) --------- 활성화
1 --------------- 5 v를
여기 내 코드 :
코드 :
# <Temp Sensor.h> 포함
# 포함 <math.h>활성화 PIN_A5 정의 #
RS PIN_A4 정의 #
LCD_TYPE 1 정의 #/ / 기능 / 글로벌 변수 Delcaration
무효 초기화 (무효);
무효 InitLCD (무효);
무효 lcd_send_nibble (숯불 C);
무효 lcd_send_data (숯불 C);
무효 lcd_send_command (숯불 명령);
int 난;주요 무효 ()
(
SET_TRIS_A (0x01);setup_adc_ports (sAN0 | VSS_VDD);
setup_adc (ADC_CLOCK_INTERNAL);
setup_timer_0 (RTCC_INTERNAL | RTCC_DIV_1);
setup_timer_1 (T1_DISABLED);
setup_timer_2 (T2_DISABLED, 0,1);
setup_comparator (NC_NC_NC_NC);
setup_vref (가 FALSE);
setup_oscillator (OSC_INTRC);InitLCD ()
(/ / 초기화 액정
output_low (활성화); / / 비활성화 액정
delay_ms (50); 50ms / / 지연SET_TRIS_C (0x00); / / 모든 C 포트 출력으로 설정
delay_ms (15); 15ms / / 지연은 (i = 1;위한 난 <= 3; 나)
(
output_low (RS); / / 명령어 세트 용 LCD 세트
output_c (3); / /
output_high (활성화); / / LCD는 활성화
delay_us (5); / / 딜레이 5us
output_low (활성화); / / 비활성화 액정
delay_ms (5); / / 딜레이 5ms
)lcd_send_nibble (3); / /lcd_send_command (0x20); / / 기능 설정 :
/ / 4bit 데이터 길이
/ / 1 선
/ / 5 x 7 도트 포맷lcd_send_command (0x0F); / / 표시 ON / OFF 제어 :
/ / 디스플레이
/ / 커서 켜기
/ / 블링크 켜기lcd_send_command (0x01); / / 디스플레이 지우기lcd_send_command (0x05); / / 엔트리 모드 설정 :
/ / 감소 하나
/ / 네 시프트lcd_send_data (0x52); / /은 "R"
lcd_send_data (0x45); / / "E"가
lcd_send_data (0x41); / / "A"를
lcd_send_data (0x44); / / "D"는
lcd_send_data (0x59); / / "Y"는
)무효 lcd_send_nibble (C) 숯불
(
output_c (C); / / 액정에 출력 문자
output_high (활성화); / / LCD는 활성화
delay_us (5); / / 딜레이 5us
output_low (활성화); / / 비활성화 액정
)무효 lcd_send_command (숯불 명령)
(
delay_ms (5); / / 딜레이 5ms
output_low (RS); / / 명령어 세트 용 LCD 세트
lcd_send_nibble (명령>> 4); / / 높은 비트 전송
lcd_send_nibble (명령 & 0x0F); / / 낮은 비트 전송
)무효 lcd_send_data (C) 숯불
(
delay_ms (5); / / 딜레이 5ms
output_high (RS); / / 데이터에 대한 설정의 LCD 세트
lcd_send_nibble (C>> 4); / / 높은 비트 전송
lcd_send_nibble (은 C & 0x0F); / / 낮은 비트 전송
)