找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 9090|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

學(xué)51單片機(jī)-定時中斷與LED閃爍

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:74835 發(fā)表于 2015-3-20 23:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
      
       昨天寫的比較匆忙,出現(xiàn)了一些錯誤,感謝幾位朋友的指正。這其中也有我了解不夠透徹的地方,幸好及時暴露了自己的盲點(diǎn),不然還會繼續(xù)犯錯。
       好了,繼續(xù)今天的內(nèi)容。
這次說定時與中斷,有人說,掌握了定時與中斷,就掌握了一個單片機(jī)80%的功能;也有人說,中斷是一個單片機(jī)的靈魂。這兩句話無一不在強(qiáng)調(diào)中斷的重要性,就讓我們認(rèn)識一下,中斷到底是什么。
根據(jù)百度百科的定義:指當(dāng)出現(xiàn)需要時,CPU暫時停止當(dāng)前程序的執(zhí)行轉(zhuǎn)而執(zhí)行處理新情況的程序和執(zhí)行過程。即在程序運(yùn)行過程中,系統(tǒng)出現(xiàn)了一個必須由CPU立即處理的情況,此時,CPU暫時中止程序的執(zhí)行轉(zhuǎn)而處理這個新的情況的過程就叫做中斷。
舉個例子,我正在吃飯呢,忽然老婆大人發(fā)話了,說在網(wǎng)上看上一個包,挺好的,讓我?guī)椭犊�,于是我停下吃飯說好,去幫著付款,付完款,繼續(xù)吃飯。
這個過程中,我是CPU;吃飯是主程序;老婆大人說話,觸發(fā)了中斷;我說好,安慰了老婆的情緒同時清零了中斷標(biāo)志;去付款,處理了中斷子程序;付完款繼續(xù)吃飯,回到了主程序。
STC89C52RC單片機(jī)中的中斷分為三種:外部中斷,一般是IO口的高低電平觸發(fā);定時/計數(shù)器溢出中斷,一般是內(nèi)部定時/計數(shù)器溢出中斷;UART口中斷,收發(fā)數(shù)據(jù)時引發(fā)的中斷。這次只說定時/計數(shù)器溢出中斷。
程序如下:

/**********************51單片機(jī)學(xué)習(xí)例程***********************
*  平臺:Keil U4 + STC89C52
*  名稱:LED閃爍
*  晶體:11.0592MHZ
******************************************************************/
#include <reg52.h>

sbit led=P1^0;


/****************************************************
*
*                延時子函數(shù)
*
*****************************************************/
void delay(unsigned int i)
{
        unsigned int j;
        unsigned char k;
        for(j=i;j>0;j--)                                                        //把i賦值給j,然后進(jìn)行判斷,當(dāng)j大于0時,j減一,重復(fù)判斷,一直到符合條件為止
                for(k=125;k>0;k--);                                //首先賦值125給k,然后進(jìn)行判斷,當(dāng)k大于0時,k減一,重復(fù)判斷,一直到符合條件為止
}


/****************************************************
*
*                主函數(shù),在死循環(huán)中實現(xiàn)LED閃爍
*
*****************************************************/
int main()
{
        while(1)
        {
                led=~led;        //每隔一段時間即對輸出取反。
                delay(3000); //閃爍間隔。間隔約為0.85S
        }
        return(0);
}
       下載驗證,OK!
       今天要出差,簡單寫一下,回來后再豐滿一下。
       源碼如下: LED延時閃爍.zip (20.83 KB, 下載次數(shù): 36)

   



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

使用道具 舉報

沙發(fā)
ID:81462 發(fā)表于 2015-6-3 16:17 來自觸屏版 | 只看該作者
這也叫中斷?
回復(fù)

使用道具 舉報

板凳
ID:312132 發(fā)表于 2018-6-12 03:47 | 只看該作者
這是在忽悠新人呢
回復(fù)

使用道具 舉報

地板
ID:442473 發(fā)表于 2019-1-29 12:29 來自觸屏版 | 只看該作者
這是假的中斷吧
回復(fù)

使用道具 舉報

5#
ID:617740 發(fā)表于 2019-10-1 11:28 來自觸屏版 | 只看該作者
你這不是單片機(jī)里說的中斷
回復(fù)

使用道具 舉報

6#
ID:661314 發(fā)表于 2020-7-29 08:21 | 只看該作者
這明明就是延時、版主是不是打瞌睡了這審核都pass..,
回復(fù)

使用道具 舉報

7#
ID:1112603 發(fā)表于 2024-3-11 12:38 | 只看該作者
應(yīng)該是延時函數(shù)吧,不是嚴(yán)格意義的單片機(jī)系統(tǒng)中斷。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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