hi tech de rutină pentru imprimare LCD

N

nebisman

Guest
Hi friends
Poate cineva explica-mi cum să programez un rouitne pentru LCD de imprimare pe Hitech compilator cu printf.
Trebuie meu este de a imprima numere întregi şi numere de floating point
Thanks in advance.

nebisman

 
Eu nu folosesc printf în programe mea, dar asta este ceea ce PICC18 manualul spune:

3.4.26.1 printf, cu sprijin suplimentar pentru Longs şi pluteşte
În mod implicit, printf (), precum şi funcţii legate de conţinute în bibliotecile standard de suport de imprimare a
numai numere întregi.În cazul în care un sprijin suplimentar pentru mult timp s şi s-float este necesară biblioteci diferite trebuie să fie utilizate
în timpul link-ul de scena.Pentru informaţii complete cu privire printf (), a se vedea pagina 270.
Pentru a utiliza versiunea de printf (), care are suport suplimentar pentru mult timp e, trebuie să includă o
bibliotecă suplimentare de către utilizând următoarea opţiune în momentul asocierii (sau atunci când sunteţi compilarea şi
care leagă într-un singur pas):
-LL
Pentru a utiliza versiunea de printf (), care are sprijin suplimentar pentru mult timp şi s-float s, utilizaţi opţiunea:
-LF
În opţiunile de mai sus, l şi F sunt specificând doar tipul bibliotecă aşa cum este descris în secţiunea Standard
Biblioteci de la pagina 76.În plus faţă de aceste opţiuni, nici o modificare a codului sursa este necesar pentru
de imprimare lung s sau float s.Dacă aceste opţiuni nu sunt specificate, printf () nu va şti despre lung şi
substituenţi flotorul şi orice încercare de a le utiliza va imprima caracterul substituent (e), ca text cu nici o
de înlocuire.
O versiune alternativă a printf () cu steaguri suplimentare şi funcţionalitate poate fi selectat prin utilizarea
opţiunea de linie de comandă:
-LW
Această versiune a printf () posibilitatea de a imprima lung şi pluti variabile în mod implicit, şi este mai mare decât standardul
versiune de printf ().

3.4.14 Standard I / O şi Funcţii I serial / O
O serie standard de I / O funcţiile sunt prevăzute în biblioteca C cu compilator, în special pe cele
funcţii destinate să citească şi să scrie text formatat la iesirea standard si de intrare.O listă a disponibile
funcţii este în tabelul 4 - 13.Mai multe detalii privind aceste funcţii sunt în capitolul Biblioteca Funcţii.
Înainte de orice caractere, poate fi scrisă sau de a citi folosind aceste funcţii, Putch () şi getch () funcţii
trebuie să fie scrise.Alte rutine care pot fi solicitate să includă getche () şi kbhit ().
Veti gasi mostre de cod de serie care pune în aplicare Putch () şi getch () funcţii în fişierul
serial.c în directorul de mostre.
Tabelul 4 - 13 Supported Funcţii STDIO
Funcţie denumirea Scopul
printf (const char * s, ...) de imprimare formatate pentru a stdout
sprintf (char * buf, const char * s, ...) scrie formatat de text pentru a buf

 
mulţumiri pentru repply.Dar am nevoie de un cod de probă în mod special pentru LCD alfanumerice, dacă aveţi o te rog ajută-mă help

 
Te-ai verifica afară lcd.c în folderul picc probe?
Acesta ar trebui să conţină tot ce ai nevoie ...

Puteţi verifica, de asemenea, Hi-Tech, la forum

www.htsoft.com

De asemenea, am văzut unele discuţii în legătură cu alfanumeric Afişează la bord CSC.
S-ar putea să nu exatly fi ceea ce vrei, dar poate un bun punct de a începe.

www.ccsinfo.com / forum

toate cele bune

 
La nivel de rutină LCD.c este scăzut pentru mine.Eu am nevoie pentru a imprima direct de numere plutitoare ca un calculator

 
printf este pentru iesirea standard (serial port, RX Tx).

Dacă doriţi să vă conectaţi LCD pentru a serie aveţi nevoie de unele beetwen Hardware.

Poate ai putea rezolva problema ca acesta (Eu folosesc ceva de genul asta):

A face de func.pentru scris un caracter la LCD, cum ar fi writeCharLCD (var char)

Ai nevoie de un cod pentru a converti int, lungi sau chat-ul pentru a string

Apoi, asiguraţi-func pentru a scrie şir pe ecranul LCD writeStringLCD (char * str)

Deci, cu care func puteţi scrie doreste dumneavoastră sau INTS direct de pe ecranul LCD, cu doar un singur apel func (writeStringLCD (string)).Hope it ajutor.Mr.Cube

 
Cred că ar trebui să aveţi Grile de aceste cuvinte pe care doriţi să afişaţi de asemenea.

 
hello nebisman,

te-ar putea folosi printf () pentru a trimite şir Format la LCD, dar aveţi nevoie pentru a defini o funcţie următoare:

Putch void (uchar c)
(
LCD_RS = 1;
lcd_write (c);
)

