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

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

?? ps2kb_uart.lst

?? meg16 的所有功能實例
?? LST
?? 第 1 頁 / 共 2 頁
字號:
__start:
__text_start:
    00DE E5CF      LDI	R28,0x5F
    00DF E0D4      LDI	R29,4
    00E0 BFCD      OUT	0x3D,R28
    00E1 BFDE      OUT	0x3E,R29
    00E2 51C0      SUBI	R28,0x10
    00E3 40D0      SBCI	R29,0
    00E4 EA0A      LDI	R16,0xAA
    00E5 8308      STD	Y+0,R16
    00E6 2400      CLR	R0
    00E7 EDEB      LDI	R30,0xDB
    00E8 E0F0      LDI	R31,0
    00E9 E010      LDI	R17,0
    00EA 3DEB      CPI	R30,0xDB
    00EB 07F1      CPC	R31,R17
    00EC F011      BEQ	0x00EF
    00ED 9201      ST	R0,Z+
    00EE CFFB      RJMP	0x00EA
    00EF 8300      STD	Z+0,R16
    00F0 E4E0      LDI	R30,0x40
    00F1 E0F1      LDI	R31,1
    00F2 E6A0      LDI	R26,0x60
    00F3 E0B0      LDI	R27,0
    00F4 E011      LDI	R17,1
    00F5 3BEB      CPI	R30,0xBB
    00F6 07F1      CPC	R31,R17
    00F7 F021      BEQ	0x00FC
    00F8 95C8      LPM
    00F9 9631      ADIW	R30,1
    00FA 920D      ST	R0,X+
    00FB CFF9      RJMP	0x00F5
    00FC 940E01F4  CALL	_main
_exit:
    00FE CFFF      RJMP	_exit
FILE: E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART\PS2KB_UART.c
(0001) /****************************************Copyright (c)**************************************************
(0002) **                               ADEmbed Development Co.,LTD.                                    
(0003) **                                 http://www.adembed.com
(0004) **--------------File Info-------------------------------------------------------------------------------
(0005) ** File name:			ps2KB_UART.c
(0006) ** Last modified Date:  2008-12-13
(0007) ** Last Version:		1.0
(0008) ** Descriptions:		ps2 test.
(0009) ** 
(0010) **------------------------------------------------------------------------------------------------------
(0011) ** Created by:			junbolu
(0012) ** Created date:		2008-12-13
(0013) ** Version:				1.0
(0014) ** Descriptions:		
(0015) **
(0016) **------------------------------------------------------------------------------------------------------
(0017) ** Modified by:
(0018) ** Modified date:
(0019) ** Version:
(0020) ** Descriptions:
(0021) **
(0022) **------------------------------------------------------------------------------------------------------
(0023) **ICC-AVR application builder : 2008-12-13
(0024) **Target : M16
(0025) **Crystal: 7.3728Mhz
(0026) **SCK   ----  INT1
(0027) **DATA  ----  PD3  
(0028) **描述:讀取PS2鍵盤編碼,并且解碼以后發送到串口顯示。
(0029) **      
(0030) **
(0031) **涉及知識點:
(0032) **          
(0033) **          
(0034) **          
(0035) *******************************************************************************************************/
(0036) 
(0037) #include<iom16v.h>
(0038) #include<macros.h>
(0039) #include "scancodes.h"
(0040) 
(0041) #define BAUD  9600
(0042) #define BARR  (7372800/(16*BAUD)-1)
(0043) 
(0044) 
(0045) volatile unsigned char keycode=0;
(0046) volatile unsigned char step=0;
(0047) volatile char flag=0;
(0048) 
(0049) static unsigned char Key_UP=0, Shift = 0;//Key_UP是鍵松開標識,Shift是Shift鍵按下標識
(0050) static unsigned char BF = 0; //標識是否有字符被收到
(0051) 
(0052) void port_init(void)
(0053) {
(0054) 	DDRD =  0Xe7;
_port_init:
    00FF EE87      LDI	R24,0xE7
    0100 BB81      OUT	0x11,R24
(0055)     PORTD = 0XFF;
    0101 EF8F      LDI	R24,0xFF
    0102 BB82      OUT	0x12,R24
    0103 9508      RET
(0056) 
(0057) }
(0058) 
(0059) void UART_init( void )
(0060) {
(0061) 	UBRRH = (unsigned char)(BARR>>8);
_UART_init:
    0104 2422      CLR	R2
    0105 BC20      OUT	0x20,R2
(0062) 	UBRRL = (unsigned char)BARR;
    0106 E28F      LDI	R24,0x2F
    0107 B989      OUT	0x09,R24
(0063) 	UCSRB = (1<<RXEN)|(1<<TXEN);
    0108 E188      LDI	R24,0x18
    0109 B98A      OUT	0x0A,R24
(0064) 	UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);       
    010A E886      LDI	R24,0x86
    010B BD80      OUT	0x20,R24
    010C 9508      RET
