资源简介
51单片机c语言4x4矩阵键盘实验详细操作
代码片段和文件信息
#include
#include
unsigned char code table[] = {0xc00xf90xa40xb00x990x920x820xf80x800x900x880x830xc60xa10x860x8e};//共阳数码管显示0~F
void delay() //延时子程序
{
unsigned char n m;
for (n = 100; n > 0; n--)
for (m = 300; m > 0; m--);
}
void display(unsigned char S) //显示子程序
{
P0 = table[S]; //数码管是P0口驱动的
delay();
P3 = 0x7f; //数码管选通开关(P3.7选通 也就是数码管的第八位 (从左到右顺序))
}
unsigned char Keycan(void) //按键扫描程序 P1.0--P1.3为行线 P1.4--P1.7为列线
{
unsigned char rcode ccode;
P1 = 0xF0; // 发全0行扫描码,列线输入
if((P1&0xF0) != 0xF0) // 若有键按下
{
delay();// 延时去抖动
if((P1&0xF0) != 0xF0)
{ rcode = 0xFE; // 逐行扫描初值
while((rcode&0x10) != 0)
{
P1 = rcode; // 输出行扫描码
if((P1&0xF0) != 0xF0) // 本行有键按下
{
ccode = (P1&0xF0)|0x0F;
do{;}while((P1&0xF0) != 0xF0); //等待键释放
return ((~rcode) + (~ccode)); // 返回键编码
}
else
rcode = (rcode<<1)|0x01; // 行扫描码左移一位
}
}
}
return 0; // 无键按下,返回值为0
}
void KeyDispaly(unsigned char key)
{
switch(key)
{
case 0x11: display(0); break;
case 0x21: display(1); break;
case 0x41: display(2); break;
case 0x81: display(3); break;
case 0x12: display(4); break;
case 0x22: display(5); break;
case 0x42: display(6); break;
case 0x82: display(7); break;
case 0x14: display(8); break;
case 0x24: display(9); break;
case 0x44: display(10); break;
case 0x84: display(11); break;
case 0x18: display(12); break;
case 0x28: display(13); break;
case 0x48: display(14); break;
case 0x88: display(15); break;
default: break;
}
}
int main(void)
{
unsigned char Key;
while(1)
{
Key = Keycan();
KeyDispaly(Key);
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1979 2007-09-17 13:16 4x4矩阵键盘实验-0k.c
----------- --------- ---------- ----- ----
1979 1
- 上一篇:用VC++显示图像的灰度直方图
- 下一篇:rrt实现图片搜索.zip
相关资源
- 唯一可译码的辨别 C语言实现
- 模拟退火算法含有C语言源代码
- 五点三次平滑滤波C语言程序
- 使用c语言实现基于图的图像分割代码
- C语言套接字编程TCP连接
- C语言学生信息管理系统附代码73988
- ubuntu交叉编译mysql的C语言程序到ARM开
- 51单片机-舵机控制C语言程序
- C语言实现cordic sinx的算法
- 好玩的C语言代码
- 经典编程900题c语言
- C语言版课室管理系统
- 《新概念51单片机C语言教程--入门提高
- 矩阵求逆算法c语言编程
- 左手法则c语言程序
- BCH3121编码译码解码程序源代码——
- 宇视科技C语言面试题
- 三次样条插值算法c语言
- 模糊pid算法c语言
- 规定3个空瓶子换一瓶饮料,现在又
- 八数码宽度优先搜索加注释.txt
- 诗词大会登录、诗词查找、诗词填空
- C语言标准函数库详解.pdf
- 西南交大考研复试C语言上机真题.ra
- 通讯录管理系统 源代码.rar
- 课程设计——C语言编写图书管理系统
- c语言程序设计_第3版_何钦铭_课后答案
- 2019年全国计算机考试二级C语言——公
- 学生选课管理系统.c
- C语言实现的校园导航系统
评论
共有 条评论