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

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

?? 4x4key.s

?? meg16 的所有功能實(shí)例
?? S
字號(hào):
	.module _4x4key.c
	.area text(rom, con, rel)
	.dbfile E:\MYWORK~1\開(kāi)發(fā)設(shè)計(jì)\EasyAVR\程序范例\Mega16例程\4x4key\4x4key.c
	.dbfunc e KEY_Init _KEY_Init fV
	.even
_KEY_Init::
	.dbline -1
	.dbline 96
; /****************************************Copyright (c)**************************************************
; **                               ADEmbed Development Co.,LTD.                                    
; **                                 http://www.adembed.com
; **--------------File Info-------------------------------------------------------------------------------
; ** File name:			main.c
; ** Last modified Date:  2008-12-13
; ** Last Version:		1.0
; ** Descriptions:		4*4Key Test.
; ** 
; **------------------------------------------------------------------------------------------------------
; ** Created by:			junbolu
; ** Created date:		2008-12-13
; ** Version:				1.0
; ** Descriptions:		
; **
; **------------------------------------------------------------------------------------------------------
; ** Modified by:
; ** Modified date:
; ** Version:
; ** Descriptions:
; **
; **------------------------------------------------------------------------------------------------------
; **ICC-AVR application builder : 2008-12-13
; **Target : M16
; **Crystal: 7.3728Mhz
; **PA0--->L1			PA1--->L2			PA2--->L3			PA3--->L4			
; **PA4--->H1			PA5--->H2			PA6--->H3			PA7--->H4	
; --------------------------
; | H4   C    D    E    F  |
; | H3   8    9    A    B  |
; | H2   4    5    6    7  |
; | H1   0    1    2    3  |
; | /    L1   L2   L3   L4 |
; --------------------------	   
; **描述:掃描4*4按鍵的狀態(tài),掃描到按鍵被按下后,將此鍵碼發(fā)送到串口
; **      
; **
; **涉及知識(shí)點(diǎn):
; **          DI輸入DO輸出
; **          while循環(huán),case循環(huán)
; **			8位定時(shí)器,串口的應(yīng)用
; *******************************************************************************************************/
; 
; #include<iom16v.h>
; #include<macros.h>
; #include"Define.h"
; 
; 
; #define F_osc           7372800
; #define Baud_rate       9600   	   		  		 
; //管腳定義
; #define PIN_RXD			0 	//PD0   RXD
; #define PIN_TXD			1 	//PD1   TXD
; 
; 
; #define L1   	     BIT0	
; #define L2   	     BIT1
; #define L3   	     BIT2
; #define L4   	     BIT3
; #define H1   	     BIT4	
; #define H2   	     BIT5
; #define H3   	     BIT6
; #define H4   	     BIT7
; 
; #define KEY_DDR		 DDRA
; #define KEY_PORT	 PORTA
; #define KEY_IN		 PINA
; 
; 
; #define L1_H1		 0x00
; #define L2_H1		 0x01
; #define L3_H1		 0x02
; #define L4_H1		 0x03
; #define L1_H2		 0x04
; #define L2_H2		 0x05
; #define L3_H2		 0x06
; #define L4_H2		 0x07
; #define L1_H3		 0x08
; #define L2_H3		 0x09
; #define L3_H3		 0x0A
; #define L4_H3		 0x0B
; #define L1_H4		 0x0C
; #define L2_H4		 0x0D
; #define L3_H4		 0x0E
; #define L4_H4		 0x0F
; 
; #define ON_PUSH		 0xFF
; 
; unsigned char Key_State;
; unsigned char Key_Value;
; 
; void Uart_Init(void); 
; void USART_TXD(uint8 data);
; 
; void KEY_Init(void)
; {
	.dbline 97
;  KEY_DDR |= L1&L2&L3&L4;  	            //設(shè)為輸出
	in R2,0x1a
	out 0x1a,R2
	.dbline 98
;  KEY_PORT|= L1&L2&L3&L4;				//輸出為高
	in R2,0x1b
	out 0x1b,R2
	.dbline 99
;  KEY_DDR &= ~(H1&H2&H3&H4);				//設(shè)為輸入
	in R24,0x1a
	andi R24,255
	out 0x1a,R24
	.dbline 100
;  KEY_PORT|= H1&H2&H3&H4;				//上拉輸入
	in R2,0x1b
	out 0x1b,R2
	.dbline 103
;  
;  //t/c0初始化
;  TCCR0=0X0D;
	ldi R24,13
	out 0x33,R24
	.dbline 104
;  TCNT0=0X00;
	clr R2
	out 0x32,R2
	.dbline 105
;  OCR0=0XF0;         //定時(shí)30ms
	ldi R24,240
	out 0x3c,R24
	.dbline 106
;  TIMSK|=0X02;
	in R24,0x39
	ori R24,2
	out 0x39,R24
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.area vector(rom, abs)
	.org 76
	jmp _timer0comp
	.area text(rom, con, rel)
	.dbfile E:\MYWORK~1\開(kāi)發(fā)設(shè)計(jì)\EasyAVR\程序范例\Mega16例程\4x4key\4x4key.c
	.dbfunc e timer0comp _timer0comp fV
	.even
_timer0comp::
	xcall push_lset
	.dbline -1
	.dbline 112
;  
; }
; 
; #pragma interrupt_handler timer0comp:20
; void timer0comp (void)
; { 
	.dbline 113
;  Read_Key();
	xcall _Read_Key
	.dbline -2
L2:
	xcall pop_lset
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e KEYDIN _KEYDIN fc
	.even
_KEYDIN::
	.dbline -1
	.dbline 118
; }
; 
; //=======================================================================
; unsigned char KEYDIN(void)
; {
	.dbline 119
;  	KEY_PORT |= L1&L2&L3&L4;				//輸出為高
	in R2,0x1b
	out 0x1b,R2
	.dbline 120
; 	KEY_PORT &= ~L1;						//掃描L1
	cbi 0x1b,0
	.dbline 122
; 	
;  	if((KEY_IN&H1)==H1)	 return L1_H1;
	in R24,0x19
	andi R24,16
	cpi R24,16
	brne L4
	.dbline 122
	clr R16
	xjmp L3
L4:
	.dbline 123
; 	if((KEY_IN&H2)==H2)	 return L1_H2;
	in R24,0x19
	andi R24,32
	cpi R24,32
	brne L6
	.dbline 123
	ldi R16,4
	xjmp L3
L6:
	.dbline 124
; 	if((KEY_IN&H3)==H3)	 return L1_H3;
	in R24,0x19
	andi R24,64
	cpi R24,64
	brne L8
	.dbline 124
	ldi R16,8
	xjmp L3
L8:
	.dbline 125
; 	if((KEY_IN&H4)==H4)	 return L1_H4;
	in R24,0x19
	andi R24,128
	cpi R24,128
	brne L10
	.dbline 125
	ldi R16,12
	xjmp L3
L10:
	.dbline 127
; 	
; 	KEY_PORT |= L1&L2&L3&L4;				//輸出為高
	in R2,0x1b
	out 0x1b,R2
	.dbline 128
; 	KEY_PORT &= ~L2;						//掃描L2
	cbi 0x1b,1
	.dbline 130
; 	
;  	if((KEY_IN&H1)==H1)	 return L2_H1;
	in R24,0x19
	andi R24,16
	cpi R24,16
	brne L12
	.dbline 130
	ldi R16,1
	xjmp L3
L12:
	.dbline 131
; 	if((KEY_IN&H2)==H2)	 return L2_H2;
	in R24,0x19
	andi R24,32
	cpi R24,32
	brne L14
	.dbline 131
	ldi R16,5
	xjmp L3
L14:
	.dbline 132
; 	if((KEY_IN&H3)==H3)	 return L2_H3;
	in R24,0x19
	andi R24,64
	cpi R24,64
	brne L16
	.dbline 132
	ldi R16,9
	xjmp L3
L16:
	.dbline 133
; 	if((KEY_IN&H4)==H4)	 return L2_H4;
	in R24,0x19
	andi R24,128
	cpi R24,128
	brne L18
	.dbline 133
	ldi R16,13
	xjmp L3
L18:
	.dbline 135
; 	
; 	KEY_PORT |= L1&L2&L3&L4;				//輸出為高
	in R2,0x1b
	out 0x1b,R2
	.dbline 136
; 	KEY_PORT &= ~L3;						//掃描L3
	cbi 0x1b,2
	.dbline 138
; 	
;  	if((KEY_IN&H1)==H1)	 return L3_H1;
	in R24,0x19
	andi R24,16
	cpi R24,16
	brne L20
	.dbline 138
	ldi R16,2
	xjmp L3
L20:
	.dbline 139
; 	if((KEY_IN&H2)==H2)	 return L3_H2;
	in R24,0x19
	andi R24,32
	cpi R24,32
	brne L22
	.dbline 139
	ldi R16,6
	xjmp L3
L22:
	.dbline 140
; 	if((KEY_IN&H3)==H3)	 return L3_H3;
	in R24,0x19
	andi R24,64
	cpi R24,64
	brne L24
	.dbline 140
	ldi R16,10
	xjmp L3
L24:
	.dbline 141
; 	if((KEY_IN&H4)==H4)	 return L3_H4;
	in R24,0x19
	andi R24,128
	cpi R24,128
	brne L26
	.dbline 141
	ldi R16,14
	xjmp L3
L26:
	.dbline 143
; 	
; 	KEY_PORT |= L1&L2&L3&L4;				//輸出為高
	in R2,0x1b
	out 0x1b,R2
	.dbline 144
; 	KEY_PORT &= ~L4;						//掃描L4
	cbi 0x1b,3
	.dbline 146
; 	
;  	if((KEY_IN&H1)==H1)	 return L4_H1;
	in R24,0x19
	andi R24,16
	cpi R24,16
	brne L28
	.dbline 146
	ldi R16,3
	xjmp L3
L28:
	.dbline 147
; 	if((KEY_IN&H2)==H2)	 return L4_H2;
	in R24,0x19
	andi R24,32
	cpi R24,32
	brne L30
	.dbline 147
	ldi R16,7
	xjmp L3
L30:
	.dbline 148
; 	if((KEY_IN&H3)==H3)	 return L4_H3;
	in R24,0x19
	andi R24,64
	cpi R24,64
	brne L32
	.dbline 148
	ldi R16,11
	xjmp L3
L32:
	.dbline 149
; 	if((KEY_IN&H4)==H4)	 return L4_H4;
	in R24,0x19
	andi R24,128
	cpi R24,128
	brne L34
	.dbline 149
	ldi R16,15
	xjmp L3
L34:
	.dbline 151
; 
; 	return ON_PUSH;
	ldi R16,255
	.dbline -2
L3:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e Read_Key _Read_Key fV
	.even
_Read_Key::
	xcall push_gset1
	.dbline -1
	.dbline 157
; 	
; }
; 
; //=======================================================================
; void Read_Key(void)
; {
	.dbline 158
;  switch(Key_State)
	lds R20,_Key_State
	clr R21
	cpi R20,0
	cpc R20,R21
	breq L40
X0:
	cpi R20,1
	ldi R30,0
	cpc R21,R30
	breq L43
	cpi R20,2
	ldi R30,0
	cpc R21,R30
	breq L46
	xjmp L37
X1:
	.dbline 159
;      {
L40:
	.dbline 161
;   	 case 0:
;          if(KEYDIN() != ON_PUSH)
	xcall _KEYDIN
	cpi R16,255
	breq L38
	.dbline 162
; 		 	{
	.dbline 163
; 			Key_State++;
	lds R24,_Key_State
	subi R24,255    ; addi 1
	sts _Key_State,R24
	.dbline 164
; 			}  
	.dbline 165
; 		 break;
	xjmp L38
L43:
	.dbline 167
;   	 case 1:
;          if(KEYDIN() != ON_PUSH)
	xcall _KEYDIN
	cpi R16,255
	breq L44
	.dbline 168
; 		    {
	.dbline 169
; 			 Key_State++;
	lds R24,_Key_State
	subi R24,255    ; addi 1
	sts _Key_State,R24
	.dbline 170
; 			 Key_Value=KEYDIN();
	xcall _KEYDIN
	sts _Key_Value,R16
	.dbline 171
; 			}
	xjmp L38
L44:
	.dbline 173
; 		 else 
; 		    {
	.dbline 174
; 			Key_State--;
	lds R24,_Key_State
	subi R24,1
	sts _Key_State,R24
	.dbline 175
; 			}
	.dbline 176
; 		 break;
	xjmp L38
L46:
	.dbline 178
;      case 2:
;          if(KEYDIN() == ON_PUSH)
	xcall _KEYDIN
	cpi R16,255
	brne L38
	.dbline 179
; 		    {
	.dbline 180
; 			Key_State=0;
	clr R2
	sts _Key_State,R2
	.dbline 181
; 			}
	.dbline 182
; 		 break;
L37:
L38:
	.dbline -2
L36:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
	.even
_main::
	.dbline -1
	.dbline 188
;      }
;  
; }
; 
; void main(void)
; {
	.dbline 189
;  KEY_Init();
	xcall _KEY_Init
	.dbline 191
;  
;  Key_State = 0;
	clr R2
	sts _Key_State,R2
	.dbline 192
;  Key_Value = ON_PUSH;
	ldi R24,255
	sts _Key_Value,R24
	.dbline 194
;  
;  Uart_Init();                 //TART初始化
	xcall _Uart_Init
	.dbline 195
;  SEI();                       //全局中斷使能
	sei
	xjmp L51
L50:
	.dbline 198
;  
;  while(1)
;      {
	.dbline 199
;      if(Key_Value != ON_PUSH)
	lds R24,_Key_Value
	cpi R24,255
	breq L53
	.dbline 200
;          {
	.dbline 201
; 	     USART_TXD(Key_Value);
	mov R16,R24
	xcall _USART_TXD
	.dbline 202
; 		 Key_Value = ON_PUSH;
	ldi R24,255
	sts _Key_Value,R24
	.dbline 203
; 	     }
L53:
	.dbline 204
L51:
	.dbline 197
	xjmp L50
X2:
	.dbline -2
L49:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e Uart_Init _Uart_Init fV
	.even
_Uart_Init::
	.dbline -1
	.dbline 209
;      }
; }
; 
; //===============================================================
; void Uart_Init(void)          //UART初始化
;   { 
	.dbline 213
;      
;     //設(shè)置偵格式
; 	//異步,8位數(shù)據(jù),無(wú)奇偶校驗(yàn),一個(gè)停止位,無(wú)倍速
; 	UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
	ldi R24,134
	out 0x20,R24
	.dbline 216
; 	
;     //設(shè)置波特率
;     UBRRL= (F_osc/Baud_rate/16-1)%256;
	ldi R24,47
	out 0x9,R24
	.dbline 217
;     UBRRH= (F_osc/Baud_rate/16-1)/256;
	clr R2
	out 0x20,R2
	.dbline 220
; 
; 	//使能接收中斷,使能接收,使能發(fā)送
;     UCSRB = (1<<RXCIE)|(1<<RXEN)|(1<<TXEN);
	ldi R24,152
	out 0xa,R24
	.dbline -2
L55:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e USART_TXD _USART_TXD fV
;           data -> R16
	.even
_USART_TXD::
	.dbline -1
	.dbline 226
;   }
;   
; 
; //===============================================================
; void USART_TXD(uint8 data) //發(fā)送采用查詢(xún)方式
; {
L57:
	.dbline 227
L58:
	.dbline 227
; 	while( !(UCSRA & BIT(UDRE)) );
	sbis 0xb,5
	rjmp L57
	.dbline 228
; 	UDR=data;
	out 0xc,R16
L60:
	.dbline 229
L61:
	.dbline 229
; 	while( !(UCSRA & BIT(TXC )) );
	sbis 0xb,6
	rjmp L60
	.dbline 230
; 	UCSRA|=BIT(TXC);
	sbi 0xb,6
	.dbline -2
L56:
	.dbline 0 ; func end
	ret
	.dbsym r data 16 c
	.dbend
	.area vector(rom, abs)
	.org 44
	jmp _USART_RXC
	.area text(rom, con, rel)
	.dbfile E:\MYWORK~1\開(kāi)發(fā)設(shè)計(jì)\EasyAVR\程序范例\Mega16例程\4x4key\4x4key.c
	.dbfunc e USART_RXC _USART_RXC fV
	.even
_USART_RXC::
	.dbline -1
	.dbline 237
; }
; 
; //=======================================================================
; 
; #pragma interrupt_handler USART_RXC:12
; void USART_RXC(void)
; {
	.dbline -2
L63:
	.dbline 0 ; func end
	reti
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\MYWORK~1\開(kāi)發(fā)設(shè)計(jì)\EasyAVR\程序范例\Mega16例程\4x4key\4x4key.c
_Key_Value::
	.blkb 1
	.dbsym e Key_Value _Key_Value c
_Key_State::
	.blkb 1
	.dbsym e Key_State _Key_State c

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品乱码久久久久久| 午夜亚洲福利老司机| 亚洲伊人伊色伊影伊综合网| 免费观看久久久4p| 91女厕偷拍女厕偷拍高清| 538prom精品视频线放| 欧美高清在线精品一区| 日韩成人一区二区| 成人国产视频在线观看| 欧洲人成人精品| 国产亚洲精品免费| 日韩电影免费在线| 欧美网站大全在线观看| 国产综合一区二区| 精品播放一区二区| 亚洲永久精品国产| 国产激情一区二区三区四区 | 最新中文字幕一区二区三区| 国产一区二区在线免费观看| 91精品国产入口| 久久九九影视网| 久久99深爱久久99精品| 欧美电影在线免费观看| 一区二区三区国产精华| 成人精品小蝌蚪| 2020国产精品| 不卡的av网站| 亚洲色图欧洲色图婷婷| 蜜桃精品视频在线| 欧洲中文字幕精品| 中文字幕日本不卡| fc2成人免费人成在线观看播放| 欧美大胆人体bbbb| 日韩激情av在线| 日韩三级伦理片妻子的秘密按摩| 亚洲国产日日夜夜| 日本道色综合久久| 日韩伦理av电影| 国产精品一区专区| 精品国产乱码91久久久久久网站| 石原莉奈在线亚洲三区| 欧美性色aⅴ视频一区日韩精品| 亚洲欧美日韩中文字幕一区二区三区| 国产成人av影院| 久久久精品影视| 久草中文综合在线| 久久色.com| 国产成人午夜精品影院观看视频 | 免费看日韩精品| 日韩精品一区二区三区视频在线观看 | 久久综合五月天婷婷伊人| 麻豆国产一区二区| 欧美精品一区二区三区很污很色的 | 在线91免费看| 日韩高清国产一区在线| 7777女厕盗摄久久久| 日本va欧美va精品发布| 欧美这里有精品| 亚洲图片自拍偷拍| 欧美三级视频在线观看| 国产成人精品免费一区二区| 樱花草国产18久久久久| 精品对白一区国产伦| 国产99久久久久| 亚洲成人在线观看视频| 91精品福利在线一区二区三区| 国产精品一区在线观看你懂的| 亚洲黄色免费网站| 日韩美女主播在线视频一区二区三区| fc2成人免费人成在线观看播放| 91免费看片在线观看| 亚洲欧洲日韩女同| 欧洲激情一区二区| 日韩黄色免费电影| 久久在线观看免费| heyzo一本久久综合| 亚洲欧美日韩国产中文在线| 亚洲精品在线观看网站| 在线中文字幕一区二区| 久久久精品中文字幕麻豆发布| 国产在线观看一区二区| 国产精品福利一区| 日本二三区不卡| 日韩高清电影一区| 国产精品美女久久福利网站| 色噜噜狠狠一区二区三区果冻| 亚洲18女电影在线观看| 欧美大胆人体bbbb| 成人高清免费观看| 亚洲成av人片在线观看无码| 日韩精品专区在线影院观看| caoporn国产一区二区| 亚洲一区在线播放| 精品少妇一区二区三区| 懂色av中文一区二区三区| 同产精品九九九| 久久久久9999亚洲精品| 色欧美片视频在线观看| 美女免费视频一区二区| 亚洲男人天堂av| 精品国产一区久久| 一本久久精品一区二区| 亚洲电影视频在线| 欧美极品美女视频| 欧美日韩精品免费| 国产 日韩 欧美大片| 亚洲国产一区视频| 国产精品麻豆久久久| 99re在线精品| 中文字幕av在线一区二区三区| 韩国女主播成人在线观看| 一二三四区精品视频| 国产欧美一区二区精品忘忧草| 欧美日韩一区二区三区免费看 | 久久麻豆一区二区| 欧美日韩五月天| 91亚洲精品一区二区乱码| 极品少妇一区二区三区精品视频| 亚洲风情在线资源站| 中文字幕欧美一| 国产日产欧美精品一区二区三区| 91超碰这里只有精品国产| 日本高清无吗v一区| 成人午夜免费av| 国内精品国产成人国产三级粉色| 婷婷国产v国产偷v亚洲高清| 中文字幕日韩一区二区| 国产拍欧美日韩视频二区| 日韩欧美一区二区不卡| 欧美酷刑日本凌虐凌虐| 欧美在线短视频| 色综合色综合色综合| av中文字幕不卡| 国产精品一级片在线观看| 美女视频免费一区| 奇米四色…亚洲| 日韩极品在线观看| 天天综合天天做天天综合| 亚洲尤物在线视频观看| 伊人一区二区三区| 综合色中文字幕| 国产精品久久777777| 国产精品毛片无遮挡高清| 欧美极品少妇xxxxⅹ高跟鞋| 久久精品视频一区二区| 久久蜜桃香蕉精品一区二区三区| 精品美女在线播放| 久久综合色鬼综合色| 国产精品成人网| 亚洲日本护士毛茸茸| 综合久久一区二区三区| 亚洲欧美日韩国产综合在线| 亚洲女与黑人做爰| 伊人夜夜躁av伊人久久| 亚洲最大的成人av| 亚洲综合激情小说| 亚洲成人动漫精品| 日韩电影一区二区三区四区| 日韩va欧美va亚洲va久久| 免费人成黄页网站在线一区二区| 男女性色大片免费观看一区二区| 美洲天堂一区二卡三卡四卡视频 | 亚洲尤物视频在线| 午夜激情综合网| 日本不卡一区二区| 精品在线免费视频| 高清不卡在线观看| 一本一本大道香蕉久在线精品 | 99久久免费视频.com| 色婷婷精品久久二区二区蜜臀av| 欧美中文字幕一区| 91精品国产综合久久福利| 日韩欧美一级在线播放| 国产日韩欧美综合一区| 中文字幕一区二区三区不卡在线 | 久久久久国产免费免费| 日本一区二区三区国色天香| 亚洲欧美一区二区三区极速播放 | 亚洲欧美激情插| 视频在线观看一区二区三区| 久久 天天综合| 成人丝袜18视频在线观看| 色综合久久99| 欧美一区二区三区四区视频| 久久久久久97三级| 国产精品传媒视频| 日韩专区一卡二卡| 国产精品69毛片高清亚洲| 91麻豆swag| 欧美一区二区三区免费大片| 国产视频一区在线播放| 一区二区三区国产精华| 久久国产免费看| 99久免费精品视频在线观看 | 丰满少妇在线播放bd日韩电影| 91视频国产资源| 日韩一区二区在线观看视频| 中文一区一区三区高中清不卡| 一区二区三区四区亚洲| 看电影不卡的网站|