RTC PROGRAM FOR ARM7LPC2129
RTC PROGRAM FOR ARM7LPC2129
PROGRAM FOR DISPLAYING CLOCK TIME?
#include<lpc21xx.h>
#define RS (1<<10)
#define RW (1<<12)
#define EN (1<<13)
#define DATA_PINS (0xff<<15)
void lcdcmd(int cmd);
void lcddata(char data);
void lcdstring(char *str);
void lcdstring1(char *str1);
void lcd_num(int num);
void delay(int count);
void lcdinit(void);
void delay(int count)
{
int i,j;
for(i=0;i<count;i++)
{
for(j=0;j<5000;j++)
{
}
}
}
void lcdcmd(int cmd)
{
IOCLR0=RS;
IOCLR0=RW;
IOCLR0=(DATA_PINS);
IOSET0=(cmd<<15);
IOSET0=EN;
delay(30);
IOCLR0=EN;
}
void lcddata(char data)
{
IOSET0=RS;
IOCLR0=RW;
IOCLR0=(DATA_PINS);
IOSET0=(data<<15);
IOSET0=EN;
delay(30);
IOCLR0=EN;
}
void lcdstring(char *str)// display 16 char
{
while(*str)
{
lcddata(*str);
str++;
}
}
void lcd_num(int num)
{
if(num)
{
lcddata((num%10) +0x30);
lcd_num(num/10);
}
}
void lcdinit(void)
{
IODIR0 |=RS|RW|EN|DATA_PINS;
lcdcmd(0x38);
lcdcmd(0x0e);
lcdcmd(0x01);
lcdcmd(0x81);
}
void init_rtc()
{
lcdstring("digital timer");
CCR=(1<<0);
//CIIR=(0x01);
//SEC=(0x00);
PREINT=456;
PREFRAC=25024;
HOUR=12;
MIN=10;
SEC=0;
}
int main()
{
lcdinit();
init_rtc();
while(1)
{
lcdcmd(0xc0);
lcddata(HOUR/10+'0');
lcddata(HOUR%10+'0');
lcddata(':');
lcddata(MIN/10+'0');
lcddata(MIN%10+'0');
lcddata(':');
lcddata(SEC/10+'0');
lcddata(SEC%10+'0');
}
}
Comments
Post a Comment