文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 工程科技 > 建筑/土木 > 矩阵键盘行列扫描
侵权投诉

矩阵键盘行列扫描

陈独秀的秘密

名称:矩阵键盘依次输入控制 使用行列逐级扫描

内容:如计算器输入数据形式相同 从右至左 使用行列扫描方法
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义


#define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换
#define KeyPort P1

sbit LATCH1=P2^2;//定义锁存使能端口 段锁存
sbit LATCH2=P2^3;// 位锁存

unsigned char code dofly_DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71};// 显示段码值0~F
unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码
unsigned char TempData[8]; //存储显示值的全局变量

void DelayUs2x(unsigned char t);//us级延时函数声明
void DelayMs(unsigned char t); //ms级延时
void Display(unsigned char FirstBit,unsigned char Num);//数码管显示函数
unsigned char KeyScan(void);//键盘扫描
unsigned char KeyPro(void);
void Init_Timer0(void);//定时器初始化
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
unsigned char num,i,j;
unsigned char temp[8];
Init_Timer0();

while (1) //主循环
{


num=KeyPro();
if(num!=0xff)
{
if(i<8)
{
temp[i]=dofly_DuanMa[num];
for(j=0;j<=i;j++)
TempData[7-i+j]=temp[j];
}
i++;
if(i==9)//多出一个按键输入为了清屏 原本应该为8
{
i=0;
for(j=0;j<8;j++)//清屏
TempData[j]=0;
}
}
//Display(0,8); //显示全部8位
//主循环中添加其他需要一直工作的程序

}
}
/*------------------------------------------------
uS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
长度如下 T=tx2+5 uS
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{
while(--t);
}
/*------------------------------------------------
mS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(unsigned char t)
{

while(t--)
{
//大致延时1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
/*------------------------------------------------
显示函数,用于动态扫描数码管
输入参数 FirstBit 表示需要显示的第一位,如赋值2表示从第三个

第1页

你可能喜欢

  • 矩阵键盘原理
  • 矩阵键盘扫描程序
  • 单片机矩阵键盘程序
  • proteus元件库
  • PIC单片机
  • 独立按键
  • 指令系统
  • 键盘设计

热门文档

相关文档

  • 矩阵键盘行列扫描

    /*--- 名称:矩阵键盘依次输入控制 使用行列逐级扫描 内容:如计算器输入数据形式相同 从右至左 使用行列扫描方法 ---*/ #include<reg52.h> //包含头文件,一...

  • 矩阵键盘行列扫描

    2页 1下载券 矩阵键盘的三种扫描方法 2页 免费矩阵键盘行列扫描 暂无评价0人阅读0次下载举报文档...

  • 单片机矩阵键盘行列扫描程序

    单片机矩阵键盘行列扫描程序 51单片机的 键盘扫描程序51单片机的 键盘扫描程序隐藏>> //行列扫描程序,可以自己定义端口和扫描方式,这里做简单介绍 #include <reg52...

  • 行列反转扫描法在矩阵键盘中的应用及编程思想

    行列反转扫描法在矩阵键盘中的应用及编程思想 我现在正在学习 51 单片机,学到矩阵键盘时,遇到了一些小问题,感觉行 列扫描法原理简单, 但编程较啰嗦, 而且没有固定...

  • 矩阵键盘的三种扫描方法

    矩阵键盘行列扫描 3页 免费 矩阵键盘扫描程序 2页 1下载券喜欢此文档的还...=0) // 此语句保证只扫描四行 { if(((~P3)&0xf0)!=0) { switch((~...

  • 独立式键盘与矩阵键盘原理逐行扫描法与行列互换法 键盘...

    独立式键盘与矩阵键盘原理逐行扫描法与行列互换法 键盘编码器芯片74C922_计算机硬件及网络_IT/计算机_专业资料。独立式键盘与矩阵键盘原理逐行扫描法与行列互换法 ...

  • 各种各样的矩阵键盘扫描程序集

    51测试网-xiaorunyi 最简单矩阵键盘扫描程序 key:mov p0,#00001111b;上四位和... ret 行列扫描键盘可检测出双键按下 #include <reg52.h> #define ulong ...

  • 矩阵键盘扫描程序

    矩阵键盘扫描程序_信息与通信_工程科技_专业资料。采用反转法扫描,提取行列值时,采用了INT 的算法 而不是SWITCH CASE,大大缩小了 程序长度...

  • 矩阵键盘扫描程序与解释

    矩阵键盘扫描程序与解释_电子/电路_工程科技_专业资料。AVR单片机的矩阵键盘扫描uchar key_scan() { uchar key_h=0,key_l=0,key,num=0;定义行列键值和总...

  • 矩阵键盘的工作原理和扫描确认方式

    矩阵键盘的工作原理和扫描确认方式_电子/电路_工程科技_专业资料。基于状态机的...为了减少对 I/O 口的占用,通常将按键排列成 矩阵形式, 也称为行列键盘, 这...

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email