<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機的兩點間溫度控制

          基于單片機的兩點間溫度控制

          作者: 時間:2011-09-28 來源:網(wǎng)絡 收藏
          5.C語言源程序

          本文引用地址:http://www.ex-cimer.com/article/172468.htm

            #include AT89X52.H>

            unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,

            0xef,0xdf,0xbf,0x7f};

            unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,

            0x6d,0x7d,0x07,0x7f,0x6f,0x00};

            unsigned char dispbuf[8]={10,10,10,10,10,10,0,0};

            unsigned char dispcount;

            unsigned char getdata;

            unsigned int temp;

            unsigned char i;

            sbit ST=P3^0;

            sbit OE=P3^1;

            sbit EOC=P3^2;

            sbit CLK=P3^3;

            sbit LED1=P3^6;

            sbit LED2=P3^7;

            sbit SPK=P3^5;

            bit lowflag;

            bit highflag;

            unsigned int cnta;

            unsigned int cntb;

            bit alarmflag;

            void main(void)

            {

            ST=0;

            OE=0;

            TMOD=0x12;

            TH0=0x216;

            TL0=0x216;

            TH1=(65536-500)/256;

            TL1=(65536-500)%256;

            TR1=1;

            TR0=1;

            ET0=1;

            ET1=1;

            EA=1;

            ST=1;

            ST=0;

            while(1)

            {

            if((lowflag==1) (highflag==0))

            {

            LED1=0;

            LED2=1;

            }

            else if((highflag==1) (lowflag==0))

            {

            LED1=1;

            LED2=0;

            }

            else

            {

            LED1=1;

            LED2=1;

            }

            }

            }

            void t0(void) interrupt 1 using 0

            {

            CLK=~CLK;

            }

            void t1(void) interrupt 3 using 0

            {

            TH1=(65536-500)/256;

            TL1=(65536-500)%256;

            if(EOC==1)

            {

            OE=1;

            getdata=P0;

            OE=0;

            temp=getdata*25;

            temp=temp/64;

            i=6;

            dispbuf[0]=10;

            dispbuf[1]=10;

            dispbuf[2]=10;

            dispbuf[3]=10;

            dispbuf[4]=10;

            dispbuf[5]=10;

            dispbuf[6]=0;

            dispbuf[7]=0;

            while(temp/10)

            {

            dispbuf[i]=temp%10;

            temp=temp/10;

            i++;

            }

            dispbuf[i]=temp;

            if(getdata77)

            {

            lowflag=1;

            highflag=0;

            }

            else if(getdata>153)

            {

            lowflag=0;

            highflag=1;

            }

            else

            {

            lowflag=0;

            highflag=0;

            }

            ST=1;

            ST=0;

            }

            P1=dispcode[dispbuf[dispcount]];

            P2=dispbitcode[dispcount];

            dispcount++;

            if(dispcount==8)

            {

            dispcount=0;

            }

            if((lowflag==1) (highflag==0))

            {

            cnta++;

            if(cnta==800)

            {

            cnta=0;

            alarmflag=~alarmflag;

            }

            if(alarmflag==1)

            {

            SPK=~SPK;

            }

            }

            else if((lowflag==0) (highflag==1))

            {

            cntb++;

            if(cntb==400)

            {

            cntb=0;

            alarmflag=~alarmflag;

            }

            if(alarmflag==1)

            {

            SPK=~SPK;

            }

            }

            else

            {

            alarmflag=0;

            cnta=0;

            cntb=0;

            }


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();