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

QQ登錄

只需一步,快速開始

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

學(xué)51單片機(jī)-按鍵的中斷檢測(cè)

  [復(fù)制鏈接]
ID:74835 發(fā)表于 2015-3-20 23:06 | 顯示全部樓層 |閱讀模式
      
      接著昨天,繼續(xù)說按鍵的事。昨天說的是掃描檢測(cè),今個(gè)說一下中斷檢測(cè)。先插播一個(gè)小故事~~
      當(dāng)年我和凱凱學(xué)單片機(jī)的時(shí)候,我用掃描檢測(cè)的方法做的項(xiàng)目,他用中斷檢測(cè)的方法做的項(xiàng)目。當(dāng)我倆坐一起交流按鍵檢測(cè)的方式時(shí),他火了,直接跳起來跟我吼:你不用中斷怎么檢測(cè)?
      當(dāng)時(shí)我就意識(shí)到他可能陷入了只能用中斷的誤區(qū),然后就樂呵呵的說:用掃描啊~
      他繼續(xù)吼,我繼續(xù)樂,我倆就這樣陷入了死循環(huán)。終于都累了,然后把程序和原理給他看,了解~
      在STC89C52單片機(jī)上,具有外部中斷功能的引腳有兩個(gè):P3.2 –INT0 和 P3.3-INT1。上電默認(rèn)的情況下,他們是普通IO引腳;當(dāng)配置好相關(guān)寄存器之后,他們就變成了具有中斷檢測(cè)功能的引腳。
      外部中斷相關(guān)的寄存器有兩個(gè):TCON 和 IE。圖示如下:
特殊功能寄存器IE
      IT0和IE0對(duì)應(yīng)P3.2引腳的中斷功能配置,IT1 和 IE1對(duì)應(yīng)P3.3 引腳的中斷功能配置。
      當(dāng)IT0 = 0 的時(shí)候,該中斷的觸發(fā)方式為低電平觸發(fā)。      當(dāng)IT0 = 1 的時(shí)候,該中斷的觸發(fā)方式為下降沿觸發(fā)。
      當(dāng)中斷被觸發(fā)時(shí),IE0 被自動(dòng)置一,當(dāng)CPU相應(yīng)中斷,處理中斷程序時(shí),IE0 自動(dòng)清零。
      IT1 和 IE1 同理,不做解釋。
      EA是什么?它是這個(gè)單片機(jī)中斷功能的總開關(guān)!只有當(dāng)它等于1的時(shí)候,各個(gè)中斷的請(qǐng)求才可以被允許,不然的話都是被屏蔽的。
      ES是串口中斷允許位。
      ET1是定時(shí)/計(jì)數(shù)器1溢出中斷允許位。
      ET0是定時(shí)/計(jì)數(shù)器0溢出中斷允許位。
      EX1是外部中斷1允許位。
      EX0是外部中斷0允許位。
      就是說,當(dāng)我們想用外部中斷0的時(shí)候,必須總中斷(EA)和外部中斷(EX0)同時(shí)打開才能用,缺一不可!
      這些寄存器的資料那里來的? 上官網(wǎng)找器件手冊(cè),這是最權(quán)威的文檔。找的過程中,既鍛煉了查找資料的能力,又鍛煉了閱讀資料的能力,這在以后的工作中是必備的。
      好了,上程序。依舊是按鍵控制LED翻轉(zhuǎn),這次是用中斷觸發(fā)的方式,下降沿觸發(fā)。
      程序下載鏈接: KEY_INT.zip (26.86 KB, 下載次數(shù): 152)
      對(duì)了,留個(gè)思考題 interrupt 后面的0 和using 后面的1分別是什么意思?


   



評(píng)分

參與人數(shù) 2黑幣 +8 收起 理由
舊顏 + 5 很給力!
WANGCHONG + 3 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:105358 發(fā)表于 2016-2-12 20:57 | 顯示全部樓層
樓主可否解釋一下,按鍵的中斷信號(hào)是怎么送到EX0的
回復(fù)

使用道具 舉報(bào)

ID:117997 發(fā)表于 2016-5-2 18:42 | 顯示全部樓層
下載下來看看,我需要這個(gè)
回復(fù)

使用道具 舉報(bào)

ID:128730 發(fā)表于 2016-6-30 18:03 | 顯示全部樓層
..來看看,,
回復(fù)

使用道具 舉報(bào)

ID:150362 發(fā)表于 2016-11-26 17:04 | 顯示全部樓層
下載下來學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:214944 發(fā)表于 2017-6-26 22:19 | 顯示全部樓層
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:230975 發(fā)表于 2017-9-6 14:42 | 顯示全部樓層
外部中斷0,按鍵直接的P3.2口,按下的時(shí)候下降沿觸發(fā)。
回復(fù)

使用道具 舉報(bào)

ID:243011 發(fā)表于 2017-10-26 08:40 | 顯示全部樓層
這是非常好的   特別好
回復(fù)

使用道具 舉報(bào)

ID:243011 發(fā)表于 2017-10-26 08:41 | 顯示全部樓層
interrupt 0  是外部中斷0,優(yōu)先級(jí)最高
回復(fù)

使用道具 舉報(bào)

ID:366399 發(fā)表于 2018-7-6 16:30 | 顯示全部樓層
很給力,學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

ID:85743 發(fā)表于 2020-5-9 19:00 | 顯示全部樓層
下載學(xué)習(xí),謝謝樓主
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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