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

  • 大小: 336KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-07-20
  • 語言: 其他
  • 標簽: 51??單片機??

資源簡介

這是本人自己平時閑暇時編寫的,設計一個電子密碼鎖,設計報告包含16頁,嚴肅哦文件中包含KEIL編程,PROTEUS仿真和設計報告。非常詳細,5分絕對值得,我不會像有些人那樣敲詐大家的呵呵。覺得不錯的話記得好評啊,就是想要個好評呵呵。。。

資源截圖

代碼片段和文件信息

#include
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int

#define?lcd1602_data?P0 ???//Lcd1602的位定義
sbit?rs=P3^0;
sbit?rw=P3^1;
sbit?en=P3^2;
sbit?BJ=P1^7;//報警位定義,當密碼輸入錯誤時報警位置1
sbit?QD=P3^3;

uchar?key;?//存鍵值
uchar?count=0;//用于記錄輸入的密碼位數
uchar?mima[6]={0};//存密碼值
uchar?mimabuf[6]={0};?//存輸入的數字
uchar?gongneng_flag=0;//功能選擇位標志,為1時為Set,為2時為Open密碼正確打開
bit?key_flag=0; ?//有按鍵按下標志位
bit?mima_error=0;//密碼輸入錯誤標志位
uchar?code?table1[]=“Welcome...??????“;
uchar?code?table2[]=“Select?Mode...??“;
uchar?code?table3[]=“1:?SET??2:?OPEN?“;
uchar?code?table4[]=“Previous?number?“;
uchar?code?table5[]=“New?number?is:??“;
uchar?code?table6[]=“Number?is?“;
uchar?code?table7[]=“?It?is?wrong!!!?“;
uchar?code?table8[]=“Set?is?OK?!!!???“;
uchar?code?table9[]=“The?number?is?OK“;

//判斷LCD1602的狀態即狀態字最高位STA7
uchar?Lcd1602Busy(void) ??
{
register?unsigned?char?lcdbusy;
rs=0;
rw=1;
en=1;
_nop_();
lcdbusy=lcd1602_data;
_nop_();
en=0;
return(lcdbusy&0x80);
}

//向LCD1602內寫命令
void?WriteCmdLcd1602(unsigned?char?command)
{
while(Lcd1602Busy());
rs=0;
rw=0;
en=1;
_nop_();
lcd1602_data=command;
_nop_();
en=0;
}

//向LCD1602內寫數據
void?WriteDatLcd1602(unsigned?char?dat)
{
while(Lcd1602Busy());
rs=1;
rw=0;
en=1;
_nop_();
lcd1602_data=dat;
_nop_();
en=0;
}

//將坐標定位在第row行第column列
void?Goto_xy(unsigned?char?rowunsigned?char?column)
{
if(row==1)
WriteCmdLcd1602(0x80+column-1);
else?if(row==2)
WriteCmdLcd1602(0x80+0x40+column-1);
}

//延時約1S
void?delay(void)
{
uchar?ijk;
for(i=0;i<20;i++)
for(j=0;j<125;j++)
for(k=0;k<250;k++);
}

//初始化函數
void?InitLcd1602(void)
{
WriteCmdLcd1602(0x38);
WriteCmdLcd1602(0x01);
WriteCmdLcd1602(0x0f);
WriteCmdLcd1602(0x06);
}

//在液晶上顯示字符串
void?PutStrLcd1602(char?*string)
{
unsigned?char?i;
for(i=0;string[i]!=‘\0‘;i++)
{
WriteDatLcd1602(string[i]);
_nop_();
}
}

//延時10ms
void?delay10ms(void)
{
uchar?ij;
for(i=0;i<25;i++)
for(j=0;j<250;j++);
}

void?KeyScan(void)?//鍵盤掃描程序,key應定義為全局無符號字符型
{
uchar?itemptemp1=0xfe;
for(i=0;i<4;i++)
{
P2=temp1;
temp=P2&0xf0;
if(temp!=0xf0)
{
delay10ms();
temp=P2&0xf0;
if(temp!=0xf0)
{
while((P2&0XF0)!=0xf0);
switch(temp)
{
case?0xe0:key=4*i+0;break;
case?0xd0:key=4*i+1;break;
case?0xb0:key=4*i+2;break;
case?0x70:key=4*i+3;break;
}
key_flag=1;
break;
}
}
temp1=(temp1<<1)|0x01;
}
}

//狀態1,在第一行輸出“Welcome...”
void?state1(void)
{
uchar?i;
Goto_xy(11);
PutStrLcd1602(table1);
Goto_xy(21);
for(i=0;i<16;i++)
{
WriteDatLcd1602(‘?‘);
_nop_();
}
}

//狀態2,第一行輸出“Select?Mode...??”,第二行輸出“1:?SET??2:?OPEN?”
void?state2(void)
{
Goto_xy(11);
PutStrLcd1602(table2);
Goto_xy(21);
PutStrLcd1602(table3);
}

//狀態3,第一行輸出“Previous?number?”,并將下一個輸出字符定位在第二行第一列
void?state3(void)
{
WriteCmdLcd1602(0x01);
Goto_xy(11);

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

?????文件??????14307??2011-08-02?00:50??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計

?????文件???????5704??2011-08-02?00:50??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計.c

?????文件???????3197??2011-08-02?00:50??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計.hex

?????文件?????????88??2011-08-02?00:50??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計.lnp

?????文件??????14764??2011-08-02?00:50??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計.LST

?????文件??????23078??2011-08-02?00:50??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計.M51

?????文件??????17252??2011-08-02?00:50??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計.OBJ

?????文件????????199??2011-08-04?00:19??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計.plg

????.......?????55321??2011-08-04?00:22??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計.uvopt

????.......?????13337??2011-07-31?23:44??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計.uvproj

????.......?????55317??2011-08-02?11:10??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計_uvopt.bak

????.......?????13333??2011-07-31?17:34??基于51的電子密碼鎖設計\Keil\基于51單片機的電子密碼鎖設計_uvproj.bak

?????文件?????109751??2011-08-02?00:24??基于51的電子密碼鎖設計\proteus\Last?Loaded?基于51單片機的電子密碼鎖設計.DBK

?????文件?????109751??2011-08-02?00:51??基于51的電子密碼鎖設計\proteus\基于51單片機的電子密碼鎖設計.DSN

?????文件???????1078??2011-08-02?16:14??基于51的電子密碼鎖設計\proteus\基于51單片機的電子密碼鎖設計.PWI

?????文件?????435200??2011-08-02?11:08??基于51的電子密碼鎖設計\基于51單片機的電子密碼鎖設計.doc

?????目錄??????????0??2011-08-04?00:22??基于51的電子密碼鎖設計\Keil

?????目錄??????????0??2011-08-02?16:14??基于51的電子密碼鎖設計\proteus

?????目錄??????????0??2011-08-02?11:10??基于51的電子密碼鎖設計

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

???????????????871677????????????????????19


評論

共有 條評論