新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)試驗(yàn)兩點(diǎn)間溫度控制

        單片機(jī)試驗(yàn)兩點(diǎn)間溫度控制

        作者: 時(shí)間:2013-04-02 來(lái)源:網(wǎng)絡(luò) 收藏

        5.C語(yǔ)言源程序

        #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++;

        }



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 永定县| 阜南县| 长乐市| 香格里拉县| 淮南市| 双鸭山市| 河东区| 纳雍县| 伽师县| 德州市| 双流县| 新和县| 蚌埠市| 洛南县| 青冈县| 宜州市| 南郑县| 云龙县| 漳平市| 蛟河市| 内黄县| 紫金县| 永定县| 安陆市| 梅河口市| 大城县| 丽江市| 桓台县| 呼图壁县| 平邑县| 阿克陶县| 大渡口区| 怀化市| 鸡西市| 威远县| 平潭县| 沁水县| 北海市| 濉溪县| 庐江县| 东辽县|