资源简介
文件内含完整代码与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个文件信息
相关资源
- 指针详解.ppt
- 单片机 颜色传感器TCS34725
- 几个比较著名的哈希算法
- 步进电机程序和仿真
- 基于C51单片机的声光控灯
- 一个计算万年历的简单程序新思想
- 操作系统实验——磁盘存储空间的分
- 基于51单片机的 4×4键盘及8位数码管显
- C程序设计第三版答案
- 电子密码锁的设计 汇编
- 51单片机开发的韦根接受的C程序;支
- HB12864 液晶显示
- C51单片机电子琴
- 变步长的四阶龙格库塔法
- 基于C51单片机音乐盒设计[1]
- 89C51单片机控制HT1621B驱动LCD(C程序)
- 51单片机 pwm波产生.zip
- 基于单片机的电子密码锁设计论文
- 由俩中遍历序列恢复二叉树
- 深大2019复试上机.zip
- 基于51单片机的万年历设计-完整程序
- 基于51单片机的红外遥控转发器程序
- 用24C04与1602LCD设计电子密码锁课程设
- DS3231+12864 0.96oled 51单片机程序
- 股票撮合系统
- 基于VHDL语言的电子密码锁
- 华科课设 空气质量监测系统
- 计算法和查表法实现的CRC16校验码生成
- c51单片机点亮第一个led灯的程序keil文
- 图基本操作的编程实现源码
评论
共有 条评论