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

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

?? key.asm

?? 基于凌陽61(sunplus)單片機(jī)的語音時鐘程序
?? 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
// 實現(xiàn)功能:1*3按鍵掃描程序,適用于高電平有效的按鍵電路
//			 可處理長按鍵
//			 使用IRQ6_TMB2中斷(128Hz)
// 日期:    2005/9/3
//============================================================

//================================================
//	按鍵去抖動時間設(shè)定,單位為1/128秒
//================================================
.DEFINE Key_Debounce	4			//(4/128)秒=31ms
//================================================
//	持續(xù)按鍵多長時間算作長按鍵,單位1/128秒
//================================================
.DEFINE Key_TimeOut		192			//(192/128)秒=1.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						// 存儲獲得的鍵值
.VAR ScanCnt						// 該變量用來表示按鍵持續(xù)時間
.VAR KeyUp							// 按鍵是否處于抬起狀態(tài)

.CODE
//======================================================
// 函數(shù)名稱:	Key_Init
// C調(diào)用:		void Key_Init(void)
// 匯編調(diào)用:	F_Key_Init
// 實現(xiàn)功能:   初始化按鍵掃描程序,該函數(shù)將開啟IRQ6_TMB2中斷
// 入口參數(shù):	無
// 出口參數(shù):	無
// 破壞寄存器:	無
//======================================================
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				// 開啟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
// 實現(xiàn)功能:   按鍵掃描,該函數(shù)被IRQ6_TMB2中斷服務(wù)程序調(diào)用
// 入口參數(shù):	無
// 出口參數(shù):	無
// 破壞寄存器:	無
//======================================================
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ù)按下的時間
	[ScanCnt] = r1
	jmp ?L_ScanKey_Exit
?L_ScanKey_Cont:					// 如果此次鍵值與上次鍵值相同
	r1 = [ScanCnt]					// 更新按鍵持續(xù)時間(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
// 實現(xiàn)功能:   獲取鍵值
// 入口參數(shù):	無
// 出口參數(shù):	r1 - 獲得的鍵值
// 破壞寄存器:	r1
//======================================================
F_Key_Get:
_Key_Get:
	INT OFF
	push r2, r3 to [sp]
	r1 = 0x0000
	r2 = 0x01
	[P_Watchdog_Clear] = r2
	r2 = [ScanCnt]
	cmp r2,Key_Debounce				// 如果按鍵持續(xù)時間小于Key_Debounce
	jb	?L_GetKey_Exit				// 則認(rèn)為當(dāng)前沒有鍵按下
	r3 = [KeyUp]					// 如果按鍵處于抬起狀態(tài)則認(rèn)為發(fā)生了一次按鍵
	jz ?L_GetKey_Exit				
	cmp r2,Key_TimeOut				// 如果按鍵持續(xù)時間大于Key_TimeOut
	jb ?L_GetKey					// 則認(rèn)為發(fā)生了長按鍵
	r1 = 0x8000						// 鍵值最高位置1表示長鍵
?L_GetKey:
	r1 |= [KeyCode]					// 有按鍵則返回鍵值
	r2 = 0
	[KeyCode] = r2					// 重新初始化變量
	[ScanCnt] = r2
	[KeyUp] = r2
?L_GetKey_Exit:
	INT FIQ,IRQ
	pop r2, r3 from [sp]
