找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)中斷為什么按一下數(shù)字跳10幾下,這個(gè)也不好加delay吧

[復(fù)制鏈接]
ID:241249 發(fā)表于 2017-12-23 22:59 | 顯示全部樓層 |閱讀模式
51單片機(jī)中斷為什么按一下數(shù)字跳10幾下,這個(gè)也不好加delay吧
需要如何設(shè)置呢
INT0,INT1中斷 ,按一下按鍵跳了10幾下
而且按鍵抬起來也會(huì)跳幾下

請解釋一下為什么 謝謝了!


  • //主程序
  • void main()
  • {
  •         IE=0x85;
  •         PX0=1;        //中斷優(yōu)先
  •         IT0=1;
  •         IT1=1;
  •         while(1)
  •         {
  •                 if(K3==0) Count_A=0;
  •                 if(K4==0) Count_B=0;
  •                 Show_Counts();
  •         }
  • }
  • //INT0中斷函數(shù)
  • void EX_INT0() interrupt 0
  • {
  •         Count_A++;
  • }
  • //INT1中斷函數(shù)
  • void EX_INT1() interrupt 2
  • {
  •         Count_B++;
  • }

回復(fù)

使用道具 舉報(bào)

ID:109943 發(fā)表于 2017-12-24 09:07 | 顯示全部樓層
按鍵沒有消抖導(dǎo)致的按鍵多次觸發(fā)中斷
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2017-12-24 09:08 | 顯示全部樓層
用按鍵進(jìn)行外部中斷,同樣是需要消抖的。就是要加delay。。。。
時(shí)間還要加得大一點(diǎn)才好,因?yàn)榘存I消抖,包括按下消抖和松開消抖,這個(gè)也一樣,所以delay時(shí)間稍長點(diǎn)好,不然就是你現(xiàn)在的現(xiàn)象。我是做過這個(gè)的,有點(diǎn)體會(huì)。
回復(fù)

使用道具 舉報(bào)

ID:261288 發(fā)表于 2017-12-24 09:56 | 顯示全部樓層
加入按鍵防抖程序:讀按鍵狀態(tài)后延時(shí)10~20ms,再讀一次按鍵狀態(tài)。
回復(fù)

使用道具 舉報(bào)

ID:241249 發(fā)表于 2017-12-24 10:29 | 顯示全部樓層
HC6800-ES-V2.0 發(fā)表于 2017-12-24 09:08
用按鍵進(jìn)行外部中斷,同樣是需要消抖的。就是要加delay。。。!
時(shí)間還要加得大一點(diǎn)才好,因?yàn)榘存I消抖 ...

總工 ,因?yàn)槲易隽薚0計(jì)時(shí) 和T1下降沿中斷計(jì)數(shù)
T1加delay會(huì)不會(huì)影響計(jì)時(shí)器T0的進(jìn)程,還是需要增加一個(gè)T0優(yōu)先避免中斷互相影響這個(gè)問題?

回復(fù)

使用道具 舉報(bào)

ID:241249 發(fā)表于 2017-12-24 10:30 | 顯示全部樓層
冰純 發(fā)表于 2017-12-24 09:56
加入按鍵防抖程序:讀按鍵狀態(tài)后延時(shí)10~20ms,再讀一次按鍵狀態(tài)。

好的我試試
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2017-12-24 13:34 | 顯示全部樓層
weiwei850113 發(fā)表于 2017-12-24 10:29
總工 ,因?yàn)槲易隽薚0計(jì)時(shí) 和T1下降沿中斷計(jì)數(shù)
T1加delay會(huì)不會(huì)影響計(jì)時(shí)器T0的進(jìn)程,還是需要增加一個(gè)T0 ...

沒有看到你的功能要求全部,所以不好說,我在這里僅就按鍵中斷而言。
如果按鍵與時(shí)間是相關(guān)的,怎么解決可能的沖突,沒有具體的內(nèi)容不好說。
從你上面程序看,你不是用的T0、T1定時(shí)器,而是外部中斷INT0、INT1。
你定時(shí)要多么精確?是按下就計(jì)時(shí)開始,還是怎么的?
你上面的程序,不是已經(jīng)有優(yōu)先級設(shè)置了嗎?
回復(fù)

使用道具 舉報(bào)

ID:266034 發(fā)表于 2017-12-24 14:16 | 顯示全部樓層
好像設(shè)置的有一點(diǎn)不丟吧。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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