找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

如何編寫單片機(jī)喂魚定時(shí)器程序?

[復(fù)制鏈接]
ID:60515 發(fā)表于 2023-4-21 15:25 來自手機(jī) | 顯示全部樓層 |閱讀模式
插電輸出高電平,按一下按鍵輸出低電平延時(shí)10分鐘后輸出高電平。如果在不到10鐘內(nèi)再次按下按鍵就直接輸出高電平。
回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2023-4-21 16:45 | 顯示全部樓層
開機(jī)高電平,按鍵反轉(zhuǎn)電平,如果反轉(zhuǎn)后是低電平就延時(shí)10分鐘自動(dòng)轉(zhuǎn)高。
回復(fù)

使用道具 舉報(bào)

ID:668693 發(fā)表于 2023-4-21 18:06 | 顯示全部樓層
定時(shí)器去計(jì)數(shù),每十分鐘出一個(gè)標(biāo)志位,查詢標(biāo)志位和按鍵去處理操作程序
回復(fù)

使用道具 舉報(bào)

ID:60515 發(fā)表于 2023-4-21 19:07 來自手機(jī) | 顯示全部樓層
man1234567 發(fā)表于 2023-4-21 16:45
開機(jī)高電平,按鍵反轉(zhuǎn)電平,如果反轉(zhuǎn)后是低電平就延時(shí)10分鐘自動(dòng)轉(zhuǎn)高。

以前有做過,在電腦模擬可以過。在實(shí)物上行不通?梢越o個(gè)例子?
回復(fù)

使用道具 舉報(bào)

ID:60515 發(fā)表于 2023-4-22 12:13 來自手機(jī) | 顯示全部樓層
林神經(jīng) 發(fā)表于 2023-4-21 18:06
定時(shí)器去計(jì)數(shù),每十分鐘出一個(gè)標(biāo)志位,查詢標(biāo)志位和按鍵去處理操作程序

#include <AT89X51.H>
#define uchar unsigned char
uchar a,b;//計(jì)時(shí)標(biāo)志
sbit LED1=P1^0;
sbit LED2=P1^1;
sbit K1=P3^0;
sbit K2=P3^1;
sbit K3=P3^2;

void delay10ms(void)
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
void main(void)
{
EA=1;
ET0=1;
TMOD=0x01;
TH0=(65536-50000)/256;//定時(shí)50ms應(yīng)該要50000
TL0=(65536-50000)%256;
TR0=1;
LED1=1;
LED0=1;//我假設(shè)的是LED陰極接單片機(jī),陽極接VCC,所以輸出1是熄滅
while(1)
  {
  if(K1==0)
  {
    delay10ms();
    if(K1==0)
    {
     a=1;//按下按鍵后計(jì)時(shí)標(biāo)志為1
     LED0=0;//LED0亮
     }
  }
   if(K2==0)
  {
    delay10ms();
    if(K2==0)
    {
     b=1;//按下按鍵后計(jì)時(shí)標(biāo)志為1
     LED1=0;//LED1亮
     }
  }

    if(num==6000)//20*50毫秒等于1秒5分鐘需要300個(gè)1秒,所以是300*20=6000
    {
    a=0;//清楚標(biāo)志
    LED0=0;//燈熄滅   
    }
    if(num==12000)//20*50毫秒等于1秒5分鐘需要300個(gè)1秒,所以是300*20=6000
    {
    b=0;//清楚標(biāo)志
    LED1=0;//燈熄滅   
    }
}



}

void time0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
  if((a==1)|(b==1)) num++;//判斷計(jì)時(shí)標(biāo)志是否為1,為1就開始計(jì)時(shí)



這個(gè)程序改可以?
回復(fù)

使用道具 舉報(bào)

ID:88256 發(fā)表于 2023-4-22 13:50 | 顯示全部樓層
如果不是為了學(xué)習(xí)而是家里用的話,也可以改用ESP8266并用arduino編程,還可以在手機(jī)上進(jìn)行控制的。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表