当前位置: 首页 > news >正文

小公司做网站用哪种服务器网站淘客宝怎么做

小公司做网站用哪种服务器,网站淘客宝怎么做,流动性管理,沧州公司官网制作eg1#xff1a; 单片机键盘的分类 键盘分为编码键盘和非编码键盘#xff0c;键盘上闭合键的识别由专用的硬件编码器实现#xff0c;并产生键编码号或键值得称为编码键盘#xff0c;如计算机键盘#xff0c;而靠软件来识别的称为非编码键盘#xff0c;在单片机组成的各种…eg1 单片机键盘的分类 键盘分为编码键盘和非编码键盘键盘上闭合键的识别由专用的硬件编码器实现并产生键编码号或键值得称为编码键盘如计算机键盘而靠软件来识别的称为非编码键盘在单片机组成的各种系统中使用最多的就是非编码键盘也有使用到编码键盘的非编码键盘又称为独立式和矩阵式键盘。 单片机键盘根据按键的结构和工作原理的不同可以分为以下几类 矩阵键盘Matrix Keyboard 矩阵键盘是最常见的单片机键盘之一。它使用一种矩阵排列的按键结构通过行和列的交叉点来确定按下的按键。一般通过行列扫描的方式来检测按键的按下和释放。 独立按键Individual Key 独立按键是指每一个按键都有独立的引脚连接到单片机。每个按键都使用一个独立的IO引脚通过读取引脚的电平状态来检测按键的按下和释放。独立按键一般用于需要较少按键的应用场景。 脉冲编码开关Encoder Switch 脉冲编码开关也被称为旋转编码开关用于检测旋转操作。它通常由两个触点组成通过检测两个触点的状态变化来确定旋转方向和步数。脉冲编码开关常用于旋转编码器、音量调节器等应用场景。 矩阵键盘和独立按键结合 在某些情况下矩阵键盘和独立按键可能会结合使用。例如一些常用的功能按键使用独立按键而数字键盘使用矩阵键盘的方式来连接到单片机。 单片机键盘电路设计图 test1点击第一个按钮时点亮第一个led管 #include REGX52.H #include INTRINS.H sbit d1 P1^0; sbit keyboard01 P3^0;void main(){P3 0xff; // 1111 1111while(1){if(keyboard01 0){d1 0;}else{d1 1;}} }单片机的按键在闭合和断开时触点会出现抖动现象 独立键盘的检测与消抖 eg2: 点击独立按键的同时led亮灭同时晶体管统计次数当数字为9时归0 #include REGX52.H #include INTRINS.H sbit d1 P1^0; sbit dula P2^6; sbit wela P2^7; sbit keyboard01 P3^0; // 宏定义 #define uint unsigned int #define uchar unsigned char uchar num; uint code table[] {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};void delay(uint z){uint x,y;for(x z; x 0; x --){for(y 110; y 0; y--){}}}void main(){wela 1;P0 0xfe;wela 0;P3 0xff; // 1111 1111while(1){if(keyboard01 0){delay(10);if(keyboard01 0){d1 0;num ;if(num 10){num 0;}}// 判断加上松手检测while(!keyboard01);delay(10);while(!keyboard01);}else{d1 1; dula 1;P0 table[num];dula 0;}} }eg3:矩阵键盘 以下的矩阵表示第二行的第一个按键按下去其它的16进制依次类推 10110111 − − − − 11101101 0 x e d 10110111 ---- 1110 1101 0xed 10110111−−−−111011010xed eg4:51片机矩阵代码实现每按一个按键就会显示一个不同的数 #include REGX52.H #include INTRINS.H sbit d1 P1^0; sbit dula P2^6; sbit wela P2^7; sbit keyboard01 P3^0; // 宏定义 #define uint unsigned int #define uchar unsigned char uchar num,temp,num1; uint code table[] {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};// 函数声明 uchar keyboardScan();void delay(uint z){uint x,y;for(x z; x 0; x --){for(y 110; y 0; y--){}}}void main(){// 让所有的数码管都显示num 17;dula 1;P0 0;dula 0;wela 1;P0 0xc0;wela 0;//0xfe 的值是0111 1111 --- 1111 1110 while(1){num1 keyboardScan();dula 1;P0 table[num1-1]; dula 0;}}// 键盘扫描函数 uchar keyboardScan(){// 检测键盘P3 0xfe;temp P3;// 1111 1110 1111 0000 1111 0000// 0xf0 表示的值是0000 1111--- 1111 0000temp temp0xf0; // c语言中的switchcase语句while(temp ! 0xf0){delay(5);temp P3;temp temp0xf0;while(temp ! 0xf0){temp P3;switch(temp){case 0xee: // 0111 -- 1110num 1;break; case 0xde: //1011 -- 1101num 2; break; case 0xbe: // 1011num 3;break;case 0x7e: // 0111num 4;break;}while(temp ! 0xf0){temp P3;temp temp0xf0;}// 函数的参数可以作为子函数进行调用/*dula 1;0 table[num -1];dula 0; */}}// 检测第二行------------------------------------------------------// 检测键盘P3 0xfd;temp P3;// 1111 1110 1111 0000 1111 0000// 0xf0 表示的值是0000 1111--- 1111 0000temp temp0xf0; // c语言中的switchcase语句while(temp ! 0xf0){delay(5);temp P3;temp temp0xf0;while(temp ! 0xf0){temp P3;switch(temp){case 0xed: // 0111 -- 1110num 5;break; case 0xdd: //1011 -- 1101num 6; break; case 0xbd: // 1011num 7;break;case 0x7d: // 0111num 8;break;}while(temp ! 0xf0){temp P3;temp temp0xf0;}// 函数的参数可以作为子函数进行调用/*dula 1;0 table[num -1];dula 0; */}}// 检测第三行-------------------------------------------|---------------|-----------------|----------------|// 检测键盘P3 0xfb;temp P3;// 1111 1110 1111 0000 1111 0000// 0xf0 表示的值是0000 1111--- 1111 0000temp temp0xf0; // c语言中的switchcase语句while(temp ! 0xf0){delay(5);temp P3;temp temp0xf0;while(temp ! 0xf0){temp P3;switch(temp){case 0xeb: // 0111 -- 1110num 9;break; case 0xdb: //1011 -- 1101num 10; break; case 0xbb: // 1011num 11;break;case 0x7b: // 0111num 12;break;}while(temp ! 0xf0){temp P3;temp temp0xf0;}// 函数的参数可以作为子函数进行调用/*dula 1;0 table[num -1];dula 0; */}}// 检测第四行--------|---------------|--------------------|---------------------------|-----------------------|------------- // 检测键盘P3 0xf7;temp P3;// 1111 1110 1111 0000 1111 0000// 0xf0 表示的值是0000 1111--- 1111 0000temp temp0xf0; // c语言中的switchcase语句while(temp ! 0xf0){delay(5);temp P3;temp temp0xf0;while(temp ! 0xf0){temp P3;switch(temp){case 0xe7: // 0111 -- 1110num 13;break; case 0xd7: //1011 -- 1101num 14; break; case 0xb7: // 1011num 15;break;case 0x77: // 0111num 16;break;}// 松手检测代码while(temp ! 0xf0){temp P3;temp temp0xf0;}// 函数的参数可以作为子函数进行调用/*dula 1;0 table[num -1];dula 0; */}}return num;}代码的截图-----------需要后期优化 51单片机点击某个keyboard后的显示结果
http://www.hkea.cn/news/14561374/

