【51单片机LCD1602显示矩阵键盘原始键值】2023-6-1

ops/2024/10/21 13:12:55/

缘由https://ask.csdn.net/questions/7955623

#include "reg52.h"
sbit  LCD1602_RS = P3^5;//RS端数据命令选择(H/L)
sbit  LCD1602_RW = P3^6;//RW端读写选择(H/L)
sbit  LCD1602_EN = P3^7;//EN端使能信号上升沿25ns
void PanDuan1602(/*LCD1602忙判断*/)
{ LCD1602_RS = 0;/*根据规定,RS为低电平,RW为高电平时,可以读状态*/LCD1602_RW = 1;P0 = 0xFF;while(P0 & 0x80){LCD1602_EN = 0;P0 = 0xFF;LCD1602_EN = 1;}
}
void Xie_MinLin_ShuJu(unsigned char MinLin_ShuJu,bit XZ)/*LCD1602写入8位命令/数据函数*/
{unsigned char y=0;PanDuan1602();/*忙则等待*/LCD1602_RS = XZ;LCD1602_RW = 0;while(++y<47);//地址建立时间P0 = MinLin_ShuJu;/*写入命令*/LCD1602_EN = 1;/*拉高使能端 数据被传输到LCD1602内*/LCD1602_EN = 0;/*拉低使能以便于下一次产生上升沿*/
}	
void Xie_String(unsigned char *ShuJu,unsigned char w,bit x)/*LCD1602写入8位字符串数据子函数*/
{Xie_MinLin_ShuJu((x?0xC0:0x80) + w, 0);//1表示第二行0表示第一行     while (*ShuJu != '\0') Xie_MinLin_ShuJu(*ShuJu++, 1);         
}
void LCD1602ChuShiHua(/*LCD1602初始化子程序*/)	   
{LCD1602_RS = LCD1602_RW = LCD1602_EN = 0;Xie_MinLin_ShuJu(0x38, 0);/*显示模式设置16*2显示,5*7点阵,8位数据接口*/ Xie_MinLin_ShuJu(0x06, 0);/*显示光标移动设置读写一字节后地址指针加1*/Xie_MinLin_ShuJu(0x0C, 0);/*显示开及光标设置*/Xie_MinLin_ShuJu(0x01, 0);/*显示清屏*/
}
unsigned char JianPanShaoMiao(/*使用行列反转扫描法*/)
{    unsigned char H=15,L=240;static unsigned char Ys=0;P1=15;if(P1!=15&&++Ys==0){        H=P1;P1=240;L=P1;while(P1!=240);}P1 = 255;return (H+L);
}
void main()
{//缘由https://ask.csdn.net/questions/7955623unsigned char jz=0,sj[8]={"   "};LCD1602ChuShiHua();Xie_String("Key Values:",0,0);Xie_String("HJ7447",4,1);while(1){jz=JianPanShaoMiao();if(jz!=255){sj[0]=jz/100+'0';sj[1]=jz/10%10+'0';sj[2]=jz%10+'0';Xie_String(sj,11,0);}}
}

unsigned char duli16()
{//缘由http://www.51hei.com/bbs/dpj-229608-1.htmlunsigned char jz=255;static unsigned char Ys=0;P1=239;if(P1!=239&&++Ys==0){jz=P1;while(P1!=239);}else P1=223;if(P1!=223&&++Ys==0){jz=P1;while(P1!=223);}else P1=191;if(P1!=191&&++Ys==0){jz=P1;while(P1!=191);}else P1=127;if(P1!=127&&++Ys==0){jz=P1;while(P1!=127);}P1 = 255;return jz;
}


http://www.ppmy.cn/ops/29470.html

相关文章

2024五一数学建模C题完整论文讲解(含完整python代码及几十个特征表、处理表、结果表)

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2024五一数学建模C题煤矿深部开采冲击地压危险预测完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 C题论文…

ubuntu外置网卡配置AP模式

外置网卡RTL8811CU设置 UBUNTU使用RTL8811CU网卡&#xff08;包含树莓派&#xff09; 外置网卡配置AP模式流程 1. 检查网卡支持情况&#xff08;是否支持AP模式&#xff09; iw list找到以上部分&#xff0c;发现支持AP 2. 安装依赖 sudo apt-get update sudo apt-get in…

配置DHCP和DNS

DHCP DHCP原理 作用&#xff1a;是一种网络协议&#xff0c;用于自动分配IP地址、子网掩码、默认网关、DNS服务器等TCP/IP参数 1.DHCP的四个报文 1.discover报文&#xff1a; 找寻dhcp服务器 2.offer报文&#xff1a; 服务器回复discover报文并且携带网络配置信息&#xff…

人大金仓数据库的数据分析的方法和工具

人大金仓数据库作为中国社会科学院经济研究所主办的重要数据平台&#xff0c;不仅提供丰富的经济学研究成果&#xff0c;还支持用户进行数据分析和挖掘&#xff0c;以发现数据中的规律和趋势。在以下的论述中&#xff0c;我将深入探讨人大金仓数据库的数据分析方法和工具。 数…

一周零碎时间练习微服务(nacos,rq,springcloud,es等)内容

目录 1 总览1.1 技术架构1.2 其他1.2.1 数据库1.2.2 后端部分1.2.2.1 复习feign1.2.2.2 复习下网关网关的核心功能特性&#xff1a;网关路由的流程断言工厂过滤器工厂全局过滤器 过滤器执行顺序解决跨域问题 1.2.2.3 es部分复习 1.2.3 前端部分 2 day1 配置网关2.1 任务2.2 网关…

WPF —— 跑马灯

标签页面 <Label Width"800" Height"80" Background"Black" VerticalAlignment"Top"></Label><Label Width"360" Height"40"HorizontalAlignment"Left" VerticalAlignment"Top&quo…

为何数据库推荐将IPv4地址存储为32位整数而非字符串?

目录 一、IPv4地址在数据库中的存储方式&#xff1f; 二、IPv4地址的存储方式比较 &#xff08;一&#xff09;字符串存储 vs 整数存储 &#xff08;二&#xff09;IPv4地址"192.168.1.8"说明 三、数据库推荐32位整数存储方式原理 四、存储方式对系统性能的影响…

【Web前端】Javascript输出毕业倒计时

在浏览器显示输出毕业倒计时&#xff0c;我们要先设置一个我们毕业时的时间戳&#xff0c;还要知道系统当前的时间戳&#xff0c;两者之差就为我们距离毕业的毫秒数&#xff0c;经过计算就可以化为年、月、日、时、分、秒。 1.在JavaScript中我们可以通过new Date("2025/…