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

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

?? key.s

?? 用ICCAVR編輯通過的
?? S
?? 第 1 頁 / 共 2 頁
字號:
	.module key.c
	.area text(rom, con, rel)
	.dbfile F:\網絡下載\AVR\完整應用\電流電壓表\SOF\key.c
	.dbfunc e key_scan _key_scan fc
	.even
_key_scan::
	.dbline -1
	.dbline 20
; 
; /*
; * Copyright (c) 2005, 廣州力源電器公司開發部
; * All rights reserved.
; * 文件名稱:key.c  負責驅動鍵盤以獲得按鍵狀態
; 
; * 當前版本: 1.0
; * 作者:	 張洪強
; * 完成日期: 2005.7.25
; */
; #include <iom8v.h>
; #include <macros.h>
; #include <eeprom.h> 
; //#include <interrupt.h>
; #include "init.h"
; 
; extern void CHECK_EDATA_A(void);
; 
; unsigned char key_scan(void)	 					//鍵盤函數
; {
	.dbline 21
;  	if(!( PINB & 0x01 ))							//是第一行
	sbic 0x16,0
	rjmp L2
	.dbline 22
;  	{
	.dbline 23
; 		return POWER_DOWN;  	 	  				//電源鍵按下
	ldi R16,1
	rjmp L1
L2:
	.dbline 25
;  	}
;  	else if(!( PINB & 0x02 ))						//是第二行
	sbic 0x16,1
	rjmp L4
	.dbline 26
;  	{
	.dbline 27
; 		return A_V_DOWN;  	 	  					//電流/電壓切換鍵按下
	ldi R16,2
	rjmp L1
L4:
	.dbline 29
;  	}
;  	else if(!( PINB & 0x04 ))						//是第二行
	sbic 0x16,2
	rjmp L6
	.dbline 30
;  	{
	.dbline 31
; 		return CC_CV_DOWN;  	 	  				//穩流/穩壓切換鍵按下
	ldi R16,4
	rjmp L1
L6:
	.dbline 33
;  	}
;  	else if(!( PINB & 0x08 ))						//是第二行
	sbic 0x16,3
	rjmp L8
	.dbline 34
;  	{
	.dbline 35
; 		return AUTO_MAN_DOWN;  	 	  			//自動/手動切換鍵按下
	ldi R16,8
	rjmp L1
L8:
	.dbline 37
;  	}	
; 	return 0;  	 	  							//返回鍵值
	clr R16
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e key_down _key_down fc
	.even
_key_down::
	.dbline -1
	.dbline 41
; }
; 
; unsigned char key_down(void)                      //判鍵盤是否活動函數
; {    
	.dbline 42
;     if (( PINB & 0x0f) != 0x0f )                   //如果有鍵按下
	in R24,0x16
	andi R24,15
	cpi R24,15
	breq L11
	.dbline 43
;     {
	.dbline 44
;         return 1;                 					//返回1
	ldi R16,1
	rjmp L10
L11:
	.dbline 47
;     }
;     else
;     {
	.dbline 48
; 		return 0;                  				//否則返回0
	clr R16
	.dbline -2
L10:
	.dbline 0 ; func end
	ret
	.dbend
	.area data(ram, con, rel)
	.dbfile F:\網絡下載\AVR\完整應用\電流電壓表\SOF\key.c
L14:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile F:\網絡下載\AVR\完整應用\電流電壓表\SOF\key.c
L15:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile F:\網絡下載\AVR\完整應用\電流電壓表\SOF\key.c
L16:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile F:\網絡下載\AVR\完整應用\電流電壓表\SOF\key.c
	.area text(rom, con, rel)
	.dbfile F:\網絡下載\AVR\完整應用\電流電壓表\SOF\key.c
	.dbfunc e key_board _key_board fV
	.dbsym s i L16 i
	.dbsym s NUM_CHANGE L15 i
	.dbsym s KEY_DOWN_TIME L14 i
;      key_first -> R10
;        key_end -> R20
;      key_press -> R22
	.even
_key_board::
	rcall push_gset3
	sbiw R28,2
	.dbline -1
	.dbline 53
; 	} 
; }
; 
; void key_board(void)
; {
	.dbline 54
; 	unsigned char key_first, key_end, key_press = 0;
	clr R22
	.dbline 57
; 	static unsigned int KEY_DOWN_TIME = 0,NUM_CHANGE = FALSE,i = 0;
; 	
; 	if ( ( TIMER_NUM > 500 ) && SET_STATU )			
	ldi R24,500
	ldi R25,1
	lds R2,_TIMER_NUM
	lds R3,_TIMER_NUM+1
	cp R24,R2
	cpc R25,R3
	brsh L17
	lds R2,_SET_STATU
	tst R2
	breq L17
	.dbline 59
; 													//如果超時
; 	{
	.dbline 60
; 		SET_STATU = FALSE;
	clr R2
	sts _SET_STATU,R2
	.dbline 61
; 		TIMER_EN = FALSE;
	sts _TIMER_EN,R2
	.dbline 62
; 		if ( NUM_CHANGE )
	lds R2,L15
	lds R3,L15+1
	tst R2
	brne X0
	tst R3
	breq L19
X0:
	.dbline 63
; 		{
	.dbline 64
; 			NUM_CHANGE = FALSE;
	clr R2
	clr R3
	sts L15+1,R3
	sts L15,R2
	.dbline 65
; 			eeprom_busy_wait();
	rcall _eeprom_busy_wait
	.dbline 66
; 			cli();
	rcall _cli
	.dbline 67
; 			eeprom_write_block( (char*)MAX_A,(char*)0x20,6 );
	ldi R24,6
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,32
	ldi R19,0
	ldi R16,<_MAX_A
	ldi R17,>_MAX_A
	rcall _eeprom_write_block
	.dbline 68
; 			sei();
	rcall _sei
	.dbline 69
; 		}
L19:
	.dbline 70
; 		KEY_DOWN_TIME = 0;
	clr R2
	clr R3
	sts L14+1,R3
	sts L14,R2
	.dbline 71
; 		TIMER_NUM = 0;
	sts _TIMER_NUM+1,R3
	sts _TIMER_NUM,R2
	.dbline 72
; 		delayMS(100);						//延時10MS
	ldi R16,100
	rcall _delayMS
	.dbline 73
; 	}
L17:
	.dbline 74
; 	if ( key_down() )
	rcall _key_down
	tst R16
	brne X5
	rjmp L21
X5:
	.dbline 75
; 	{  
	.dbline 76
; 		key_first = key_scan();						//得到鍵值
	rcall _key_scan
	mov R10,R16
	.dbline 77
; 		delayMS(20);								//延時10MS;
	ldi R16,20
	rcall _delayMS
	.dbline 78
; 		key_end   = key_scan(); 
	rcall _key_scan
	mov R20,R16
	.dbline 79
; 		if ( key_end == key_first )
	cp R16,R10
	breq X6
	rjmp L23
X6:
	.dbline 80
; 		{
	.dbline 81
; 			key_press  = KEY_TEMP ^ key_end;
	lds R22,_KEY_TEMP
	eor R22,R16
	.dbline 82
; 			if ( key_end == A_V_DOWN )				//如果是電壓/電流切換鍵
	cpi R16,2
	brne L25
	.dbline 83
; 			{
	.dbline 84
; 				KEY_DOWN_TIME++;					//按鍵記時
	lds R24,L14
	lds R25,L14+1
	adiw R24,1
	sts L14+1,R25
	sts L14,R24
	.dbline 85
; 				if ( KEY_DOWN_TIME > 1000 )			//如果持續按下
	ldi R24,1000
	ldi R25,3
	lds R2,L14
	lds R3,L14+1
	cp R24,R2
	cpc R25,R3
	brsh L27
	.dbline 86
; 				{
	.dbline 87
; 					SET_STATU = TRUE;
	ldi R24,1
	sts _SET_STATU,R24
	.dbline 88
; 					TIMER_EN = TRUE;
	sts _TIMER_EN,R24
	.dbline 89
; 					KEY_DOWN_TIME = 0;
	clr R2
	clr R3
	sts L14+1,R3
	sts L14,R2
	.dbline 90
; 				}
L27:
	.dbline 91
; 			}
L25:
	.dbline 92
; 			if (( KEY_INPUT == AUTO_MAN_DOWN ) && SET_STATU )			
	lds R24,_KEY_INPUT
	cpi R24,8
	brne L29
	lds R2,_SET_STATU
	tst R2
	breq L29
	.dbline 94
; 													//如果是電壓/電流切換鍵
; 			{
	.dbline 95
; 				SET_STATU = FALSE;
	clr R2
	sts _SET_STATU,R2
	.dbline 96
; 				TIMER_EN = FALSE;
	sts _TIMER_EN,R2
	.dbline 97
; 				if ( NUM_CHANGE )
	lds R2,L15
	lds R3,L15+1
	tst R2
	brne X1
	tst R3
	breq L31
X1:
	.dbline 98
; 				{
	.dbline 99
; 					NUM_CHANGE = FALSE;
	clr R2
	clr R3
	sts L15+1,R3
	sts L15,R2
	.dbline 100
; 					eeprom_busy_wait();
	rcall _eeprom_busy_wait
	.dbline 101
; 					cli();
	rcall _cli
	.dbline 102
; 					eeprom_write_block( (char*)MAX_A,(char*)0x20,6 );
	ldi R24,6
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,32
	ldi R19,0
	ldi R16,<_MAX_A
	ldi R17,>_MAX_A
	rcall _eeprom_write_block
	.dbline 103
; 					sei();
	rcall _sei
	.dbline 104
; 				}
L31:
	.dbline 105
; 				key_press = 0x00;
	clr R22
	.dbline 106
; 				KEY_INPUT = 0x00;
	clr R2
	sts _KEY_INPUT,R2
	.dbline 107
; 				KEY_DOWN_TIME = 0;
	clr R3
	sts L14+1,R3
	sts L14,R2
	.dbline 108
; 				TIMER_NUM = 0;
	sts _TIMER_NUM+1,R3
	sts _TIMER_NUM,R2
	.dbline 109
; 				delayMS(100);						//延時10MS
	ldi R16,100
	rcall _delayMS
	.dbline 110
; 			}
L29:
	.dbline 111
; 		}
L23:
	.dbline 112
; 		if ( key_press ) 
	tst R22
	brne X7
	rjmp L22
X7:
	.dbline 113
; 		{
	.dbline 114
; 			KEY_INPUT = KEY_TEMP = key_end;
	sts _KEY_TEMP,R20
	sts _KEY_INPUT,R20
	.dbline 115
; 			if ( !SET_STATU )
	lds R2,_SET_STATU
	tst R2
	breq X8
	rjmp L22
X8:
	.dbline 116
; 			{
	.dbline 118
; 				//處理電源鍵
; 				if ( KEY_INPUT == POWER_DOWN )
	cpi R20,1
	brne L37
	.dbline 119
; 				{
	.dbline 120
; 					POWER_STATE = !POWER_STATE;		//改變電源按鍵的狀態
	lds R2,_POWER_STATE
	tst R2
	brne L39
	ldi R20,1
	ldi R21,0
	rjmp L40
L39:
	clr R20
	clr R21
L40:
	sts _POWER_STATE,R20
	.dbline 121
; 					KEY_INPUT = 0;
	clr R2
	sts _KEY_INPUT,R2
	.dbline 122
; 					if ( POWER_STATE )
	tst R20
	breq L41
	.dbline 123
; 					{
	.dbline 124
; 						PORTB |= ( 1 << POWER );	//開啟電源
	sbi 0x18,4
	.dbline 125
; 						eeprom_busy_wait();
	rcall _eeprom_busy_wait
	.dbline 126
; 						cli();
	rcall _cli
	.dbline 127
; 						eeprom_write_byte ( (char*)0x07, 0x01 );
	ldi R18,1
	ldi R19,0
	ldi R16,7
	ldi R17,0
	rcall _eeprom_write_byte
	.dbline 128
; 						sei();
	rcall _sei
	.dbline 129
; 					}
	rjmp L38
L41:
	.dbline 131
; 					else
; 					{
	.dbline 132
; 						PORTB &= ~( 1 << POWER );	//關閉電源
	cbi 0x18,4
	.dbline 133
; 						eeprom_busy_wait();
	rcall _eeprom_busy_wait
	.dbline 134
; 						cli();
	rcall _cli
	.dbline 135
; 						eeprom_write_byte ( (char*)0x07, 0x00 );
	clr R18
	clr R19
	ldi R16,7
	ldi R17,0
	rcall _eeprom_write_byte
	.dbline 136
; 						sei();
	rcall _sei
	.dbline 137
; 					}
	.dbline 138
; 				}	
	rjmp L38

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区在线视频| 成人动漫中文字幕| 国产精品区一区二区三| 精品视频一区二区三区免费| 国产精品资源在线观看| 午夜精品一区二区三区三上悠亚| 国产精品日韩成人| 久久久精品中文字幕麻豆发布| 欧美三区在线观看| 91丨九色丨国产丨porny| 国产一区二区不卡老阿姨| 日韩精品91亚洲二区在线观看| 亚洲美女视频一区| 中文字幕av资源一区| 精品88久久久久88久久久| 91精品国产全国免费观看| 欧美视频一区二区| 一本久久综合亚洲鲁鲁五月天| 国产精品亚洲人在线观看| 国产综合色在线视频区| 麻豆国产91在线播放| 日韩av成人高清| 午夜久久久久久| 亚洲超碰97人人做人人爱| 亚洲一线二线三线久久久| 亚洲狠狠丁香婷婷综合久久久| 国产精品国产馆在线真实露脸| 欧美国产禁国产网站cc| 国产色一区二区| 国产片一区二区| 国产欧美一区二区三区网站| ww久久中文字幕| 国产亚洲视频系列| 国产亚洲短视频| 国产精品免费aⅴ片在线观看| 国产三级精品三级| 中文字幕欧美激情一区| 国产精品久久久爽爽爽麻豆色哟哟| 欧美国产精品专区| 成人免费一区二区三区在线观看| 中文欧美字幕免费| 日韩理论片网站| 亚洲人吸女人奶水| 亚洲成人精品影院| 免费av网站大全久久| 青青青伊人色综合久久| 国精产品一区一区三区mba桃花| 国产乱码精品一区二区三区av | 欧美手机在线视频| 在线不卡中文字幕播放| 日韩一级免费一区| 久久久久久久久久久电影| 中文字幕精品三区| 亚洲美女淫视频| 天天操天天色综合| 久久99国产精品麻豆| 成人综合婷婷国产精品久久 | 久久久久亚洲综合| 国产人成亚洲第一网站在线播放| 国产精品麻豆视频| 亚洲v日本v欧美v久久精品| 午夜久久久影院| 欧美日韩一区不卡| 日韩限制级电影在线观看| 欧美精品一区二区精品网| 中文字幕乱码亚洲精品一区| 一区二区三区在线视频观看| 日日夜夜精品视频天天综合网| 激情五月播播久久久精品| 99久久精品国产精品久久| 欧美剧在线免费观看网站 | 欧美日韩在线播放三区四区| 欧美va在线播放| 亚洲男同1069视频| 日韩成人免费看| 成人免费视频视频在线观看免费| 在线视频国产一区| 国产午夜精品一区二区三区视频| 亚洲欧美乱综合| 激情图片小说一区| 色诱视频网站一区| 精品久久久久99| 一区二区三区在线视频免费| 精品一区二区三区免费毛片爱| av一二三不卡影片| 日韩欧美在线影院| 一区二区三区欧美在线观看| 狠狠网亚洲精品| 欧美主播一区二区三区| 日本一区二区三区久久久久久久久不 | 亚洲一区二区精品3399| 国产美女娇喘av呻吟久久| 欧美午夜在线观看| 国产精品久久久久久久裸模| 日韩成人一级大片| 欧美性色aⅴ视频一区日韩精品| 国产欧美精品一区二区色综合朱莉 | 国产**成人网毛片九色| 欧美一区二区在线看| 一区二区三区蜜桃网| 国产酒店精品激情| 日韩一二在线观看| 亚洲午夜一区二区三区| www.亚洲人| 国产日产欧美一区二区视频| 免费观看一级特黄欧美大片| 欧美亚洲另类激情小说| 亚洲人吸女人奶水| caoporm超碰国产精品| 欧美国产精品一区二区三区| 久久 天天综合| 欧美一区二区观看视频| 午夜精品aaa| 欧美三级午夜理伦三级中视频| 亚洲免费观看高清完整版在线观看 | 欧美经典一区二区| 国产在线不卡一区| 日韩欧美久久一区| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美无砖砖区免费| 亚洲一二三四区| 欧美专区在线观看一区| 一区二区三区免费看视频| 91麻豆免费观看| 1区2区3区欧美| 色综合天天综合给合国产| 国产精品不卡视频| 99re热视频精品| 中文字幕在线一区| 99久久精品免费看国产| 亚洲欧美一区二区三区极速播放| 91在线观看高清| 亚洲精品国产一区二区三区四区在线| 91污在线观看| 一区二区理论电影在线观看| 91黄视频在线观看| 一区二区高清视频在线观看| 欧美午夜理伦三级在线观看| 午夜婷婷国产麻豆精品| 宅男噜噜噜66一区二区66| 奇米色一区二区三区四区| 日韩精品一区二区三区在线观看| 另类综合日韩欧美亚洲| 精品国产乱码久久久久久闺蜜 | 亚洲视频1区2区| 91丨国产丨九色丨pron| 亚洲一区精品在线| 欧美一区二区三区免费大片 | 精品无码三级在线观看视频 | 亚洲欧美色综合| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲综合av网| 日韩一区二区三区四区五区六区| 久久国产人妖系列| 久久精品亚洲乱码伦伦中文| 国产精品一区免费视频| 日韩一区在线播放| 欧美日韩一区二区三区高清| 日本v片在线高清不卡在线观看| 精品国产一区二区亚洲人成毛片| 丁香婷婷综合色啪| 亚洲一区二区三区自拍| 日韩一区二区三区四区 | 国产真实精品久久二三区| 久久毛片高清国产| 99久久夜色精品国产网站| 亚洲超丰满肉感bbw| 2017欧美狠狠色| 色视频欧美一区二区三区| 喷水一区二区三区| 国产精品国产三级国产aⅴ原创 | 欧美一级片在线看| 成人午夜视频免费看| 亚洲一二三级电影| 久久久99免费| 欧美在线短视频| 国产乱国产乱300精品| 亚洲综合一区二区三区| 久久综合久久综合久久| 色哟哟在线观看一区二区三区| 秋霞成人午夜伦在线观看| 国产精品久99| 精品国产一区二区三区忘忧草| 91麻豆国产香蕉久久精品| 精品影院一区二区久久久| 亚洲品质自拍视频| 久久久噜噜噜久久人人看| 欧美嫩在线观看| 成人午夜电影久久影院| 蜜桃视频免费观看一区| 亚洲欧美一区二区三区国产精品 | 麻豆精品一区二区av白丝在线| 国产精品亲子伦对白| 日韩免费高清av| 欧美中文字幕一区二区三区| 高清shemale亚洲人妖| 免费在线观看成人| 亚洲成人av一区| 伊人婷婷欧美激情| 国产精品久久久久久久久久免费看|