91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

簡單的定時器實現按鍵消抖,還望大家多指點!

發布時間:2020-04-02 19:38:32 來源:網絡 閱讀:876 作者:陽子8527 欄目:開發技術
/********************************
	按獨立按鍵使數碼管加1
********************************/
 #include <reg52.h>

 #define uchar unsigned char
 
 sbit KEY = P1 ^ 0;											 //定義獨立按鍵
 bit KEYSTA = 1;											 //按鍵的初始狀態
 uchar code DispCode[] = {0xc0,0xf9,0xa4,0xb0,				 //共陽數碼管
                          0x99,0x92,0x82,0xf8,
                          0x80,0x90,0x88,0x83,
                          0xc6,0xa1,0x86,0x8e};
void Timer0Init();											//定時器初始化函數
void KeyProcess();											//按鍵處理函數

void main()
{
	Timer0Init();
	KeyProcess();
}

void Timer0Init()
{
	TMOD |= 0x01;
	TH0 = 0xF8;			  //定時2MS
	TL0 = 0xCD;
	EA =1;
	ET0 = 1;
	TR0 = 1;
}
void KeyProcess()
{
	bit lasttime = 1;						 //定義前一次按鍵值,初始化為1;
	uchar count = 0;						 //計數值初始化為0;
	KEY = 0x01;								 //按鍵初始化;
	P0 =  DispCode[count];					 //數碼管初始化;
	while(1)
	{
		if (KEYSTA != lasttime)				 //如果“當前按鍵狀態”與“前一次按鍵狀態”不同,說明按鍵有動作;
		{
			if (lasttime == 1)				 //如果按鍵有動作了,那么前一次按鍵狀態為“彈起”(lasttime == 1),說明按鍵按下時,會響應動作;
			{
				count++;
				if (count >= 16)			 //計數加到16清零,只用一個共陽數碼管;
				{
					count = 0;
				}
				P0 =  DispCode[count];		 //共陽數碼管顯示相應的值;
			}
			lasttime = KEYSTA;				 //如果按鍵有動作,就更新前一次按鍵的值;
		}
	}
}

void Timer0IRQ() interrupt 1				//2MS中斷一次
{
	static keybuf = 0xFF;					//定義一個靜態按鍵緩存變量,且值為FF;主要是暫存按鍵狀態;
	TH0 = 0xF8;			                    //重新寫入初值;
	TL0 = 0xCD;
	
	keybuf = (keybuf << 1) | KEY;		    //左移一位,使當前的按鍵狀態移到按鍵緩存中;
	if (keybuf == 0)						//如果移8次,按鍵狀態都為0,說明按鍵真正按下;
	{
		KEYSTA = 0;						    //確定按鍵狀態為按鍵;
	}
	else if (keybuf == 0xFF)				//如果移8次,按鍵狀態都為1,說明按鍵未按下
	{
		KEYSTA = 1;
	}
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉兴市| 南郑县| 珠海市| 准格尔旗| 襄垣县| 西藏| 平原县| 邵武市| 天镇县| 田林县| 莎车县| 尼木县| 定远县| 左贡县| 武胜县| 同心县| 南康市| 惠州市| 广平县| 民权县| 乐至县| 达拉特旗| 麻城市| 济南市| 长寿区| 拉萨市| 星座| 晋宁县| 宁明县| 香河县| 喀喇沁旗| 集安市| 杭锦后旗| 马关县| 大安市| 长兴县| 二手房| 潢川县| 永和县| 巨鹿县| 天等县|