6位密码锁的c语言编程,51单片机4*3矩阵键盘6位密码锁c语言程序
满意答案
#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语言程序相关推荐
- pid控制器c51语言编程,51单片机电机pid控制系统程序
51单片机电机pid控制系统程序 本程序来源网上,小编进行了简单修改,还未验证. /************************* 应用背景:直流电机的额定功率12V,额定转速3000rpm,光码 ...
- 呼吸灯51单片机c语言编程,51单片机基于定时器实现呼吸灯(C8051F020单片机)
一.实现思路 原理:利用PWM信号控制LED灯的亮暗程度,实现LED灯由暗到亮又由亮到暗的渐变过程. 方法:通过定时器设置LED所接引脚的高低电平持续时间,模拟出PWM波. 二.关键问题--PWM的频 ...
- c51单片机秒表程序c语言,用51单片机制作一个秒表的详细过程(教程有程序)
char code table2[]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //不带小数点的共阳极数码管段码0-9 void Di ...
- 超声波模块c语言编程,51单片机超声波模块的C语言程序.pdf
//超声波模块程序 //超声波模块程序 //Trig P2^0 //Echo P3^2 #include #define uchar unsigned char #define uint unsign ...
- 51单片机串行口c语言编程,51单片机串口通信c语言编程
这只是个模板,参考一下 /*----------------------------------------------- 名称:串口通信 网站:www.doflye.net 编写:shifang 日 ...
- 无线控制模块c语言编程,51单片机对无线模块nRF24L01简单的控制收发程序
它的一些物理特性如工作频段.供电电压.数据传输速率就不详细介绍了,直接上代码. 1.首先是发送端: // Define SPI pins #include #define uchar unsigned ...
- 单片机自动调光C语言,基于51单片机的DS18B20水温PID控制调节系统设计C语言程序...
#include 'reg52.h' #include 'stdio.h' #define uchar unsigned char #define uint unsigned int sbit s1= ...
- 基于51单片机的带矩阵键盘指纹密码电子锁原理图PCB
功能: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶显示功能界面 2.支持添加/删除/搜索指纹,更改密码 3.支持指纹和密码开锁 4.采用DC002作为电源接口可直接输入5V给整个 ...
- 51单片机复习:矩阵键盘
行列式扫描 如P10到P17 首先高四位为低电压,低四位为高电压,然后高四位为高电压,低四位 为低电压 则 起初高位低压,当按下某个按键时,那个线路与低位相接的电路被接通,所以下面为高压的低位也变成低 ...
最新文章
- R最快且比dplyr最高效的大数据处理R包:tidyfst
- [YTU]_2638(编程题:多态--动物叫)
- 对于58同城自动登陆的补充【主要是代码】
- 你只管打开清华小姐姐总结的Python学习知识手册 ,剩下的交给「卧槽」
- kotlin学习笔记——委托属性
- Redis学习之复制(三)
- micropython按键控制流水灯_【micro:bit Micropython】The LED Display(1)控制像素点
- 电子书下载:Silverlight 5 in Action
- android怎么ota升级,Android OTA升级过程
- wpf 文件上传到服务器_07-文件上传到阿里云OSS实战(一)
- 宏基平板电脑_2020年推荐:蒲城二手笔记本电脑回收价格联想戴尔华硕上门回-老友网...
- pyjion python3.6_[新闻] CPython / 微软 Pyjion / IBM Python+OMR
- java stream byte_乐字节-Java8新特性之Stream流(上)
- Atitit ocr的艺术 艾提拉著 目录 1. OCR可以说是一门非常“古老”的技术,在上世纪50年代到90年代,	1 1.1. 场景文字识别技术(Scene Text Recognition,
- 数据库无限层级分类设计
- 方舟官方服务器怎么显示血量,方舟端游怎么显示血量
- msxml6_x64 下载
- IMPROVING ADVERSARIAL ROBUSTNESS REQUIRES REVISITING MISCLASSIFIED EXAMPLES
- 2021自学考试计算机应用基础,2021年高等教育自学考试计算机应用基础试题及答案.doc...
- 十、网络编程(高琪java300集+java从入门到精通笔记)
热门文章
- 小程序开发(9)-之地图组件map、导航
- 计算机科学是对描述和变换,对计算机科学发展的思考
- java 对象复制 反射_利用Java反射机制实现对象相同字段的复制操作
- BugkuCTF-WEB题前女友
- php react-native,React-Native+Mobx实现商城APP
- css 渐变 椭圆,CSS3圆角和渐变2种常用功能详解
- 基于蓝墨云平台的计算机教学,基于蓝墨云班课的中职计算机“分层教学”模式探究...
- linux系统之间无密传输,scp采用无密码在两台linux服务器之间传输数据(示例代码)...
- w7计算机的收藏夹里弄出桌面,Win7电脑桌面的便签怎么弄出来?
- oracle空例程,2018.5.29 Oracle连接到空闲例程