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

📄 aasd.c

📁 温度采集显示与PID控制
💻 C
字号:
#include<reg51.h>
#include<intrins.h>
//#include<absacc.h>
#define byte unsigned char

bit as();
bit aj();
void datey();
void datey1();
sbit b1=P3^5;

sbit b2=P3^4;
sbit l1=P1^4;
sbit l2=P1^3;
sbit l3=P1^2;
sbit s1=P1^1;
sbit s2=P1^5;
unsigned char ec=250;
unsigned char ed=1;
unsigned char ee=1;
unsigned char ef=0x09;
#define xdart 0x0000
unsigned char xdata * dda ;
unsigned char xdata * ddb ;
unsigned char dgh;

extern int i2c_read(byte address);
extern bit i2c_write(byte address,int fb);
void main()
 {
   l1=0;
   l2=0;
   l3=0;
   datey();
   P2=ec;
   l1=1;l2=1;datey();
   l1=0;l2=0;
   P2=ef;
   l3=1;datey();l3=0;
   dda=xdart;
   ddb=0xffff;
   i2c_write(0x04,800);
   while(1)
     {
      if(as())
        {
        ec=ec+1;
         if(ec==0xff)
             ec=20;
         P2=ec;
        l2=1;
        l1=1;
        
        l1=0;
        l2=0;
        ed=ed+1;
        if(ed>=8)
            ed=0;
         ed=ed&0x07;
         ee=ee+1;
         if(ee>=8)
             ee=0;
         ee=ee&0x07;
         ef=((ee<<5)&0xe0)|ed;
             
         P2=ef;
         l3=1;_nop_();l3=0;
        }
   if(aj())
        {
        ec=ec-1;
        if(ec<=20)
          ec=0xff;
        P2=ec;
        l1=1;
        l2=1;
       
        l1=0;
        l2=0;
        ed=ed-1;
       
        if(ed==0xff)
            ed=0x07;
         ed=ed&0x07;
        ee=ee-1;
         if(ee==0xff)
            ee=0x07;
        ee=ee&0x07;
        ef=((ee<<5)&0xe0)|ed;
        P2=ef;
        l3=1;_nop_();l3=0;
        } 
    if(ec<=19)
         {
          ec=0xff;
          P2=ec;
          l1=1;
          l2=1;
       
          l1=0;
          l2=0;
          }
      *dda=80;
      dda++;
      if(dda==ddb)
        {
          dda=xdart;
          for(;dda<ddb;dda++)
               {
          dgh=*dda;
          if(dgh==80)
              s1=!s1;
          else s2=!s2;
               }
          dda=xdart;
          }
       if(i2c_read(0x04)==800)
               {
                 b1=0;
                 _nop_();
                 b1=1;
                }
}
}
bit as()
{
    if(!b1)
       {
        datey1();
        if(!b1)
           {
			datey1();
            while(!b1);
            datey();
            if(b1);
	           return(1);
           }
        }
 return(0);
}

bit  aj()
{
  if(!b2)
       {
        datey1();
        if(!b2)
           {
			datey1();
            while(!b2);
            datey();
            if(b2);
			return(1);
           }
        }
 return(0);
}

void datey()
{
   int i;
for(i=0;i<=50;i++)
    _nop_();
}



void datey1()
{
   int i;
for(i=0;i<=350;i++)
    _nop_();
}

⌨️ 快捷键说明

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