#include

unsigned char keyval,keynum=0;

unsigned char distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};

void t1isr() interrupt 3

{

unsigned char sccode,recode;

TH0=(65536-10000)/256;

TL0=(65536-10000)%256;

P3=0x0f; //发0扫描,列线输入

if ((P3 & 0x0f) != 0x0f)keynum++; //有键按下

else keynum=0;

if(keynum>5) //按键保持在5次中断以上

{

keynum=0;

sccode = 0xef; //逐行扫描初值

while((sccode&0x01)!=0)

{

P3=sccode;

if((P3&0x0f)!=0x0f)

{

recode=(P3&0x0f)|0xf0;

getkey((~sccode)+(~recode));

}

else

sccode=(sccode<<1)|0x01;

}

}

getkey(0);

}

void getkey(unsigned char key)

{

if(key==0){keyval=0xff;return;}

switch(key)

{

case 0x11:keyval=7;break;

case 0x12:keyval=4;break;

case 0x14:keyval=1;break;

case 0x18:keyval=10;break;

case 0x21:keyval=8;break;

case 0x22:keyval=5;break;

case 0x24:keyval=2;break;

case 0x28:keyval=0;break;

case 0x41:keyval=9;break;

case 0x42:keyval=6;break;

case 0x44:keyval=3;break;

case 0x48:keyval=11;break;

case 0x81:keyval=12;break;

case 0x82:keyval=13;break;

case 0x84:keyval=14;break;

case 0x88:keyval=15;break;

default:keyval=0xff;break;

}

}

main()

{

TMOD=0x01;

TH0=(65536-10000)/256;

TL0=(65536-10000)%256;

TR0=1;

ET0=1;

EA=1;

while(1)

{

if(keyval!=0xff)P0=distab[keyval];

}

}

取消

评论

c语言单片机4*4键盘程序,求51单片机矩阵4*4键盘程序,P0口接一个数码管,P3口接矩阵键盘,C语言的...相关推荐

  1. 单片机c语言编程30倒计时,急求51单片机倒计时三十秒程序

    急求51单片机倒计时三十秒程序 关注:117  答案:2  手机版 解决时间 2021-01-31 06:56 提问者青春统帅 2021-01-30 16:36 第二位同志请补充一下注释 谢谢 最佳答 ...

  2. 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc

    基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...

  3. 流水灯c语言程序tm,51单片机LED流水灯课程设计任务书+论文

    郑州工程技术学院课程设计 设计题目:LED流水灯设计 学    院:机电与车辆工程学院 专    业:16电气自动化技术专业班 级普招二班 姓    名:王*&刘* 指导教师:李* 日    ...

  4. 单片机按键使用程序 (51单片机)

    单片机独立按键使用程序 (51单片机) 独立按键是单片机中很重要的一个器件,在这篇文章里,通过这个用独立按键控制LED灯的小程序来介绍独立按键开关的使用. #include<reg52.h> ...

  5. 单片机原理与实践学习记录之51单片机I/O口简单应用

    单片机原理与实践学习记录 第二课(更新时间:2021.9.3) 51单片机I/O口简单应用 C51中常用的头文件 ​ 通常有reg51.h,reg52.h,math.h, ctype.h, stdio ...

  6. I/0口输入输出实验 流水灯程序 P0、P1、P2、P3口作为输出口,连接八只发光二极管,编写程序,使发光二极管从左至右循环点亮。

    P0.P1.P2.P3口作为输出口,连接八只发光二极管,编写程序,使发光二极管从左至右循环点亮.流水灯程序 程序: #include<reg51.h> //包含单片机定义寄存器的头文件 s ...

  7. 《电子DIY》之《单片机实践项目》之(51单片机)proteus中带编码信号的电机的详细讲解及电路图绘制(motor encoder)

    此课程主要讲解如何使用51单片机进行实战应用,分为多次课,每次课都会分别围绕一个课程设计或毕业设计(实践项目)展开.手把手叫你学51单片机."Proteus仿真","电子 ...

  8. 基于51单片机的太阳能追光系统 基于51单片机的锂电池太阳能充电器

    基于51单片机的太阳能追光系统 基于51单片机的锂电池太阳能充电器 基于51单片机的锂电池追光充电系统 具体功能:根据太阳光照方向改变光板朝向,利用太阳能给锂离子电池充电,实时显示上下左右四个方向不同 ...

  9. 《电子DIY》之《单片机实践项目》之基于51单片机+光敏电阻的简易光照强度测量系统设计电路图绘制及讲解

    <电子DIY>之<单片机实践项目>之基于51单片机+光敏电阻的简易光照强度测量系统设计电路图绘制及讲解 添加链接描述

最新文章

  1. 2021年3月9日 北京快手Java开发–用户增长方向 实习面经(一面)
  2. 当outlook打开附件的EXCEL表报出 文件已经损坏 但别人能打开时
  3. STL的Vector, List and Deque
  4. Loading(二)--ThreeBodyLoadingView
  5. mac instantclient_12_2 安装配置
  6. 作者:赵妍妍(1983-),女,哈尔滨工业大学机电学院媒体技术与艺术系副教授、硕士生导师。...
  7. BAT 文件 常用 代码 大全
  8. 【速度↑20%模型尺寸↓36%】极简开源人脸检测算法升级
  9. 持续更新免费的 API,做一个 API 的搬运工
  10. 极简毕业设计答辩PPT模板
  11. 2022最详细最快微信聊天记录备份&导出方案
  12. 南阳oj S + T
  13. xampp配置虚拟主机的步骤
  14. Minifilter中 Filter Initiated I/O(过滤器自产生I/O)
  15. 11届蓝桥杯单片机设计与开发决赛
  16. python web py入门(4)-从数据库读取数据显示到网页
  17. android 9.0 默认打开开发者选项显示
  18. Scrapy爬虫爬取电影天堂
  19. 聚苯乙烯微球为成孔模板制备多孔PI/HMSNs复合膜/交联氨基聚苯乙烯微球/羧基聚苯乙烯微球
  20. Gaia蓝牙音箱android开发,Windows7系统配置蓝牙模块GAIA功能的方法

热门文章

  1. Java实现话术词槽匹配_知识图谱与KBQA——槽填充
  2. Qt状态机框架介绍(一)
  3. Matlab 矩阵计算例子
  4. python 依据某几列累加求和_Python爬虫笔记:爬取单个页面
  5. 2013 javaB3 振兴中华、从我做起
  6. SourceInsight 4.0 之二 项目文件关联
  7. 汇编原理实验 --计算平均数
  8. linux-2.6.29内核配置、编译与安装
  9. QT下 cannot find -IGL的解决办法
  10. C语言的编译链接过程详解