în cazul în care LCD_RS este un LCD de RS linie de control şi de lcd_write () este de rutină pentru a trimite un caracter de LCD de

Cred că acest lucru poate ajuta!<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
 
hello nebisman ..
nu aveţi nevoie de .. printf aveţi nevoie de sprintf
sprinf este acelaşi cu piuliţă printf broduces un şir ..
şi apoi şir să îl trimiteţi la .. LCD

în cazul în care doriţi să utilizaţi printf veţi petrece mult timp pentru a determina Dispozitive de ieşire, care este LCD.

cum ar fi numere de imprimare plutitoare

sprinf ( "% 6.2f", x);

 
Salut,
Nu sunt de rutină pentru LCD alfanumerice place HD4480 Hitachi.Interfaţa cu 4 conexiuni.

CD-ul:)

 
Bună I a scrie o continuare un cod pentru o 16F877 şi este de lucru.

Scriu o Putch nou ()

Putch void (char c)
(
putch_lcd (c);
)

printf ( "Valor =% 4.3f", 1.635);

şi, în MPLAB 7.1:

Proiect ---> Opţiuni Build ---> Proiect ---> Opţiuni Linker

Tilt ---> Integer Long float (pentru sprijinul pluteste)
 
Bună, în cazul în care doriţi să scrieţi LCD cu uşurinţă CSC, utilizarea compilator, pentru că am încercat hi-tech rutine de compilator, dar nu pot reuşit să utilizaţi floating point pe ecranul LCD ...

# în cazul în care este definit (__PCM__)
# include <16F877.h>
# DISPOZITIV ADC = 10 / / ADC 10 biţi
# sigurante XT, NOPROTECT, NOWDT, NOLVP, pune
# întârziere de utilizare (ceas = 4000000)

# include <LCD.C> / / Dacă doriţi să folosiţi LCD COMMANDAS, programul pe care trebuie să adăugaţi LCD.C fişier la DUMNEAVOASTRĂ
# include <stdlib.h> / / Dacă doriţi să folosiţi ADC COMMANDAS, programul pe care trebuie să adăugaţi STDLIB.H fişier la DUMNEAVOASTRĂ
# define condus pin_b3 / / PIN_B3 LED-uri
# define buton pin_c0 / / PIN_C0 BUTTON
# USE RS232 (baud = 9600, xmit = PIN_C6, AN = PIN_C7) / / Serial Port conexiune ... TRANSMIT PIN = C6, de a primi PINI = C7
SET_TRIS_C (0b00000001); / / PENTRU PIN_C0 BUTTON, TRIS_C_0 este introdus de

void main () / / principal program
(
int a = 0; / / DEFINIŢIE
lung value0, valoare1; / / DEFINIŢIE
float b; / / DEFINIŢIE
lcd_init (); / / LCD Initialization
printf ( "apasati pe butonul .. \ n \ r"); / / scrie "apasati pe butonul .."LA Serial Port

for (;

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />

/ / INFINITE CICLU
(

output_low (LED); / / LED OFF
delay_us (250); / / 250ms WAIT

if (! intrare (buton)) / / Dacă butonul este apăsat
(
output_high (LED); / / LED de pe
a = 1; / / MAJORARE A (1)
b = 1.45 * A; / / b = 1,45 * A
lcd_putc ( "\ f"); LCD / / CLEAR
printf (lcd_putc, "result =% 3.2f", b); / / scrie "REZULTATUL =...."(Float format) LA LCD
printf ( "a =% d \ n \ r", a); / / scrie "o =...."(Integer format) LA Serial Port
în timp ce (! intrare (buton)); / / aşteptaţi până când BUTTON ELIBERATE
)

setup_adc (ADC_CLOCK_INTERNAL); / / FOR ADC
setup_adc_ports (ALL_ANALOG); / / toate porturile analogice sunt în utilizarea
set_adc_channel (0); / / SET AN0 CHANNEL
value0 = read_adc (); / / Citeşte AN0 CHANNEL, scrie rezultatul care VALUE0
set_adc_channel (1); / / SET AN1 CHANNEL
valoare1 = read_adc (); / / Citeşte AN1 CHANNEL, scrie rezultatul care value1
lcd_putc ( "\ f"); LCD / / CLEAR
printf (lcd_putc, ", value0 =% lu", value0); / / scrie "value0 = ...",(Format lung), LA LCD 1.RÂNDUL
lcd_putc ( "\ n"); / / GO TO 2.RÂNDUL
printf (lcd_putc, ", valoare1 =% lu", valoare1); / / scrie "valoare1 = ...",(Format lung) LA LCD 2.RÂNDUL
delay_ms (100); / / WAIT 100ms

)

):::::::::: NOTĂ
# include comanda <LCD.C> este de a utiliza CSC Standart LCD de comenzi ca
lcd_read_byte
lcd_send_nibble
lcd_send_byte
lcd_init
lcd_gotoxy
lcd_putc
lcd_getchttp://sadandonmez.orgfree.com

 

Welcome to EDABoard.com

Sponsor

Back
Top