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

📄 text1.c

📁 p1.5脚控制灯。 当灯点亮是
💻 C
字号:
#include<reg51.h>
#include<intrins.h>

sfr P1M0 = 0x91;
sfr P1M1 = 0x92;
sfr ADC_CONTR = 0xc5;
sfr ADC_DATA = 0xc6;
sbit P1_5 = P1^5;

unsigned char i = 1;
unsigned char flag = 0;
unsigned char liangdu;	   //转换结果

main()
{
    P1_5 = 0; 
	       
	TMOD = 0x21;	 //T1为波特率发生器,T0工作方式1
	SCON = 0x50;
	TH0 = (65535-9216)/256;
	TL0 = (65535-9216)%256;
	TL1 = 0xfd;		 //波特率为9600
	TH1 = 0xfd;
	ES = 0;
	ET0 = 1;
	TR1 = 1;
	TR0 = 1;
	EA = 1;
	
	P1M0 |= 0x80;  	 //设置P1.7为开漏,作为AD使用
    P1M1 |= 0x80;
	ADC_DATA = 0;
	ADC_CONTR = 0x87;
	_nop_();
	_nop_();

	while(1);
}

void time0(void) interrupt 1 using 2
{
    if(i>=100)
	{
	  i = 0;

	  ADC_CONTR &= 0xef;			//清标志位
      ADC_CONTR |= 0x08;	  		//启动ADC;

	  while(1)
	  {
         if((ADC_CONTR&0x10)!=0)
	     {
	        liangdu = ADC_DATA;
	 
	        SBUF = liangdu;	 //串口发送
	        while(!TI);
	        TI = 0;
     
	        if(flag==0)
	        {	     
	           if(liangdu<=100)
	           {
		          P1_5 = 1;	  //开灯
			      flag = 1;
	           }
	        }
	 
	        else  if(flag==1)
	        {
	 	       if(liangdu>=144)
		       {
			      P1_5 = 0;	   //关灯
			      flag = 0;
		       }
	         }
			break;
	      }
	   }
	
	}

	i++;
	TH0 = (65535-9216)/256;
	TL0 = (65535-9216)%256;
}

⌨️ 快捷键说明

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