<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>'Need help with c program' Thread RSS Feed</title>
    <link>http://www.programmersheaven.com/</link>
    <description>Contains the latest posts from the thread 'Need help with c program' posted on the 'C and C++' forum at Programmer's Heaven.</description>
    <language>en</language>
    <copyright>Copyright 2013 Programmers Heaven</copyright>
    <pubDate>Sat, 25 May 2013 18:04:37 -0700</pubDate>
    <lastBuildDate>Sat, 25 May 2013 18:04:37 -0700</lastBuildDate>
    <generator>Argotic Syndication Framework 2007.3.0.1, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <ttl>360</ttl>
    <image>
      <url>http://www.programmersheaven.com/images/ph.gif</url>
      <title>Programmers Heaven</title>
      <link>http://www.programmersheaven.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <item>
      <title>Need help with c program</title>
      <link>http://www.programmersheaven.com/mb/CandCPP/428124/428124/need-help-with-c-program/</link>
      <description>I want to make a project digital code lock usin AT89c51.while compiling in Keil Compiler it shows error anybody please help me.I m new to programming.Here is the code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include&amp;lt;reg51.h&amp;gt;&lt;br /&gt;
#define port P1&lt;br /&gt;
#define dataport P2&lt;br /&gt;
#define key P0&lt;br /&gt;
#define sec 100&lt;br /&gt;
sbit rs = port^0;&lt;br /&gt;
sbit rw = port^1;&lt;br /&gt;
sbit en = port^2;&lt;br /&gt;
&lt;br /&gt;
sbit col1=key^4;&lt;br /&gt;
sbit col2=key^5;&lt;br /&gt;
sbit col3=key^6;&lt;br /&gt;
sbit row1=key^0;&lt;br /&gt;
sbit row2=key^1;&lt;br /&gt;
sbit row3=key^2;&lt;br /&gt;
sbit row4=key^3;&lt;br /&gt;
sbit lock_output=P0^7;&lt;br /&gt;
&lt;br /&gt;
int check=0;&lt;br /&gt;
int digit[4]={0,0,0,0};&lt;br /&gt;
int dig_one=3;&lt;br /&gt;
int dig_two=9;&lt;br /&gt;
int dig_three=0;&lt;br /&gt;
int dig_four=7;&lt;br /&gt;
int i,count=0;&lt;br /&gt;
&lt;br /&gt;
void delay(unsigned int msec) //Time delay function&lt;br /&gt;
{&lt;br /&gt;
int i,j ;&lt;br /&gt;
for(i=0;i&amp;lt;msec;i++)&lt;br /&gt;
  for(j=0;j&amp;lt;1275;j++);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void lcd_cmd(unsigned char item) //Function to send command to LCD&lt;br /&gt;
{&lt;br /&gt;
dataport = item;&lt;br /&gt;
rs= 0;&lt;br /&gt;
rw=0;&lt;br /&gt;
en=1;&lt;br /&gt;
delay(1);&lt;br /&gt;
en=0;&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void lcd_data(unsigned char item) // Function to send data to LCD&lt;br /&gt;
{&lt;br /&gt;
dataport = item;&lt;br /&gt;
rs= 1;&lt;br /&gt;
rw=0;&lt;br /&gt;
en=1;&lt;br /&gt;
delay(1);&lt;br /&gt;
en=0;&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void lcd_data_string(unsigned char *str)  // Function to send string to LCD&lt;br /&gt;
{&lt;br /&gt;
int i=0;&lt;br /&gt;
while(str[i]!='\0')&lt;br /&gt;
{&lt;br /&gt;
  lcd_data(str[i]);&lt;br /&gt;
  i++;&lt;br /&gt;
  //delay(10);&lt;br /&gt;
}&lt;br /&gt;
return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void lcd(unsigned char str[10])  // Function to send string to LCD&lt;br /&gt;
{&lt;br /&gt;
lcd_cmd(0x38);&lt;br /&gt;
lcd_cmd(0x0e);&lt;br /&gt;
lcd_data_string(str);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ans()&lt;br /&gt;
{&lt;br /&gt;
if(check&amp;gt;3)&lt;br /&gt;
{&lt;br /&gt;
  lcd_cmd(0x01);&lt;br /&gt;
  lcd_cmd(0x82);&lt;br /&gt;
  lcd_data_string(" LOCK OPEN");&lt;br /&gt;
  lock_output=1;&lt;br /&gt;
  delay(500);&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  lcd_cmd(0x01);&lt;br /&gt;
  lcd_cmd(0x82);&lt;br /&gt;
  lcd_data_string(" WRONG PASSWORD");&lt;br /&gt;
  lock_output=0;&lt;br /&gt;
  count++;&lt;br /&gt;
  delay(500);&lt;br /&gt;
}                   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void code_check() // Function to check password&lt;br /&gt;
{&lt;br /&gt;
if(i&amp;lt;=3 )&lt;br /&gt;
{&lt;br /&gt;
  switch((i+1))&lt;br /&gt;
  {&lt;br /&gt;
   case 1: {&lt;br /&gt;
      if(dig_one==digit[0])&lt;br /&gt;
      {&lt;br /&gt;
       check=check+1;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
   case 2: {&lt;br /&gt;
      if(dig_two==digit[1])&lt;br /&gt;
      {&lt;br /&gt;
       check=check+1;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
     }&lt;br /&gt;
    &lt;br /&gt;
   case 3: {&lt;br /&gt;
      if(dig_three==digit[2])&lt;br /&gt;
      {&lt;br /&gt;
       check=check+1;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
      }&lt;br /&gt;
    &lt;br /&gt;
   case 4: {&lt;br /&gt;
      if(dig_four==digit[3])&lt;br /&gt;
      {&lt;br /&gt;
       check=check+1;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
if(i==3)&lt;br /&gt;
{&lt;br /&gt;
  ans();&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void display(int a) //Display function&lt;br /&gt;
{&lt;br /&gt;
switch(a)&lt;br /&gt;
{ &lt;br /&gt;
  case 1:{&lt;br /&gt;
    lcd_data('1');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=1;&lt;br /&gt;
    code_check();&lt;br /&gt;
    break;&lt;br /&gt;
    }&lt;br /&gt;
  case 2:{&lt;br /&gt;
    lcd_data('2');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=2;&lt;br /&gt;
    code_check(); &lt;br /&gt;
    break;&lt;br /&gt;
    }&lt;br /&gt;
  case 3:{&lt;br /&gt;
    lcd_data('3');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=3;&lt;br /&gt;
    code_check();&lt;br /&gt;
    break; &lt;br /&gt;
    }&lt;br /&gt;
  case 4:{&lt;br /&gt;
    lcd_data('4');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=4;&lt;br /&gt;
    code_check();&lt;br /&gt;
    break;&lt;br /&gt;
    }&lt;br /&gt;
  case 5:{&lt;br /&gt;
    lcd_data('5');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=5;&lt;br /&gt;
    code_check();&lt;br /&gt;
    break;&lt;br /&gt;
    }&lt;br /&gt;
  case 6:{&lt;br /&gt;
    lcd_data('6');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=6;&lt;br /&gt;
    code_check();&lt;br /&gt;
    break;&lt;br /&gt;
    }&lt;br /&gt;
  case 7:{&lt;br /&gt;
    lcd_data('7');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=7;&lt;br /&gt;
    code_check();&lt;br /&gt;
    break;&lt;br /&gt;
    }&lt;br /&gt;
  case 8:{&lt;br /&gt;
    lcd_data('8');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=8;&lt;br /&gt;
    code_check();&lt;br /&gt;
    break;&lt;br /&gt;
    }&lt;br /&gt;
  case 9:{&lt;br /&gt;
    lcd_data('9');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=9;&lt;br /&gt;
    code_check();&lt;br /&gt;
    break;&lt;br /&gt;
    }&lt;br /&gt;
  case 0:{&lt;br /&gt;
    lcd_data('0');&lt;br /&gt;
    delay(30);&lt;br /&gt;
    digit[i]=0;&lt;br /&gt;
    code_check();&lt;br /&gt;
    break;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void check_col1()&lt;br /&gt;
{&lt;br /&gt;
row1=row2=row3=row4=1;&lt;br /&gt;
row1=0;&lt;br /&gt;
if(col1==0)&lt;br /&gt;
display(1);&lt;br /&gt;
row1=1;&lt;br /&gt;
row2=0;&lt;br /&gt;
if(col1==0)&lt;br /&gt;
display(4);&lt;br /&gt;
row2=1;&lt;br /&gt;
row3=0;&lt;br /&gt;
if(col1==0)&lt;br /&gt;
display(7);&lt;br /&gt;
row3=1;&lt;br /&gt;
row4=0;&lt;br /&gt;
if(col1==0)&lt;br /&gt;
{&lt;br /&gt;
  row4=1;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void check_col2()&lt;br /&gt;
{&lt;br /&gt;
row1=row2=row3=row4=1;&lt;br /&gt;
row1=0;&lt;br /&gt;
if(col2==0)&lt;br /&gt;
display(2);&lt;br /&gt;
row1=1;&lt;br /&gt;
row2=0;&lt;br /&gt;
if(col2==0)&lt;br /&gt;
display(5);&lt;br /&gt;
row2=1;&lt;br /&gt;
row3=0;&lt;br /&gt;
if(col2==0)&lt;br /&gt;
display(8);&lt;br /&gt;
row3=1;&lt;br /&gt;
row4=0;&lt;br /&gt;
if(col2==0)&lt;br /&gt;
display(0);&lt;br /&gt;
row4=1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void check_col3()&lt;br /&gt;
{&lt;br /&gt;
row1=row2=row3=row4=1;&lt;br /&gt;
row1=0;&lt;br /&gt;
if(col3==0)&lt;br /&gt;
display(3);&lt;br /&gt;
row1=1;&lt;br /&gt;
row2=0;&lt;br /&gt;
if(col3==0)&lt;br /&gt;
display(6);&lt;br /&gt;
row2=1;&lt;br /&gt;
row3=0;&lt;br /&gt;
if(col3==0)&lt;br /&gt;
display(9);&lt;br /&gt;
row3=1;&lt;br /&gt;
row4=0;&lt;br /&gt;
if(col3==0)&lt;br /&gt;
{&lt;br /&gt;
  row4=1;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
col1=col2=col3=1;&lt;br /&gt;
while(1)&lt;br /&gt;
{&lt;br /&gt;
  lcd_cmd(0x01);  //Clear LCD screen&lt;br /&gt;
  lock_output=0;&lt;br /&gt;
  lcd_cmd(0x82);   // Set cursor on position first of first line&lt;br /&gt;
  lcd("ENTER PASSWORD");&lt;br /&gt;
  check=0;&lt;br /&gt;
  row1=row2=row3=row4=0;&lt;br /&gt;
  while(col1==1 &amp;amp;&amp;amp; col2==1 &amp;amp;&amp;amp; col3==1);&lt;br /&gt;
  for(i=0;i&amp;lt;4;i++)&lt;br /&gt;
  {&lt;br /&gt;
   delay(100);&lt;br /&gt;
   lcd_cmd(0xc4+i);&lt;br /&gt;
   row1=row2=row3=row4=0;&lt;br /&gt;
   while(col1==1 &amp;amp;&amp;amp; col2==1 &amp;amp;&amp;amp; col3==1);&lt;br /&gt;
   row1=row2=row3=row4=0;&lt;br /&gt;
   if(col1==0)&lt;br /&gt;
   check_col1();&lt;br /&gt;
   else&lt;br /&gt;
    if(col2==0)&lt;br /&gt;
    check_col2();&lt;br /&gt;
    else&lt;br /&gt;
     if(col3==0)&lt;br /&gt;
     check_col3();&lt;br /&gt;
   if(count==4)&lt;br /&gt;
   {&lt;br /&gt;
   lcd_cmd(0x01);&lt;br /&gt;
   lcd_cmd(0x86);&lt;br /&gt;
   lcd("SORRY");&lt;br /&gt;
   lcd_cmd(0xc1);&lt;br /&gt;
   lcd("NO MORE TRIALS");&lt;br /&gt;
   while(1);&lt;br /&gt;
   }&lt;br /&gt;
  }   &lt;br /&gt;
}&lt;br /&gt;
}</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/CandCPP/428124/428124/need-help-with-c-program/</guid>
      <pubDate>Tue, 03 Apr 2012 09:05:40 -0700</pubDate>
      <category>C and C++</category>
    </item>
  </channel>
</rss>