相关文章:

  • 北京专业网站设计公司北京网站托管维护
  • 国内用什么做网站wordpress 笑话站
  • 建设银行 贷款 查询 网站校内网站建设与维护
  • 鞍山58路公交车路线南昌seo招聘信息
  • 旅游手机网站开发wordpress 汉化工具
  • 1元涨1000粉丝网站网站建设与管理试题与答案
  • 青岛网站建设华夏亚马逊雨林到底有多恐怖
  • 营销网站建设情况调查问卷河北网站建设推广
  • 重庆网站建站建设的费用综合型网站建设
  • 云南省网站开发公司中小微企业名录库查询
  • 法律网站建设方案上海注册公司注册地址
  • 做细分行业信息网站改革开放40周年网站发展建设
  • 沧州建设网站公司国内好的网站建设
  • 有没有做翻译赚钱的网站如何套用别人网站做页面
  • 德阳网站建设网站建设浙江网站建设报价
  • 长尾词挖掘工具爱站网网站开发近期市场
  • 旅游电子商务网站建设的重要性电子商务平台建设与运营技术
  • 国内优秀网站推荐口碑宣传
  • 坪山网站建设多少钱设计国外网站有哪些
  • 网站备案号是什么旅游信息网站开发背景
  • 网站开发职业生涯规划范文趣乐码少儿编程加盟
  • 响应式网站 开发网校培训
  • 做卖东西的网站多少钱wordpress创建xml
  • 有哪些做ppt用图片的网站微信聚合聊天crm系统
  • 阳江市建设网站做网站的不足 心得
  • 仿牌网站crm软件系统 运用
  • 网站怎么做seo优化百度小程序免费制作
  • 关于网站建设工作的通报专门做app的公司有哪些
  • 做电商网站必需知道qc阿里云网站怎么备案域名
  • 自己做网站美工注册域名的网站