技术标签: 4x4矩阵键盘扫描c语言程序
矩阵键盘扫描
矩阵键盘的原理图
根据矩阵键盘的原理图可知,当没有按键按下时,P1=0xf0;然后依次将P1^0~P1^3单独置低电平,其他置高,再扫描各列的状态,来判断是哪个按键按下,比如,将P1^0输出低电平,其他的引脚都输出高电平,即P1=0xfe,那么当第1行有按键按下时P1的相应值为,
1X1(01111110=0x7e)1X2(10111110=0xbe)1x3(11011110=0xde)1X4(11101110=0xee)
将P1^1输出低电平,其他的引脚都输出高电平,即P1=0xfd,那么当第2行有按键按下时P1的相应值为,
2X1(01111101=0x7d)2X2(10111101=0xbd)2x3(11011101=0xdd)2X4(11101101=0xed)
将P1^2输出低电平,其他的引脚都输出高电平,即P1=0xfd,那么当第2行有按键按下时P1的相应值为,
3X1(01111011=0x7b)3X2(10111011=0xbb)3x3(11011011=0xdb)3X4(11101011=0xeb)
将P1^3输出低电平,其他的引脚都输出高电平,即P1=0xfd,那么当第2行有按键按下时P1的相应值为,
4X1(01110111=0x77)4X2(10110111=0xb7)4x3(11010111=0xd7)4X4(11100111=0xe7)
/*
程序中用到了置位,如果检测第一行时置位为0xfe,是为了初始化一下P1口,初始化后
*/
#include《reg52.h》
unsignedintVal;
voidDelay(unsignedintt);
voidmain(void)
{
while(1)
{
if(P1!=0xf0
逻辑回归使用逻辑回归进行鸢尾花分类:import numpy as npfrom sklearn.linear_model import LogisticRegressionimport matplotlib.pyplot as pltimport matplotlib as mplfrom sklearn import preprocessingimport pandas a..._试分别采用逻辑回归、贝叶斯分类器、svm分类器和决策树分类器等算法,针对手写数字
.caret 在Bootstrap中的作用,写出一个“下拉箭头”,如图:其具体css样式为:.caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-top: 4px ...
工具准备:1.ULTRAISO 9.2.0.2536 下载地址:http://pj.newhua.com/soft/614.htm (华军)2.WINPE镜像文件-完美Vista WinPE Plus V2┊支持WinPE里Vista安装、Vista备份还原_曙光i620 csm
平时生活中经常碰到的一个问题,还一直解决不掉,也百度了很多次。终于看到了一位大佬的解决方案,完美解决。链接如下:https://www.maixj.net/ict/qq-yc-20967 背景:在没有加班费的情况下,一直是拒绝加班的,情愿自己在家用电脑办公,都不想待在公司。公司的网络是内网+虚拟机,网络还有限制,teamview,mstsc等各个远程都不能用,唯一能用的qq远程,还一直摆..._qq远程一会儿键盘就失灵了
结论:opencv 中 rectangle函数的x,y坐标与numpy中是相反的。numpy中image.shape = (h, w)第一维度代表x,第二维度代表y的话。即横轴是y轴,纵轴是x轴。而在cv2.rectangle(image, pt1, pt2)函数中,pt1和pt2的坐标也是(x,y),但是这里的x,y是横轴,纵轴。与numpy相反。其中pt1是左上角顶点,pt2是右下角顶点。if __name__ == '__main__': import cv2 imp_cv2 numpy 坐标
注:$ORACLE_HOME为oracle的安装路径1,使用EM(enterprise managment)1.1启动EM$ORACLE_HOME/bin/emctl start dbconsole如果出现下面相关信息,说明服务启动TZ set to PRCOracle Enterprise Manager 10g Database Control Release 10.1.0.3.0
《每个资源管理器窗口使用单独进程》 [HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Advanced] "SeparateProcess"=dword:00000001《每个IE窗口使用单独进程》 [HKEY_CURRENT_USER/Software/Microsoft/Windows/Current_win注册表cpu分配
有时候需要在双击ALV某行时,弹出一个窗口这里介绍中比较简单的实现方式:FM:REUSE_ALV_POPUP_TO_SELECT CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT' EX..._reuse_alv_popup_to_select i_callback_user_command
Controller :request.setAttribute("yearList", yearList);或者 model.addAttribute("yearList", yearList);在JS中:
jenkins配置ssh服务器&配置ssh servers_jenkins ssh配置
natapp使用汇总1.natapp是干什么的? (1).在进行微信公众号开发时,我们需要搭建网站,并且随时都有可能修改网站内容进行调试。如果能够将内网ip映射到外网上,将大大方便我们的调试。每次发布只需eclipse/Idea运行应用即可。 (2).通过natapp将内网映射到外网,还可以方便我们其他工作,比如外网展示网站等。 总之一句话,我们使用natapp主要是用_natapp有什么用
准备:eclipse,jdk8.0,tomcat8.5,nutz的jar包第一步:新建一个项目第二步:导入需要的包(数据的jar包也会同时导入)第三步:新建一个Mainmodule的类,并写入如下图的注解第四步:配置web.xml文件param中的value放入的是Mainmodule的全路径配置结束!!!~~只是学习总结,在错误中进步~..._nutz教程