欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機電子密碼鎖子程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年10月16日   【字體:

仿真文件和完整源碼下載地址:http://www.raoushi.com/bbs/dpj-22586-1.html
論文下載地址:http://www.raoushi.com/f/電子密碼鎖論文最終稿.docx
下面是mima.c子程序:

#include <reg52.h>
#include "mima.h"
#include "1602.h"
#include "矩陣鍵盤.h"
#include "delay_ms.h"

/*比較密碼函數,密碼正確返回1,不正確返回0*/

bit mimaduibi(unsigned char *string1,unsigned char *string2)
{
 unsigned char count;
 for(count = 0; count < 6; count++)
 {
  if(string1[count] != string2[count])
  return 0;
 }
 return 1;
}

/*選擇輸入密碼或修改密碼函數,輸入密碼返回A,修改密碼返回B*/

unsigned char step_choose(void)//選擇輸入密碼或修改密碼處理函數
{
 uchar key;
 key = 0xff;
 write_com(0x06);//寫一個字符后地址指針加 1
    write_com(0x01);//顯示清零,數據指針清零
 lcd_pos(0,0);
 write_n_char(" Input password ");
 lcd_pos(1,0);
 write_n_char("  Press key A  "); 
 while((key != A) && (key != B))
  key = keyscan(); 
 return key;
}
/*輸入密碼函數,密碼正確返回1,錯誤返回0*/

bit input_mima(uchar * mima)//輸入密碼函數
{
 unsigned char count,key;
 lcd_pos(1,0);
 for(count = 0; count < 7; count++)
 {
  delay_ms(100);
  if(count < 6)
  {
   do{key = keyscan();}//掃描鍵盤
   while(key == 0xff);
   if((key != backspace) && (key != A) && (key != enter))//不是退格也不是確認鍵
   {
    write_data('*');//是數字鍵顯示*
    mima[count] = key;
   // continue;
   }
   if(key == backspace)//是退格鍵
   {
    if(count > 0)
    {
        lcd_pos(1,--count);//光標前移一位
     write_data(' ');//清空一位
     mima[count] = ' ';//寫空
     lcd_pos(1,count);
     count--;//密碼計數器減一 ,因為循環后會+1,所以在這里要加1
    }
   }
   if(key == enter)//沒完成密碼輸入返回錯誤信息
   {
    lcd_pos(0,0);
    return(0);
   }
  }
  if(count==6)
  {
   do{key = keyscan();}
   while((key != backspace)&&(key != enter));
   if(key == backspace)
   {
    lcd_pos(1,--count);
    write_data(' ');
    mima[count]=' ';
    lcd_pos(1,count);
    count--;
   }
   if(key == enter)//密碼位數正確
   {
    return(1);//返回1正確信號
   }
  }
 }
 
}

 

關閉窗口

相關文章