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

📄 msp430sgtznew.c

📁 tiMSP430F147体能监测设备源码
💻 C
📖 第 1 页 / 共 5 页
字号:
	                     }
	                   }
	                   goto mainloop; 
	   }
 next_test:
                        /*prep_led = 1;*/
	                P5OUT|=BIT1; 
	                /*incard_led = 1;*/
                        P5OUT&=~BIT0;
                        //while(card_sw == 0)
                        while(1)
			{ 
			      tz = 0;
			      a = 0;
			      //while(card_sw == 0&&a != 10)
			      while(a!= 10)
			      {
					tz = get100da();
					if (tz<=data_int)
					{	
					    a = 0;
					    continue;
					}
					tz = tz-data_int;
					if(tz>TZstart_data)
						a++;
					else
						a = 0;
					delay(255);
					delay(255);
			      }
			     if(((P1IN&BIT2)!=0)&&((FLAG&BIT3)!=0))
			     goto testend;
			     
			     //prep_led = 1;	
			     //test_led = 0;		//测试开始
			     /*prep_led = 1;*/
			     P5OUT&=~BIT1; 	
			     /*test_led = 0;*/		//测试开始
			     P5OUT|=BIT2;
			     /***********************/	
			     sound_s();
	    		     a = 0;
	    		     stand = IC_R(0x08);
	    		     stand = stand*10;
	    		     prenum = stand;
	    		     HEX_BCD(stand);
	    		     disp_lcd(BCD[4],BCD[5],BCD[6],BCD[7],3);
			     delay(255);
			     delay(255);
			     delay(255);
			     delay(255);
			     tljish = 0;
			     subf = 0xb0;
			     dispf = 0;
			     addnumbf = 0;
			     b=0;
			     
			     
			     
			     
			     
			     
			     
			     
			     
			      
      
                         }


void checkcard(void)
{
	if((P1IN&BIT2)== 0)    //P1IN&BIT2为card_sw
	{
	      	  delay(200);
	          IC_error = 0;
	          a = IC_read(PASS0);
                  i = a;
		  i = i<<8;
		  a = IC_read(PASS1);
		  i = i+a;
	          if ((IC_error == 0xff)||(i!=0x4a48))		//判卡:1。插反  2。误卡
		  {
		      //while(card_sw == 0)
                        while((P1IN&BIT2)== 0)
                        {
                              disp_lcd(0x0d,0x0c,0x0c,0x0d,0);
                              //EA = 0;
			      _DINT();
			      sound_s();
			      sound_s();
			      //EA = 1;
			      _EINT();
			      delay(100);
			      delay(100);
			      delay(100);
			      delay(100);
			 }
		  }
		  else
		  {
		  	/*prep_led = 0;*/
			P5OUT|=BIT1;
			/*incard_led = 1;*/
			P5OUT&=~BIT0; 
			/*P5OUT|=BIT0; */
			a = IC_read(NUM0);
			i = a;
			i = i<<8;
			a = IC_read(NUM1);
			i = i+a;
			HEX_BCD(i);
			disp_lcd(BCD[4],BCD[5],BCD[6],BCD[7],0);//显示编号
			sound_s();
			delay(255);
			delay(255);	
			delay(255);
			delay(255);
			readicid();                             /*************读取卡号****************/         
			b = 0;
			//EX0 = 0; 
			P2IE&=~BIT6;   
			prenum = 0;
			a = IC_read(FYS_flag);
			if (a!=0)
			{
			   //repeatestf = 0xb0;
			   //goto disp_end;	//已经测试,显示结果
			   xsjg();
			}
		   }
          }
}


void HEX_BCD(unsigned long dd)
{	
	unsigned long div;
	uchar i;
	div=10000000;
	for (i=0;i<8;i++) 
	{
		BCD[i]=dd/div;
		dd%=div;
		div/=10;
	}
}
void HEX_BCD4(uint dd)
{	
	uint div;
	uchar i;
	div=10000;
	for (i=3;i<8;i++) 
	{
		BCD[i]=dd/div;
		dd%=div;
		div/=10;
	}
}
//////////////////////////////////

void sound_s(void)
{
	/*sound = 1;*/
	P5OUT|=BIT7;     //打开蜂鸣器
	delay(200);
	delay(200);
	/*sound = 0;*/
	P5OUT&=~BIT7;   //关闭蜂鸣器	
}

void sound_star(void)
{
	/*sound = 1;*/
	P5OUT|=BIT7;     //打开蜂鸣器
	delay (200);
	delay (200);
	delay (200);
	delay (200);
	/*sound = 0;*/
	P5OUT&=~BIT7;   //关闭蜂鸣器	
}

void delay1(uchar x)
{
	uint i;
   	for(i=0;i<x;i++);

}
void nop()
{
}
/*void start()
{
	sda=1; 
   	nop(); 
   	scl=1; 
   	nop(); 
   	sda=0; 
   	nop(); 
   	scl=0; 
   	nop();
}*/
void start430()
{
        P3OUT|=(SDA430+SCL430);   //将SDA置1
        P3DIR|=(SCL430+SDA430);   //将SCL SDA定义为输出
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        P3OUT|=SCL430;          //SCL=1
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        P3OUT&=~SDA430;         //SDA=0;
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        P3OUT&=~SCL430;         //SCL=0
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
}
/*void stop()
{
   	sda=0; 
   	nop(); 
   	scl=1; 
   	nop(); 
   	sda=1; 
   	nop();
}*/
void stop430()
{
       P3OUT&=~SDA430;       //SDA=0
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
       P3OUT|=SCL430;        //SCL=1
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
       P3OUT|=SDA430;        //SDA=1
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
}
/*void writex(uchar j)
{
   	uchar i,temp;
   	temp=j;
   	for (i=0;i<8;i++)
   	{
      		temp=temp<<1; 
      		scl=0; 
      		nop(); 
      		sda=CY; 
      		nop(); 
      		scl=1; 
      		nop();
   	}
   	scl=0; 
   	nop(); 
   	sda=1; 
   	nop();
}*/
void writex430(uchar j)
{      
        uchar i,temp,temp1;
   	temp=j;
   	for (i=0;i<8;i++)
   	{
   	     P3OUT&=~SCL430;    //SCL=0;
   	     nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
   	     //P3OUT&=~SDA430;
   	     nop();
   	     nop();
   	     temp1=(temp&0x80);
   	     if(temp1==0) P3OUT&=~SDA430;
   	     else P3OUT|=SDA430;  
   	     /*P3OUT|=((temp&0x80)/32); //sda=temp的最高位*/
   	     temp=temp<<1;
   	     nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
   	     P3OUT|=SCL430;    //SCL=1;
   	     nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
             nop();
   	     
   	  }
   	P3OUT&=~SCL430;       //SCL=0
   	nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
   	P3OUT|=SDA430;      //SDA=1
   	nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();

⌨️ 快捷键说明

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