亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

發布時間: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

两当县| 图木舒克市| 长寿区| 荃湾区| 右玉县| 曲阳县| 安康市| 英吉沙县| 清镇市| 荣成市| 敦化市| 镇赉县| 桦南县| 南江县| 乌拉特中旗| 深水埗区| 万载县| 麻栗坡县| 巍山| 岢岚县| 景洪市| 南投县| 德化县| 庆云县| 大丰市| 姜堰市| 杨浦区| 江山市| 密云县| 遵化市| 开江县| 南漳县| 绍兴市| 鹿泉市| 靖边县| 贵阳市| 通化县| 石泉县| 福州市| 新津县| 北票市|