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

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

?? pc_8535.lst

?? 單片機pc8535開發程序 (利用iccavr等開發工具開發)
?? LST
?? 第 1 頁 / 共 2 頁
字號:
__start:
__text_start:
    00A2 E5CF      LDI	R28,0x5F
    00A3 E0D2      LDI	R29,2
    00A4 BFCD      OUT	P3D,R28
    00A5 BFDE      OUT	P3E,R29
    00A6 51C0      SUBI	R28,0x10
    00A7 40D0      SBCI	R29,0
    00A8 EA0A      LDI	R16,0xAA
    00A9 8308      STD	R16,0+Y
    00AA 2400      CLR	R0
    00AB E7E1      LDI	R30,0x71
    00AC E0F0      LDI	R31,0
    00AD E010      LDI	R17,0
    00AE 3BE8      CPI	R30,0xB8
    00AF 07F1      CPC	R31,R17
    00B0 F011      BEQ	0x00B3
    00B1 9201      ST	R0,Z+
    00B2 CFFB      RJMP	0x00AE
    00B3 8300      STD	R16,0+Z
    00B4 E3E2      LDI	R30,0x32
    00B5 E0F1      LDI	R31,1
    00B6 E6A0      LDI	R26,0x60
    00B7 E0B0      LDI	R27,0
    00B8 E011      LDI	R17,1
    00B9 34E3      CPI	R30,0x43
    00BA 07F1      CPC	R31,R17
    00BB F021      BEQ	0x00C0
    00BC 95C8      LPM
    00BD 9631      ADIW	R30,1
    00BE 920D      ST	R0,X+
    00BF CFF9      RJMP	0x00B9
    00C0 D0F6      RCALL	_main
_exit:
    00C1 CFFF      RJMP	_exit
FILE: D:\ICC-AVR\examples.sl\pc_8535\kbc.c
(0001) #include <io8535.h>
(0002) #include <macros.h>
(0003) #include "pindefs.h"
(0004) #include "scancodes.h"
(0005) #define BUFF_SIZE 64
(0006) //const ascii[16]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,
(0007) //                 0x39,0x41,0x42,0x43,0x44,0x45,0x46};
(0008) unsigned char bitcount;//PC鍵盤數據長度計數 
(0009) unsigned char kb_buffer[BUFF_SIZE];//鍵盤緩沖區
(0010) unsigned char input=0;//緩沖區讀指針
(0011) unsigned char output=0;//緩沖區寫指針
(0012) //送鍵盤按鍵ASCII碼到鍵盤緩沖區
(0013) void put_kbbuff(unsigned char c)
(0014)  {
(0015)   kb_buffer[input]=c;
_put_kbbuff:
  c                    --> R16
    00C2 E785      LDI	R24,0x75
    00C3 E090      LDI	R25,0
    00C4 91E00060  LDS	R30,0x60
    00C6 27FF      CLR	R31
    00C7 0FE8      ADD	R30,R24
    00C8 1FF9      ADC	R31,R25
    00C9 8300      STD	R16,0+Z
(0016)   if (input<(BUFF_SIZE-1))
    00CA 91800060  LDS	R24,0x60
    00CC 338F      CPI	R24,0x3F
    00CD F420      BCC	0x00D2
(0017)      input++; 
    00CE 5F8F      SUBI	R24,0xFF
    00CF 93800060  STS	R24,0x60
    00D1 C003      RJMP	0x00D5
(0018)   else
(0019)      input=0;	 
    00D2 2422      CLR	R2
    00D3 92200060  STS	R2,0x60
(0020)  }
    00D5 9508      RET
