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

📄 1.c

📁 Lap Proteus use simuretion
💻 C
字号:
		 
#include<reg51.h>	        
sbit c1 = P2^3;           
sbit c2 = P2^2;	
sbit c3 = P2^1;		
sbit r1 = P2^4;		
sbit r2 = P2^5;	
sbit r3 = P2^6;		
sbit r4 = P2^7;	
unsigned char BCD[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};	
 void delay_db(int time)
{
	do		
	{
	 time--;               
	}while(time>0);     
}	 

unsigned char scankey(void) 
{
  	unsigned char ret = 0xFF;		
	c1 = 0;                   	 	
	if(r1==0)	
  	{ 
      		delay_db(30000);        	          
		ret = 0x01;           	
	}                    
	if(r2==0)			
	{
		delay_db(30000);
		ret = 0x04;		
	}					
	if(r3==0)			
	{							
		delay_db(30000);
		ret = 0x07;		
	} 
	
	 c1 = 1;

 //------------------------------------------------//
   	                    
	c2 = 0;				
	if(r1==0)			
	{
		delay_db(30000);  								
		ret = 0x02;		
	}							
	if(r2==0)			
	{
		delay_db(30000);  
		ret = 0x05;		
	}							
	if(r3==0)			
	{
		delay_db(30000);  	
		ret = 0x08;             
	}							
	if(r4==0)		
	{
		delay_db(30000);  	
		ret = 0x00;	
	}
	c2 = 1;
			
//----------------------------------------//						
	c3 = 0;				
	if(r1==0)			
	{
		delay_db(30000); 	
		ret = 0x03;          		
	}							
	if(r2==0)			
	{
		delay_db(30000);  	
		ret = 0x06;	
	}					
	if(r3==0)			
	{
		delay_db(30000);  	
		ret = 0x09;		
	}
									
	c3 = 1;			
  	return(ret);			
}

/*************************** Main loop **************************/

void main(void)     
{  
	unsigned char key = 0;	
	P0 = 0x00;
	P2 = 0xFF;     		
	while(1)   		
	{
		key = scankey();		
		if( key != 0xFF)      	
		P0 = BCD[key];	
	}	
}  
/***********************************************************************************************************************/

⌨️ 快捷键说明

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