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

📄 复件 直流电机点滴.txt

📁 用于测量液滴的下降速度
💻 TXT
字号:
#include "c8051f020.h" 
#define constent 120 //定义一分钟的规定滴数
#define js 1 //定义一滴升降的高度
sbit a=P2^0;
sbit b=P2^1;
unsigned long int t=60000,p=10000;
int Count=0;
extern void init_led();
extern void senddata(unsigned char ad,unsigned char d);
extern void delay(long int t);
void main (void) 

{ 
  int m,i,n,s;
  unsigned char j;
    WDTCN = 0xde;
	WDTCN = 0xad; 
    OSCXCN =0x67;    
    OSCICN = 0x88;    
    XBR0    = 0x00;                    
    XBR1    = 0x04;					  
    XBR2    = 0x40;                    
    P74OUT  = 0xFF;
    CKCON=0x08;
    TMOD=0x11;//定时器0和1为16位模式1
    TH0=(-SYSCLK/1000)>>8;
    TL0=(-SYSCLK/1000);
    TR0=1;
    ET0=1;//定时器0中断允许
  
    P0MDOUT=0x00;//漏极开路
    P0=0x0f;//输入方式
    P2MDOUT=0xff;//推挽输出
    P2=0x00;     

    TCON|=0x01;//边沿触发

    IE|=0x01;//enable int0 interrup
    init_led();
	EA=1;
	while(1)
	{
	for(i=1;i<11;i++)
	{
	 if(t==6000*i)
	 {
	  m=constent/10*i;
	  n=Count-m;
	  if(n<0)
	  {
	   s=-n;
	   if(s>1)
	   {
	   a=1;
	   delay(s*10000);
	   a=0;
	   }
	   }
	   if(n>0)
	   {
	    s=n;
		if(s>1)
		{
		b=1;
		delay(s*10000);
		b=0;
		}
		}
	  
	  }
	  if(t==0)
	  {
	   EA=0;
	   for(j=4;j<7;j++)
	   {
	    m=Count%10;
		Count=Count/10;
	    m=(unsigned char)m;
		senddata(j,m);
	    }

		  Count=0;
		  t=60000;
	      EA=1;
	   }
	  }
   }
}
void Int0_ISR (void) interrupt 0 
{ 
	Count++;

}
void time_int(void)interrupt 1
{  
   TH0=(-SYSCLK/1000)>>8;
   TL0=(-SYSCLK/1000);
   t--;

 }
**************************************
void delay(long int t)
{
while(t--!=0);
}

#include <c8051f020.h>

sbit CLK=P1^3;
sbit DIN=P1^1;
sbit LOAD=P1^2;


void senddata(unsigned char ad,unsigned char d)
{
	int i,j=50 ;
	LOAD=0;
	for(i=0;i<8;i++)
	{
		CLK=0;
		if((ad&0x80))
			DIN=1;
		else DIN=0;
		CLK=1;
		ad=ad<<1;
	}
	for(i=0;i<8;i++)
	{
		CLK=0;
		if((d&0x80))
			DIN=1;
		else DIN=0;
		CLK=1;
		d=d<<1;
	}
	LOAD=1;
   while(j--);
}
void init_led()
{
	senddata(0x09,0xff);//选择译码方式 BCD
	senddata(0x0a,0x05);//亮度控制
	senddata(0x0b,0x07);//扫描数量
	senddata(0x0c,0x03);//停机控制
	senddata(0x0f,0x00);//测试控制
}
*********************************************

⌨️ 快捷键说明

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