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

📄 测试.c

📁 台湾盛群公司的单片机,型号为46R32,里面包括19264液晶的驱动程序,74系列芯片仿真程序等
💻 C
字号:
#include <ht46r54.h>
#define uchar unsigned char
#define uint unsigned int




//延时程序;
void delay_us(int t)
{
 do
 t--;
 while(t>1);
}
void delay_ms(unsigned long int t)
{
while(t!=0)
{
delay_us(1000);
t--;
}
}

void F7400()  //2输入四与非门
{
 _pac=0xdb;   
 _pbc=0xb7;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa5=!(_pa6&&_pa7);
   _pa2=!(_pa3&&_pa4);
   _pb3=!(_pb1&&_pb2);
   _pb6=!(_pb4&&_pb5);
  }  
}
void F7402()  //2输入四或非门
{
 _pac=0x6f;   
 _pbc=0xed;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa7=!(_pa5||_pa6);
   _pa4=!(_pa2||_pa3);
   _pb1=!(_pb2||_pb3);
   _pb4=!(_pb5||_pb6);
  }  
}
void F7404()  //六反相器
{
 _pac=0xab;   
 _pbc=0xab;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa6=!_pa7;
   _pa4=!_pa5;
   _pa2=!_pa3;
   _pb2=!_pb1;
   _pb4=!_pb3;
   _pb6=!_pb5;
  }
}
void F7408()  //2输入四与门
{
 _pac=0xdb;   
 _pbc=0xb7;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa5=_pa6&&_pa7;
   _pa2=_pa3&&_pa4;
   _pb3=_pb1&&_pb2;
   _pb6=_pb4&&_pb5;
  }  
}
void F7410()  //3输入端3与非门
{
 _pac=0xfb;   
 _pbc=0xbb;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa2=!(_pa3&&_pa4&&_pa5);
   _pb2=!(_pb1&&_pa6&&_pa7);
   _pb6=!(_pb3&&_pb4&&_pb5);
  } 
}
void F7411()  //3输入端3与门
{
 _pac=0xfb;   
 _pbc=0xbb;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa2=_pa3&&_pa4&&_pa5;
   _pb2=_pb1&&_pa6&&_pa7;
   _pb6=_pb3&&_pb4&&_pb5;
  } 
}
void F7420()  //4输入双与非门
{
 _pac=0xfb;   
 _pbc=0xbf;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa2=!(_pa3&&_pa4&&_pa6&&_pa7);
   _pb6=!(_pb1&&_pb2&&_pb4&&_pb5);
  } 
}
void F7421()   //4输入双与门
{
 _pac=0xfb;   
 _pbc=0xbf;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa2=_pa3&&_pa4&&_pa6&&_pa7;
   _pb6=_pb1&&_pb2&&_pb4&&_pb5;
  } 
}
void F7427()    //3输入3或非门
{
 _pac=0xfb;   
 _pbc=0xbb;   
 _pa=0xff;   
 _pb=0xff;
 while(_pb0==0)
  {
   _pb2=!(_pb1||_pa6||_pa7);
   _pa2=!(_pa3||_pa4||_pa5);
   _pb6=!(_pb3||_pb4||_pb5);
  } 
}
void F7430()    //与输入与非门
{
 _pac=0xff;   
 _pbc=0xbf;   
 _pa=0xff;   
 _pb=0xff;
 while(_pb0==0)
  {
   
   _pb6=!(_pa2&&_pa3&&_pa4&&_pa5&&_pa6&&_pa7&&_pb2&&_pb3);
  } 
}
void F7432()    //2输入4或门
{
 _pac=0xdb;   
 _pbc=0xb7;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa5=_pa6||_pa7;
   _pa2=_pa3||_pa4;
   _pb3=_pb1||_pb2;
   _pb6=_pb4||_pb5;
  }  
}
void F74138()
{
 _pac=0x00;   
 _pbc=0xff;   
 _pa=0xff;   
 _pb=0xff; 
 while(_pb0==0)
  {
   _pa=~(1<<(_pb>>5));
  }   
}

void main()
{// I/O口初始化;
    uint key,x;
    char i,j,y;
    i=0;
    j=0;
	_pac=0xff;   //pa为输入口;
	_pbc=0xff;   
    _pcc=0x00;

	_pa=0xff;   //pa口置1;
	_pb=0xff;   //pb口复初值0;
    _pc=0xff;



	while(1)
	{
     while(_pb0!=0)
      {
       _pc|=0x10;
       while(x==key){key=_pb<<8|_pa;if(_pb0==0){break;}}
       x=key;
       delay_ms(200);
       switch(key)
        {
         case 0xff7f:i--;if(i<0){i=3;}
                     _pc=0x10|(j*4+i);
                     break;//上
         case 0xffbf:i++;if(i>3){i=0;}
                     _pc=0x10|(j*4+i);
                     break;//下
         case 0xffdf:j--;if(j<0){j=2;}
                     _pc=0x10|(j*4+i);
                     break;//左
         case 0xffef:j++;if(j>2){j=0;}
                     _pc=0x10|(j*4+i);
                     break;//右
         //case 0xfff7:_pc=0x0f&(j*4+i);break;//确定
         //case 0xfffb:break;//返回
         break;
        }
      }
     _pc&=0x0f;
     y=j*4+i;
	 switch(y)
      {
       case 0:F7400();break;
       case 1:F7402();break;
       case 2:F7404();break;
       case 3:F7408();break;
       case 4:F7410();break;
       case 5:F7411();break;
       case 6:F7420();break;
       case 7:F7421();break;
	   case 8:F7427();break;
       case 9:F7430();break;
       case 10:F7432();break;
       case 11:F74138();break;
       break;
      }
	   _pac=0xff;   //pa为输入口;
	   _pbc=0xff; 
       _pa=0xff;   //pa口置1;
	   _pb=0xff;   //pb口复初值0;			
		
		
		
	}
	


}

⌨️ 快捷键说明

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