4*4键盘扫描C程序 - 玲玲的个人空间 - cpubbs论坛免费虚拟仪器博客 labview虚拟仪器讨论区 - cpubbs论坛 虚拟仪器论坛|labview论坛|labwindows论坛|vi|cvi|数据采集卡|入门教程|初学|软件下载|虚拟仪器免费博客|虚拟仪器电子商务|虚拟仪器商城|虚拟仪器人才中心|图形化单片机编程cpuview|虚拟仪器在线商城 - Powered by X-Space

4*4键盘扫描C程序

上一篇 / 下一篇  2008-04-26 19:31:48 / 个人分类:程序

#include<AT89x52.h>
#define uchar unsigned char
 uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,
    0x92,0x82,0xF8,0x80,0x90,
    0x88,0x83,0xC6,0xA1,0x86,0x8E};
uchar temp,num;
void display(uchar);
void delay(uchar a)
{
  uchar b;
  for(;a>0;a--)
    for(b=200;b>0;b--);
}
void main()
{
  while(1)
  {
    P2=0x7f;
 temp=P2;
 temp&=0x0f;
 if(temp!=0x0f)
    {
 delay(50);
 if(temp!=0x0f)
 { 
   switch(temp)
   {
     case 0x07: num=0; break;
     case 0x0b: num=1; break;
  case 0x0d: num=2; break;
     case 0x0e: num=3; break;
       }
 }
 }
 P2=0xbf;
 temp=P2;
 temp&=0x0f;
 if(temp!=0x0f)
 {
 delay(50);
 if(temp!=0x0f)
 {
   switch(temp)
   {
     case 0x07: num=4; break;
     case 0x0b: num=5; break;
  case 0x0d: num=6; break;
     case 0x0e: num=7; break;
       }
    }
 }
 P2=0xdf;
 temp=P2;
 temp&=0x0f;
 if(temp!=0x0f)
 {
 delay(50);
 if(temp!=0x0f)
 {
   switch(temp)
   {
     case 0x07: num=8; break;
     case 0x0b: num=9; break;
  case 0x0d: num=10; break;
     case 0x0e: num=11; break;
       }
    }
 }
 P2=0xef;
 temp=P2;
 temp&=0x0f;
 if(temp!=0x0f)
 {
 delay(50);
 if(temp!=0x0f)
 {
   switch(temp)
   {
     case 0x07: num=12; break;
     case 0x0b: num=13; break;
  case 0x0d: num=14; break;
     case 0x0e: num=15; break;
       }
 }
 }
 display(num);
  }
}
void display(uchar i)
{
  P3=0xf0;
  P0=table[i];
}


TAG: 程序 键盘 扫描

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 32969
  • 日志数: 1
  • 建立时间: 2008-04-26
  • 更新时间: 2008-04-26

RSS订阅

Open Toolbar