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

📄 main.c

📁 stc单片机编程源代码,包括对led的操作和内部flash的读写操作等.
💻 C
📖 第 1 页 / 共 3 页
字号:
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				if(g_chRecvBuf[3]==0xa5||g_chRecvBuf[3]==0xa7)
				{
					num=tab2[g_chRecvBuf[11]];
				}
				else
				{
					num=tab[g_chRecvBuf[11]];
				}
				
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				if(g_chRecvBuf[3]==0xa0||g_chRecvBuf[3]==0xa2)
				{
					num=tab2[g_chRecvBuf[12]];
				}
				else
				{
					num=tab[g_chRecvBuf[12]];
				}
				
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				num=tab[g_chRecvBuf[13]];
				for(c=0;c<8;c++)
				{       
				 	 bSRCLK=0;
				     bDAT=num&0x80;
				     num=num<<1;          
				     bSRCLK=1;
				     _nop_();
				     bSRCLK=0;         							
				}
			}	
		break;
		case 2:
			if(g_chRecvBuf[8]==0xa0)
			{
				for(i=1;i<2;i++)
				{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
			    }
			    if(g_chRecvBuf[3]==0xa6||g_chRecvBuf[3]==0xa8)
				{
					num=tab2[g_chRecvBuf[10]];
				}
				else
				{
					num=tab[g_chRecvBuf[10]];
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				if(g_chRecvBuf[3]==0xa5||g_chRecvBuf[3]==0xa7)
				{
					num=tab2[g_chRecvBuf[11]];
				}
				else
				{
					num=tab[g_chRecvBuf[11]];
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				if(g_chRecvBuf[3]==0xa0||g_chRecvBuf[3]==0xa2)
				{
					num=tab2[g_chRecvBuf[12]];
				}
				else
				{
					num=tab[g_chRecvBuf[12]];					
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				num=tab[g_chRecvBuf[13]];
				for(c=0;c<8;c++)
				{       
				 	 bSRCLK=0;
				     bDAT=num&0x80;
				     num=num<<1;          
				     bSRCLK=1;
				     _nop_();
				     bSRCLK=0;         							
				}
			}
			else if(g_chRecvBuf[8]==0xa1)
			{
				
				for(i=1;i<2;i++)
				{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
			    }
				num=tab[10];
				for(c=0;c<8;c++)
				{       
				 	bSRCLK=0;
				   	bDAT=num&0x80;
				    num=num<<1;          
				    bSRCLK=1;
				    _nop_();
				     bSRCLK=0;         		
				}
				if(g_chRecvBuf[3]==0xa6||g_chRecvBuf[3]==0xa8)
				{
					num=tab2[g_chRecvBuf[10]];	
				}
				else
				{
					num=tab[g_chRecvBuf[10]];
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				if(g_chRecvBuf[3]==0xa5||g_chRecvBuf[3]==0xa7)
				{
					num=tab2[g_chRecvBuf[11]];	
				}
				else
				{
					num=tab[g_chRecvBuf[11]];
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}	
				if(g_chRecvBuf[3]==0xa0||g_chRecvBuf[3]==0xa2)
				{			
					num=tab2[g_chRecvBuf[12]];
				}
				else
				{
					num=tab[g_chRecvBuf[12]];
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}	
														    
				num=tab[g_chRecvBuf[13]];
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}			    																								
			}			
		break;
		case 3:
			if(g_chRecvBuf[8]==0xa0)
			{
				for(i=1;i<3;i++)
				{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
			    }
				if(g_chRecvBuf[3]==0xa5||g_chRecvBuf[3]==0xa7)
				{
					num=tab2[g_chRecvBuf[11]];
				}
				else
				{
					num=tab[g_chRecvBuf[11]];
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				if(g_chRecvBuf[3]==0xa0||g_chRecvBuf[3]==0xa2)
				{
					num=tab2[g_chRecvBuf[12]];
				}
				else
				{
					num=tab[g_chRecvBuf[12]];	
				}

				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				num=tab[g_chRecvBuf[13]];

				for(c=0;c<8;c++)
				{       
				 	 bSRCLK=0;
				     bDAT=num&0x80;
				     num=num<<1;          
				     bSRCLK=1;
				     _nop_();
				}
			}
			else if(g_chRecvBuf[8]==0xa1)
			{	

				for(i=1;i<2;i++)
				{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
			    }
				num=tab[10];
				for(c=0;c<8;c++)
				{       
				 	bSRCLK=0;
				   	bDAT=num&0x80;
				    num=num<<1;          
				    bSRCLK=1;
				    _nop_();
				     bSRCLK=0;         		
				}
				if(g_chRecvBuf[3]==0xa5||g_chRecvBuf[3]==0xa7)
				{
					num=tab2[g_chRecvBuf[11]];	
				}
				else
				{
					num=tab[g_chRecvBuf[11]];
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}				
				if(g_chRecvBuf[3]==0xa0||g_chRecvBuf[3]==0xa2)
				{			
					num=tab2[g_chRecvBuf[12]];
				}
				else
				{
					num=tab[g_chRecvBuf[12]];
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}							    
				num=tab[g_chRecvBuf[13]];
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}			    																	
			}						
		break;
		case 4:
			if(g_chRecvBuf[8]==0xa0)
			{
				for(i=1;i<4;i++)
				{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
			    }
			    if(g_chRecvBuf[3]==0xa0||g_chRecvBuf[3]==0xa2)
				{
					num=tab2[g_chRecvBuf[12]];
				}
				else
				{
					num=tab[g_chRecvBuf[12]];
				}
				
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				num=tab[g_chRecvBuf[13]];
				for(c=0;c<8;c++)
				{       
				 	 bSRCLK=0;
				     bDAT=num&0x80;
				     num=num<<1;          
				     bSRCLK=1;
				     _nop_();
				     bSRCLK=0;         							
				}

			}
			else if(g_chRecvBuf[8]==0xa1)
			{		
				for(i=1;i<3;i++)
				{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
			    }
				num=tab[10];
				for(c=0;c<8;c++)
				{       
				 	bSRCLK=0;
				   	bDAT=num&0x80;
				    num=num<<1;          
				    bSRCLK=1;
				    _nop_();
				     bSRCLK=0;         		
				}
				if(g_chRecvBuf[3]==0xa0||g_chRecvBuf[3]==0xa2)
				{			
					num=tab2[g_chRecvBuf[12]];
				}
				else
				{
					num=tab[g_chRecvBuf[12]];
				}
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
					
				num=tab[g_chRecvBuf[13]];
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}							    																				
			}		
		break;
		case 5:
			if(g_chRecvBuf[8]==0xa0)
			{
				for(i=1;i<5;i++)
				{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
			    }
				num=tab[g_chRecvBuf[13]];
				for(c=0;c<8;c++)
				{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         							
				}
			}
			else if(g_chRecvBuf[8]==0xa1)
			{	
				for(i=1;i<g_chDataHighBitOffsetPos-1;i++)
				{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
			    }	
				num=tab[10];
				for(c=0;c<8;c++)
				{       
				 	bSRCLK=0;
				   	bDAT=num&0x80;
				    num=num<<1;          
				    bSRCLK=1;
				    _nop_();
				     bSRCLK=0;         		
				}	
				num=tab[g_chRecvBuf[13]];
				for(c=0;c<8;c++)
				{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         							
				}						    		
			}
		break;	
		default:
		break;								
	}

TR0=0;

     bRCLK=0;
     _nop_();
	 _nop_();
     bRCLK=1;
     _nop_();
     _nop_();
     bRCLK=0; 
TR0=1;
}
//*********************************************************************
//** 函数名:   DisplayData()
//*  输 入:   
//*  输 出:    
//*  功能描述: 可控制亮度的数据显示
//*  全局变量:
//*  调用模块: 
//*  作 者:    wzw
//*  日 期:    2006-07-27
//*  修 改:
//*  日 期:
//*  版 本:
//*********************************************************************
void DisplayDataGun(void)
{
   Uchar num;
    Uchar c; 
	Uchar i=0;     
	bCS=0;

		if(g_chRecvBuf[9]==0x0)
		{
			g_chDataHighBitOffsetPos=2;
			if(g_chRecvBuf[10]==0x0)
			{
				g_chDataHighBitOffsetPos=3;				
			}			
		}
		else
		{
			g_chDataHighBitOffsetPos=1;	
		}

	switch(g_chDataHighBitOffsetPos)
	{
		case 1:
			if(g_chRecvBuf[8]==0xa0)
			{
				num=tab[12];
				for(c=0;c<8;c++)
				{       
			 	    bSRCLK=0;
			    	bDAT=num&0x80;
			        num=num<<1;          
			        bSRCLK=1;
			        _nop_();
			        bSRCLK=0;         		
			    }
			}
			else if(g_chRecvBuf[8]==0xa1)
			{
				num=tab[10];
				for(c=0;c<8;c++)
				{       
			 	    bSRCLK=0;
			    	bDAT=num&0x80;
			        num=num<<1;          
			        bSRCLK=1;
			        _nop_();
			        bSRCLK=0;         		
			    }
			}
				num=tab[g_chRecvBuf[9]];
				for(c=0;c<8;c++)
				{       
				 	bSRCLK=0;
				    bDAT=num&0x80;
				    num=num<<1;          
				    bSRCLK=1;
				    _nop_();
				    bSRCLK=0;         		
			    }
				num=tab[g_chRecvBuf[10]];
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				num=tab2[g_chRecvBuf[11]];
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				num=tab[g_chRecvBuf[12]];
				for(c=0;c<8;c++)
				{       
					 bSRCLK=0;
					 bDAT=num&0x80;
					 num=num<<1;          
					 bSRCLK=1;
					 _nop_();
					 bSRCLK=0;         		
				}
				num=tab[g_chRecvBuf[13]];
				for(c=0;c<8;c++)
				{       
				 	 bSRCLK=0;
				     bDAT=num&0x80;
				     num=num<<1;          
				     bSRCLK=1;
				     _nop_();
				     bSRCLK=0;         							
				}				
		break;
		case 2:
			if(g_chRecvBuf[8]==0xa0)
			{
				for(i=1;i<3;i++)
				{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
			    }
			}
			else if(g_chRecvBuf[8]==0xa1)
			{
					num=tab[12];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }
				    				
					num=tab[10];
					for(c=0;c<8;c++)
					{       
				 	    bSRCLK=0;
				    	bDAT=num&0x80;
				        num=num<<1;          
				        bSRCLK=1;
				        _nop_();
				        bSRCLK=0;         		
				    }			    																								
			}
				num=tab[g_chRecvBuf[10]];
				for(c=0;c<8;c++)

⌨️ 快捷键说明

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