亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? key.asm

?? 利用SPCE061A單片機、SPR4096模組
?? ASM
字號:
//======================================================
//  The information contained herein is the exclusive property of
//  Sunnnorth Technology Co. And shall not be distributed, reproduced,
//  or disclosed in whole in part without prior written permission.
//             (C) COPYRIGHT 2003  SUNNORTH TECHNOLOGY CO.
//                          ALL RIGHTS RESERVED
//  The entire notice above must be reproduced on all authorized copies.
//========================================================

//============================================================
// 文件名稱:Key.asm
// 實現功能:1*3按鍵掃描程序,適用于高電平有效的按鍵電路
//			 使用IRQ6_TMB2中斷(128Hz)
// 日期:    2005/6/18
//============================================================

//================================================
//	按鍵去抖動時間設定,單位為1/128秒
//================================================
.DEFINE Key_Debounce	4			//(4/128)秒=31ms
//================================================
//	持續按鍵時間間隔設定,單位1/128秒
//================================================
.DEFINE Key_TimeOut		64			//(64/128)秒=0.5s

//================================================
//	按鍵使用端口設定
//================================================
//.DEFINE Key_IO_Port			0		// 若按鍵使用IOA口則采用該行定義
.DEFINE Key_IO_Port			1		// 若按鍵使用IOB口則采用該行定義

//.DEFINE Key_IO_HighByte		0		// 若按鍵使用IO口低8位則采用該行定義
.DEFINE Key_IO_HighByte		1		// 若按鍵使用IO口高8位則采用該行定義

/////-----       不必修改下面的定義	    -----/////
.IF Key_IO_HighByte==0
	.DEFINE Key_ALL			0x00ff		
.ELSE
	.DEFINE Key_ALL			0xff00
.ENDIF
/////-----       不必修改下面的定義	    -----/////
.IF Key_IO_Port==0
	.DEFINE P_Key_Data		0x7000
	.DEFINE P_Key_Buf		0x7001
	.DEFINE P_Key_Dir		0x7002
	.DEFINE P_Key_Attrib	0x7003
.ELSE
	.DEFINE P_Key_Data		0x7005
	.DEFINE P_Key_Buf		0x7006
	.DEFINE P_Key_Dir		0x7007
	.DEFINE P_Key_Attrib	0x7008
.ENDIF


.DEFINE P_INT_Mask		0x702d
.DEFINE P_TimeBase_Setup	0x700e
.DEFINE C_IRQ6_TMB2		0x0001
.DEFINE C_TMB2_128Hz	0x0000

.PUBLIC F_Key_Init
.PUBLIC _Key_Init
.PUBLIC F_Key_Scan
.PUBLIC _Key_Scan
.PUBLIC F_Key_Get
.PUBLIC _Key_Get

.RAM
.VAR KeyCode						// 存儲獲得的鍵值
.VAR ScanCnt						// 該變量用來表示按鍵持續時間
.VAR KeyUp							// 按鍵是否處于抬起狀態

.CODE
//======================================================
// 函數名稱:	Key_Init
// C調用:		void Key_Init(void)
// 匯編調用:	F_Key_Init
// 實現功能:   初始化按鍵掃描程序,該函數將開啟IRQ6_TMB2中斷
// 入口參數:	無
// 出口參數:	無
// 破壞寄存器:	無
//======================================================
F_Key_Init:
_Key_Init:
	push r1 to [sp]
	INT Off
	r1 = [P_Key_Dir]				// 初始化IO為下拉輸入
	r1 &= ~Key_ALL
	[P_Key_Dir] = r1
	r1 = [P_Key_Attrib]
	r1 &= ~Key_ALL
	[P_Key_Attrib] = r1

	r1 = 0
	[ScanCnt] = r1					// 初始化變量
	[KeyCode] = r1
	[KeyUp] = r1
	r1 = C_TMB2_128Hz				// 開啟IRQ6_TMB2(128Hz)中斷
	[P_TimeBase_Setup] = r1
	r1 = [P_INT_Mask]
	r1 |= C_IRQ6_TMB2
	[P_INT_Mask] = r1
	INT FIQ,IRQ
	pop r1 from [sp]
retf

//======================================================
// 函數名稱:	Key_Scan
// C調用:		void Key_Scan(void)
// 匯編調用:	F_Key_Scan
// 實現功能:   按鍵掃描,該函數被IRQ6_TMB2中斷服務程序調用
// 入口參數:	無
// 出口參數:	無
// 破壞寄存器:	無
//======================================================
F_Key_Scan:
_Key_Scan:
	push r1,r2 to [sp]
	r2 = [P_Key_Data]				// 獲取IO端口狀態
	r2 &= Key_ALL
	jnz ?L_ScanKey_Down				// 判斷當前是否有鍵按下
