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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1314|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機C語言程序 如何添加30秒定時,讓燈不在亮

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1084356 發(fā)表于 2023-6-27 20:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面這段程序大致效果是通過一個按鍵切換8的LED燈組成的流水燈模式的變換。那如何添加定時程序,使它不論在什么模式下只要總體運行30秒后8的燈不在亮。

單片機源程序如下:
#include<reg51.h>void delay(unsigned char ms)               
{
        unsigned char i,j,k,n;
        for (k=0;k<ms;k++)
                for(i=0;i<20;i++)      
                        for(j=0;j<13;j++)               
                        for(n=0;n<2;n++);               
}         
  


void code moshi0()
{      
   P0 = 0xff;
}


void code moshi1()
{
   unsigned char i,j;
   j=0x01;
  for(i=0;i<8;i++)
{
  P0=~j;
  delay(5000);
  j<<=1;
}      
}




void code moshi2()  
{
     P0=0Xaa;
     delay(2000);
     P0=~0Xaa;
     delay(2000);
}


void code moshi3()  
{
    char a;
        a=8;
        P0=0x7f;
        while(a--)
        {
            delay(5000);
                P0=(P0>>1)+0x80;
    }
}


void code moshi4()
{
char a,b;
        char x;         
        x=3;
        P0=0xe7;
        delay(2000);
        while(x--)
        {
             a=P0&0xf0;            
            b=P0&0x0f;            
            a=(a<<1)+0x10;
            b=(b>>1)+0x08;
            P0=a+b;
            delay(2000);
    }
}


void code moshi5()  
{
P0 = 0x00;
delay(50);
P0=0xff;
delay(50);
}


void code moshi6()
{
P0 = 0xf0;
delay(2000);
P0=~0xf0;
delay(2000);
}




unsigned char  i=0;  
sbit key = P2^0;
void (* moshi)() = moshi0;  


void key_scan()
{
        TR0 = 0;
        TH0 = 0x3c;
        TL0 = 0xb0;      
        TR0 = 1;
        key = 1;
        delay(1);
                if (key == 0 )   
                {
                        delay(10);   
                        if (key == 0 )
                        {
                                i++;
                                if(i>7) i=0;
                                switch(i)
                                {
                                        case 0 : moshi=moshi0;break;
                                        case 1 : moshi=moshi1;break;
                                        case 2 : moshi=moshi2;break;
                                        case 3 : moshi=moshi3;break;
                                        case 4 : moshi=moshi4;break;
                                        case 5 : moshi=moshi5;break;      
                                        case 6 : moshi=moshi6;break;
                                }      
        while( key == 0)
          delay(10);                                       
                }
        }      
}


void timer0 ()  interrupt 1
{
        key_scan();
}


void main()
{
        TMOD = 0x01;
        TH0 = 0x3c;
        TL0 = 0xb0;
        EA = 1;
        ET0 = 1;
        TR0 = 1;      
        while(1)
        {
                moshi();               
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:161164 發(fā)表于 2023-6-27 21:56 | 只看該作者
由THTL=0x3CB0得知定時中斷是50ms
可在key_scan()內(nèi)新加一靜態(tài)變量并++
當該變量大于600時就不運行TR0=1;
并運行moshi=moshi0;
回復(fù)

使用道具 舉報

板凳
ID:899081 發(fā)表于 2023-6-28 08:38 | 只看該作者
二樓說的對用定時器。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲区一区二 | 国产黄色一级片 | 欧美一级α片 | 亚洲精品一区二区 | 粉嫩一区二区三区性色av | 国产精品成人一区二区三区吃奶 | 久久免费精品 | 午夜网 | 久久一区二区三区四区 | 中文字幕高清 | 亚洲精品一区二区在线观看 | 久久精品一区二区三区四区 | 日本不卡一区 | 亚洲精品国产电影 | 国产一区二区三区精品久久久 | av香蕉| 在线免费黄色小视频 | 日日淫 | 在线一区 | 精品一二三区在线观看 | 亚洲天堂日韩精品 | 人人玩人人添人人澡欧美 | 91av视频 | 国产97视频在线观看 | 欧美日韩在线免费观看 | 97伦理| 在线视频国产一区 | 国产三区在线观看视频 | 夜夜夜久久久 | hitomi一区二区三区精品 | 另类专区成人 | 久久久久无码国产精品一区 | 欧美 日韩精品 | 国产免费又色又爽又黄在线观看 | a久久 | 亚洲精品一区二三区不卡 | 国产精品乱码一区二区三区 | 美女一区二区在线观看 | 亚洲欧美日韩高清 | 国产在线一区二区三区 | 亚洲国产成人一区二区 |