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

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

?? dtmf2.lst

?? 使用2X16的液晶(國內型號叫1602B)。可以將234個來電存在EEPROM中
?? LST
?? 第 1 頁 / 共 4 頁
字號:
 727 02f8 FECF      		rjmp .L50
 179:dtmf2.c       ****  UDR = data; 	 	   					//start transmittion 
 729               	.LM98:
 730 02fa 8CB9      		out 44-0x20,r24
 180:dtmf2.c       **** } 
 732               	.LM99:
 733               	/* epilogue: frame size=0 */
 734 02fc 0895      		ret
 735               	/* epilogue end (size=1) */
 736               	/* function TXbyte size 4 (3) */
 738               	.Lscope4:
 743               	.global	ewrite
 745               	ewrite:
 181:dtmf2.c       **** 
 182:dtmf2.c       **** 
 183:dtmf2.c       **** void ewrite (char address, char data)	//Writes char to EEPROM address 
 184:dtmf2.c       **** { 
 747               	.LM100:
 748               	/* prologue: frame size=0 */
 749               	/* prologue end (size=0) */
 750 02fe 982F      		mov r25,r24
 185:dtmf2.c       ****  cli(); 
 752               	.LM101:
 753               	/* #APP */
 754 0300 F894      		cli
 186:dtmf2.c       ****  while ((EECR >> EEWE) & 1); 
 756               	.LM102:
 757               	/* #NOAPP */
 758               	.L55:
 759 0302 8CB3      		in r24,60-0x20
 760 0304 8695      		lsr r24
 761 0306 80FD      		sbrc r24,0
 762 0308 FCCF      		rjmp .L55
 187:dtmf2.c       ****  EEARL = address>>1; 
 764               	.LM103:
 765 030a 9695      		lsr r25
 766 030c 9EBB      		out 62-0x20,r25
 188:dtmf2.c       ****  EEDR = data; 
 768               	.LM104:
 769 030e 6DBB      		out 61-0x20,r22
 189:dtmf2.c       ****  sbi (EECR,2); 
 771               	.LM105:
 772 0310 E29A      		sbi 60-0x20,2
 190:dtmf2.c       ****  sbi (EECR,1); 
 774               	.LM106:
 775 0312 E19A      		sbi 60-0x20,1
 191:dtmf2.c       ****  sei(); 
 777               	.LM107:
 778               	/* #APP */
 779 0314 7894      		sei
 192:dtmf2.c       **** } 
 781               	.LM108:
 782               	/* #NOAPP */
 783               	/* epilogue: frame size=0 */
 784 0316 0895      		ret
 785               	/* epilogue end (size=1) */
 786               	/* function ewrite size 15 (14) */
 788               	.Lscope5:
 792               	.global	eread
 794               	eread:
 193:dtmf2.c       ****   
 194:dtmf2.c       **** unsigned char eread (char address)		//Reads char from EEPROM address 
 195:dtmf2.c       **** { 
 796               	.LM109:
 797               	/* prologue: frame size=0 */
 798               	/* prologue end (size=0) */
 799 0318 982F      		mov r25,r24
 196:dtmf2.c       ****  EEARL = address>>1; 
 801               	.LM110:
 802 031a 8695      		lsr r24
 803 031c 8EBB      		out 62-0x20,r24
 197:dtmf2.c       ****  sbi (EECR,0); 
 805               	.LM111:
 806 031e E09A      		sbi 60-0x20,0
 198:dtmf2.c       ****  if(address&1) return (EEDR & 0x0F);		//Read LSN on odd address
 808               	.LM112:
 809 0320 90FF      		sbrs r25,0
 810 0322 05C0      		rjmp .L60
 811 0324 8DB3      		in r24,61-0x20
 812 0326 9927      		clr r25
 813 0328 8F70      		andi r24,lo8(15)
 814 032a 9070      		andi r25,hi8(15)
 199:dtmf2.c       ****  else return (EEDR >> 4);				//Read MSN on even address
 200:dtmf2.c       **** } 
 816               	.LM113:
 817 032c 0895      		ret
 818               	.L60:
 820               	.LM114:
 821 032e 8DB3      		in r24,61-0x20
 822 0330 8295      		swap r24
 823 0332 8F70      		andi r24,0x0f
 824 0334 9927      		clr r25
 826               	.LM115:
 827 0336 0895      		ret
 828               	/* epilogue: frame size=0 */
 829 0338 0895      		ret
 830               	/* epilogue end (size=1) */
 831               	/* function eread size 17 (16) */
 833               	.Lscope6:
 837               	.global	store
 839               	store:
 201:dtmf2.c       **** 
 202:dtmf2.c       **** 
 203:dtmf2.c       **** void store(unsigned char edata)		//Compresses and appends digit to the end of eeprom
 204:dtmf2.c       **** {
 841               	.LM116:
 842               	/* prologue: frame size=0 */
 843 033a CF93      		push r28
 844               	/* prologue end (size=1) */
 845 033c C82F      		mov r28,r24
 205:dtmf2.c       ****  unsigned char old;
 206:dtmf2.c       ****  if (eepos&1) {						//test if Marker is in MSN or LSN
 847               	.LM117:
 848               	.LBB8:
 849 033e 8091 0000 		lds r24,eepos
 850 0342 80FF      		sbrs r24,0
 851 0344 16C0      		rjmp .L63
 207:dtmf2.c       ****  	old = eread(eepos-1);				//read byte that will be overwritten
 853               	.LM118:
 854 0346 8150      		subi r24,lo8(-(-1))
 855 0348 E7DF      		rcall eread
 856 034a 682F      		mov r22,r24
 208:dtmf2.c       ****  	old = old<<4;
 858               	.LM119:
 859 034c 6295      		swap r22
 860 034e 607F      		andi r22,0xf0
 209:dtmf2.c       ****  	old|= edata;						//place new in LSN
 862               	.LM120:
 863 0350 6C2B      		or r22,r28
 210:dtmf2.c       ****  	ewrite(eepos,old);					//write new byte
 865               	.LM121:
 866 0352 8091 0000 		lds r24,eepos
 867 0356 D3DF      		rcall ewrite
 211:dtmf2.c       ****  	eepos++;							//increment eeprom address
 869               	.LM122:
 870 0358 8091 0000 		lds r24,eepos
 871 035c 8F5F      		subi r24,lo8(-(1))
 872 035e 8093 0000 		sts eepos,r24
 212:dtmf2.c       ****  	old = eread(eepos+1);					//read byte that will be overwritten
 874               	.LM123:
 875 0362 8F5F      		subi r24,lo8(-(1))
 876 0364 D9DF      		rcall eread
 877 0366 682F      		mov r22,r24
 213:dtmf2.c       ****  	old|= 0xF0;						//put Marker in MSN, keep data in LSN
 879               	.LM124:
 880 0368 606F      		ori r22,lo8(-16)
 214:dtmf2.c       ****  	ewrite(eepos,old);					//write new marker byte
 882               	.LM125:
 883 036a 8091 0000 		lds r24,eepos
 884 036e C7DF      		rcall ewrite
 885 0370 0AC0      		rjmp .L62
 886               	.L63:
 215:dtmf2.c       ****  }
 216:dtmf2.c       ****  else {
 217:dtmf2.c       ****  	edata = (edata << 4);				//Move data in LSN to MSN
 888               	.LM126:
 889 0372 C295      		swap r28
 890 0374 C07F      		andi r28,0xf0
 218:dtmf2.c       ****  	edata|= 0x0F;						//put Marker in LSN
 892               	.LM127:
 893 0376 CF60      		ori r28,lo8(15)
 219:dtmf2.c       ****  	ewrite(eepos,edata);				//write new marker and data byte
 895               	.LM128:
 896 0378 6C2F      		mov r22,r28
 897 037a C1DF      		rcall ewrite
 220:dtmf2.c       ****  	eepos++;
 899               	.LM129:
 900 037c 8091 0000 		lds r24,eepos
 901 0380 8F5F      		subi r24,lo8(-(1))
 902 0382 8093 0000 		sts eepos,r24
 221:dtmf2.c       ****  }
 222:dtmf2.c       **** }
 904               	.LM130:
 905               	.L62:
 906               	.LBE8:
 907               	/* epilogue: frame size=0 */
 908 0386 CF91      		pop r28
 909 0388 0895      		ret
 910               	/* epilogue end (size=2) */
 911               	/* function store size 40 (37) */
 916               	.Lscope7:
 921               	.global	trnsfr
 923               	trnsfr:
 223:dtmf2.c       **** 
 224:dtmf2.c       **** 
 225:dtmf2.c       **** void trnsfr(char line, char eol)		//Moves digits from eeprom to LCD line
 226:dtmf2.c       **** {
 925               	.LM131:
 926               	/* prologue: frame size=0 */
 927 038a 1F93      		push r17
 928 038c CF93      		push r28
 929               	/* prologue end (size=2) */
 930 038e C82F      		mov r28,r24
 931 0390 162F      		mov r17,r22
 227:dtmf2.c       ****  unsigned char hold,pop;
 228:dtmf2.c       ****  if(line<10) {							//test if line is less than 10
 933               	.LM132:
 934               	.LBB9:
 935 0392 8A30      		cpi r24,lo8(10)
 936 0394 20F4      		brsh .L66
 229:dtmf2.c       ****  	lcdata (' ');						//write space on LCD
 938               	.LM133:
 939 0396 60E2      		ldi r22,lo8(32)
 940 0398 81E0      		ldi r24,lo8(1)
 941 039a B9D0      		rcall lcdwrt
 230:dtmf2.c       ****  	lcdata ((line|0x30));				//write 'ones' line number on LCD
 943               	.LM134:
 944 039c 04C0      		rjmp .L75
 945               	.L66:
 231:dtmf2.c       ****  }
 232:dtmf2.c       ****  else {								//if line greater than 9....
 233:dtmf2.c       ****  	lcdata ('1');						//write 1 on LCD
 947               	.LM135:
 948 039e 61E3      		ldi r22,lo8(49)
 949 03a0 81E0      		ldi r24,lo8(1)
 950 03a2 B5D0      		rcall lcdwrt
 234:dtmf2.c       ****  	lcdata (((line-10)|0x30));			//write 'ones' line number on LCD
 952               	.LM136:
 953 03a4 CA50      		subi r28,lo8(-(-10))
 954               	.L75:
 955 03a6 C063      		ori r28,lo8(48)
 956 03a8 6C2F      		mov r22,r28
 957 03aa 81E0      		ldi r24,lo8(1)
 958 03ac B0D0      		rcall lcdwrt
 235:dtmf2.c       ****  }
 236:dtmf2.c       ****  lcdata ('-');							//write "-" after line number
 960               	.LM137:
 961 03ae 6DE2      		ldi r22,lo8(45)
 962 03b0 81E0      		ldi r24,lo8(1)
 963 03b2 ADD0      		rcall lcdwrt
 237:dtmf2.c       ****  for(pop=1;pop<=13;pop++) {				//Read nibbles
 965               	.LM138:
 966 03b4 C1E0      		ldi r28,lo8(1)
 967               	.L72:
 238:dtmf2.c       ****  	hold = eread(pop+eref-eol-14);		//Get byte from eeprom
 969               	.LM139:
 970 03b6 8091 0000 		lds r24,eref
 971 03ba 8C0F      		add r24,r28
 972 03bc 811B      		sub r24,r17
 973 03be 8E50      		subi r24,lo8(-(-14))
 974 03c0 ABDF      		rcall eread
 239:dtmf2.c       ****  	lcdata (fltr(hold));				//Send to LCD
 976               	.LM140:
 977 03c2 8DD0      		rcall fltr
 978 03c4 682F      		mov r22,r24
 979 03c6 81E0      		ldi r24,lo8(1)
 980 03c8 A2D0      		rcall lcdwrt
 982               	.LM141:
 983 03ca CF5F      		subi r28,lo8(-(1))
 984 03cc CE30      		cpi r28,lo8(14)
 985 03ce 98F3      		brlo .L72
 240:dtmf2.c       ****  }
 241:dtmf2.c       **** }
 987               	.LM142:
 988               	.LBE9:
 989               	/* epilogue: frame size=0 */
 990 03d0 CF91      		pop r28
 991 03d2 1F91      		pop r17
 992 03d4 0895      		ret
 993               	/* epilogue end (size=3) */
 994               	/* function trnsfr size 38 (33) */
 1000               	.Lscope8:
 1004               	.global	updtlcd
 1006               	updtlcd:
 242:dtmf2.c       **** 
 243:dtmf2.c       **** void updtlcd(unsigned char ldata)		//Handles writing new dtmf digit to LCD
 244:dtmf2.c       **** {
 1008               	.LM143:
 1009               	/* prologue: frame size=0 */
 1010 03d6 CF93      		push r28
 1011               	/* prologue end (size=1) */
 1012 03d8 C82F      		mov r28,r24
 245:dtmf2.c       ****  if (redraw==1 && lcdpos<13) {			// Redraw LCD if up/dn stuff is on it
 1014               	.LM144:
 1015 03da 6091 0000 		lds r22,redraw
 1016 03de 6130      		cpi r22,lo8(1)
 1017 03e0 A1F4      		brne .L77
 1018 03e2 8091 0000 		lds r24,lcdpos
 1019 03e6 8D30      		cpi r24,lo8(13)
 1020 03e8 80F4      		brsh .L77
 246:dtmf2.c       ****  	redraw = 0;
 1022               	.LM145:
 1023 03ea 1092 0000 		sts redraw,__zero_reg__
 247:dtmf2.c       ****  	esrl = 0;
 1025               	.LM146:
 1026 03ee 1092 0000 		sts esrl,__zero_reg__
 248:dtmf2.c       ****  	lcdln = 19;						//reset line numbner
 1028               	.LM147:
 1029 03f2 83E1      		ldi r24,lo8(19)
 1030 03f4 8093 0000 		sts lcdln,r24
 249:dtmf2.c       ****  	lcdcmd (0x01);						//Clear LCD, move home//clear lcd
 1032               	.LM148:
 1033 03f8 80E0      		ldi r24,lo8(0)
 1034 03fa 89D0      		rcall lcdwrt
 250:dtmf2.c       ****  	trnsfr (18, 0);					//draw line 18
 1036               	.LM149:
 1037 03fc 60E0      		ldi r22,lo8(0)
 1038 03fe 82E1      		ldi r24,lo8(18)
 1039 0400 C4DF      		rcall trnsfr
 251:dtmf2.c       ****  	lcdcmd (0xC0);						//set cursor at begining of bottom line
 1041               	.LM150:
 1042 0402 60EC      		ldi r22,lo8(-64)
 1043 0404 80E0      		ldi r24,lo8(0)
 1044 0406 83D0      		rcall lcdwrt
 252:dtmf2.c       ****  	line19();							//re-draw line 19
 1046               	.LM151:
 1047 0408 48D0      		rcall line19
 1048               	.L77:
 253:dtmf2.c       ****  }
 254:dtmf2.c       ****  if (lcdpos>=13) {
 1050               	.LM152:
 1051 040a 8091 0000 		lds r24,lcdpos
 1052 040e 8D30      		cpi r24,lo8(13)
 1053 0410 A8F1      		brlo .L78
 255:dtmf2.c       ****  	lcdcmd (0x01);						//Clear LCD, move home//clear lcd
 1055               	.LM153:
 1056 0412 61E0      		ldi r22,lo8(1)
 1057 0414 80E0      		ldi r24,lo8(0)
 1058 0416 7BD0      		rcall lcdwrt
 256:dtmf2.c       ****  	lcdata ('1');						//write "18-"
 1060               	.LM154:
 1061 0418 61E3      		ldi r22,lo8(49)
 1062 041a 81E0      		ldi r24,lo8(1)
 1063 041c 78D0      		rcall lcdwrt
 257:dtmf2.c       ****  	lcdata ('8');
 1065               	.LM155:
 1066 041e 68E3      		ldi r22,lo8(56)
 1067 0420 81E0      		ldi r24,lo8(1)
 1068 0422 75D0      		rcall lcdwrt
 258:dtmf2.c       ****  	lcdata ('-');
 1070               	.LM156:
 1071 0424 6DE2      		ldi r22,lo8(45)
 1072 0426 81E0      		ldi r24,lo8(1)
 1073 0428 72D0      		rcall lcdwrt
 259:dtmf2.c       ****  	for (lcdpos=0;lcdpos<=13;lcdpos++) {	//Move bottom line to top
 1075               	.LM157:
 1076 042a 1092 0000 		sts lcdpos,__zero_reg__
 1077               	.L83:
 260:dtmf2.c       ****  		lcdata (lcdtemp[lcdpos]);
 1079               	.LM158:
 1080 042e 8091 0000 		lds r24,lcdpos
 1081 0432 E82F      		mov r30,r24
 1082 0434 FF27      		clr r31
 1083 0436 E050      		subi r30,lo8(-(lcdtemp))
 1084 0438 F040      		sbci r31,hi8(-(lcdtemp))
 1085 043a 6081      		ld r22,Z
 1086 043c 81E0      		ldi r24,lo8(1)
 1087 043e 67D0      		rcall lcdwrt
 1089               	.LM159:
 1090 0440 8091 0000 		lds r24,lcdpos
 1091 0444 8F5F      		subi r24,lo8(-(1))
 1092 0446 8093 0000 		sts lcdpos,r24
 1093 044a 8E30      		cpi r24,lo8(14)
 1094 044c 80F3      		brlo .L83
 261:dtmf2.c       ****  	}
 262:dtmf2.c       ****  	lcdcmd (0xC0);						//set cursor at begining of bottom line

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2023国产一二三区日本精品2022| 欧美日韩国产免费| 美女网站色91| 亚洲黄一区二区三区| 国产精品久久久久久福利一牛影视 | 精品久久久网站| 91精品国产麻豆| 日韩三级视频在线看| 日韩视频在线观看一区二区| 欧美久久婷婷综合色| 欧美一个色资源| 久久影院视频免费| 中文字幕亚洲综合久久菠萝蜜| 综合在线观看色| 午夜精品久久久久久久蜜桃app| 午夜精品久久久久久久99水蜜桃| 五月婷婷久久丁香| 久久91精品久久久久久秒播| 国产福利一区在线| 成人午夜av电影| 欧美丝袜第三区| 精品国产乱码久久久久久闺蜜| 久久久久久久久久久久久夜| 国产精品传媒视频| 日日夜夜精品视频免费| 国产精品一线二线三线精华| 99在线精品一区二区三区| 欧美三级在线播放| 国产夜色精品一区二区av| 亚洲精品一二三| 久久爱另类一区二区小说| 成人网页在线观看| 777精品伊人久久久久大香线蕉| 久久久一区二区| 亚洲成a人片综合在线| 国产剧情在线观看一区二区| 欧美亚洲一区二区在线观看| 久久婷婷综合激情| 亚洲成人综合网站| 岛国精品一区二区| 欧美一级欧美三级在线观看| 国产精品久久久久久久岛一牛影视 | 国模无码大尺度一区二区三区| 成人午夜碰碰视频| 日韩欧美国产电影| 一区二区三区中文在线观看| 国产伦精品一区二区三区在线观看| 97se亚洲国产综合自在线| 日韩午夜激情电影| 亚洲综合色噜噜狠狠| 国产91精品精华液一区二区三区 | 一区二区在线观看不卡| 国产一区二区网址| 欧美日韩国产综合视频在线观看 | 国产欧美一区二区精品性色| 午夜精品久久久久久久99水蜜桃| 粉嫩av一区二区三区在线播放 | 国产亚洲视频系列| 日韩精品电影一区亚洲| 色综合激情五月| 久久久久国产精品人| 美女视频黄久久| 欧美精三区欧美精三区| 亚洲激情av在线| 一本久久精品一区二区| 国产精品国产三级国产有无不卡| 精一区二区三区| 日韩一级高清毛片| 亚洲午夜免费视频| 欧美天堂一区二区三区| 一区二区三区在线看| 色哟哟亚洲精品| 亚洲精品大片www| 色丁香久综合在线久综合在线观看| 亚洲欧美欧美一区二区三区| 99精品一区二区三区| ...xxx性欧美| 在线一区二区视频| 午夜av电影一区| 欧美成人午夜电影| 激情综合五月婷婷| 国产婷婷一区二区| 波多野结衣的一区二区三区| 国产欧美一区二区三区在线老狼| 成人午夜碰碰视频| 亚洲青青青在线视频| 91福利在线观看| 日韩黄色免费网站| 日韩免费一区二区| 国产91精品在线观看| 成人欧美一区二区三区白人 | av福利精品导航| 亚洲日本韩国一区| 欧美视频日韩视频| 青青草97国产精品免费观看无弹窗版| 欧美夫妻性生活| 91在线视频免费观看| 一区二区三区四区视频精品免费 | 亚洲电影中文字幕在线观看| 欧美日韩黄视频| 国产盗摄女厕一区二区三区| 国产精品成人免费精品自在线观看 | 国产91精品露脸国语对白| 亚洲日本韩国一区| 制服丝袜中文字幕一区| 国产麻豆视频一区二区| 日韩伦理av电影| 欧美伦理电影网| 国产成人免费视| 亚洲一区二区成人在线观看| 欧美xxxxx牲另类人与| av成人免费在线| 免费在线成人网| 国产精品福利影院| 日韩一区二区在线观看视频播放| 国产成人自拍网| 午夜欧美在线一二页| 国产欧美日韩久久| 在线不卡欧美精品一区二区三区| 国产精品一区专区| 日韩国产一区二| 亚洲丝袜另类动漫二区| 欧美白人最猛性xxxxx69交| 欧美性受极品xxxx喷水| 成人黄色在线看| 国产一区二区三区最好精华液| 无码av免费一区二区三区试看| 国产精品毛片大码女人| xnxx国产精品| 欧美精品电影在线播放| 色综合久久久久综合体桃花网| 久久国产视频网| 性欧美大战久久久久久久久| 成人欧美一区二区三区在线播放| 久久久久久久综合| 精品久久久久久亚洲综合网| 欧美日本精品一区二区三区| 色悠悠久久综合| 成人高清免费观看| 国产精品一二二区| 久久97超碰国产精品超碰| 免费人成在线不卡| 午夜不卡在线视频| 午夜精品久久久久| 亚洲激情一二三区| 亚洲日本在线a| 中文字幕日韩一区二区| 国产蜜臀97一区二区三区| 精品久久久久久久人人人人传媒 | 777xxx欧美| 制服视频三区第一页精品| 欧美日韩国产综合一区二区三区 | 欧美偷拍一区二区| 欧美日韩日日摸| 欧美日韩一区视频| 欧美四级电影网| 欧美精选一区二区| 欧美成人免费网站| 2020国产精品久久精品美国| 日韩精品一区二区三区在线| 日韩午夜激情av| 久久伊人蜜桃av一区二区| 久久久久国色av免费看影院| 中文一区在线播放| 国产精品久久影院| 亚洲女同一区二区| 亚洲mv在线观看| 美女视频一区二区| 粉嫩13p一区二区三区| 成人动漫中文字幕| 欧美在线观看18| 欧美一区二区视频在线观看| 日韩欧美一区在线| 国产欧美日韩亚州综合 | 亚洲成人动漫av| 另类小说图片综合网| 高清国产一区二区三区| av在线不卡电影| 欧美日韩1区2区| 国产欧美一区二区三区沐欲| 一区二区视频在线看| 日韩电影一区二区三区| 国产精品综合二区| 在线观看一区日韩| 欧美xxxxx牲另类人与| 亚洲特级片在线| 日本三级亚洲精品| 国产+成+人+亚洲欧洲自线| 欧美午夜在线观看| 国产色综合久久| 亚洲国产精品久久人人爱| 精油按摩中文字幕久久| 在线免费亚洲电影| 久久综合视频网| 亚洲一区av在线| 国产成人免费高清| 日韩欧美在线1卡| 一区二区三区精品在线观看| 国产精品一二三| 日韩欧美一级二级三级久久久|