×
嵌入式 > 技术百科 > 详情

矩阵键盘扫描

发布时间:2020-10-15 发布时间:
|
#include"type.h"
BETY_BIT status;
//code P_scanf_data_led_7[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
code N_scanf_data_led_7[16] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
unsigned char scanf_data[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d};//显存
void Delay_ms(unsigned char z)//延时程序1ms
 {
  unsigned char x;
  while(--z)
  {
    x= 10;
    while(--x);
   }
 }
void Scanf_Display(unsigned char *dat)
 {
   unsigned char x;
   for(x=0;x<6;x++)   
  {
    PORT_DATA=dat[x];
          PORT_SCANF=~(0x01<>4;
    KEY_COM=0x0f;
       Delay_ms(10);
       port_temp = KEY_COM;
    L=(~port_temp)&0x0f;  
    key_value=((proces_data(H)-1)<<2)+proces_data(L);
   }
    }
   return (key_value-1);
 }

main()
{
unsigned char temp;
while(1)
{
temp=Scanf_Key();
 if(KEY_DOWN)
{
 scanf_data[0]=N_scanf_data_led_7[temp];
 scanf_data[1]=N_scanf_data_led_7[temp];
 scanf_data[2]=N_scanf_data_led_7[temp];
 scanf_data[3]=N_scanf_data_led_7[temp];
 scanf_data[4]=N_scanf_data_led_7[temp];
 scanf_data[5]=N_scanf_data_led_7[temp];
}
 Scanf_Display(scanf_data);
}
}
 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
关于LED大屏幕保养你搞知道这些