找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4422|回复: 17
收起左侧

4X4键盘矩阵 自定义那都没看懂

  [复制链接]
ID:153395 发表于 2016-12-19 10:47 | 显示全部楼层 |阅读模式
N2A1B]L0~5Q2)MVWHL{AESX.png 04F66)L0_G@3KSJ9T4A{B.png
这个程序怎么看,自定义那都没看懂
回复

使用道具 举报

ID:153395 发表于 2016-12-19 15:55 | 显示全部楼层
这个我自己看明白了,不懂的可以问我
回复

使用道具 举报

ID:155971 发表于 2016-12-19 17:09 | 显示全部楼层
你想问什么?为什么可以这样消隐吗?
回复

使用道具 举报

ID:155978 发表于 2016-12-19 17:21 | 显示全部楼层
学习了
回复

使用道具 举报

ID:155989 发表于 2016-12-19 18:04 | 显示全部楼层
不错!
回复

使用道具 举报

ID:156108 发表于 2016-12-20 00:15 | 显示全部楼层
学习了!
回复

使用道具 举报

ID:156133 发表于 2016-12-20 09:29 | 显示全部楼层
回复

使用道具 举报

ID:153395 发表于 2016-12-20 09:42 | 显示全部楼层
陶悦楼蓝 发表于 2016-12-19 17:09
你想问什么?为什么可以这样消隐吗?

我刚开始自定义都没看明白,现在可以理解了,消隐是对于软件proteus来说的,硬件是不存在消隐的,这个程序的消隐是全部数码管显示完后再全部熄灭然后再跳到第一个显示
回复

使用道具 举报

ID:156159 发表于 2016-12-20 10:28 | 显示全部楼层
这个是比较简单的程序
回复

使用道具 举报

ID:153395 发表于 2016-12-20 11:03 | 显示全部楼层
穆林萱 发表于 2016-12-20 10:28
这个是比较简单的程序

对,今天又看了一个不是很会  就得一点一点分析  自定义的时候 我有的都没看懂
回复

使用道具 举报

ID:143944 发表于 2016-12-20 12:15 | 显示全部楼层
这个的话还行
回复

使用道具 举报

ID:156203 发表于 2016-12-20 13:47 | 显示全部楼层
受教了
回复

使用道具 举报

ID:152262 发表于 2016-12-20 21:15 | 显示全部楼层
我做不出来
回复

使用道具 举报

ID:150555 发表于 2016-12-20 22:32 | 显示全部楼层
先从小程序看,把独立键盘,矩阵键盘看懂,这个自然就会了。
回复

使用道具 举报

ID:156474 发表于 2016-12-21 10:23 | 显示全部楼层
学习了
回复

使用道具 举报

ID:156629 发表于 2016-12-21 20:25 | 显示全部楼层
#include<reg52.h> #define uchar unsigned char                  #define uint unsigned int                  //sbit key1=P1^0; //sbit key2=P1^1; //sbit key3=P1^2; //sbit key4=P1^3; //sbit key5=P1^4; //sbit key6=P1^5; //sbit key7=P1^6; //sbit key8=P1^7; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,             0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};        //数组0到F uchar code table1[]={0,1,2,3,4,5,6,7}; uint key; void delayms(uchar k) {   uchar i,j;         for(i=k;i>0;i--)         for(j=125;j>0;j--); }  void display(uint vaule)  //显示子函数 {P2=table1[0];         P0=table[vaule];  //uint bai,shi,ge; //                bai=vaule/100; //shi=vaule/10%10; //ge=vaule%10;                                 //   P0=table[ge];   //送段选数据 //// dula=1; //   P2=table1[2];   //送位选数据 //   delay(50); //// dula=0;                                                   //   P0=table[shi]; //// dula=1; //   P2=table1[1]; //   delay(50);  //// dula=0;                                         //   P0=table[bai]; //// dula=1; //   P2=table1[0]; //   delay(50); }  void keyscan()        //按键子函数                                    {        uint X,Y,Z;                  P1=0X0F;//行扫描         if(P1!=0X0F)         {                 if(P1!=0X0F)         {delayms(50);                                 X=P1&0X0F; //取出行扫描键值                 P1=0XF0;//列扫描                 Y=P1&0XF0;//取出列扫描键值                 Z=X|Y;//取出行扫描列扫描合并值                 switch(Z)                 {                   case 0X7E: key=0; break; case 0XBE: key=1; break;                 case 0XDE: key=2; break;                 case 0XEE: key=3; break; //                                         case 0X7D: key=4; break;                 case 0XBD: key=5; break;         case 0XDD: key=6; break;                 case 0XED: key=7; break; //                                         case 0X7B: key=8; break;                         case 0XBB: key=9; break;                 case 0XDB: key=10; break;                 case 0XEB: key=11; break;                                          case 0X77: key=12; break;                 case 0XB7: key=13; break;                         case 0XD7: key=14; break;                         case 0XE7: key=15; break;                                          }; //                break;         } //                P1=0X0F; //                while(P1!=0X0F);         }  }  void main() {         while(1)         {          keyscan(); display(key); } }
回复

使用道具 举报

ID:156629 发表于 2016-12-21 20:29 | 显示全部楼层
回复

使用道具 举报

ID:156918 发表于 2016-12-22 20:00 | 显示全部楼层
键盘矩阵确实难理解,我也要学了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表