(0021) //從鍵盤緩沖區讀取按鍵的ASCII碼 
(0022) unsigned char get_char(void)
(0023)   {
(0024)    unsigned char temp;
(0025)    if(output==input)
_get_char:
  temp                 --> R16
    00D6 90200060  LDS	R2,0x60
    00D8 90300061  LDS	R3,0x61
    00DA 1432      CP	R3,R2
    00DB F411      BNE	0x00DE
(0026)        return 0;
    00DC 2700      CLR	R16
    00DD C013      RJMP	0x00F1
(0027)    else
(0028)       {
(0029) 	   temp=kb_buffer[output];
    00DE E785      LDI	R24,0x75
    00DF E090      LDI	R25,0
    00E0 91E00061  LDS	R30,0x61
    00E2 27FF      CLR	R31
    00E3 0FE8      ADD	R30,R24
    00E4 1FF9      ADC	R31,R25
    00E5 8100      LDD	R16,0+Z
(0030) 	   if(output<(BUFF_SIZE-1))
    00E6 91800061  LDS	R24,0x61
    00E8 338F      CPI	R24,0x3F
    00E9 F420      BCC	0x00EE
(0031) 	     {
(0032) 		  output++;
    00EA 5F8F      SUBI	R24,0xFF
    00EB 93800061  STS	R24,0x61
(0033) 		 }
    00ED C003      RJMP	0x00F1
(0034) 	   else
(0035) 	     output=0;
    00EE 2422      CLR	R2
    00EF 92200061  STS	R2,0x61
(0036) 	   return temp;	  
    00F1 9508      RET
(0037) 	  }	     
(0038)   }
(0039) //為運行讀取PC鍵盤程序進行初始化  
(0040) void init_kb(void)
(0041)     {
(0042) 	 MCUCR=0x02;//設置8515的INT0為下降沿觸發中斷 
_init_kb:
    00F2 E082      LDI	R24,2
    00F3 BF85      OUT	P35,R24
(0043)      GIMSK|=(1<<INT0);//使能INT0中斷
    00F4 B78B      IN	R24,P3B
    00F5 6480      ORI	R24,0x40
    00F6 BF8B      OUT	P3B,R24
(0044)      SEI(); //開中斷
    00F7 9478      BSET	7
(0045)      bitcount = 11;
    00F8 E08B      LDI	R24,0xB
    00F9 938000B5  STS	R24,_bitcount
(0046)     }
    00FB 9508      RET
_decode:
  i                    --> R20
  sc                   --> R22
    00FC D11A      RCALL	push_gset3
    00FD 2F60      MOV	R22,R16
