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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? key.asm

?? SPMC701系統(tǒng)開(kāi)發(fā)板范例代碼 大家可以下載學(xué)習(xí)
?? ASM
字號(hào):
//======================================================
//  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
// 實(shí)現(xiàn)功能:1*3按鍵掃描程序,適用于高電平有效的按鍵電路
//			 使用IRQ6_TMB2中斷(128Hz)
// 日期:    2005/6/18
//============================================================

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

//================================================
//	按鍵使用端口設(shè)定
//================================================
.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			0x0007		
.ELSE
	.DEFINE Key_ALL			0x0700
.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	P_Watchdog_Clear	0x7012
.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						// 存儲(chǔ)獲得的鍵值
.VAR ScanCnt						// 該變量用來(lái)表示按鍵持續(xù)時(shí)間
.VAR KeyUp							// 按鍵是否處于抬起狀態(tài)

.CODE
//======================================================
// 函數(shù)名稱:	Key_Init
// C調(diào)用:		void Key_Init(void)
// 匯編調(diào)用:	F_Key_Init
// 實(shí)現(xiàn)功能:   初始化按鍵掃描程序,該函數(shù)將開(kāi)啟IRQ6_TMB2中斷
// 入口參數(shù):	無(wú)
// 出口參數(shù):	無(wú)
// 破壞寄存器:	無(wú)
//======================================================
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 = [P_Key_Buf]
	r1 &= ~Key_ALL
	[P_Key_Buf] = r1

	r1 = 0
	[ScanCnt] = r1					// 初始化變量
	[KeyCode] = r1
	[KeyUp] = r1
	r1 = C_TMB2_128Hz				// 開(kāi)啟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

//======================================================
// 函數(shù)名稱:	Key_Scan
// C調(diào)用:		void Key_Scan(void)
// 匯編調(diào)用:	F_Key_Scan
// 實(shí)現(xiàn)功能:   按鍵掃描,該函數(shù)被IRQ6_TMB2中斷服務(wù)程序調(diào)用
// 入口參數(shù):	無(wú)
// 出口參數(shù):	無(wú)
// 破壞寄存器:	無(wú)
//======================================================
F_Key_Scan:
_Key_Scan:
	push r1,r2 to [sp]
	r2 = [P_Key_Data]				// 獲取IO端口狀態(tài)
	r2 &= Key_ALL
	jnz ?L_ScanKey_Down				// 判斷當(dāng)前是否有鍵按下
?L_ScanKey_Up:
	r1 = 1							// 如果按鍵處于抬起狀態(tài)則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							// 重新記錄鍵持續(xù)按下的時(shí)間
	[ScanCnt] = r1
	jmp ?L_ScanKey_Exit
?L_ScanKey_Cont:					// 如果此次鍵值與上次鍵值相同
	r1 = [ScanCnt]					// 更新按鍵持續(xù)時(shí)間(ScanCnt加1)
	r1 += 1
	[ScanCnt] = r1
?L_ScanKey_Exit:
	pop r1,r2 from [sp]
retf

//======================================================
// 函數(shù)名稱:	Key_Get
// C調(diào)用:		unsigned Key_Get(void)
// 匯編調(diào)用:	F_Key_Get
// 實(shí)現(xiàn)功能:   獲取鍵值
// 入口參數(shù):	無(wú)
// 出口參數(shù):	r1 - 獲得的鍵值
// 破壞寄存器:	r1
//======================================================
F_Key_Get:
_Key_Get:
	INT OFF
	push r2 to [sp]
	r2 = 0x01
	[P_Watchdog_Clear] = r2
	r2 = [ScanCnt]
	cmp r2,Key_Debounce				// 如果按鍵持續(xù)時(shí)間小于Key_Debounce
	jb	?L_GetKey_NoKey				// 則認(rèn)為當(dāng)前沒(méi)有鍵按下
	cmp r2,Key_TimeOut				// 如果按鍵持續(xù)時(shí)間大于Key_TimeOut
	jnb ?L_GetKey					// 則認(rèn)為發(fā)生了一次按鍵
	r2 = [KeyUp]					// 如果按鍵持續(xù)時(shí)間在Key_Debounce與Key_TimeOut之間
	jnz ?L_GetKey					// 如果按鍵處于抬起狀態(tài)則認(rèn)為發(fā)生了一次按鍵
