在数码管上静态显示键值
来源:互联网 发布:合肥唯米淘宝培训 编辑:程序博客网 时间:2024/04/30 18:30
#include<reg52.h>#define uchar unsigned char#define uint unsigned int #define LL P0#define temp P1uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar num;void delay(uint z);void scopkey();void main(){while(1){ scopkey(); LL=~tab[num];}}void scopkey() //键盘检测函数{temp=0xf0;if(temp!=0xf0){delay(5); //消抖if(temp!=0xf0){switch(temp)//行列检测法区别于逐个检测法,此方法更简便;检测列{case 0x70:num=3;break;case 0xb0:num=2;break;case 0xd0:num=1;break;case 0xe0:num=0;break;}temp=0x0f;switch(temp) //检测行{case 0x07:num=num+12;break;case 0x0b:num=num+8;break;case 0x0d:num=num+4;break;case 0x0e:num=num;break;}while(temp!=0x0f) //松手检测{delay(5);}}}}void delay(uint z){uint x,y;for(x=0;x<z;x++)for(y=0;y<110;y++);}写这个程序颇费了一番周折,本来是用逐个检测的方法写的那个比较复杂,稍后在上传吧总是自己单片机之路的一个历程!按照单片机开发板所给的矩阵键盘电路图写的程序显示的键值并不与按键对应,因此我估计矩阵键盘的电路图给错了。我错误的程序显示的不对应的键值又重新画了一个电路图,按照新的电路图写出了上述的程序,这个程序和我的开发板键值是一一对应的!由这个程序我推测所有的检测矩阵的程序都可以用行列检测这是最简单的!
0 0
- 在数码管上静态显示键值
- 数码管显示键值
- 独立按键数码管显示键值
- 关于蓝桥杯ds18b20在数码管上显示
- 静态数码管显示
- 静态数码管显示
- 数码管静态显示
- 数码管的静态显示
- 7.矩阵键盘读取键值 数码管显示
- 静态数码管显示0-F
- 5.7 数码管的静态显示
- 单片机—数码管静态显示
- 数码管实现动静态显示
- 温度传感器(18b20测温然后在数码管上显示)
- DS18B20温度传感器测温显示在数码管上(29.9℃)
- 矩阵键盘在数码管上显示1-16
- 4.2.第十个实验--检测键值并使用数码管显示
- 内置E2PROM,静态数码管记忆显示
- BZOJ 3252 攻略 线段树
- 编程之美-高效率的安排见面会
- python 字典访问的三种方法
- win7下“telnet不是内部或外部命令”的解决方案
- JavaScript之对象的遍历
- 在数码管上静态显示键值
- 1312 棋盘问题
- 四元数与欧拉角之间的转换
- 事务与JDBC
- deepin系统下安装rubymine以及各种ruby编辑环境体验
- 内核工作队列workqueue
- JDK 8和jre 8的区别
- JSON的简单使用
- WPF 开始新的征程