(0065) }
(0066) 
(0067) void uart_transmit(unsigned char data)
(0068) {
(0069) 	while(!(UCSRA&(1<<UDRE)));
_uart_transmit:
  data                 --> R16
    010D 9B5D      SBIS	0x0B,5
    010E CFFE      RJMP	_uart_transmit
(0070) 	
(0071) 	UDR = data;
    010F B90C      OUT	0x0C,R16
    0110 9508      RET
_uart_trans_str:
  s                    --> R20
    0111 940E0238  CALL	push_gset1
    0113 01A8      MOVW	R20,R16
(0072) }
(0073) 
(0074) void uart_trans_str(unsigned char *s)
(0075) {
    0114 C005      RJMP	0x011A
(0076)  	while(*s)
(0077) 	{
(0078) 	 uart_transmit(*s);
    0115 01FA      MOVW	R30,R20
    0116 8100      LDD	R16,Z+0
    0117 DFF5      RCALL	_uart_transmit
(0079) 	 s++;
    0118 5F4F      SUBI	R20,0xFF
    0119 4F5F      SBCI	R21,0xFF
    011A 01FA      MOVW	R30,R20
    011B 8020      LDD	R2,Z+0
    011C 2022      TST	R2
    011D F7B9      BNE	0x0115
    011E 940E023B  CALL	pop_gset1
    0120 9508      RET
_int1_scr:
    0121 922A      ST	R2,-Y
    0122 938A      ST	R24,-Y
    0123 939A      ST	R25,-Y
    0124 B62F      IN	R2,0x3F
    0125 922A      ST	R2,-Y
(0080) 	}
(0081) }
(0082) #pragma interrupt_handler int1_scr:3
(0083) void int1_scr(void)
(0084) {
(0085) 	step++;
    0126 91800061  LDS	R24,step
    0128 5F8F      SUBI	R24,0xFF
    0129 93800061  STS	step,R24
(0086) 	
(0087) 	if(step==1)
    012B 91800061  LDS	R24,step
    012D 3081      CPI	R24,1
    012E F441      BNE	0x0137
(0088) 	{
(0089) 		if((PIND&0X10)==1)
    012F B380      IN	R24,0x10
    0130 7180      ANDI	R24,0x10
    0131 3081      CPI	R24,1
    0132 F549      BNE	0x015C
(0090) 		{
(0091) 			step = 0;
    0133 2422      CLR	R2
    0134 92200061  STS	step,R2
(0092) 		}
(0093) 	}
    0136 C025      RJMP	0x015C
(0094) 	else if((step>=2)&&(step<=9))
    0137 91800061  LDS	R24,step
    0139 3082      CPI	R24,2
    013A F0B8      BCS	0x0152
    013B E089      LDI	R24,0x9
    013C 90200061  LDS	R2,step
    013E 1582      CP	R24,R2
    013F F090      BCS	0x0152
(0095) 	{	
(0096) 		keycode>>=1;
    0140 90200060  LDS	R2,keycode
    0142 9426      LSR	R2
    0143 92200060  STS	keycode,R2
(0097) 		
(0098) 		if((PIND&0X10)==0)
    0145 9984      SBIC	0x10,4
    0146 C005      RJMP	0x014C
(0099) 		{
(0100) 			keycode|=0x00;
    0147 90200060  LDS	R2,keycode
    0149 92200060  STS	keycode,R2
(0101) 		}
    014B C010      RJMP	0x015C
(0102) 		else 
(0103) 		{
(0104) 			keycode|=0x80;
    014C 91800060  LDS	R24,keycode
    014E 6880      ORI	R24,0x80
    014F 93800060  STS	keycode,R24
(0105) 		}	   
(0106) 	}
    0151 C00A      RJMP	0x015C
(0107) 	else if(step == 11)
    0152 91800061  LDS	R24,step
    0154 308B      CPI	R24,0xB
    0155 F431      BNE	0x015C
(0108) 	{
(0109) 		flag = 1;
    0156 E081      LDI	R24,1
    0157 93800062  STS	flag,R24
(0110) 		step = 0;
    0159 2422      CLR	R2
    015A 92200061  STS	step,R2
(0111) 	}
    015C 9029      LD	R2,Y+
    015D BE2F      OUT	0x3F,R2
    015E 9199      LD	R25,Y+
    015F 9189      LD	R24,Y+
    0160 9029      LD	R2,Y+
    0161 9518      RETI
_Decode:
  TempCyc              --> R22
  ScanCode             --> R20
    0162 940E0236  CALL	push_gset2
    0164 2F40      MOV	R20,R16
(0112) }
(0113) 
(0114) void Decode(unsigned char ScanCode) //注意:如SHIFT+G為12H 34H F0H 34H F0H 12H,也就是說shift的通碼+G的通碼+shift的斷碼+G的斷碼
(0115) {
(0116) 	unsigned char TempCyc;	
(0117) 
(0118) 	if (!Key_UP)                //當鍵盤松開時
    0165 90200063  LDS	R2,Key_UP
    0167 2022      TST	R2
    0168 F009      BEQ	0x016A
    0169 C06C      RJMP	0x01D6
(0119) 		{
(0120) 			switch (ScanCode)
    016A 2F64      MOV	R22,R20
    016B 2777      CLR	R23
    016C 3569      CPI	R22,0x59
    016D E0E0      LDI	R30,0
    016E 077E      CPC	R23,R30
    016F F0B9      BEQ	0x0187
    0170 E589      LDI	R24,0x59
    0171 E090      LDI	R25,0
    0172 1786      CP	R24,R22
    0173 0797      CPC	R25,R23
    0174 F02C      BLT	0x017A
    0175 3162      CPI	R22,0x12
    0176 E0E0      LDI	R30,0
    0177 077E      CPC	R23,R30
    0178 F051      BEQ	0x0183
    0179 C011      RJMP	0x018B
    017A 3F60      CPI	R22,0xF0
    017B E0E0      LDI	R30,0
    017C 077E      CPC	R23,R30
    017D F009      BEQ	0x017F
    017E C00C      RJMP	0x018B
(0121) 				{
(0122) 					case 0xF0 :	// 當收到0xF0,Key_UP置1表示斷碼開始
(0123) 						Key_UP = 1;
    017F E081      LDI	R24,1
    0180 93800063  STS	Key_UP,R24
(0124) 					break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久天堂| 成人欧美一区二区三区黑人麻豆| 精品国产1区2区3区| 日韩伦理av电影| 国产午夜久久久久| 男女男精品网站| 国产精品美女一区二区| 欧美性做爰猛烈叫床潮| 久久久青草青青国产亚洲免观| 蜜臀久久99精品久久久久久9| 99re视频精品| 久久一日本道色综合| 日韩高清不卡一区二区三区| 欧美日韩一区二区三区四区五区| 欧美在线免费观看视频| 亚洲夂夂婷婷色拍ww47 | 国产一区中文字幕| 美国毛片一区二区| 在线欧美日韩精品| 亚洲天堂成人网| 91亚洲精华国产精华精华液| 国产日产欧美一区二区三区| 国产精品资源在线看| 欧美精品一区二区在线播放| 麻豆国产精品一区二区三区| 欧美日韩综合色| 午夜久久久久久久久久一区二区| 国产精品免费aⅴ片在线观看| 免费人成在线不卡| 欧美日韩五月天| 亚洲午夜久久久久久久久电影网| 99精品国产视频| 中文在线一区二区 | 国产黑丝在线一区二区三区| 制服丝袜日韩国产| 一区二区三区在线视频免费观看| 99久精品国产| 国产精品天天看| 日本麻豆一区二区三区视频| 欧美色视频在线| 国产精品麻豆一区二区| 亚洲成av人在线观看| 91在线精品一区二区三区| 国产亚洲婷婷免费| 欧美日韩精品三区| 美女视频黄久久| 中文字幕一区在线观看视频| 亚洲天堂av一区| 成人动漫视频在线| 国产欧美日韩在线| 成人综合婷婷国产精品久久| 久久色中文字幕| 国产真实乱对白精彩久久| 欧美一激情一区二区三区| 尤物在线观看一区| 欧美亚洲综合另类| 亚洲最快最全在线视频| 色94色欧美sute亚洲线路一ni| 国产精品不卡视频| 99在线热播精品免费| 国产日韩v精品一区二区| 国产河南妇女毛片精品久久久| 久久精品在这里| 成人免费看的视频| 中文字幕一区二区三区蜜月| 99精品视频一区二区三区| 亚洲精品一区二区三区香蕉| 久久aⅴ国产欧美74aaa| 精品国产乱码久久久久久影片| 久久成人av少妇免费| 精品av综合导航| 国产传媒一区在线| 精品一区二区三区在线播放视频| 欧美成人a∨高清免费观看| 国产一区高清在线| 欧美精品免费视频| 亚洲乱码日产精品bd| 色欧美片视频在线观看| 亚洲人成影院在线观看| 欧美性猛片xxxx免费看久爱| 亚洲mv大片欧洲mv大片精品| 欧美日韩成人在线| 日韩美女啊v在线免费观看| 成人影视亚洲图片在线| 青青青伊人色综合久久| 一区二区三区日韩| 国产精品福利一区二区| 欧美成人一级视频| 91精品国产乱码| 成人av在线一区二区三区| 1024成人网| 久久九九久精品国产免费直播| 欧美国产日本视频| 久久久国产精华| 国产精品高潮呻吟| 日本福利一区二区| 美脚の诱脚舐め脚责91| 欧美精品一区二区三区蜜桃| 国产suv一区二区三区88区| 亚洲男女一区二区三区| 欧美三片在线视频观看| 午夜精品福利在线| 欧美日韩久久一区| 精品一区二区三区不卡| 国产精品黄色在线观看| 欧美日韩卡一卡二| 国产成人精品亚洲777人妖| 亚洲综合色视频| 精品国产免费人成在线观看| 波多野结衣中文字幕一区| 亚洲国产精品尤物yw在线观看| 精品黑人一区二区三区久久| k8久久久一区二区三区| 亚洲精品日韩综合观看成人91| 欧美日韩久久一区二区| aa级大片欧美| 日本不卡一区二区三区高清视频| 中文字幕国产一区二区| 欧美日韩免费一区二区三区视频| 国内欧美视频一区二区| 一区二区三区在线视频观看58| 久久综合九色综合欧美98| 一本色道亚洲精品aⅴ| 免费人成精品欧美精品| 中文字幕一区二区日韩精品绯色| 91精品国产欧美一区二区18| 99视频精品在线| 国产一区二区精品久久| 午夜精品久久久久久久久久 | 亚洲精品国产一区二区精华液| 久久综合九色综合欧美就去吻| 欧美日韩国产美| 亚洲免费观看高清完整版在线观看| 欧美精品一区二区不卡| 欧美三区免费完整视频在线观看| 波多野结衣视频一区| 久久精品久久99精品久久| 亚洲国产日韩在线一区模特| 国产精品国产三级国产aⅴ入口| 欧美男同性恋视频网站| 欧美色中文字幕| 99久久99久久综合| 国产一区二区三区在线观看免费视频| 一区二区三区在线视频免费观看 | 久久五月婷婷丁香社区| 91精品免费观看| 99久久婷婷国产| 国产白丝精品91爽爽久久| 亚洲国产视频a| 日韩欧美高清dvd碟片| 欧美三级午夜理伦三级中视频| 国产成人免费av在线| 久久99久久久久| 三级亚洲高清视频| 亚洲国产精品久久不卡毛片 | 777a∨成人精品桃花网| 日本韩国欧美一区二区三区| 欧美亚洲动漫制服丝袜| 久久99久久99| 日一区二区三区| 亚洲国产精品麻豆| 亚洲在线观看免费视频| 亚洲欧美另类小说视频| 国产精品麻豆欧美日韩ww| 久久亚洲一级片| 3atv在线一区二区三区| 欧美日韩精品三区| 在线精品视频一区二区| 色狠狠桃花综合| 91在线视频播放地址| 国产亚洲欧美色| 狠狠色伊人亚洲综合成人| 琪琪久久久久日韩精品| 日韩国产成人精品| 日本三级韩国三级欧美三级| 首页国产欧美久久| 午夜视黄欧洲亚洲| 香蕉久久夜色精品国产使用方法| 国产精品久久久久7777按摩| 久久久久免费观看| 久久综合网色—综合色88| 精品美女在线播放| wwwwxxxxx欧美| 国产女同性恋一区二区| 欧美国产欧美亚州国产日韩mv天天看完整| 久久久久久麻豆| 国产精品无人区| 亚洲免费观看高清完整版在线 | 天天av天天翘天天综合网| 亚洲美女在线一区| 亚洲欧美一区二区三区国产精品 | 日韩一区二区影院| 日韩欧美123| xnxx国产精品| 国产精品区一区二区三区| 中文字幕一区二区三区在线播放| 亚洲欧美日韩人成在线播放| 中文字幕在线观看一区二区| 欧美丝袜自拍制服另类| 91看片淫黄大片一级|