G
goowiz
Guest
Hei, olen yrittänyt tuotoksen numerot Samsung UC-20102-GNARS yksi rivi 20 merkin LCD-näyttö, joka PIC16f684 mikro.
Minulla on joitakin ongelmia ...Minulla on asiat wired seuraavasti mukaan nastainen #:
PIC ------------ LCD
14 ---------- --- GND
13
12
11
10 (C0) -------- D4
9 (C1) --------- D5
8 (C2) --------- D6
7 (C3) --------- D7
6
5
4
3 (A4) --------- RS
2 (A5) --------- Enable
1 --------------- 5 V
Here's my code:
Code:
# include <Temp Sensor.h>
# include <math.h># define ENABLE PIN_A5
# define RS PIN_A4
# define LCD_TYPE 1/ / Tehtävä / Global Muuttuja Delcaration
mitätön Alusta (void);
mitätön InitLCD (void);
mitätön lcd_send_nibble (char c);
mitätön lcd_send_data (char c);
mitätön lcd_send_command (char komento);
int i;mitätön tärkeimmät ()
(
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 ()mitätön InitLCD (void)
(/ / Alusta LCD
output_low (ENABLE); / / Poista LCD
delay_ms (50); / / Määräaika 50msSET_TRIS_C (0x00); / / Kaikki C satamissa asettaa tuotoksen
delay_ms (15); / / Määräaika 15msfor (i = 1, i <= 3; i)
(
output_low (RS); / / Set LCD varten Ohjeisto
output_c (3); / /
output_high (ENABLE); / / Ota LCD
delay_us (5); / / Delay 5us
output_low (ENABLE); / / Poista LCD
delay_ms (5); / / Delay 5ms
)lcd_send_nibble (3); / /lcd_send_command (0x20); / / Tehtävä Set:
/ / 4bit tiedon pituus
/ / 1 Line
/ / 5 x 7 Dot Formaattilcd_send_command (0x0F); / / Näyttö ON / OFF-valvonta:
/ / Näyttö
/ / Kursori
/ / Blink ONlcd_send_command (0x01); / / Näyttö Vapaalcd_send_command (0x05); / / Entry Mode Set:
/ / Vähennys yksi
/ / Kyllä Shiftlcd_send_data (0x52); / / "R"
lcd_send_data (0x45); / / "E"
lcd_send_data (0x41); / / "A"
lcd_send_data (0x44); / / "D"
lcd_send_data (0x59); / / "Y"
)mitätön lcd_send_nibble (char c)
(
output_c (c); / / Output merkin LCD
output_high (ENABLE); / / Ota LCD
delay_us (5); / / Delay 5us
output_low (ENABLE); / / Poista LCD
)mitätön lcd_send_command (char komento)
(
delay_ms (5); / / Delay 5ms
output_low (RS); / / Set LCD varten Ohjeisto
lcd_send_nibble (command>> 4); / / Lähetä korkea bittiä
lcd_send_nibble (command & 0x0F); / / Lähetä alhainen bittiä
)mitätön lcd_send_data (char c)
(
delay_ms (5); / / Delay 5ms
output_high (RS); / / Set LCD tietojen asettaa
lcd_send_nibble (c>> 4); / / Lähetä korkea bittiä
lcd_send_nibble (C & 0x0F); / / Lähetä alhainen bittiä
)
Minulla on joitakin ongelmia ...Minulla on asiat wired seuraavasti mukaan nastainen #:
PIC ------------ LCD
14 ---------- --- GND
13
12
11
10 (C0) -------- D4
9 (C1) --------- D5
8 (C2) --------- D6
7 (C3) --------- D7
6
5
4
3 (A4) --------- RS
2 (A5) --------- Enable
1 --------------- 5 V
Here's my code:
Code:
# include <Temp Sensor.h>
# include <math.h># define ENABLE PIN_A5
# define RS PIN_A4
# define LCD_TYPE 1/ / Tehtävä / Global Muuttuja Delcaration
mitätön Alusta (void);
mitätön InitLCD (void);
mitätön lcd_send_nibble (char c);
mitätön lcd_send_data (char c);
mitätön lcd_send_command (char komento);
int i;mitätön tärkeimmät ()
(
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 ()mitätön InitLCD (void)
(/ / Alusta LCD
output_low (ENABLE); / / Poista LCD
delay_ms (50); / / Määräaika 50msSET_TRIS_C (0x00); / / Kaikki C satamissa asettaa tuotoksen
delay_ms (15); / / Määräaika 15msfor (i = 1, i <= 3; i)
(
output_low (RS); / / Set LCD varten Ohjeisto
output_c (3); / /
output_high (ENABLE); / / Ota LCD
delay_us (5); / / Delay 5us
output_low (ENABLE); / / Poista LCD
delay_ms (5); / / Delay 5ms
)lcd_send_nibble (3); / /lcd_send_command (0x20); / / Tehtävä Set:
/ / 4bit tiedon pituus
/ / 1 Line
/ / 5 x 7 Dot Formaattilcd_send_command (0x0F); / / Näyttö ON / OFF-valvonta:
/ / Näyttö
/ / Kursori
/ / Blink ONlcd_send_command (0x01); / / Näyttö Vapaalcd_send_command (0x05); / / Entry Mode Set:
/ / Vähennys yksi
/ / Kyllä Shiftlcd_send_data (0x52); / / "R"
lcd_send_data (0x45); / / "E"
lcd_send_data (0x41); / / "A"
lcd_send_data (0x44); / / "D"
lcd_send_data (0x59); / / "Y"
)mitätön lcd_send_nibble (char c)
(
output_c (c); / / Output merkin LCD
output_high (ENABLE); / / Ota LCD
delay_us (5); / / Delay 5us
output_low (ENABLE); / / Poista LCD
)mitätön lcd_send_command (char komento)
(
delay_ms (5); / / Delay 5ms
output_low (RS); / / Set LCD varten Ohjeisto
lcd_send_nibble (command>> 4); / / Lähetä korkea bittiä
lcd_send_nibble (command & 0x0F); / / Lähetä alhainen bittiä
)mitätön lcd_send_data (char c)
(
delay_ms (5); / / Delay 5ms
output_high (RS); / / Set LCD tietojen asettaa
lcd_send_nibble (c>> 4); / / Lähetä korkea bittiä
lcd_send_nibble (C & 0x0F); / / Lähetä alhainen bittiä
)