资源简介
此文件是代码,矩阵键盘+lcd12864液晶显示 串行;之前也是受这个困惑,希望能帮到有需要的人。
代码片段和文件信息
/***********************************************
* 矩阵键盘液晶显示
*当 按键的值不对头时 可能是行列的线接反了
*应该把行 列的线 换过来
***********************************************/
#include //单片机52系列头文件
#include“lcd12864.h“
typedef unsigned int u16;
typedef unsigned char u8;
#define GPIO_KEY P1 //定义矩阵键盘的端口为P1
u8 KeyValue; //定义一个变量
u8 aa[]={0123456789101112131415}; //数码管的数值0到F
void keydown() //键盘扫描
{
u8 a;
GPIO_KEY=0x0f; //赋值给行
if(GPIO_KEY!=0x0f) //检测按键是否按下
{
delay(100);
if(GPIO_KEY!=0x0f) //再次检测按键是否被按下
{
GPIO_KEY=0x0f; //测试行
switch( GPIO_KEY) //多分支选择结构 看是行的那一个按键按下
{
case(0x07):KeyValue=0;break; //第四行按下
case(0x0b):KeyValue=1;break; //第三行按下
case(0x0d):KeyValue=2;break; //第二行按下
case(0x0e):KeyValue=3;break; //第一行按下
}
GPIO_KEY=0xf0; //测试列
switch( GPIO_KEY) //判断是列的那一个按键被按下
{
case(0x70):KeyValue=KeyValue;break; //第四列
case(0xb0):KeyValue=KeyValue+4;break; //第三列
case(0xd0):KeyValue=KeyValue+8;break; //第二列
case(0xe0):KeyValue=KeyValue+12;break; //第一列
}
while((a<50)&&(GPIO_KEY!=0xf0)) //按键检测是否松开
{
delay(1000);
a++;
}
}
}
}
void main()
{
P1=0X00; //先给P1端口赋值
lcd_init();
Write_XY_String(11“按键号码是:“) ;
while(1)
{
keydown(); //按键判断函数
Set_XY(21);
write_dat(0x30+aa[KeyValue]/10); //0x30s 连续显示 假若没有 则显示成符号
write_dat(0x30+aa[KeyValue]%10); //分两种显示,因为有两位数
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3361 2018-09-29 21:27 实验6:矩阵键盘液晶显示\lcd12864.h
文件 1809 2018-09-29 23:10 实验6:矩阵键盘液晶显示\main.c
文件 4270 2018-09-29 23:10 实验6:矩阵键盘液晶显示\main.LST
文件 8488 2018-09-29 23:10 实验6:矩阵键盘液晶显示\main.OBJ
文件 2064 2018-09-29 22:47 实验6:矩阵键盘液晶显示\矩阵键盘液晶显示.hex
文件 52 2018-09-29 22:47 实验6:矩阵键盘液晶显示\矩阵键盘液晶显示.lnp
文件 11632 2018-09-29 22:47 实验6:矩阵键盘液晶显示\矩阵键盘液晶显示.M51
....... 56052 2018-09-30 15:57 实验6:矩阵键盘液晶显示\矩阵键盘液晶显示.uvopt
....... 13246 2018-09-29 23:10 实验6:矩阵键盘液晶显示\矩阵键盘液晶显示.uvproj
....... 0 2018-09-29 21:18 实验6:矩阵键盘液晶显示\矩阵键盘液晶显示_uvproj.bak
目录 0 2018-09-30 15:57 实验6:矩阵键盘液晶显示
文件 187 2018-09-30 14:45 实验6:矩阵键盘液晶显示\矩阵键盘液晶显示.plg
....... 56050 2018-09-29 23:10 实验6:矩阵键盘液晶显示\矩阵键盘液晶显示_uvopt.bak
----------- --------- ---------- ----- ----
157211 13
- 上一篇:安养_易模块反编译工具[支持带密码].zip
- 下一篇:Openmv.rar
相关资源
- 15单片机矩阵键盘,状态机法消抖
- 基于labview串口调试助手
- 单片机lcd矩阵键盘计算器
- 基于LABVIEW的USB接口多路高速数据采集
- JQ8900串口.zip
- 基于串口通信的上位机控制软件(l
- MSP430F5529LP 串口通信 UART 代码 CCS工程
- 基于MSP430的UART串口控制机械臂
- DHT11串口传输
- 矩阵键盘原理图+PCB
- labview串口读写
- Qt串口助手,支持和单片机中文通信
- STM32F207的串口_IAPBootloader程序
- STC15F2K48S2单片机DS1302获取时间通过串
- 使用Verilog+quartus2+ModelSim仿真UART串口通
- STM32F103驱动三个超声波模块,串口屏
- Qt设计无人艇人机交互界面
- vs2013串口
- 串口打印 温湿度 STM32
- Windows超级终端支持中英文
- RN8209C及D初始化及UART通讯参考程序.
- avr128 mpu6050测试并串口发送
- 串口通讯简单
- MiniComm WIN版 绿色
- 韦根26与串口通讯程序
- MOXA 摩莎公司 串口通讯PComm库文件说明
- QT5串口工程源代码上位机
- WinCE系统gps信号测试
- 超级终端hyperterminal
- QT实时绘制串口数据
评论
共有 条评论