G
goowiz
Guest
Sveiki,
mane bando išvesti numerius Samsung UC-20102-GNARS vienoje eilutėje 20 ženklų LCD ekranas nuo PIC16f684 mikrokontrolerów.
Man kai kurių problemų ...Aš ko Prijungiamas taip pagal Kaisčiai #:
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) --------- Įjungti
1 ---------------
5 prieš
Štai mano kodas:
Kodas:
# include <Temp Sensor.h>
# include <math.h># define leidžia PIN_A5
# define RS PIN_A4
# define LCD_TYPE 1/ / Function / globaliai Kintamasis Delcaration
void Initialize (void);
tuščia InitLCD (void);
tuščia lcd_send_nibble (char c);
tuščia lcd_send_data (char c);
tuščia lcd_send_command (char komandą);
int i;void main ()
(
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 ()
tuščia InitLCD (tuščia)
(/ / Inicjalizacja LCD
output_low (leidžia); / / Išjungti LCD
delay_ms (50) / / Delay už 50msSET_TRIS_C (0x00); / / Visos C uostuose nustatyti išvesties
delay_ms (15) / / Delay for 15 msfor (i = 1, i <= 3; i)
(
output_low (RS); / / Nustatykite LCD ir komandų rinkinys
output_c (3); / /
output_high (leidžia); / / Įjungti LCD
delay_us (5); / / Delay 5us
output_low (leidžia); / / Išjungti LCD
delay_ms (5); / / užlaikymas 5ms
)lcd_send_nibble (3); / /lcd_send_command (0x20); / / Funkcija Nustatykite:
/ / 4bit duomenų ilgis
/ / 1 Line
/ / 5 x 7 Dot Formataslcd_send_command (0x0F); / / Display ON / OFF Control:
/ / Rodyti
/ / Žymeklį
/ / Blink DĖLlcd_send_command (0x01); / / Parodyti Išvalytilcd_send_command (0x05); / / Įrašas nustatytas režimas:
/ / Mažinti vienas
/ / Taip Shiftlcd_send_data (0x52); / / "R",
lcd_send_data (0x45); / / "E
lcd_send_data (0x41); / / "A"
lcd_send_data (0x44); / / "D"
lcd_send_data (0x59); / / "T"
)tuščia lcd_send_nibble (char c)
(
output_c (c); / / išvesties simbolių LCD
output_high (leidžia); / / Įjungti LCD
delay_us (5); / / Delay 5us
output_low (leidžia); / / Išjungti LCD
)tuščia lcd_send_command (char komandą)
(
delay_ms (5); / / užlaikymas 5ms
output_low (RS); / / Nustatykite LCD ir komandų rinkinys
lcd_send_nibble (command>> 4); / / Siųsti aukštos bitai
lcd_send_nibble (command & 0x0F); / / Siųsti maža bitų
)tuščia lcd_send_data (char c)
(
delay_ms (5); / / užlaikymas 5ms
output_high (RS); / / Nustatykite LCD duomenų rinkinys
lcd_send_nibble (c>> 4); / / Siųsti aukštos bitai
lcd_send_nibble (c & 0x0F); / / Siųsti maža bitų
)
mane bando išvesti numerius Samsung UC-20102-GNARS vienoje eilutėje 20 ženklų LCD ekranas nuo PIC16f684 mikrokontrolerów.
Man kai kurių problemų ...Aš ko Prijungiamas taip pagal Kaisčiai #:
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) --------- Įjungti
1 ---------------
5 prieš
Štai mano kodas:
Kodas:
# include <Temp Sensor.h>
# include <math.h># define leidžia PIN_A5
# define RS PIN_A4
# define LCD_TYPE 1/ / Function / globaliai Kintamasis Delcaration
void Initialize (void);
tuščia InitLCD (void);
tuščia lcd_send_nibble (char c);
tuščia lcd_send_data (char c);
tuščia lcd_send_command (char komandą);
int i;void main ()
(
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 ()
(/ / Inicjalizacja LCD
output_low (leidžia); / / Išjungti LCD
delay_ms (50) / / Delay už 50msSET_TRIS_C (0x00); / / Visos C uostuose nustatyti išvesties
delay_ms (15) / / Delay for 15 msfor (i = 1, i <= 3; i)
(
output_low (RS); / / Nustatykite LCD ir komandų rinkinys
output_c (3); / /
output_high (leidžia); / / Įjungti LCD
delay_us (5); / / Delay 5us
output_low (leidžia); / / Išjungti LCD
delay_ms (5); / / užlaikymas 5ms
)lcd_send_nibble (3); / /lcd_send_command (0x20); / / Funkcija Nustatykite:
/ / 4bit duomenų ilgis
/ / 1 Line
/ / 5 x 7 Dot Formataslcd_send_command (0x0F); / / Display ON / OFF Control:
/ / Rodyti
/ / Žymeklį
/ / Blink DĖLlcd_send_command (0x01); / / Parodyti Išvalytilcd_send_command (0x05); / / Įrašas nustatytas režimas:
/ / Mažinti vienas
/ / Taip Shiftlcd_send_data (0x52); / / "R",
lcd_send_data (0x45); / / "E
lcd_send_data (0x41); / / "A"
lcd_send_data (0x44); / / "D"
lcd_send_data (0x59); / / "T"
)tuščia lcd_send_nibble (char c)
(
output_c (c); / / išvesties simbolių LCD
output_high (leidžia); / / Įjungti LCD
delay_us (5); / / Delay 5us
output_low (leidžia); / / Išjungti LCD
)tuščia lcd_send_command (char komandą)
(
delay_ms (5); / / užlaikymas 5ms
output_low (RS); / / Nustatykite LCD ir komandų rinkinys
lcd_send_nibble (command>> 4); / / Siųsti aukštos bitai
lcd_send_nibble (command & 0x0F); / / Siųsti maža bitų
)tuščia lcd_send_data (char c)
(
delay_ms (5); / / užlaikymas 5ms
output_high (RS); / / Nustatykite LCD duomenų rinkinys
lcd_send_nibble (c>> 4); / / Siųsti aukštos bitai
lcd_send_nibble (c & 0x0F); / / Siųsti maža bitų
)