资源简介
文件内含完整代码与Proteus仿真图,通过4×4矩阵键盘输入密码,密码将在LDC1602液晶显示屏上显示,按下输入键将输入密码与预设密码校对

代码片段和文件信息
/*************************************************
*文件名称: keyscan.c
*作 者:
*版 本: V1.00
*环 境: Keil uVision4
*说 明: 矩阵键盘扫描实验
*修改记录: 2020.5
--------------------------------------------------
/*********************引脚定义********************/
#include “reg51.h“
#include “intrins.h“
#define uchar unsigned char //数据类型宏定义
#define uint unsigned int //数据类型宏定义
#define outk P1
/*********************延时函数********************/
void delayms1(uint j)
{
uchar i;
for(;j>0;j--)
{
i=250;
while(--i);
i=249;
while(--i);
}
}
/*********************键盘处理********************/
uchar KeyScan(void)
{
uchar cord_hcord_l;//行列值中间变量
outk=0x0f; //行线输出全为0
cord_h=outk&0x0f; //读入列线值
if(cord_h!=0x0f) //先检测有无按键按下
{
delayms1(10); //去抖
if((outk&0x0f)!=0x0f)
{
cord_h=outk&0x0f; //读入列线值
outk=cord_h|0xf0; //输出当前列线值
cord_l=outk&0xf0; //读入行线值
while((outk&0xf0)!=0xf0);//等待松开并输出
return(cord_h+cord_l);//键盘最后组合码值
}
}return(0xff); //返回该值
}
/*------------------------------------------------
按键值处理函数,返回扫键值
------------------------------------------------*/
unsigned char KeyPro(void)
{
switch(KeyScan())
{
case 0x7e:return 0;break;//0 按下相应的键显示相对应的码值
case 0x7d:return 1;break;//1
case 0x7b:return 2;break;//2
case 0x77:return 3;break;//3
case 0xbe:return 4;break;//4
case 0xbd:return 5;break;//5
case 0xbb:return 6;break;//6
case 0xb7:return 7;break;//7
case 0xde:return 8;break;//8
case 0xdd:return 9;break;//9
case 0xdb:return ‘A‘;break;//a
case 0xd7:return ‘B‘;break;//b
case 0xee:return ‘C‘;break;//c
case 0xed:return ‘D‘;break;//d
case 0xeb:return ‘E‘;break;//e
case 0xe7:return ‘F‘;break;//f
default:return 0xff;break;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1962 2020-07-14 00:06 密码锁\密码锁\keyscan.c
文件 127 2020-07-13 13:03 密码锁\密码锁\KEYSCAN.H
文件 3890 2020-07-21 12:10 密码锁\密码锁\keyscan.LST
文件 2900 2020-07-21 12:10 密码锁\密码锁\keyscan.OBJ
文件 133179 2020-07-21 12:10 密码锁\密码锁\Last Loaded 密码锁.DBK
文件 1708 2020-07-13 21:44 密码锁\密码锁\LCD1602.C
文件 377 2020-07-13 14:38 密码锁\密码锁\LCD1602.H
文件 4430 2020-07-21 12:10 密码锁\密码锁\LCD1602.LST
文件 5499 2020-07-21 12:10 密码锁\密码锁\LCD1602.OBJ
文件 3147 2020-07-27 19:43 密码锁\密码锁\main.c
文件 7011 2020-07-21 12:10 密码锁\密码锁\main.LST
文件 5196 2020-07-21 12:10 密码锁\密码锁\main.OBJ
文件 6160 2020-07-10 11:14 密码锁\密码锁\mima.c
文件 12068 2020-07-10 11:14 密码锁\密码锁\mima.LST
文件 1484 2020-07-10 00:11 密码锁\密码锁\uart.c
文件 242 2020-05-08 23:31 密码锁\密码锁\UART.H
文件 3137 2020-07-13 23:19 密码锁\密码锁\uart.LST
文件 2660 2020-07-13 23:19 密码锁\密码锁\uart.OBJ
文件 11674 2020-07-21 12:10 密码锁\密码锁\密码箱
文件 2522 2020-07-21 12:10 密码锁\密码锁\密码箱.hex
文件 74 2020-07-21 12:10 密码锁\密码锁\密码箱.lnp
文件 14668 2020-07-21 12:10 密码锁\密码锁\密码箱.M51
文件 2631 2020-07-21 12:10 密码锁\密码锁\密码箱.plg
....... 91746 2020-07-27 19:43 密码锁\密码锁\密码箱.uvgui.茂名余文乐
....... 6104 2020-07-27 19:43 密码锁\密码锁\密码箱.uvopt
....... 14595 2020-07-27 19:34 密码锁\密码锁\密码箱.uvproj
....... 58675 2020-07-20 14:52 密码锁\密码锁\密码箱_uvopt.bak
....... 13729 2020-07-13 14:41 密码锁\密码锁\密码箱_uvproj.bak
文件 133056 2020-07-27 19:45 密码锁\密码锁\密码锁.DSN
文件 768 2020-07-27 19:45 密码锁\密码锁\密码锁.PWI
............此处省略5个文件信息
相关资源
- PIC单片机完成的电子密码锁
- EDA课程设计_密码锁
- MP3文件ID3v2ID3v2APEv2标签读取
- 课程作业:模拟仓库管理系统
- 一个简单实用个人日记管理系统
- 带时间温度显示的室内灯光控制系统
- C51单片机汇编指令查询、学习工具集
- CPLD Verilog数字密码锁 源码
- 成绩管理系统(数据结构)
- FIR低通滤波器 ccs运行环境
- STM32 电子密码锁设计,LCD12864显示
- C malloc函数用法
- 嵌入式局域网聊天系统客户端
- 算法竞赛入门经典 第2版刘汝佳+高清
- 基于单片机的GPS定位及显示系统设计
- 链表实现通讯录管理系统
- PowerShell-6.2.1-win-x86.zip
- pl/0编译器 语法分析
- at89c51单片机外文翻译
- 源程序阅读与调试课程设计报告--学生
- 谁说程序员不浪漫?!基于easyX图形库
- 编译原理课设c编译器
- 基于51单片机射频密码锁设计门禁刷卡
- 关于电子密码锁的毕业设计
- MCP3421 STM32 Driver
- ADS1100 STM32 Driver
- 单片机89c52与MLX90614红外的测温程序
- stm32f103AES加密 cbc模式
- 单片机 点阵 字模提取软件
- 0-999计数器的C51程序
评论
共有 条评论