欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
C51單片機按鍵去抖外部中斷開關(guān)機(低功耗模式)
[打印本頁]
作者:
bifxv
時間:
2018-10-27 22:50
標(biāo)題:
C51單片機按鍵去抖外部中斷開關(guān)機(低功耗模式)
單片機C語言,適合于初學(xué)者。
低功耗模式的按鍵去抖開關(guān)機
單片機源程序如下:
#include <reg52.h>
sbit KEY4 = P3^2;
unsigned char code LedChar[] =
{ //定義表格一定要使用code,這樣會做到程序存儲區(qū)中
0x3F, //表格第1步數(shù)據(jù)0b00111111
0x06, //表格第2步數(shù)據(jù)0b00000110
0x5B, //表格第3步數(shù)據(jù)0b01011011
0x4F, //表格第4步數(shù)據(jù)0b01001111
0x66, //表格第5步數(shù)據(jù)0b01100110
0x6D, //表格第6步數(shù)據(jù)0b01101101
0x7D, //表格第7步數(shù)據(jù)0b01111101
0x07, //表格第8步數(shù)據(jù)0b00000111
0x7F, //表格第9步數(shù)據(jù)0b01111111
0x6F, //表格第10步數(shù)據(jù)0b01101111
};
bit KeySta = 1; //當(dāng)前按鍵狀態(tài)
unsigned char Ke;
void main()
{
bit backup = 1; //按鍵值備份,保存前一次的掃描值
unsigned char cnt = 0; //按鍵計數(shù),記錄按鍵按下的次數(shù)
EA = 1; //使能總中斷
TMOD = 0x01; //設(shè)置T0為模式1
TH0 = 0xF8; //為T0賦初值0xF8CD,定時2ms
TL0 = 0xCD;
ET0 = 1; //使能T0中斷
TR0 = 1; //啟動T0
P0 = LedChar[cnt]; //顯示按鍵次數(shù)初值
while (1)
{
if (KeySta != backup) //當(dāng)前值與前次值不相等說明此時按鍵有動作
{
if (backup == 0) //如果前次值為0,則說明當(dāng)前是彈起動作
{
cnt++;
P0=0;
if(Ke==0)
{
IT0 = 1; //外部中斷0為下降沿觸發(fā)
EX0 = 1; //使能總中斷
EA = 1;
PCON=0x02;
}
Ke++;
if(Ke==2) Ke=0;
// else if(Ke!=1) Ke=0;
if (cnt >= 10)
{ //只用1個數(shù)碼管顯示,所以加到10就清零重新開始
cnt = 0;
}
P0 = LedChar[cnt]; //計數(shù)值顯示到數(shù)碼管上
}
backup = KeySta; //更新備份為當(dāng)前值,以備進行下次比較
}
}
}
/* T0中斷服務(wù)函數(shù),用于按鍵狀態(tài)的掃描并消抖 */
void InterruptTimer0() interrupt 1
{
static unsigned char keybuf = 0xFF; //掃描緩沖區(qū),保存一段時間內(nèi)的掃描值
TH0 = 0xF8; //重新加載初值
TL0 = 0xCD;
keybuf = (keybuf<<1) | KEY4; //緩沖區(qū)左移一位,并將當(dāng)前掃描值移入最低位
if (keybuf == 0x00)
{ //連續(xù)8次掃描值都為0,即16ms內(nèi)都只檢測到按下狀態(tài)時,可認為按鍵已按下
KeySta = 0;
}
else if (keybuf == 0xFF)
{ //連續(xù)8次掃描值都為1,即16ms內(nèi)都只檢測到彈起狀態(tài)時,可認為按鍵已彈起
KeySta = 1;
}
else
{} //其它情況則說明按鍵狀態(tài)尚未穩(wěn)定,則不對KeySta變量值進行更新
}
void int0() interrupt 0
{
PCON=0;//喚醒單片機
}
復(fù)制代碼
所有資料51hei提供下載:
按鍵去抖開關(guān)機.rar
(27.78 KB, 下載次數(shù): 43)
2018-10-27 22:49 上傳
點擊文件名下載附件
按鍵去抖開關(guān)機
下載積分: 黑幣 -5
作者:
admin
時間:
2018-10-31 17:03
好資料,51黑有你更精彩!!!
作者:
dxdsjyx
時間:
2020-3-24 22:48
有電路圖嗎?
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1