满意答案

#include

#include

#define uchar unsigned char

uchar key;

int i=0;

char b[4]={'0','0','0','0'};//输入的密码放这里和初始的比较来判断是否密码正确

void keyscan()//扫描按键是否按下

{

uchar temp;

P3=0xfe;//扫描第一行

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)//判断按键是否按下

{

delayms(10);//去抖动

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)//确认按键按下

{

temp=P3;

switch(temp)

{

case 0xee:key='0';break;

case 0xde:key='1';break;

case 0xbe:key='2';break;

case 0x7e:key='3';break;

}

while(temp!=0xf0)//判断按键是否松开

{

temp=P3;

temp=temp&0xf0;

}

b[i]=key;i++;if(i==3)i=0;

}

}

P3=0xfd;//扫描第二行

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delayms(10);

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case 0xed:key='4';break;

case 0xdd:key='5';break;

case 0xbd:key='6';break;

case 0x7d:key='7';break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

b[i]=key;i++;if(i==3)i=0;

}

}

P3=0xfb;//扫描第三行

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delayms(10);

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case 0xeb:key='8' ;break;

case 0xdb:key='9' ;break;

case 0xbb:key='A';break;

case 0x7b:key='B';break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

b[i]=key;i++;if(i==3)i=0;

}

}

P3=0xf7;//扫描第四行

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

delayms(10);

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case 0xe7:key='C';break;

case 0xd7:key='D';break;

case 0xb7:key='E';break;

case 0x77:key='F';break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

b[i]=key;i++;if(i==3)i=0;

}

}

}

main()

{

char a[4]={'3','5','A','C'}; //这个做初始密码

while(1)//无限循环,保证了b 0-3 四个数有值

{

keyscan();

if(a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3])

{

//这里写密码正确程序要怎么处理

}

}

}

00分享举报

6位密码锁的c语言编程,51单片机4*3矩阵键盘6位密码锁c语言程序相关推荐

  1. pid控制器c51语言编程,51单片机电机pid控制系统程序

    51单片机电机pid控制系统程序 本程序来源网上,小编进行了简单修改,还未验证. /************************* 应用背景:直流电机的额定功率12V,额定转速3000rpm,光码 ...

  2. 呼吸灯51单片机c语言编程,51单片机基于定时器实现呼吸灯(C8051F020单片机)

    一.实现思路 原理:利用PWM信号控制LED灯的亮暗程度,实现LED灯由暗到亮又由亮到暗的渐变过程. 方法:通过定时器设置LED所接引脚的高低电平持续时间,模拟出PWM波. 二.关键问题--PWM的频 ...

  3. c51单片机秒表程序c语言,用51单片机制作一个秒表的详细过程(教程有程序)

    char code table2[]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //不带小数点的共阳极数码管段码0-9 void Di ...

  4. 超声波模块c语言编程,51单片机超声波模块的C语言程序.pdf

    //超声波模块程序 //超声波模块程序 //Trig P2^0 //Echo P3^2 #include #define uchar unsigned char #define uint unsign ...

  5. 51单片机串行口c语言编程,51单片机串口通信c语言编程

    这只是个模板,参考一下 /*----------------------------------------------- 名称:串口通信 网站:www.doflye.net 编写:shifang 日 ...

  6. 无线控制模块c语言编程,51单片机对无线模块nRF24L01简单的控制收发程序

    它的一些物理特性如工作频段.供电电压.数据传输速率就不详细介绍了,直接上代码. 1.首先是发送端: // Define SPI pins #include #define uchar unsigned ...

  7. 单片机自动调光C语言,基于51单片机的DS18B20水温PID控制调节系统设计C语言程序...

    #include 'reg52.h' #include 'stdio.h' #define uchar unsigned char #define uint unsigned int sbit s1= ...

  8. 基于51单片机的带矩阵键盘指纹密码电子锁原理图PCB

    功能: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶显示功能界面 2.支持添加/删除/搜索指纹,更改密码 3.支持指纹和密码开锁 4.采用DC002作为电源接口可直接输入5V给整个 ...

  9. 51单片机复习:矩阵键盘

    行列式扫描 如P10到P17 首先高四位为低电压,低四位为高电压,然后高四位为高电压,低四位 为低电压 则 起初高位低压,当按下某个按键时,那个线路与低位相接的电路被接通,所以下面为高压的低位也变成低 ...

最新文章

  1. R最快且比dplyr最高效的大数据处理R包:tidyfst
  2. [YTU]_2638(编程题:多态--动物叫)
  3. 对于58同城自动登陆的补充【主要是代码】
  4. 你只管打开清华小姐姐总结的Python学习知识手册 ,剩下的交给「卧槽」
  5. kotlin学习笔记——委托属性
  6. Redis学习之复制(三)
  7. micropython按键控制流水灯_【micro:bit Micropython】The LED Display(1)控制像素点
  8. 电子书下载:Silverlight 5 in Action
  9. android怎么ota升级,Android OTA升级过程
  10. wpf 文件上传到服务器_07-文件上传到阿里云OSS实战(一)
  11. 宏基平板电脑_2020年推荐:蒲城二手笔记本电脑回收价格联想戴尔华硕上门回-老友网...
  12. pyjion python3.6_[新闻] CPython / 微软 Pyjion / IBM Python+OMR
  13. java stream byte_乐字节-Java8新特性之Stream流(上)
  14. Atitit ocr的艺术 艾提拉著 目录 1. OCR可以说是一门非常“古老”的技术,在上世纪50年代到90年代, 1 1.1. 场景文字识别技术(Scene Text Recognition,
  15. 数据库无限层级分类设计
  16. 方舟官方服务器怎么显示血量,方舟端游怎么显示血量
  17. msxml6_x64 下载
  18. IMPROVING ADVERSARIAL ROBUSTNESS REQUIRES REVISITING MISCLASSIFIED EXAMPLES
  19. 2021自学考试计算机应用基础,2021年高等教育自学考试计算机应用基础试题及答案.doc...
  20. 十、网络编程(高琪java300集+java从入门到精通笔记)

热门文章

  1. 小程序开发(9)-之地图组件map、导航
  2. 计算机科学是对描述和变换,对计算机科学发展的思考
  3. java 对象复制 反射_利用Java反射机制实现对象相同字段的复制操作
  4. BugkuCTF-WEB题前女友
  5. php react-native,React-Native+Mobx实现商城APP
  6. css 渐变 椭圆,CSS3圆角和渐变2种常用功能详解
  7. 基于蓝墨云平台的计算机教学,基于蓝墨云班课的中职计算机“分层教学”模式探究...
  8. linux系统之间无密传输,scp采用无密码在两台linux服务器之间传输数据(示例代码)...
  9. w7计算机的收藏夹里弄出桌面,Win7电脑桌面的便签怎么弄出来?
  10. oracle空例程,2018.5.29 Oracle连接到空闲例程