打印

120急救,这个矩阵按键和显示一直困扰着我

[复制链接]
1743|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tyb520|  楼主 | 2010-10-9 22:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//********各位大虾为什么显示出了毛病…………………………
#include<reg52.h>
//#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delayms(uchar);/****延时声明******/
void display(uchar dat);/***显示声明*****/
void keyscan(); /******键盘扫描声明****/
sbit LS138A=P2^2; /*****led的位选******/
sbit LS138B=P2^3; /*****led的位选******/
sbit LS138C=P2^4;  /*****led的位选******/
void keydown(void);
uchar code dis[] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,   
                     0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0x86,0xc7,0xff};
         
uchar temp,num,wel[2],key,disbuf;
void main()
{
  
  while(1)
  {
    P0=0xFF;
    keydown();
    display(disbuf);
  }
}
void delayms(uchar ms)
{
  uchar i;
  while(ms--)
   for(i=0;i<125;i++);
}
void keydown(void)
{
P0=0xF0;
if(P0!=0xF0)
  keyscan();
}
void keyscan()
{
temp = 0;
    P0=0xF0;                 //高四位输入   行为高电平  列为低电平
    delayms(1);
temp=P0;                 //读P1口
    temp=temp&0xF0;    //屏蔽低四位
    temp=~((temp>>4)|0xF0);   
    if(temp==1)   // p1.4 被拉低
        key=0;
    else if(temp==2)   // p1.5 被拉低
        key=1;
    else if(temp==4)   // p1.6 被拉低
        key=2;
    else if(temp==8)   // p1.7 被拉低
         key=3;
    else
        key=16;
        
    P0=0x0F;                //低四位输入  列为高电平 行为低电平
    delayms(1);
temp=P0;                //读P1口      
    temp=temp&0x0F;
    temp=~(temp|0xF0);
    if(temp==2)     // p1.1  被拉低
        key=key+0;
    else if(temp==4)   // p1.2  被拉低
        key=key+4;
    else if(temp==8) // p1.3  被拉低
        key=key+8;
    else
        key=16;  
disbuf=dis[key];
}
void display(uchar dat)
{
    uchar j;
    wel[0]=dis[dat/10];
wel[1]=dis[dat%10];
for(j=0;j<2;j++)
{
  P1=wel[j];//****数据口****
  switch(j)
  {
   case 0:LS138A=0; LS138B=0; LS138C=0; break;         
         case 1:LS138A=1; LS138B=0; LS138C=0; break;              
  }
delayms(1);
}
}

相关帖子

沙发
rockli| | 2010-10-9 23:09 | 只看该作者
飘过。
什么现象都不说明,电路图也没有。除了上帝,没人能知道。

使用特权

评论回复
板凳
免证入网| | 2010-10-10 10:52 | 只看该作者
key=key*4 ……

使用特权

评论回复
地板
免证入网| | 2010-10-10 10:53 | 只看该作者
key=key*4 +……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:脚踏实地的做人,脚踏实地的做事……

7

主题

276

帖子

1

粉丝