(0047) //對PC鍵盤的掃描碼進行解碼	
(0048) void decode(unsigned char sc)
(0049)     {
(0050)       static unsigned char shift,up,shiftup;
(0051) 	  unsigned char i;
(0052) 	  if (sc==0xf0)//按鍵釋放
    00FE 3F60      CPI	R22,0xF0
    00FF F421      BNE	0x0104
(0053) 	      {
(0054) 		   up=1;
    0100 E081      LDI	R24,1
    0101 93800072  STS	R24,0x72
(0055) 		   return;
    0103 C06C      RJMP	0x0170
(0056) 		  }
(0057) 	  if (up==1)//SHIF鍵開關
    0104 91800072  LDS	R24,0x72
    0106 3081      CPI	R24,1
    0107 F501      BNE	0x0128
(0058) 	  	  {
(0059) 		   up=0;
    0108 2422      CLR	R2
    0109 92200072  STS	R2,0x72
(0060) 		   if ((sc==0x12)|(sc==0x59)) shift=0;
    010B 3162      CPI	R22,0x12
    010C F429      BNE	0x0112
    010D E081      LDI	R24,1
    010E E090      LDI	R25,0
    010F 2EA8      MOV	R10,R24
    0110 2EB9      MOV	R11,R25
    0111 C002      RJMP	0x0114
    0112 24AA      CLR	R10
    0113 24BB      CLR	R11
    0114 3569      CPI	R22,0x59
    0115 F419      BNE	0x0119
    0116 E041      LDI	R20,1
    0117 E050      LDI	R21,0
    0118 C002      RJMP	0x011B
    0119 2744      CLR	R20
    011A 2755      CLR	R21
    011B 2C2A      MOV	R2,R10
    011C 2C3B      MOV	R3,R11
    011D 2A24      OR	R2,R20
    011E 2A35      OR	R3,R21
    011F 2022      TST	R2
    0120 F419      BNE	0x0124
    0121 2033      TST	R3
    0122 F409      BNE	0x0124
    0123 C04C      RJMP	0x0170
    0124 2422      CLR	R2
    0125 92200071  STS	R2,0x71
(0061) 		   return;
    0127 C048      RJMP	0x0170
(0062) 		  }	  	   
(0063) 	  switch (sc)
    0128 2F46      MOV	R20,R22
    0129 2755      CLR	R21
    012A 3142      CPI	R20,0x12
    012B E0E0      LDI	R30,0
    012C 075E      CPC	R21,R30
    012D F049      BEQ	0x0137
    012E 3142      CPI	R20,0x12
    012F E0E0      LDI	R30,0
    0130 075E      CPC	R21,R30
    0131 F03C      BLT	0x0139
    0132 3549      CPI	R20,0x59
    0133 E0E0      LDI	R30,0
    0134 075E      CPC	R21,R30
    0135 F011      BEQ	0x0138
    0136 C002      RJMP	0x0139
(0064) 	    {
(0065) 		 case 0x12:{//檢測左SHIF鍵
(0066) 					shift=1;		
    0137 D11F      RCALL	0x0257
    0138 D11E      RCALL	0x0257
(0067) 					shiftup=1;
(0068) 		           }		           
(0069) 		 case 0x59:{//檢測右SHIF鍵
(0070) 				    shift=1;	
(0071) 					shiftup=1;
(0072) 		           }		           
(0073) 		 default:{
(0074) 		          if (shift==0)
    0139 90200071  LDS	R2,0x71
    013B 2022      TST	R2
    013C F009      BEQ	0x013E
    013D C01A      RJMP	0x0158
(0075) 					 {
(0076) 					 for(i = 0;unshifted[i][0]!=sc && unshifted[i][0]; i++);
    013E 2744      CLR	R20
    013F C001      RJMP	0x0141
    0140 9543      INC	R20
    0141 E282      LDI	R24,0x22
    0142 D103      RCALL	<created procedures>
    0143 2C20      MOV	R2,R0
    0144 2433      CLR	R3
    0145 2E46      MOV	R4,R22
    0146 2455      CLR	R5
    0147 1424      CP	R2,R4
    0148 0435      CPC	R3,R5
    0149 F021      BEQ	0x014E
    014A 2022      TST	R2
    014B F7A1      BNE	0x0140
    014C 2033      TST	R3
    014D F791      BNE	0x0140
(0077)                      if (unshifted[i][0] == sc)
    014E E282      LDI	R24,0x22
    014F D0F6      RCALL	<created procedures>
    0150 1606      CP	R0,R22
    0151 F009      BEQ	0x0153
    0152 C01D      RJMP	0x0170
(0078) 						  put_kbbuff(unshifted[i][1]);	 
    0153 E283      LDI	R24,0x23
    0154 D0F1      RCALL	<created procedures>
    0155 2D00      MOV	R16,R0
    0156 DF6B      RCALL	_put_kbbuff
(0079) 					 }
    0157 C018      RJMP	0x0170
(0080) 				  else
(0081) 				     {
(0082) 					 for(i = 0;shifted[i][0]!=sc && shifted[i][0]; i++);
    0158 2744      CLR	R20
    0159 C001      RJMP	0x015B
    015A 9543      INC	R20
    015B EA8A      LDI	R24,0xAA
    015C D0E9      RCALL	<created procedures>
    015D 2C20      MOV	R2,R0
    015E 2433      CLR	R3
    015F 2E46      MOV	R4,R22
    0160 2455      CLR	R5
    0161 1424      CP	R2,R4
    0162 0435      CPC	R3,R5
    0163 F021      BEQ	0x0168
    0164 2022      TST	R2
    0165 F7A1      BNE	0x015A
    0166 2033      TST	R3
    0167 F791      BNE	0x015A
(0083)                      if (shifted[i][0] == sc)
    0168 EA8A      LDI	R24,0xAA
    0169 D0DC      RCALL	<created procedures>
    016A 1606      CP	R0,R22
    016B F421      BNE	0x0170
(0084)                          {
(0085) 						  put_kbbuff(shifted[i][1]);						  
    016C EA8B      LDI	R24,0xAB
    016D D0D8      RCALL	<created procedures>
    016E 2D00      MOV	R16,R0
    016F DF52      RCALL	_put_kbbuff
(0086) 						 }	 	 						 
(0087) 					 } 
(0088) 		         }		         
(0089) 		} 	
(0090)     }
    0170 D0A9      RCALL	pop_gset3
    0171 9508      RET
