- 19
- 0
- 约5.63千字
- 约 5页
- 2016-09-19 发布于重庆
- 举报
51单片机C语言编的密码锁程序
求51单片机C语言编的密码锁程序
悬赏分:100 - 解决时间:2008-6-22 10:16
要求:
能输入密码与制定密码箱同时亮起一个灯表示密码正确,否则蜂鸣器报警表示密码错误,能设定新的密码,可扩展将密码写入flash,掉电不丢失
提问者: 匿名
最佳答案
#include reg52.h
#define uint unsigned int
#define uchar unsigned char
#define BIN(a,b,c,d,e,f,g,h) ((a7)+(b6)+(c5)+(d4)+(e3)+(f2)+(g1)+(h0))
//下面的code表示数组存放在ROM中,因为这个数组的值不需要改写
uchar code KeyCode[16]={15,14,12,8,30,28,24,16,60,56,48,32,120,112,96,64};//值为m*(n+1)的乘积,用于Key()
uchar dis[6];
msdelay(uint x)//延时子函数
{uchar j;
while(x--)
{for(j=0;j125;j++){;}
}
}
//键盘子程序一,键盘值与数组值对比得到
uchar Key(void)
{uchar temp,m,n,i,j,matrix,k;
P1=0xF0; /*行线电平为高,列线为低*/
temp=P10xf0;
if (temp==0xf0) return(16); /*行仍为高,无按健,退出*/
else msdelay(10);
for(i=1;i16;i=i*2)
{m=i;
for(j=1;j16;j=j*2)
{n=(~j)0x0f;
P1=(m4)|n; /*m为P1的行值由i循环得到,n为列值,由j循环并取反得到*/
temp=P10xf0;
if (!temp)
{do{temp=P10xf0;}while(!temp);
matrix=m*(n+1);/*为避免乘积重复,n+1*/
for(k=0;k16;k++){if (matrix==KeyCode[k]) return(k);} //KeyCode:见前
return(16);
} //if loop
}//j loop
}//i loop
}//Key end
//用Switch...case语句得到键盘值*/
uchar Key1(void)
{uchar temp,m,n,i,j,matrix;
P1=0xF0; /*行线电平为高,列线为低*/
temp=P10xf0;
if (temp==0xf0) return(16); /*行仍为高,无按健,退出*/
else msdelay(10);
for(i=1;i16;i=i*2)
{m=i;
for(j=1;j16;j=j*2)
{n=(~j)0x0f;
P1=(m4)|n;/*m为P1的行值由i循环得到,n为列值,由j循环并取反得到*/
temp=P10xf0;
if (!temp)
{do{temp=P10xf0;}while(!temp);
matrix=m*(n+1);
switch(matrix) //此方法的基本思路:
{case 15:return(1); break; //由循环得到的m,n值赋于P1端口实现逐个键扫描
case 14:return(2); break; //同时由m,n+1的值相乘得到对应键点de的积
case 12:return(3);
您可能关注的文档
- 32圆的对称性.doc
- 500KV升压站导通电阻试验报告.doc
- 500KVA干式电力变压器空载损耗有1160W.doc
- 500KVA干式电力变压器空载损耗有多少.doc
- 32型5钢筋弯弧机(直径6-32mm)手动钢筋弯曲机.docx
- 32基础-换热器综合实验.doc
- 500S13A中开泵,循环泵,中开式离心泵.doc
- 500qiangdezhanlve.doc
- 32大直径深长钻孔桩在软.doc
- 500S13中开泵,循环泵,中开式离心泵.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- DL∕T 781-2021电力用高频开关整流模块_PDF解密.docx VIP
- 2025公务员采矿专业测试题及答案.docx VIP
- 【历史】开学第一课课件--2024-2025学年统编版七年级历史下册.pptx VIP
- 大数据技术在企业会计风险管理中的创新应用 .docx VIP
- 新英语900句(中英文).pdf VIP
- 2025最新高一英语单项选择精编500题.docx VIP
- GBT 28259-2012 石油天然气工业 井下设备 井下安全阀.docx VIP
- 项目九 小学科学教学设计与实施.pptx VIP
- 2025年统编版中考语文课内文言文《桃花源记》三年中考试题+模拟题(学生版+解析).pdf VIP
- 山东省日照市2026届高三上学期期末考试政治试卷(含答案).pdf VIP
原创力文档

文档评论(0)