Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

hey i need help regurding displaying on lcd

Status
Not open for further replies.

prathap_nagaraj

Newbie level 1
Joined
Jan 3, 2013
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,314
can plz tel me how to display ADC output on LCD
i'm using LPC2378
this my code
/******************************************************************************/
/* BLINKY.C: LED Flasher */
/******************************************************************************/
/* This file is part of the uVision/ARM development tools. */
/* Copyright (c) 2005-2006 Keil Software. All rights reserved. */
/* This software may only be used under the terms of a valid, current, */
/* end user licence from KEIL for a compatible version of KEIL software */
/* development tools. Nothing else gives you the right to use this software. */
/******************************************************************************/

#include <stdio.h>
#include <LPC23xx.H> /* LPC23xx definitions */
#include "LCD.h" /* Graphic LCD function prototypes */


/* Function that initializes LEDs */
void LED_Init(void) {
PINSEL10 = 0; /* Disable ETM interface, enable LEDs */
FIO2DIR = 0x000000FF; /* P2.0..7 defined as Outputs */
FIO2MASK = 0x00000000;
}

/* Function that turns on requested LED */
void LED_On (unsigned int num) {
FIO2SET = (1 << num);
}

/* Function that turns off requested LED */
void LED_Off (unsigned int num) {
FIO2CLR = (1 << num);
}

/* Function that outputs value to LEDs */
// void LED_Out(unsigned int value) {
// FIO2CLR = 0xFF; /* Turn off all LEDs */
//FIO2SET = (value & 0xFF); /* Turn on requested LEDs */
//}


/* Function for displaying bargraph on the LCD display */
void Disp_Bargraph(int pos_x, int pos_y, int value) {
int i;

set_cursor (pos_x, pos_y);
for (i = 0; i < 16; i++) {
if (value > 5) {
lcd_putchar (0x05);
value -= 5;
} else {
lcd_putchar (value);
value = 0;
}
}
}

/* Import external IRQ handlers from IRQ.c file */
extern __irq void T0_IRQHandler (void);
extern __irq void ADC_IRQHandler (void);

/* Import external functions from Serial.c file */
extern void init_serial (void);

/* Import external variables from IRQ.c file */
extern short AD_last;
extern unsigned char clock_1s;


int main (void) {
int i;
short AD_old, AD_value, AD_print;
unsigned char *x;
LED_Init(); /* LED Initialization */

/* Enable and setup timer interrupt, start timer */
T0MR0 = 11999; /* 1msec = 12000-1 at 12.0 MHz */
T0MCR = 3; /* Interrupt and Reset on MR0 */
T0TCR = 1; /* Timer0 Enable */
VICVectAddr4 = (unsigned long)T0_IRQHandler;/* Set Interrupt Vector */
VICVectCntl4 = 15; /* use it for Timer0 Interrupt */
VICIntEnable = (1 << 4); /* Enable Timer0 Interrupt */

/* Power enable, Setup pin, enable and setup AD converter interrupt */
PCONP |= (1 << 12); /* Enable power to AD block */
PINSEL1 = 0x4000; /* AD0.0 pin function select */
AD0INTEN = (1 << 0); /* CH0 enable interrupt */
AD0CR = 0x00200301; /* Power up, PCLK/4, sel AD0.0 */
VICVectAddr18 = (unsigned long)ADC_IRQHandler;/* Set Interrupt Vector */
VICVectCntl18 = 14; /* use it for ADC Interrupt */
VICIntEnable = (1 << 18); /* Enable ADC Interrupt */

init_serial(); /* Init UART */

lcd_init();
lcd_clear();
lcd_print (" LIFE GOES ON ");
set_cursor (0, 1);
lcd_print (" DDDDDDDDDDDDDDD ");

for (i = 0; i < 20000000; i++); /* Wait for initial display */

while (1) { /* Loop forever */
AD_value = AD_last; /* Read AD_last value */
if (AD_value != AD_last) /* Make sure that AD interrupt did */
AD_value = AD_last; /* not interfere with value reading */
AD_print = AD_value; /* Get unscaled value for printout */
AD_value /= 13; /* Scale to AD_Value to 0 - 78 */
if (AD_old != AD_value) { /* If AD value has changed */
AD_old = AD_value;
// Disp_Bargraph(0, 1, AD_value); /* Display bargraph according to AD */
lcd_clear();
x=(unsigned char * )AD_value;
lcd_print (x);
}
if (clock_1s) {
clock_1s = 0;
printf ("AD value = 0x%03x\n\r", AD_print);
}
}
}

its nt showing display
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top