資源簡介
紅外遙控電子密碼鎖畢業(yè)設(shè)計
C51單片機 C語言開發(fā)
包括原理圖 代碼 參考資料 文檔等一整套

代碼片段和文件信息
#include??
#include??
#define?uchar?unsigned?char
#define?uint?unsigned?int
#define?DUAN?P0
#define?WEI?P2
uchar?display[4]display1[4]display2[4]dpcount;//開辟四個氣短數(shù)碼管緩沖區(qū),dpcount為編號
uint?PWBit;
uint?p1=0p2=0p3=0p4=0;
uint?i;
sbit?Beep=P3^7;?
sbit?GreenLed=P3^0;
sbit?RedLed=P3^1;
?
sbit?IRIN=P3^2?; //1838b接收頭OUT端連接INT0
??
uchar?IRdisplay[2]; //抓暖顯示ASCII碼
uchar?IRcode[4]; //實際鍵碼
char?p;//密碼地址,共4位密碼
char?ErrNum=0;
bit?ButtonFlag=0;
bit?RecFlag=0;
bit?ModifyFlag1=0;
bit?ModifyFlag2=0;
//****************************
//共陰段碼表??
//****************************
unsigned?char?code?dpcode[]=
{
????????0x3F/*0*/ ?//O
????????0x06/*1*/
????????0x5B/*2*/
????????0x4F/*3*/
????????0x66/*4*/
????????0x6D/*5*/ //S
????????0x7D/*6*/
????????0x07/*7*/
????????0x7F/*8*/
????????0x6F/*9*/
0x80/*.-10*/
????????0x73/*P-11*/????????
0x77/*A-12*/
????????0x79/*E-13*/
????????0x54/*n-14*/
? 0x50/*r-15*/?
0x00/*?-16*/ ???//撤銷輸入
0x40/*--17*/
};
//****************************
//位碼表??
//****************************
uchar?bitcode[]={0xf70xfb0xfd0xfe};
/*************************************************
1ms延時函數(shù) 晶振:12MHz
*************************************************/
void?delay(unsigned?int?z) //1毫秒延時子函數(shù)
{
unsigned?int?xy; //開辟兩個變量
for(x=z;x>0;x--) //讓這兩個變量循環(huán)遞減達(dá)到耗時的目的
for(y=123;y>0;y--); //y=123,是通過實驗得到的
}
/**************************************************
? 鍵盤掃描程序
***************************************************/
uchar?k;//按鍵結(jié)果
void?KeyScan()
{
uchar?xyz;
EX0=0;
P1=0x0f;//行掃描
if(P1!=0x0f)//判斷是否有按鍵按下
{
delay(10);//延時防干擾
if(P1!=0x0f)
{
x=P1&0x0f;//保存行狀態(tài)
P1=0xf0;//列掃描
y=P1&0xf0;//保存列狀態(tài)
z=x|y;//得到鍵值
ButtonFlag=1;
Beep=0;
delay(100);
Beep=1;
delay(300);
switch(z)//判斷鍵值
{
case?0x77:k=1;break;
case?0x7b:k=2;break;
case?0x7d:k=3;break;
case?0x7e:k=4;break;
case?0xb7:k=5;break;
case?0xbb:k=6;break;
case?0xbd:k=7;break;
case?0xbe:k=8;break;
case?0xd7:k=9;break;
case?0xdb:k=0;break;
case?0xdd:k=10;break; ???//修改密碼
case?0xde:k=15;break; //撤銷輸入
}
}
}
EX0=1;
}
/*********************************************************
延時x*0.14ms子程序?@?11.0592M ???
**********************************************************/
void?delay0(uchar?x)????//x*0.14MS
{
uchar?i;
while(x--)
{
for?(i?=?0;?i<13;?i++);
}
}
?/**************************************************
? 判斷子程序
***************************************************/
?void?right()
?{
display[0]=14;?//OPEN
display[1]=13;
display[2]=11;
display[3]=0;
RedLed=1;
GreenLed=0;
Beep=0;
delay(100);
Beep=1;
delay(100);
Beep=0; ?
delay(100);
Beep=1;
ModifyFlag1=1;
p=3;
ErrNum=0;//清除錯誤次數(shù)
delay(2000);//密碼正確,延時2s后可以繼
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????301??2011-06-14?21:40??readme.txt
?????目錄???????????0??2011-08-09?14:20??開發(fā)工具及相關(guān)資料\
?????文件??????361018??2011-05-14?13:25??開發(fā)工具及相關(guān)資料\AT89S52.pdf
?????文件???????71680??2011-02-14?11:18??開發(fā)工具及相關(guān)資料\一種紅外遙控器編解碼仿真.doc
?????文件??????184832??2010-06-26?13:12??開發(fā)工具及相關(guān)資料\單片機應(yīng)用編程技巧.doc
?????文件?????1258496??2008-01-08?09:40??開發(fā)工具及相關(guān)資料\數(shù)碼管靜態(tài)顯示及定時器和中斷應(yīng)用.ppt
?????文件?????1052705??2006-02-22?18:02??開發(fā)工具及相關(guān)資料\紅外遙控編碼資料.pdf
?????目錄???????????0??2011-08-09?14:20??畢業(yè)設(shè)計文檔\
?????文件??????199168??2011-08-09?14:17??畢業(yè)設(shè)計文檔\開題報告.doc
?????文件??????149504??2011-08-09?14:19??畢業(yè)設(shè)計文檔\文獻(xiàn)綜述.doc
?????文件?????2060800??2011-06-14?21:44??畢業(yè)設(shè)計文檔\用戶使用手冊.doc
?????文件?????4249600??2011-08-09?14:18??畢業(yè)設(shè)計文檔\論文.doc
?????文件???????38400??2011-08-09?14:19??畢業(yè)設(shè)計文檔\選題指南.doc
?????目錄???????????0??2011-08-09?14:21??源程序和電路圖\
?????文件??????117689??2011-05-07?13:21??源程序和電路圖\moni.DSN
?????文件?????????742??2011-06-13?19:03??源程序和電路圖\moni.PWI
?????文件????????4616??2011-06-13?23:46??源程序和電路圖\monidaima.hex
?????文件???????11341??2011-06-13?23:46??源程序和電路圖\monidama.c
?????文件????????3565??2011-05-01?20:20??源程序和電路圖\STC.H
?????文件??????134140??2011-05-13?16:46??源程序和電路圖\原理圖.DSN
- 上一篇:字符串\“撞墻反彈\“效果
- 下一篇:文件壓縮程序基于哈夫曼C++算法
評論
共有 條評論