51学习库(2)--矩阵键盘
来源:互联网 发布:工厂生产数据表格 编辑:程序博客网 时间:2024/06/05 11:17
学过51单片机的回过头来都会觉得51还是比较简单的,在此我将贴出在我的学习过程中,把对各种外设所进行的操作,封装成函数库的形式,以供新手学习。
注:使用的单片机是stc12c5a60s2,该系列单片机属于加强51,在运行速度上是普通51的8-12倍,有关时序的操作需要加以注意。
注2:矩阵键盘扫描函数,直接调用
申明:本系列全部例程通过单片机开发板,实验亲测有效!
/* 矩阵键盘 */#define keyboard P1void scan(){ unsigned char temp; keyboard=0xfe; temp=keyboard; temp=temp&0xf0; if(temp!=0xf0) { delay10us(1); //按键消抖延时,根据实际需要,一般5-10ms if(temp!=0xf0) { switch(temp) { case 0xe0: num=0; //此处可以修改按键动作 break; case 0xd0: num=1; break; case 0xb0: num=2; break; case 0x70: num=3; break; } } } keyboard=0xfd; temp=keyboard; temp=temp&0xf0; if(temp!=0xf0) { delay10us(1); if(temp!=0xf0) { switch(temp) { case 0xe0: num=4; break; case 0xd0: num=5; break; case 0xb0: num=6; break; case 0x70: num=7; break; } } } keyboard=0xfb; temp=keyboard; temp=temp&0xf0; if(temp!=0xf0) { delay10us(1); if(temp!=0xf0) { switch(temp) { case 0xe0: num=8; break; case 0xd0: num=9; break; case 0xb0: num=10; break; case 0x70: num=11; break; } } } keyboard=0xf7; temp=keyboard; temp=temp&0xf0; if(temp!=0xf0) { delay10us(1); if(temp!=0xf0) { switch(temp) { case 0xe0: num=12; break; case 0xd0: num=13; break; case 0xb0: num=14; break; case 0x70: num=15; break; } } }}
0 0
- 51学习库(2)--矩阵键盘
- 51单片机矩阵键盘库
- 51矩阵键盘
- 51中的矩阵键盘
- 51单片机--矩阵键盘
- 嵌入式学习笔记(8)——51单片机之矩阵键盘
- 【51单片机学习过程记录】4矩阵键盘
- 51单片机矩阵键盘扫描
- 51单片机—矩阵键盘
- 矩阵键盘(C源码)
- FPGA矩阵键盘(三段式)
- 51单片机矩阵扫描键盘程序(源代码)
- 矩阵键盘
- 矩阵键盘
- 矩阵键盘
- 矩阵键盘
- 矩阵键盘
- 矩阵键盘
- 详解Java注解(上)
- 3dmax基本操作之骨骼
- Error: [$injector:nomod] Module 'dayApp' is not available!
- nginx
- 单位转换
- 51学习库(2)--矩阵键盘
- 设计模式
- (复习)Struts2+MySQL完成登录数据是够为空的校验(二)
- 反射机制调用普通成员方法
- B. T-shirt buying(stl)
- 非递减排列 非递增排列 递减排列 递增排列
- java XML转JSON格式
- flex 最后一行左对齐
- 线程 中断 Thread.interrupt()使用