?L_ScanKey_Up:
	r1 = 1							// 如果按鍵處于抬起狀態則KeyUp置1
	[KeyUp] = r1
	jmp ?L_ScanKey_Exit
?L_ScanKey_Down:
	r1 = 0							// KeyUp置0
	[KeyUp] = r1
.if Key_IO_HighByte
	r2 = r2 lsr 4
	r2 = r2 lsr 4
.endif
	cmp r2,[KeyCode]				// 本次得到的鍵值與上次得到的鍵值比較
	je	?L_ScanKey_Cont
?L_ScanKey_New:						// 如果與上次鍵值不同則重置鍵值
	[KeyCode] = r2
	r1 = 1							// 重新記錄鍵持續按下的時間
	[ScanCnt] = r1
	jmp ?L_ScanKey_Exit
?L_ScanKey_Cont:					// 如果此次鍵值與上次鍵值相同
	r1 = [ScanCnt]					// 更新按鍵持續時間(ScanCnt加1)
	r1 += 1
	[ScanCnt] = r1
?L_ScanKey_Exit:
	pop r1,r2 from [sp]
retf

//======================================================
// 函數名稱:	Key_Get
// C調用:		unsigned Key_Get(void)
// 匯編調用:	F_Key_Get
// 實現功能:   獲取鍵值
// 入口參數:	無
// 出口參數:	r1 - 獲得的鍵值
// 破壞寄存器:	r1
//======================================================
F_Key_Get:
_Key_Get:
	INT OFF
	push r2 to [sp]

	r2 = [ScanCnt]
	cmp r2,Key_Debounce				// 如果按鍵持續時間小于Key_Debounce
	jb	?L_GetKey_NoKey				// 則認為當前沒有鍵按下
	cmp r2,Key_TimeOut				// 如果按鍵持續時間大于Key_TimeOut
	jnb ?L_GetKey					// 則認為發生了一次按鍵
	r2 = [KeyUp]					// 如果按鍵持續時間在Key_Debounce與Key_TimeOut之間
	jnz ?L_GetKey					// 如果按鍵處于抬起狀態則認為發生了一次按鍵
?L_GetKey_NoKey:
	r1 = 0							// 沒有按鍵則返回0
	jmp ?L_GetKey_Exit
?L_GetKey:
	r1 = [KeyCode]					// 有按鍵則返回鍵值
	r2 = 0
	[KeyCode] = r2					// 重新初始化變量
	[ScanCnt] = r2
	[KeyUp] = r2
?L_GetKey_Exit:
	INT FIQ,IRQ
	pop r2 from [sp]
