⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d8255.c

📁 八个c源码,有单片机控制下的跑马灯,交通灯,ad转换,8255a等
💻 C
字号:
#include<reg51.h>
#include<absacc.h>
#define PC XBYTE[0xff7E]
#define COL1 XBYTE[0xff7F]
#define PA XBYTE[0xff7C]
#define PB XBYTE[0xff7D]
//#define COL2 XBYTE[0xff7c]
#define uchar unsigned char
uchar temp,key;
void delay() //10ms延时子程序 程序: 

{ unsigned char i,j,k;

 for(i=5;i>0;i--) 

for(j=4;j>0;j--)

 for(k=248;k>0;k--); 
} 

keyscan()
{
  
  PC=0Xfe;
  temp=PC;
  //temp=temp&0xf8;
  if(temp!=0xfe)
       delay();
       temp=PC;
     //  temp=temp&0xf8;
     if(temp!=0xfe)
        {
           switch(temp)
              {
                   case 0xee :   key=1;break;
                   case 0xde :   key=2;break;
                   case 0xbe :   key=3;break;
                  // case 0x7e:   key='*';break;
              }
        }
  PC=0Xfd;
  temp=PC;
 // temp=temp&0xf8;
  if(temp!=0xfd)
       delay();
       temp=PC;
       //temp=temp&0xf8;
     if(temp!=0xfd)
        {
           switch(temp)
              {
                   case 0xed :   key=4;break;
                   case 0xdd :    key=5;break;
                   case 0xbd :   key=6;break;
                  // case 0x7d :   key=0;break;
              }
        }
 PC=0XfB;
  temp=PC;
  //temp=temp&0xf8;
  if(temp!=0xf8)
       delay();
       temp=PC;
      // temp=temp&0xf8;
     if(temp!=0xf8)
        {
           switch(temp)
              {
                   case 0xeb :   key=7;break;
                   case 0xdb :   key=8;break;
                   case 0xbb :   key=9;break;
                 //  case 0x7b :   key='#';break;
              }
        }
  PC=0Xf7;
  temp=PC;
  //temp=temp&0xf8;
  if(temp!=0xf7)
       delay();
       temp=PC;
      // temp=temp&0xf8;
     if(temp!=0xf7)
        {
           switch(temp)
              {
                   case 0xe7 :   key='*';break;
                   case 0xd7 :   key=0;break;
                   case 0xb7 :   key='#';break;
                 //  case 0x7b :   key='#';break;
              }
        }
  return key;
} 
void main()
{
  // COL1=0x89;
   COL1=0x88;
  
   while(1)
    { 
     
      keyscan();
     
      PB=key;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -