51单片机矩阵扫描键盘程序实例
51单片机矩阵扫描键盘程序
#include <reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int uchar idata x,y; uchar code disp_code[] = {
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, case 0xe7: k=3; break; case 0xde: k=4; break; case 0xdd: k=5; break; case 0xdb: k=6; break; case 0xd7: k=7; break; case 0xbe: k=8; break; case 0xbd: k=9; break; case 0xbb: k=10;break; case 0xb7: k=11;break; case 0x7e: k=12;break; // 0-9 0 1 2 3 4 5 6 7 8 9 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, // 10-15 a b c d e f 0x7F, 0xBF, 0x9C, 0xFF // 16-19 . - 。null }; //数码管显示值列表
void delay(uchar c) {
char a,b; for(a=c;a>0;a--) for(b=110;b>0;b--); }
uchar key_scan() {
uchar k; uchar z;
x=0x00; y=0x00;
P3=0xf0; 值
if(P3!=0xf0) 值,说明有健按下 {
delay(10); 10ms
if(P3!=0xf0) {
x=P3; P3=0x0f; y=P3; z=x|y; switch(z) {
case 0xee: k=0; break; case 0xed: k=1; break; case 0xeb: k=2; break;
//延时函数 //键盘扫描函数 //先给P3赋一个初//判断P3不等于所赋初 //消除键盘抖动 延时 case 0x7d: k=13;break; case 0x7b: k=14;break; case 0x77: k=15;break; } } }
return(k); }
void main() {
uchar dat; while(1) {
P3=0xf0; while(P3!=0xf0) {
dat=key_scan(); P1=0;
P0=disp_code[dat]; } } } 2:
#include <reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int
uchar idata x,y; uchar code disp_code[] = {
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, // 0-9 0 1 2 3 4 5 6 7 8 9 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, // 10-15 a b c d e f 0x7F, 0xBF, 0x9C, 0xFF
51单片机矩阵键盘程序示例_信息与通信_工程科技_专业资料。51单片机开发板,矩阵...调用判断有无键按下子程序 ;无键按下,重新扫描 ;有键按下,延时去抖 ;判断...
51单片机矩阵键盘扫描程序_电子/电路_工程科技_专业资料。/*---名称:矩阵键盘...用于动态扫描数码管 输入参数 FirstBit 表示需要显示的第一位,如赋值 2 表示从...
51单片机矩阵按键程序设计_电子/电路_工程科技_专业资料。51单片机矩阵键盘按键程序设计,键盘扫描程序,键盘接口程序#include<reg51.h> #include<intrins.h> #...
51单片机的矩阵按键扫描的设计C语言程序_电子/电路_工程科技_专业资料 暂无评价0人阅读0次下载举报文档 51单片机的矩阵按键扫描的设计C语言程序_电子/电路_工程...
51单片机矩阵键盘C语言编程_信息与通信_工程科技_专业资料。基于51单片机矩阵...设行扫描码码子 HSM,列检测数据为 LJC,则键值为 KEY,则有 ___ KEY=HSM ...
(原创)51单片机C语言程序设计--速学教程实例(入门篇)之矩阵键盘(逐行扫描法)_信息与通信_工程科技_专业资料。(原创)51单片机C语言程序设计--速学教程实例(入门...
+cord_l);//键盘最后组合码值 } }return(0xff); //返回该值 } void delay(uint i)//延时函数 { while(i--); }以上为 51 单片机矩阵键盘扫描显示程序...
51单片机矩阵按键程序4 4_电子/电路_工程科技_专业资料。//以下程序都是在 VC++6.0 上调试运行过的程序,没有错误,没有警告。 //单片机是 STC89C52RC,但是...
AT89C51单片机对4×4矩阵键盘进行动态扫描报告_信息与通信_工程科技_专业资料。...岂兴名、 唐杰、 赵沛、 矫津毅、 常春藤等; 单片机编程基础与开发实例详解...
51单片机 矩阵键盘 C语言 程序_计算机硬件及网络_IT/计算机_专业资料。51...键扫描子程序 (4*3 的矩阵) P1.4 P1.5 P1.6 P1.7 为行 */ /* ...
热门文档