找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

如何通過改變延時(shí)函數(shù) 改變單片機(jī)流水燈左移移速 就是用按鍵模塊 加或是減 延時(shí)時(shí)...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:421466 發(fā)表于 2018-12-26 01:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
3黑幣

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

使用道具 舉報(bào)

沙發(fā)
ID:164602 發(fā)表于 2018-12-26 08:04 | 只看該作者
我做了個(gè)程序,你看看。
#include<reg52.h>
#include<intrins.h>

#define LED P2
sbit k1=P3^1;
sbit k2=P3^0;

void Delay10ms(unsigned char c)
{
    unsigned char a,b;
    for(;c>0;c--)
        for(b=38;b>0;b--)
            for(a=130;a>0;a--);
}

void main()
{
        unsigned char i,a=50;
        LED=0xfe;
        Delay10ms(a);
        while(1)
        {
                LED=_crol_(LED,1);
                Delay10ms(a);
                if(k1==0)
                {
                        Delay10ms(1);
                        if(k1==0)
                        {
                                a=a+10;
                            while((i<50)&&(k1==0))
                            {
                                    Delay10ms(1);
                                    i++;
                            }
                            i=0;
                        }
                }
                if(k2==0)
                {
                        Delay10ms(1);
                        if(k2==0)
                        {
                                a=a-10;
                            while((i<50)&&(k2==0))
                            {
                                    Delay10ms(1);
                                    i++;
                            }
                            i=0;
                        }
                }

        }       
}
操作時(shí),按鍵的時(shí)間稍長一點(diǎn),不然單片機(jī)掃描不到按鍵,它的運(yùn)行速度太快。
這類操作最好還是用外部中斷,用掃描法總是不怎么舒服。
回復(fù)

使用道具 舉報(bào)

板凳
ID:410399 發(fā)表于 2018-12-26 08:10 | 只看該作者
延時(shí)函數(shù)的話,傳個(gè)變量啊
uchar a = 50;
delay(a);這樣
按鍵加減a
回復(fù)

使用道具 舉報(bào)

地板
ID:449525 發(fā)表于 2018-12-26 08:19 | 只看該作者
while(1)
{
uchar count;
bit=bit>1;
P0=bit;
delay(count);
count=scanf_key();
}
簡單寫了思路,你自己在好好想想,多百度,勤練手

回復(fù)

使用道具 舉報(bào)

5#
ID:94031 發(fā)表于 2018-12-26 08:29 | 只看該作者
延時(shí)時(shí)間長短和賦給它的值有關(guān),你可以通過按鍵改變賦值大小,從而改變延時(shí)長短。
回復(fù)

使用道具 舉報(bào)

6#
ID:337280 發(fā)表于 2018-12-26 08:55 | 只看該作者
你的題目看不完,后面的看不見了,具體也不清楚你問什么。&#129300;
回復(fù)

使用道具 舉報(bào)

7#
ID:396960 發(fā)表于 2018-12-26 09:14 | 只看該作者
使用定時(shí)器實(shí)現(xiàn)點(diǎn)亮LED,定時(shí)器可以調(diào)整中斷時(shí)間。
回復(fù)

使用道具 舉報(bào)

8#
ID:426861 發(fā)表于 2018-12-26 09:15 | 只看該作者
用兩個(gè)按鍵,一個(gè)延時(shí)加,一個(gè)延時(shí)減,檢測(cè)到哪一個(gè)按鍵按下就調(diào)用延時(shí)函數(shù),延時(shí)不同的值即可
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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