?L_GetKey_NoKey:
	r1 = 0							// 沒(méi)有按鍵則返回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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品情趣| 国产精品1024| 2023国产精品自拍| 欧美在线观看视频一区二区 | 亚洲成人资源在线| 国产视频一区二区三区在线观看| 欧美综合亚洲图片综合区| 国产九色精品成人porny| 午夜精品久久一牛影视| 中文字幕在线观看一区| 精品国产精品网麻豆系列| 欧美日韩激情一区| 色婷婷综合久久久久中文| 国产成人在线免费观看| 久久成人羞羞网站| 婷婷综合另类小说色区| 一区二区三区加勒比av| 国产精品久久毛片av大全日韩| 精品国产免费视频| 91精品国产丝袜白色高跟鞋| 欧美日韩一区三区| 在线视频综合导航| 一本一道久久a久久精品| 国产高清精品在线| 韩国av一区二区三区四区| 日本大胆欧美人术艺术动态 | 国产成人免费av在线| 日韩av成人高清| 午夜一区二区三区在线观看| 一区二区三区资源| 亚洲精品免费在线| 亚洲色图欧洲色图| 亚洲乱码国产乱码精品精98午夜| 国产精品国产三级国产aⅴ原创| 国产三级欧美三级| 国产日韩欧美在线一区| 久久久久久9999| 久久久久久免费| 国产视频在线观看一区二区三区 | 亚洲欧洲99久久| 国产精品久久夜| 国产精品人妖ts系列视频| 国产欧美日产一区| 国产精品麻豆网站| 亚洲人成精品久久久久| 伊人色综合久久天天| 亚洲在线一区二区三区| 亚洲高清一区二区三区| 日韩av高清在线观看| 麻豆精品国产91久久久久久| 国产在线不卡视频| 成人三级在线视频| 91在线观看视频| 欧洲av一区二区嗯嗯嗯啊| 欧美色图激情小说| 欧美一级一区二区| 久久久久99精品一区| 国产精品久久久久影院| 伊人一区二区三区| 麻豆精品视频在线| 成人久久18免费网站麻豆| 91美女福利视频| 欧美男人的天堂一二区| 欧美精品一区二区三区在线| 亚洲国产精品二十页| 亚洲综合色成人| 免费观看在线综合色| 成人在线综合网| 欧洲色大大久久| 精品国产免费久久| 亚洲三级在线观看| 蜜臀av一级做a爰片久久| 成人性生交大片免费看视频在线 | 蜜桃视频在线一区| 懂色av一区二区三区免费看| 99久久er热在这里只有精品66| 欧美午夜宅男影院| 久久嫩草精品久久久精品一| 亚洲另类春色校园小说| 午夜精品aaa| 福利一区在线观看| 欧美日本不卡视频| 国产欧美视频一区二区三区| 亚洲国产视频直播| 国产成人综合在线| 欧美日高清视频| 欧美国产激情一区二区三区蜜月| 亚洲国产精品天堂| 国产99久久久国产精品潘金 | 欧美视频精品在线| 国产亚洲制服色| 天天综合网 天天综合色| 风间由美一区二区三区在线观看| 欧美日韩国产一二三| 中文字幕 久热精品 视频在线| 日韩成人av影视| av亚洲精华国产精华精华| 日韩一区二区在线观看视频| 日韩一区中文字幕| 韩国欧美国产1区| 欧美日韩久久久| 一区免费观看视频| 国产成人在线观看免费网站| 在线综合+亚洲+欧美中文字幕| 中文字幕一区在线观看| 国产一区二区三区电影在线观看 | 精品亚洲porn| 欧美日韩高清一区二区三区| 亚洲免费在线观看| 国产ts人妖一区二区| 精品久久免费看| 日韩精品1区2区3区| 欧美怡红院视频| 亚洲色图第一区| 成人免费va视频| 久久久国产综合精品女国产盗摄| 婷婷中文字幕一区三区| 欧美在线影院一区二区| 18欧美亚洲精品| av在线不卡免费看| 国产精品伦一区二区三级视频| 国产自产视频一区二区三区| 日韩精品资源二区在线| 五月天久久比比资源色| 欧美系列亚洲系列| 亚洲国产美女搞黄色| 欧美主播一区二区三区美女| 亚洲激情在线激情| 91久久线看在观草草青青| 亚洲免费伊人电影| 色久优优欧美色久优优| 亚洲图片欧美激情| 91在线观看视频| 一区二区三区日韩精品视频| 91福利视频在线| 夜夜嗨av一区二区三区中文字幕 | 久久久亚洲午夜电影| 国产一区三区三区| 国产亚洲欧美一区在线观看| 国产精品一区一区| 久久精品夜夜夜夜久久| 风间由美中文字幕在线看视频国产欧美 | 国产拍揄自揄精品视频麻豆| 国产成人综合亚洲网站| 中文字幕乱码日本亚洲一区二区 | 国产精品青草久久| 成人av午夜影院| 亚洲女同一区二区| 欧美老肥妇做.爰bbww| 蜜臀av在线播放一区二区三区 | 欧美一区国产二区| 久久国产精品免费| 国产农村妇女精品| 91久久精品一区二区二区| 亚洲国产一区二区视频| 欧美一区永久视频免费观看| 国产在线观看免费一区| 国产精品久久久久久久久免费樱桃 | 激情综合色综合久久综合| 精品国产乱码久久久久久久| 成人综合婷婷国产精品久久| 一区二区三区中文字幕电影| 8v天堂国产在线一区二区| 国内精品自线一区二区三区视频| 国产日产欧产精品推荐色 | 欧美精品日韩精品| 激情小说欧美图片| 国产精品美女久久久久久久久| 欧美专区在线观看一区| 精品一区二区av| 亚洲欧美日韩成人高清在线一区| 欧美人狂配大交3d怪物一区| 国产中文一区二区三区| 一区二区三区在线不卡| 欧美一级片在线观看| 成人黄色片在线观看| 亚洲一区二区在线播放相泽| 欧美成人免费网站| 91在线观看视频| 久久国产夜色精品鲁鲁99| 国产精品成人一区二区三区夜夜夜 | 99re这里都是精品| 日本成人在线看| 自拍偷拍亚洲综合| 精品日韩一区二区三区| 色综合久久久久综合体桃花网| 日韩av不卡在线观看| 亚洲人成亚洲人成在线观看图片| 欧美一区二区三区日韩| 色呦呦网站一区| 国产乱子轮精品视频| 天天做天天摸天天爽国产一区| 国产精品无人区| 欧美电视剧在线看免费| 91黄色免费版| 国产精品系列在线观看| 日本欧美在线观看| 亚洲免费色视频| 国产女人18水真多18精品一级做| 欧美一区二区视频在线观看2022|