retf

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩中文字幕区一区有砖一区| 91同城在线观看| 国产福利不卡视频| 欧美在线短视频| 国产偷国产偷亚洲高清人白洁| 亚洲.国产.中文慕字在线| 国产成人日日夜夜| 欧美一级片在线观看| 伊人婷婷欧美激情| 99久久精品免费看国产| 欧美变态tickle挠乳网站| 亚洲成人av一区二区三区| 97精品久久久久中文字幕| 国产日韩欧美精品在线| 激情五月播播久久久精品| 日韩一区二区在线播放| 亚洲国产成人av网| 欧美性做爰猛烈叫床潮| 亚洲免费资源在线播放| 成人国产电影网| 欧美极品另类videosde| 国产精品一二一区| 精品国产成人系列| 激情综合色播五月| 欧美va亚洲va| 狠狠色综合播放一区二区| 制服丝袜中文字幕一区| 亚洲第一福利视频在线| 欧美日本一区二区在线观看| 亚洲国产精品视频| 欧美色爱综合网| 五月天婷婷综合| 欧美精品少妇一区二区三区| 五月婷婷综合激情| 欧美一区二区三区啪啪| 青青草国产精品亚洲专区无| 日韩女优制服丝袜电影| 久久超碰97中文字幕| 欧美成人一区二区三区| 激情伊人五月天久久综合| 国产亚洲欧美日韩日本| 成人精品在线视频观看| 亚洲三级在线观看| 欧美日韩中文国产| 蜜桃久久精品一区二区| 日韩欧美在线网站| 国产精品夜夜嗨| 18成人在线视频| 欧美在线不卡一区| 免费观看在线色综合| 337p粉嫩大胆噜噜噜噜噜91av | 国产一区二区按摩在线观看| 欧美成人一区二区三区片免费| 国产一区二区三区香蕉 | 欧美精品1区2区3区| 天堂久久久久va久久久久| 日韩视频一区二区三区| 国产精品99久久久久久有的能看| 国产精品免费观看视频| 欧美日韩免费在线视频| 久久精品国产99久久6| 国产欧美日本一区二区三区| 91美女蜜桃在线| 免费看欧美美女黄的网站| 中文字幕乱码一区二区免费| 欧美视频一区在线| 精品亚洲porn| 一区二区三区在线视频免费| 欧美一区二区国产| 不卡一区中文字幕| 丝袜美腿亚洲一区二区图片| 久久精品欧美日韩精品| 欧美揉bbbbb揉bbbbb| 国产真实乱子伦精品视频| 夜夜亚洲天天久久| 久久久影视传媒| 欧美日韩日本视频| 成人午夜在线免费| 麻豆成人综合网| 一区2区3区在线看| 国产女同互慰高潮91漫画| 欧美日韩免费观看一区三区| 高清beeg欧美| 久久99精品视频| 天天影视色香欲综合网老头| 日本一区二区三区国色天香 | 久久嫩草精品久久久精品一| 日本道色综合久久| 精品一区二区影视| 一区二区视频在线看| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲一区二区三区四区五区中文| xnxx国产精品| 91精品中文字幕一区二区三区| 91最新地址在线播放| 狠狠久久亚洲欧美| 奇米影视一区二区三区小说| 亚洲精品高清在线| 国产精品国产三级国产普通话蜜臀| 日韩欧美资源站| 7777精品伊人久久久大香线蕉经典版下载 | 日本韩国欧美国产| 99久久伊人网影院| 成人av在线一区二区三区| 国产黄色91视频| 精品一区二区三区久久久| 日韩一区欧美二区| 日韩激情一区二区| 日日摸夜夜添夜夜添国产精品| 亚洲精品国产无套在线观| 亚洲免费av高清| 亚洲色图欧美偷拍| 亚洲精品成人悠悠色影视| 亚洲欧洲成人av每日更新| 国产精品国产三级国产aⅴ中文| 中文字幕免费观看一区| 国产精品福利av| 自拍av一区二区三区| 亚洲人午夜精品天堂一二香蕉| 中文字幕一区二区三区四区不卡| 欧美国产日韩在线观看| 欧美高清在线视频| 自拍偷自拍亚洲精品播放| 亚洲精品乱码久久久久久| 亚洲综合在线视频| 日本视频一区二区| 精品在线一区二区| 国产高清精品网站| 97久久精品人人做人人爽50路| 不卡在线观看av| 欧美性生交片4| 777色狠狠一区二区三区| 日韩欧美精品三级| 欧美激情中文字幕| 亚洲美女免费视频| 视频一区在线视频| 久久精品国产99国产| 国产91丝袜在线播放九色| 91视频观看视频| 欧美日韩免费一区二区三区视频| 欧美电视剧在线观看完整版| 久久女同精品一区二区| 亚洲免费观看视频| 日韩不卡手机在线v区| 国产91丝袜在线播放| 欧美午夜精品一区二区蜜桃| 欧美xxxxx牲另类人与| 国产精品久久久久天堂| 亚洲国产cao| 国产乱码精品一区二区三区av| 91丨porny丨户外露出| 日韩一区二区精品| 中文字幕一区二区日韩精品绯色| 亚洲第一福利一区| 国产91丝袜在线播放九色| 欧美日本一区二区三区| 国产日产亚洲精品系列| 午夜精品久久久久久不卡8050| 国产九色sp调教91| 欧美精品久久一区| 中日韩av电影| 蜜桃av一区二区在线观看| 97超碰欧美中文字幕| 精品国产区一区| 亚洲一区二区在线观看视频| 国产经典欧美精品| 91精品国产欧美一区二区| 亚洲欧美偷拍三级| 国产一区二区三区在线观看免费视频 | 欧美一区二区三区公司| 亚洲四区在线观看| 国产成人在线看| 这里只有精品99re| 亚洲精品视频免费观看| 丁香婷婷深情五月亚洲| 日韩一区二区三区电影在线观看| 亚洲免费成人av| a亚洲天堂av| 国产日韩欧美a| 久久er精品视频| 欧美一区二区三区四区在线观看 | 久久综合五月天婷婷伊人| 亚洲综合在线第一页| 成人激情小说乱人伦| 久久综合色播五月| 久久99精品国产麻豆婷婷| 欧美人狂配大交3d怪物一区| 亚洲综合小说图片| 91在线视频官网| 亚洲日本欧美天堂| 白白色 亚洲乱淫| 国产精品全国免费观看高清| 国产一区二区看久久| 久久综合色婷婷| 九九九精品视频| 久久久亚洲精品一区二区三区| 激情综合色播五月| 亚洲精品一区二区三区香蕉| 蜜臀久久99精品久久久久宅男| 91精品国产综合久久久久久久久久|