久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2092|回復(fù): 9
收起左側(cè)

用單片機定時中斷做個定時水循環(huán)系統(tǒng),代碼不報錯,時間和預(yù)想的不一樣

[復(fù)制鏈接]
ID:821461 發(fā)表于 2022-4-19 19:07 | 顯示全部樓層 |閱讀模式
求幫助!我用定時中斷做個定時水循環(huán)系統(tǒng),代碼沒報錯,但是關(guān)水泵的時間和預(yù)想的不一樣,請教大佬,我哪里弄錯了原定計劃是:5分鐘開, 30分鐘關(guān),這樣一直循環(huán)。
void time0_init(void)
{
        TMOD|=0X01;//選擇為定時器0模式,工作方式1
        TH0=0XFC;        //給定時器賦初值,定時1ms
        TL0=0X18;        
        ET0=1;//打開定時器0中斷允許
        EA=1;//打開總中斷
        TR0=1;//打開定時器               
}
void main()
{        
        time0_init();//定時器0中斷配置
//        beng=0;
        while(1)
        {                        

        }               
}


void time0() interrupt 1 //定時器0中斷函數(shù)
{
        static u16 i;//定義靜態(tài)變量i
        static u8 j;  //定義秒變量
        static u8 k;  //定義分鐘變量
        TH0=0XFC;        //給定時器賦初值,定時1ms
        TL0=0X18;
        i++;
        if(i==1000)                  //一秒的計時
        {
                i=0;
                j++;
        }               
        if(j==60)                  //一分鐘的計時
        {
                k++;
                j=0;
                i=0;
        }        
        if(k==5 && beng==0)          //到了5分鐘,并且水泵打開的情況下
        {
                beng=1;                          //關(guān)閉水泵
                k=0;
                i=0;
                j=0;
        }
        if(k==30 && beng==1)          //到了30分鐘,并且水泵關(guān)閉的情況下
        {
                beng=0;                          //打開水泵
                k=0;
                i=0;
                j=0;
        }                        
}


回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2022-4-19 21:39 來自觸屏版 | 顯示全部樓層
把定時器設(shè)置為10ms,i改成char 定100看看會不會準(zhǔn)點
回復(fù)

使用道具 舉報

ID:911455 發(fā)表于 2022-4-19 22:09 | 顯示全部樓層
用的什么型號的單片機,晶振頻率呢?說到底還初值賦的對不對,定義個輸出引腳,看下輸出周期對不對
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2022-4-20 05:37 | 顯示全部樓層
  1. void time0() interrupt 1 //定時器0中斷函數(shù)
  2. {
  3.         static u16 i;//定義靜態(tài)變量i
  4.         static u8 j;  //定義秒變量
  5.         static u8 k;  //定義分鐘變量
  6.         TH0=0XFC;        //給定時器賦初值,定時1ms
  7.         TL0=0X18;
  8.         i++;
  9.         if(i==1000)                  //一秒的計時
  10.         {
  11.                 i=0;
  12.                 j++;               
  13.                 if(j==60)                  //一分鐘的計時
  14.                 {
  15.                         j=0;
  16.                         k++;
  17.                         if(k==35)k=0;               
  18.                 }               
  19.         }
  20.         if(k<5)beng=0;  //打開水泵
  21.         if(k>=5)beng=1; //關(guān)閉水泵
  22. }
復(fù)制代碼
回復(fù)

使用道具 舉報

ID:821461 發(fā)表于 2022-4-20 10:01 | 顯示全部樓層
感謝,wulin 、188610329、innere 各位大佬,已經(jīng)解決了。萬分感謝。
回復(fù)

使用道具 舉報

ID:911455 發(fā)表于 2022-4-20 10:13 | 顯示全部樓層
xiaosps 發(fā)表于 2022-4-20 10:01
感謝,wulin 、188610329、innere 各位大佬,已經(jīng)解決了。萬分感謝。

別光感謝啊,解決了說說是哪的原因啊?
回復(fù)

使用道具 舉報

ID:821461 發(fā)表于 2022-4-20 17:49 | 顯示全部樓層
innere 發(fā)表于 2022-4-20 10:13
別光感謝啊,解決了說說是哪的原因啊?

單片機是51的,晶振是12M,我原來的意思是想水泵工作5分鐘,休息30分鐘。
代碼成功燒錄后遇到的問題是,休息時間過長,工作時間太短。
使用的是wulin大佬的辦法解決的,我看了下應(yīng)該是我的判斷不對,導(dǎo)致重復(fù)判斷了。
回復(fù)

使用道具 舉報

ID:1023659 發(fā)表于 2022-5-4 00:20 | 顯示全部樓層
代碼主體沒問題,就是在判斷水泵開關(guān)的時候判斷反了,beng=1為關(guān),beng=0為開
回復(fù)

使用道具 舉報

ID:593706 發(fā)表于 2022-5-5 17:06 | 顯示全部樓層
用普通的單片機做定時器,不管程序?qū)懙亩嗝春茫刖_定時是不可能地,這是單片機的硬件和軟件同共造成的誤差,如果使用外部時鐘源,情況就會好很多,我以前用單片機內(nèi)部中斷做過電子鐘,每24小時誤差隨便都在15秒以上,用外部的時鐘源配合單片機做的時鐘,一個月的誤差不超過5秒
回復(fù)

使用道具 舉報

ID:1026496 發(fā)表于 2022-5-15 10:55 | 顯示全部樓層
static u16 i;//定義靜態(tài)變量i         static u8 j;  //定義秒變量         static u8 k;  //定義分鐘變量 中加入Volatile
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 黄色国产大片 | 龙珠z在线观看 | 在线国产精品一区 | 日本二区在线观看 | 久久久久国产一级毛片高清网站 | 久久精品亚洲精品国产欧美kt∨ | 久久精品久久久久久 | 丝袜久久 | 欧美精品一区二区在线观看 | 国产精久久久久久久妇剪断 | 在线观看一区 | 人人爽人人草 | 日韩三片 | 欧美一区二区三区免费在线观看 | 日韩欧美国产精品一区 | 欧美日韩电影一区二区 | 精品成人在线视频 | 日韩在线观看网站 | 中文字幕啪啪 | 国产人免费人成免费视频 | 久久99久久久久 | 亚洲成人一区 | 91精品一区二区三区久久久久 | 中文字幕日韩欧美 | 久久99精品久久久久子伦 | 91福利电影在线观看 | 成人在线视频免费看 | 在线观看国产三级 | 天堂在线免费视频 | 国产精品久久久久久久久免费丝袜 | 欧美在线一区视频 | 99色综合| 少妇精品久久久久久久久久 | 日日摸夜夜添夜夜添特色大片 | 国产精品网址 | 一级二级三级黄色 | 亚洲精品福利在线 | 亚洲综合国产精品 | 狠狠操天天干 | 粉嫩国产精品一区二区在线观看 | 美女国产一区 |