Re: CCS routine for LCD print
Hi, if you want to write LCD easily, use CCS compiler, because I tried hi-tech compiler routines but i can't managed to use floating point on LCD...
#if defined(__PCM__)
#include <16F877.h>
#DEVICE ADC=10 //ADC 10 BİT
#fuses XT, NOPROTECT, NOWDT, NOLVP, PUT
#use delay(clock=4000000)
#include <LCD.C> //IF YOU WANT TO USE LCD COMMANDAS, YOU MUST ADD LCD.C FILE TO YOUR PROGRAM
#include <STDLIB.H> //IF YOU WANT TO USE ADC COMMANDAS, YOU MUST ADD STDLIB.H FILE TO YOUR PROGRAM
#define led pin_b3 //PIN_B3 LED
#define buton pin_c0 //PIN_C0 BUTTON
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) //SERIAL PORT CONNECTION...TRANSMIT PIN=C6, RECEIVE PINI=C7
SET_TRIS_C(0b00000001); //FOR PIN_C0 BUTTON, TRIS_C_0 IS INPUT
void main() //MAIN PROGRAM
{
int a=0; //DEFINITION
long value0,value1; //DEFINITION
float b; //DEFINITION
lcd_init(); //LCD INITIALIZATION
printf("PRESS BUTTON..\n\r"); //WRITE "PRESS BUTTON.." TO SERIAL PORT
for(;
//INFINITE CYCLE
{
output_low(led); //LED OFF
delay_us(250); //250ms WAIT
if (!input(buton)) //IF BUTTON İS PRESSED
{
output_high(led); //LED ON
a=a+1; //INCREASE A (+1)
b=1.45*a; //b=1,45*a
lcd_putc("\f"); //CLEAR LCD
printf(lcd_putc,"RESULT= %3.2f",b); //WRITE "RESULT=...." (FLOAT FORMAT) TO LCD
printf("a= %d\n\r",a); //WRITE "a=...." (INTEGER FORMAT) TO SERIAL PORT
while(!input(buton)); //WAIT UNTIL BUTTON RELEASED
}
setup_adc( ADC_CLOCK_INTERNAL ); //FOR ADC
setup_adc_ports( ALL_ANALOG ); //ALL ANALOG PORTS ARE IN USAGE
set_adc_channel(0); //SET AN0 CHANNEL
value0 = read_adc(); //READ AN0 CHANNEL, WRITE THE RESULT TO VALUE0
set_adc_channel(1); //SET AN1 CHANNEL
value1 = read_adc(); //READ AN1 CHANNEL, WRITE THE RESULT TO VALUE1
lcd_putc("\f"); //CLEAR LCD
printf(lcd_putc,"value0 = %lu", value0); //WRITE "value0 = ..." (LONG FORMAT) TO LCD 1. ROW
lcd_putc("\n"); //GO TO 2. ROW
printf(lcd_putc,"value1 = %lu", value1); //WRITE "value1 = ..." (LONG FORMAT) TO LCD 2. ROW
delay_ms( 100 ); //WAIT 100ms
}
}
NOTE::::::::::
#include <LCD.C> command is to use CCS standart LCD commands like
lcd_read_byte
lcd_send_nibble
lcd_send_byte
lcd_init
lcd_gotoxy
lcd_putc
lcd_getc
http://sadandonmez.orgfree.com