_int0_isr:
    0172 D05C      RCALL	push_lset
    0173 D089      RCALL	push_gset1
(0091) //鍵盤數據讀取程序	
(0092) #pragma interrupt_handler int0_isr:2
(0093) void int0_isr(void)
(0094)    {
(0095)     static unsigned char data;   	
(0096)     switch (bitcount)
    0174 914000B5  LDS	R20,_bitcount
    0176 2755      CLR	R21
    0177 3041      CPI	R20,1
    0178 E0E0      LDI	R30,0
    0179 075E      CPC	R21,R30
    017A F0A1      BEQ	0x018F
    017B 3042      CPI	R20,2
    017C E0E0      LDI	R30,0
    017D 075E      CPC	R21,R30
    017E F071      BEQ	0x018D

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一二一区| 亚洲国产精品ⅴa在线观看| 久久先锋影音av鲁色资源| 一区二区三区在线免费播放| 久久99久久99精品免视看婷婷| 99久久精品免费精品国产| 久久综合久久综合久久综合| 亚洲成av人片在www色猫咪| 成人激情开心网| 久久看人人爽人人| 美腿丝袜在线亚洲一区| 欧美亚洲愉拍一区二区| 国产精品久久三| 精品一区二区三区在线观看国产 | 成人午夜精品在线| 欧美一级生活片| 亚洲国产sm捆绑调教视频 | 久久精品国内一区二区三区| 91国偷自产一区二区三区成为亚洲经典 | 久久99久久久久久久久久久| 欧美午夜精品一区二区三区| 中文字幕亚洲成人| 成人免费不卡视频| 国产午夜精品久久| 国产福利一区二区三区视频| 精品久久久久久久人人人人传媒| 日韩高清在线不卡| 欧美日韩国产免费| 天天色 色综合| 欧美在线视频你懂得| 亚洲国产视频一区二区| 91看片淫黄大片一级在线观看| 国产精品久久777777| 成人免费视频一区二区| 国产精品美女www爽爽爽| 国产成人亚洲精品青草天美| 久久久精品人体av艺术| 丁香五精品蜜臀久久久久99网站| 国产免费观看久久| aaa欧美大片| 亚洲一区日韩精品中文字幕| 91久久线看在观草草青青| 亚洲综合激情另类小说区| 欧美视频日韩视频在线观看| 日韩精品亚洲专区| 精品久久久久久久久久久院品网| 国产一区三区三区| 亚洲国产精品高清| 欧洲精品在线观看| 天天色天天操综合| 久久综合久久鬼色中文字| 懂色一区二区三区免费观看| 亚洲色图欧美激情| 欧美日韩另类一区| 久久国产精品无码网站| 国产精品传媒在线| 欧美猛男男办公室激情| 韩国v欧美v日本v亚洲v| 亚洲欧洲三级电影| 91精品国产乱码久久蜜臀| 国产综合久久久久久鬼色| 自拍偷拍欧美精品| 91精品国产综合久久福利| 国产在线视频一区二区三区| |精品福利一区二区三区| 777精品伊人久久久久大香线蕉| 国内成人精品2018免费看| 亚洲欧美偷拍另类a∨色屁股| 欧美精品久久久久久久久老牛影院| 精品一区二区免费在线观看| 国产精品福利影院| 91精品免费观看| 99视频一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 精品999在线播放| 色综合网色综合| 激情五月激情综合网| 国产精品福利av| 日韩久久免费av| 91福利国产精品| 国产成人综合网站| 日本美女一区二区三区视频| 最新中文字幕一区二区三区 | 麻豆国产91在线播放| 亚洲日本一区二区三区| 久久综合九色综合欧美亚洲| 精品1区2区3区| 波多野结衣亚洲| 黄色日韩三级电影| 日韩黄色在线观看| 亚洲宅男天堂在线观看无病毒| 久久精品亚洲国产奇米99| 欧美一区二区三区爱爱| 欧美性xxxxx极品少妇| 成人aa视频在线观看| 99精品一区二区三区| 久久超碰97中文字幕| 性做久久久久久久久| 亚洲天堂a在线| 欧美国产精品久久| 久久―日本道色综合久久| 欧美一级久久久| 欧美精品电影在线播放| 亚洲精品视频在线观看免费| 欧美一级黄色片| 欧美三级中文字幕在线观看| 成人动漫视频在线| 粉嫩久久99精品久久久久久夜| 激情综合网激情| 激情综合色综合久久| 美女视频黄a大片欧美| 日韩电影在线免费看| 日本中文一区二区三区| 免费成人深夜小野草| 男男gaygay亚洲| 六月丁香综合在线视频| 免费成人深夜小野草| 精品亚洲免费视频| 国产毛片一区二区| 高清不卡在线观看av| hitomi一区二区三区精品| caoporn国产精品| 色嗨嗨av一区二区三区| 欧美日韩中字一区| 91精品国产综合久久小美女| 日韩午夜在线观看| 久久婷婷国产综合国色天香| 日本一区二区三区电影| 中文字幕在线免费不卡| 亚洲欧美经典视频| 亚欧色一区w666天堂| 久久99国产精品麻豆| 国产乱码精品一区二区三区五月婷 | 一区二区三区在线免费观看| 亚洲成人激情综合网| 奇米精品一区二区三区在线观看 | 国产视频一区二区在线| 中文字幕av资源一区| 亚洲免费av高清| 日本在线不卡视频| 豆国产96在线|亚洲| 色婷婷精品大视频在线蜜桃视频| 在线一区二区三区四区五区| 在线不卡一区二区| 久久久久国产一区二区三区四区| 中文字幕一区av| 青青青伊人色综合久久| 成人免费毛片高清视频| 欧美日韩一二区| 久久久久97国产精华液好用吗| 亚洲蜜桃精久久久久久久| 裸体一区二区三区| 色狠狠色狠狠综合| 亚洲精品一区二区精华| 一区二区视频在线| 久久疯狂做爰流白浆xx| 91蝌蚪国产九色| 久久久久久亚洲综合| 亚洲精选一二三| 国产曰批免费观看久久久| 在线中文字幕一区二区| 国产亚洲欧美一级| 午夜久久久久久久久| 成人精品国产免费网站| 日韩一级大片在线| 一区二区三区在线免费| 国产精品影视在线观看| 欧美一区二区三区性视频| 日本人妖一区二区| 一本色道久久综合亚洲91| 久久久久久久综合| 免费视频一区二区| 欧美性受xxxx| 亚洲色图制服诱惑 | 日韩av中文字幕一区二区三区| 国产成人aaaa| 日韩欧美电影在线| 亚洲第一成年网| 91丨九色丨蝌蚪丨老版| 久久久不卡影院| 毛片基地黄久久久久久天堂| 欧美色视频一区| 一区二区三区在线视频免费观看 | 国产精品久久久久久久久晋中 | av电影一区二区| 久久久久国产精品人| 精品一区二区三区久久| 3d动漫精品啪啪一区二区竹菊| 亚洲一区二区三区美女| 97精品久久久久中文字幕| 国产精品久久久久婷婷| 国产a级毛片一区| 日本一区二区免费在线| 久久99深爱久久99精品| 精品久久久久99| 看电影不卡的网站| 亚洲精品一区二区三区99| 久久er99精品| 国产日韩欧美激情| 成人午夜免费电影|