91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 63.1MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2022-05-26
  • 語言: 其他
  • 標簽: 51單片機??

資源簡介

電子密碼鎖課程設計,本系統由AT89S51單片機系統(主要是AT89S51單片機最小系統)、4×4矩陣鍵盤、LCD1602顯示和報警系統等組成,具有設置、修改六位用戶密碼、超次報警、超次鎖定、密碼錯誤報警等功能(本設計由P0口控制LCD顯示,密碼正確顯示password ok! 密碼錯誤顯示password error!超過三次輸入錯誤自動鎖定。由P1口控制矩陣鍵盤含有0-9數字鍵和A-F功能鍵。)。除上述基本的密碼鎖功能外,依據實際的情況還可以添加遙控功能。

資源截圖

代碼片段和文件信息

//包含頭文件
#include?
#include
//宏定義
#define?LCM_Data??P0 ??//將P0口定義為LCM_Data
#define?uchar?unsigned?char?
#define?uint??unsigned?int
//1602的控制腳
sbit?lcd1602_rs=P2^5;
sbit?lcd1602_rw=P2^6;
sbit?lcd1602_en=P2^7;

sbit?Scl=P3^4; //24C02串行時鐘
sbit?Sda=P3^5; //24C02串行數據

sbit?ALAM?=?P2^1; //報警
sbit?KEY?=?P3^6; //開鎖

bit??pass=0; //密碼正確標志
bit??ReInputEn=0; //重置輸入允許標志
bit??s3_keydown=0; //3秒按鍵標志位
bit??key_disable=0; //鎖定鍵盤標志

unsigned?char?countt0second; //t0中斷計數器秒計數器

void?Delay5Ms(void); //聲明延時函數

unsigned?char?code?a[]={0xFE0xFD0xFB0xF7};? //控盤掃描控制表
//液晶顯示數據數組
unsigned?char?code?start_line[] =?{“password:???????“};
unsigned?char?code?name[]? ? =?{“===Coded?Lock===“}; //顯示名稱
unsigned?char?code?Correct[]? =?{“?????correct????“}; //輸入正確
unsigned?char?code?Error[]??? =?{“??????error?????“};?? //輸入錯誤
unsigned?char?code?codepass[] =?{“??????pass??????“};?
unsigned?char?code?LockOpen[] =?{“??????open??????“}; //OPEN
unsigned?char?code?SetNew[]? =?{“SetNewWordEnable“};
unsigned?char?code?Input[]??? =?{“input:??????????“}; //INPUT
unsigned?char?code?ResetOK[]? =?{“ResetPasswordOK?“};
unsigned?char?code?initword[] =?{“Init?password...“};
unsigned?char?code?Er_try[] =?{“errortry?again!“};
unsigned?char?code?again[] =?{“input?again?????“};

unsigned?char?InputData[6]; //輸入密碼暫存區
unsigned?char?CurrentPassword[6]={000000};? //讀取EEPROM密碼暫存數組
unsigned?char?TempPassword[6];
unsigned?char?N=0; //密碼輸入位數記數
unsigned?char?ErrorCont; //錯誤次數計數
unsigned?char?CorrectCont; //正確輸入計數
unsigned?char?ReInputCont;? //重新輸入計數
unsigned?char?code?initpassword[6]={000000}; //輸入管理員密碼后將密碼初始為000000
unsigned?char?code?adminpassword[6]={131420}; //輸入管理員密碼后將密碼初始為000000


//=====================5ms延時==============================
void?Delay5Ms(void)
{
unsigned?int?TempCyc?=?5552;
while(TempCyc--);
}

//===================400ms延時==============================
void?Delay400Ms(void)
{
?unsigned?char?TempCycA?=?5;
?unsigned?int?TempCycB;
?while(TempCycA--)
?{
??TempCycB=7269;
??while(TempCycB--);
?}
}

//=============================================================================================
//================================24C02========================================================
//=============================================================================================

void?mDelay(uint?t)?//延時
{?
uchar?i;
??? while(t--)
??? {
??? for(i=0;i<125;i++)
??? {;}
??? }
}
???

void?Nop(void) ??//空操作
{
? _nop_(); ??//僅作延時用一條語句大約1us
? _nop_();
? _nop_();
? _nop_();
}

/*****24c02程序參照24c02時序圖*****/
/*起始條件*/

void?Start(void)
{
? Sda=1;
? Scl=1;
? Nop();
? Sda=0;
? Nop();
}


?/*停止條件*/
void?Stop(void)
{
? Sda=0;
? Scl=1;
? Nop();
? Sda=1;
? Nop();
}

/*應答位*/
void?Ack(void)
{
Sda=0;
Nop();
Scl=1;
Nop();
Scl=0;
}

/*反向應答位*/
void?NoAck(void)
{
? Sda=1;
? Nop();
? Scl=1;
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????262017??2014-04-09?23:59??1602資料\1602液晶說明.pdf

-----------?---------??----------?-----??----

???????????????262017????????????????????1


評論

共有 條評論