资源简介
此文件是代码,矩阵键盘+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
相关资源
- Modbus协议官方文档中、英文全
- 易语言OTG串口通信
- delphi 串口通讯
- STM32蓝牙和串口程序
- LCD显示温度+串口接收温度.rar
- WPF USB 网络 串口 通信软件
- DELPHI与西门子200PLC的串口通信实例
- Verilog FPGA UART串口控制器
- USB转串口驱动,FT232R驱动程序,最新
- PC -- 单片机的串口数据传输系统设计
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- PC 串口调试软件
- 51单片机读取温度数据存储到SD卡中并
- 单片机与PC机串口通讯仿真
- 串口调试助手V5.0
- 双串口调试助手 V4.0 _ 可同时调试两个
- 读取串口数据并画实时曲线的VC 程序
- 网络(UDP)转串口程序
- 串口绘制曲线 将收到的数据进行曲线
- 基于ARM蓝牙传输源程序
- JS操作本地网页串口源码
- lcd12864的VHDL程序
- LCD12864滚动显示
- AT89S ISP下载编程软件(串口)
- 串口操作类(justinio)
- 《Visual Basic 串口通信与测控应用技术
- 耀华XK3190-A9地磅串口代码
- imx6q ch452驱动矩阵键盘扫描
- ch452串口键盘驱动程序
评论
共有 条评论