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

📄 2.c

📁 一个我刚工作时用C语言编写的单片机数据采集卡的代码
💻 C
字号:
#include<reg52.h>
#include<absacc.h>
#define   Uchar  unsigned char
#define   Uint   unsigned int
#define   Display   P1
#define  Adadd    0xfef8
Uchar     bdata a=0,b=0,d=0;
sbit     ledgnd=P3^4;
/**********************/
sbit     s1=b^2;
sbit     s2=a^1;
sbit     s3=a^6;
sbit     s4=a^4;
sbit     s5=b^5;
sbit     s6=a^5;
sbit     s7=a^3;
sbit     s8=a^2;
sbit     s9=b^1;
sbit     s10=a^0;
sbit     s11=b^6;
sbit     s12=a^7;
sbit     s13=b^4;
sbit	 s14=b^0;
sbit	 s15=b^3;
/***********************/
sbit     sign=d^1;
sbit     xz=P3^0;
sbit     bz=P3^1;

unsigned char  led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char  s[]={0,11,2,7,5,14,6,4,3,10,1,15,8,13,9,12 };
Uchar     value ;
Uchar     c=0;
Uint      e=0;
char     keyvalue=0;


void delay(Uchar x)
{
 Uchar i,j,k;
 for(i=0;i<x;i++)
 {
     for(j=0;j<10;j++)
        {
        for(k=0;k<250;k++);
          }
    }
}

void int0()  interrupt  0  using 1
{
   
     value=XBYTE[Adadd];
	 sign=1;
	 if (c==0)
	   {
	   ++c;
	  
	   xz=1;
	   }
       
	    else
		{
		  c=0;
		  xz=0;
		  
		  }


           if  (sign==1)
	{
       
        if (value>80&value<88)    //s2 ,s4   
			{
                if (c==1)
				{
				  if (e==15)
 			     { 
				  s4=1;
				   	Display=led[s[4]]; 
					      }
                         else
					;
						}
				    else 
					{if (e==1)
                        {
                     s2=1;
					  Display=led[s[2]];
                          }                    
                          else
						  ;
                       }
			    }
			  else  if(value>58&value<66)//s1,s3
			         {    if(c==1)                   
						    {
                               if(e==63)
                                  {
								  s3=1;
                      		  	Display=led[s[3]];
								      }
                                     else
				    	;
					    }
					else
					{if(e==258 )
					  {
					  s1=1;
					  Display=led[s[1]];
					  }
					  else
					  ;
						}
						}
                  else    if (value>30&value<50)//s11  s6,s13
  				       { if (c==1)
                             { 
                            if(e==270)
                         {
                            s13=1;
								Display=led[s[13]];
                                       }
								 else
								  ;
								  }
                                   else
								   {if(e==31)
								      {
									  s6=1;
									  Display=led[s[6]];
									  }
									  else
									  ;
									  									  
							
					       }}
                      else   if (value>103&value<121)//s7 s3   s7,s8
					        {
                                  if (c==1)
								  {     if(e==3)
                                     {
										 s8=1;
                                          Display=led[s[8]];
                                                    }
                                              else
											  ;
											  }
											  else
											  {
											  if(e==7)
											  {
											   s7=1;
										        	 Display=led[s[7]];
											 }
											 else
											  ;
											  }
         								}
									 
						   else  if(value>119&value<127) //s4  s10 //s10,s9
						         {
                                     if (c==1)
									    {    if(e==0)
                                               {
                                           s10=1;
											Display=led[s[10]];
                                                      }
                                                else
												;

												}
										   else 
										   {     if(e==256)
                                                {
                                                    s9=1;
													Display=led[s[9]]; 
                                                      }
                                                     else
													 ;
                                                   } 
								     }
									else  if  (value>142&value<150)  //s9  s12
									    {							  //s5,s11
                                              if (c==1)
                                                { if(e==286)
                                                   {
											     s5=1;
                                                   Display=led[s[5]];
           													}
																else
																;
																}
												   else 
											        {    
											             if(e==318)
                                                             {
															s11=1;
														Display=led[s[11]];
																		}
                                                            else
															;
														}
										    }
										   else  if  (value>160&value<168)//s5  s6
										      {
                                                   if (c==1)			 //s14,s12
												{   if(e==255)
                                                      {
												  s14=1;
													Display=led[s[14]];
                                                               }
															else
															;
															}
												     else 
													 {  if(e==127)
                      										{
                                                        s12=1;
														Display=led[s[12]];
																}
																else
																;
                                                                  }
											     }
												 
 						 						 else  if(value>179&value<183)//s15
			                                         {  if(c==1)                   
						                              {
                                                      if(e==262)
                                                       {s15=1;
                      		                          	Display=led[s[15]];}
                                                          else
				                                           	;
					                                         }}

												 
												 sign=0;
                                                 e=a+b;
												 												 

												
												
										 }


                         
									   
	          
          
      
      XBYTE[Adadd]=c;
    
    }	 

					 



 void main()
{
   xz=0;
   delay(5);
   ledgnd=0;
   Display=led[0]  ;
   IT0=1;
   EX0=1;
   EA=1;



   XBYTE[Adadd]=c;


   while (1)
   {
   
   ;
												
           } 
 }		   

⌨️ 快捷键说明

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