標題: 51單片機多路延時控制器小制作 [打印本頁]

作者: hslcac    時間: 2018-8-22 16:39
標題: 51單片機多路延時控制器小制作
設(shè)備上的除塵反吹控制器損壞,更換新的后,感覺程序不是很難,自己突發(fā)想法寫一個程序

做電工,愛好單片機,查資料開始的路走彎了很多,一直糾結(jié)在設(shè)置好后怎樣讀取數(shù)值,再循環(huán)倒計時,開始倒計時完后不知道怎樣賦值,很郁悶,再Q(mào)Q群問大師們都感覺太簡單沒有告訴,現(xiàn)在只有靠自己,摸索了近一個禮拜,程序部分已經(jīng)測試通過。

QQ圖片20180822162850.jpg (4.78 MB, 下載次數(shù): 116)

原來設(shè)備上的,已壞程序不知道,只知道原理

原來設(shè)備上的,已壞程序不知道,只知道原理

QQ圖片20180822162727.jpg (1.21 MB, 下載次數(shù): 139)

程序測試通過,時間循環(huán)次數(shù)100以內(nèi)可調(diào)

程序測試通過,時間循環(huán)次數(shù)100以內(nèi)可調(diào)

0.png (46.28 KB, 下載次數(shù): 123)

0.png

修改數(shù)碼管制作延時脈沖.rar

23.72 KB, 下載次數(shù): 42, 下載積分: 黑幣 -5


作者: hslcac    時間: 2018-8-22 16:41
/************按鍵控制部分****************/
void key() //按鍵
{
                if(s1==0)
                {
                        delay_50ms(10);
                        if(s1==0)
                        {                       
                                while(!s1);
                                c1++;
                        }
                }
        if(c1==1)                  //時間設(shè)置
        {
                if(s2==0)
                {
                        delay_50ms(5);
                        if(s2==0)
                        {
                        while(!s2);
                        shu1--;
                        }
                }
                if(s3==0)
                {
                        delay_50ms(5);
                        if(s3==0)
                        {
                                 while(!s3);                       
                                 shu1++;
                         }
                }
        }
        if(c1==2)                                        //循環(huán)次數(shù)設(shè)置
        {
                if(s2==0)
                {
                        delay_50ms(5);
                        if(s2==0)
                        {
                                while(!s2);
                                num1--;
                        }
               
                }
                if(s3==0)
                {
                        delay_50ms(5);
                        if(s3==0)
                        {
                                 while(!s3);                       
                                 num1++;
                         }
                         
                }       
        }
}

作者: hslcac    時間: 2018-8-22 16:42
/************中斷函數(shù)****************/
void timer0() interrupt 1                //中斷函數(shù)
{
        uchar t0;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        t0++;
        if(t0==20)
        {
                t0=0;
                shu--;
                if(shu==0)
                {
                        shu=shu1;
                        num--;
                          
                        if(num==0)
                        {
                                P1<<=1;
                           P1=P1|0x01;     //左移后,最右端自動賦值0,所以需要該語句賦值1
                           if(P1==0x7f)
                           P1=0xfe;
                                num=num1;
                         }
                }
        }
}

作者: hslcac    時間: 2018-8-22 16:43
void xsdata(uchar aa,uchar bb,uchar cc,uchar dd)//顯示函數(shù)
{
/*******       
        aa=shu/1000;
        bb=shu%1000/100;
        ********/
        aa=num%100/10;
        bb=num%10;
                       
        cc=shu%100/10;
        dd=shu%10;
               
        we1=0;
        P0=table[aa];
        delay_50ms(10);
        P0=0xff;
        we1=1;
       
        we2=0;
        P0=table[bb];
        delay_50ms(10);
        P0=0xff;
        we2=1;
       
        we3=0;
        P0=table[cc];
        delay_50ms(10);
        P0=0xff;
        we3=1;

        we4=0;
        P0=table[dd];
        delay_50ms(10);
        P0=0xff;
        we4=1;
}

作者: 夢想星辰大海    時間: 2020-6-20 10:41
哪里買的單片機
作者: 木又草    時間: 2021-6-26 13:53
有點復(fù)雜,,,,,,,,,,,




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1