retf

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区不卡国产欧美| 国产精品午夜电影| 蜜桃视频在线观看一区二区| 91精品国产综合久久久久久久| 午夜精品一区二区三区免费视频 | 久久久噜噜噜久噜久久综合| 国产一区二区三区不卡在线观看 | 日韩色视频在线观看| 日本人妖一区二区| 久久久久久免费网| 成人免费电影视频| 伊人色综合久久天天人手人婷| 欧美日韩久久久| 蜜桃久久精品一区二区| 麻豆成人av在线| 久久色.com| 成人av电影免费观看| 一区二区三区日韩在线观看| 欧美疯狂做受xxxx富婆| 韩国一区二区在线观看| 国产精品久久久久永久免费观看| 色又黄又爽网站www久久| 日本视频免费一区| 国产精品美女久久久久aⅴ国产馆| 色网站国产精品| 久久精品国产色蜜蜜麻豆| 中文字幕久久午夜不卡| 欧美精品亚洲一区二区在线播放| 国模一区二区三区白浆 | 一区二区成人在线视频| 日韩欧美中文字幕制服| 99久久久精品免费观看国产蜜| 午夜久久久久久| 国产精品久久久久四虎| 69久久夜色精品国产69蝌蚪网| 精品国产一二三| 91国产成人在线| 国产精品中文字幕日韩精品| 一区二区久久久| 欧美国产精品v| 欧美精品久久久久久久多人混战| 国产美女精品人人做人人爽| 亚洲成人资源在线| 亚洲日本一区二区三区| 精品久久一二三区| 欧美日韩高清一区二区三区| 成人午夜视频在线观看| 久久91精品国产91久久小草| 亚洲国产成人av网| 亚洲日本在线看| 国产精品免费观看视频| 日韩精品自拍偷拍| 欧美日韩一区二区欧美激情| 99精品热视频| 国产成人精品免费| 激情综合色播激情啊| 午夜婷婷国产麻豆精品| 亚洲三级电影网站| 中文字幕一区二区三区av | 国产日产精品1区| 日韩欧美亚洲一区二区| 欧美视频中文字幕| 色哟哟欧美精品| 成人国产精品免费观看视频| 国产精品资源在线看| 裸体在线国模精品偷拍| 日韩精品每日更新| 日韩精品乱码免费| 日韩中文字幕区一区有砖一区 | 精品少妇一区二区三区免费观看 | 久久精品夜色噜噜亚洲a∨| 日韩一区二区三区三四区视频在线观看 | 性做久久久久久久免费看| 亚洲精品一二三| 樱花草国产18久久久久| 一区二区三区在线不卡| 综合亚洲深深色噜噜狠狠网站| 国产精品女人毛片| 亚洲国产精品成人综合| 中文字幕亚洲一区二区av在线| 国产精品青草久久| 中文字幕在线播放不卡一区| 亚洲欧美影音先锋| 一区二区三区精品视频| 一区二区三区四区在线播放| 亚洲一区二区三区在线播放| 亚洲一区欧美一区| 在线观看视频一区二区欧美日韩| 成人精品鲁一区一区二区| 成人aa视频在线观看| 成人aa视频在线观看| 在线精品视频小说1| 欧美日韩一区二区三区四区五区| 91麻豆精品久久久久蜜臀| 日韩一区国产二区欧美三区| 精品福利一区二区三区免费视频| 国产网红主播福利一区二区| 18成人在线视频| 亚洲.国产.中文慕字在线| 免费精品视频在线| 国产不卡免费视频| 色综合天天综合网国产成人综合天| 欧美在线播放高清精品| 欧美高清hd18日本| 久久精品网站免费观看| 亚洲人成精品久久久久| 午夜精彩视频在线观看不卡| 老司机精品视频导航| youjizz国产精品| 欧美日韩国产综合一区二区三区| 欧美成人一区二区三区| 国产精品麻豆欧美日韩ww| 亚洲一区二区综合| 国产精品18久久久久久久久久久久 | 91成人免费在线视频| 日韩一本二本av| 国产精品第一页第二页第三页| 亚洲自拍偷拍麻豆| 国产在线精品免费| 欧美亚洲另类激情小说| 久久亚洲综合色| 亚洲国产va精品久久久不卡综合| 久久国产精品第一页| 91捆绑美女网站| 久久精品一二三| 午夜精品一区在线观看| 成人国产精品免费| 日韩一二三四区| 一二三区精品视频| 国产传媒一区在线| 91精品国产麻豆| 亚洲综合色噜噜狠狠| 粉嫩蜜臀av国产精品网站| 欧美一区二视频| 一区二区三区免费网站| 国产sm精品调教视频网站| 日韩一区二区中文字幕| 亚洲综合成人在线视频| jizz一区二区| 欧美精品一区视频| 日韩精品一二三区| 欧美综合亚洲图片综合区| 中文字幕av一区二区三区| 男人的天堂亚洲一区| 在线观看国产日韩| 日韩美女视频一区| 懂色av噜噜一区二区三区av| 日韩免费观看高清完整版| 亚州成人在线电影| 欧美日韩三级在线| 亚洲免费观看高清完整版在线观看| 国产精品亚洲视频| 久久精品水蜜桃av综合天堂| 国产综合色视频| 久久色.com| 国产伦精一区二区三区| 精品国产免费一区二区三区四区| 在线亚洲高清视频| 亚洲三级小视频| 色综合色狠狠综合色| 国产精品电影院| 99精品视频一区二区三区| 国产精品久久久久久久浪潮网站 | 狠狠色狠狠色综合日日91app| 日韩一卡二卡三卡| 开心九九激情九九欧美日韩精美视频电影 | 午夜精品福利一区二区三区av| 在线观看一区日韩| 亚洲一区二区3| 欧美日韩三级一区二区| 亚洲午夜av在线| 5月丁香婷婷综合| 麻豆成人久久精品二区三区小说| 精品久久人人做人人爰| 国产一区二区久久| 欧美激情一区三区| 色综合咪咪久久| 亚洲成人动漫av| 日韩一级片在线观看| 国产一区二区三区在线观看免费 | 激情丁香综合五月| 国产午夜三级一区二区三| 国产高清在线精品| 日韩理论片在线| 欧美日韩国产综合视频在线观看| 日本va欧美va瓶| 久久蜜臀中文字幕| 91免费看`日韩一区二区| 亚洲国产综合在线| 日韩一区二区三区在线| 国产精品一区二区三区乱码| 国产精品高潮呻吟| 欧美三级日本三级少妇99| 麻豆精品一区二区| 中文字幕va一区二区三区| 欧美午夜精品一区| 激情综合色丁香一区二区| 国产精品嫩草影院com| 欧美日韩一二三区| 国产麻豆精品视频|