6030|5

58

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

按下16个矩阵键盘依次在数码管上显示1-16的平方。 [复制链接]

按下16个矩阵键盘依次在数码管上显示1-16的平方。如按下第一个显示1,第二个显示4...
我写了第3行的检测,就是说:按键按下的话 ,会显示:16   25  36   49:
但是我在实验板上运行的时候,高位的数字只会闪一下就不见了,只有个位的数字。求大家说说原因,或给个检测的程序。
下面是我写的程序:
#include
#define uchar unsigned char
#define uint  unsigned int
uchar num,temp,num1;
uchar i=0,j=0;
uchar code table[]={0x02,0X9F,0x25,0x0D,0x99,0x49,0x40,0x1F,0x00,0x08 };//0~~~9.
void delayms(uint i)   //延时
{
  uint j;
  for(;i>0;i--)
    for(j=100;j>0;j--);
}


main()
{

while(1)
{
   P1=0Xfb;
   temp=P1;
   temp=temp&0xf0;
   if(temp!=0xf0)
   {
             delayms(5);
          while(temp!=0xf0)
          {
                   temp=P1;
                 switch(temp)
                 {
                   case 0xeb: num=2 , num1=7 ;               
                        break;
                   case 0xdb: num=3 , num1=6 ;               
                        break;
                   case 0xbb: num=4,  num1=7;               
                        break;
                  case  0x7b: num=5,  num1=10;               
                        break;
                }
                  while(temp!=0xf0)   //松手检测
                   {
                             temp=P1;
                          temp=temp&0xf0;
                   }
                   P2=0X03;       //打开十位的数码管
                   P0=table[num-1];  //P0是送具体的数字
                   delayms(50) ;
                   P2=0x01;         //个位的数码管
                   P0=table[num1-1];
                   delayms(50);
         }
   }

}
}

最新回复

:我改了时间 也不行啊,  详情 回复 发表于 2009-12-10 13:46
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
应该是数码管显示延时不好,时间间隔太长了,貌似是没4ms闪烁一下人眼就分辨不出来数码管是不是在闪动了,具体忘了~停电睡觉咯~
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
每4ms
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

4
 
但是我在实验板上运行的时候,高位的数字只会闪一下就不见了,只有个位的数字。求大家说说原因


高位只会闪下,就不亮了。 一般应该是 你LED显示保持时间不够。

你的LED的刷新频率和显示保持时间,再好好调下,应该没问题吧
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

5
 
刷新时间没有设定好
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 3 楼 kyzf 的回复:
但是我在实验板上运行的时候,高位的数字只会闪一下就不见了,只有个位的数字。求大家说说原因


高位只会闪下,就不亮了。 一般应该是 你LED显示保持时间不够。

你的LED的刷新频率和显示保持时间,再好好调下,应该没问题吧


:我改了时间 也不行啊,
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表