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

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

?? dh980_icc.lst

?? LTC2449 AD轉(zhuǎn)換 LTC2449 AD轉(zhuǎn)換 LTC2449 AD轉(zhuǎn)換
?? LST
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
__start:
__text_start:
    0083 EFCF      LDI	R28,0xFF
    0084 E0D4      LDI	R29,4
    0085 BFCD      OUT	0x3D,R28
    0086 BFDE      OUT	0x3E,R29
    0087 52C0      SUBI	R28,0x20
    0088 40D0      SBCI	R29,0
    0089 EA0A      LDI	R16,0xAA
    008A 8308      STD	Y+0,R16
    008B 2400      CLR	R0
    008C E0E1      LDI	R30,1
    008D E0F1      LDI	R31,1
    008E E012      LDI	R17,2
    008F 33EA      CPI	R30,0x3A
    0090 07F1      CPC	R31,R17
    0091 F011      BEQ	0x0094
    0092 9201      ST	R0,Z+
    0093 CFFB      RJMP	0x008F
    0094 8300      STD	Z+0,R16
    0095 E0E5      LDI	R30,5
    0096 E0F1      LDI	R31,1
    0097 E0A0      LDI	R26,0
    0098 E0B1      LDI	R27,1
    0099 E011      LDI	R17,1
    009A 30E6      CPI	R30,6
    009B 07F1      CPC	R31,R17
    009C F021      BEQ	0x00A1
    009D 95C8      LPM
    009E 9631      ADIW	R30,1
    009F 920D      ST	R0,X+
    00A0 CFF9      RJMP	0x009A
    00A1 940E01B5  CALL	_main
_exit:
    00A3 CFFF      RJMP	_exit
FILE: E:\mysoft\DH980\main.c
(0001) //ICC-AVR application builder : 2007-5-17 下午 09:24:21
(0002) // Target : M169
(0003) // Crystal: 4.0000Mhz
(0004) #define _MAIN_C
(0005) #include <iom169v.h>
(0006) #include <macros.h>
(0007) #include <stdio.h>
(0008) //#include "LTC2449.h"
(0009) #include "main.h"
(0010) #include "uart.h"
(0011) #include "cs5532.h"
(0012) #define average_quantity 15	//平均個(gè)數(shù)
(0013) 
(0014) void delay_loop(unsigned int i)
(0015) {
_delay_loop:
  i                    --> R16
    00A4 C002      RJMP	0x00A7
(0016) 	while(i){i--;}
    00A5 5001      SUBI	R16,1
    00A6 4010      SBCI	R17,0
    00A7 3000      CPI	R16,0
    00A8 0701      CPC	R16,R17
    00A9 F7D9      BNE	0x00A5
    00AA 9508      RET
(0017) }
(0018) void port_init(void)
(0019) {
(0020)  PORTA = 0xFF;
_port_init:
    00AB EF8F      LDI	R24,0xFF
    00AC B982      OUT	0x02,R24
(0021)  DDRA  = 0xFF;
    00AD B981      OUT	0x01,R24
(0022)  PORTB = 0x7F;
    00AE E78F      LDI	R24,0x7F
    00AF B985      OUT	0x05,R24
(0023)  DDRB  = 0x80;
    00B0 E880      LDI	R24,0x80
    00B1 B984      OUT	0x04,R24
(0024)  PORTC = 0xFF; 
    00B2 EF8F      LDI	R24,0xFF
    00B3 B988      OUT	0x08,R24
(0025)  DDRC  = 0xFF;
    00B4 B987      OUT	0x07,R24
(0026)  PORTD = 0xFF;
    00B5 B98B      OUT	0x0B,R24
(0027)  DDRD  = 0xFF;
    00B6 B98A      OUT	0x0A,R24
(0028)  PORTE = 0xA7;
    00B7 EA87      LDI	R24,0xA7
    00B8 B98E      OUT	0x0E,R24
(0029)  DDRE  = 0x58;
    00B9 E588      LDI	R24,0x58
    00BA B98D      OUT	0x0D,R24
(0030)  PORTF = 0x0F;
    00BB E08F      LDI	R24,0xF
    00BC BB81      OUT	0x11,R24
(0031)  DDRF  = 0x0F;
    00BD BB80      OUT	0x10,R24
(0032)  PORTG = 0x17;
    00BE E187      LDI	R24,0x17
    00BF BB84      OUT	0x14,R24
(0033)  DDRG  = 0x1F;
    00C0 E18F      LDI	R24,0x1F
    00C1 BB83      OUT	0x13,R24
    00C2 9508      RET
(0034) }
(0035) 
(0036) //TIMER1 initialize - prescale:1
(0037) // WGM: 0) Normal, TOP=0xFFFF
(0038) // desired value: 1mSec
(0039) // actual value:  1.000mSec (0.0%)
(0040) void timer1_init(void)
(0041) {
(0042)  TCCR1B = 0x00; //stop
_timer1_init:
    00C3 2422      CLR	R2
    00C4 92200081  STS	0x81,R2
(0043)  TCNT1H = 0xD4; //setup
    00C6 ED84      LDI	R24,0xD4
    00C7 93800085  STS	0x85,R24
(0044)  TCNT1L = 0xCE;
    00C9 EC8E      LDI	R24,0xCE
    00CA 93800084  STS	0x84,R24
(0045)  OCR1AH = 0x2B;
    00CC E28B      LDI	R24,0x2B
    00CD 93800089  STS	0x89,R24
(0046)  OCR1AL = 0x32;
    00CF E382      LDI	R24,0x32
    00D0 93800088  STS	0x88,R24
(0047)  OCR1BH = 0x2B;
    00D2 E28B      LDI	R24,0x2B
    00D3 9380008B  STS	0x8B,R24
(0048)  OCR1BL = 0x32;
    00D5 E382      LDI	R24,0x32
    00D6 9380008A  STS	0x8A,R24
(0049)  ICR1H  = 0x2B;
    00D8 E28B      LDI	R24,0x2B
    00D9 93800087  STS	0x87,R24
(0050)  ICR1L  = 0x32;
    00DB E382      LDI	R24,0x32
    00DC 93800086  STS	0x86,R24
(0051)  TCCR1A = 0x00;
    00DE 92200080  STS	0x80,R2
(0052)  TCCR1C = 0x00;
    00E0 92200082  STS	0x82,R2
(0053)  TCCR1B = 0x01; //start Timer
    00E2 E081      LDI	R24,1
    00E3 93800081  STS	0x81,R24
    00E5 9508      RET
_timer1_ovf_isr:
    00E6 938A      ST	R24,-Y
    00E7 939A      ST	R25,-Y
    00E8 93EA      ST	R30,-Y
    00E9 B78F      IN	R24,0x3F
    00EA 938A      ST	R24,-Y
(0054) }
(0055) 
(0056) #pragma interrupt_handler timer1_ovf_isr:10
(0057) void timer1_ovf_isr(void)
(0058) {
(0059)  TCNT1H = 0xD4; //setup
    00EB ED84      LDI	R24,0xD4
    00EC 93800085  STS	0x85,R24
(0060)  TCNT1L = 0xCE;
    00EE EC8E      LDI	R24,0xCE
    00EF 93800084  STS	0x84,R24
(0061)  mcu_loop_time++;	//主程序20mS循環(huán)用
    00F1 91800230  LDS	R24,mcu_loop_time
    00F3 5F8F      SUBI	R24,0xFF
    00F4 93800230  STS	mcu_loop_time,R24
(0062)  if (load_time <10000)
    00F6 91800209  LDS	R24,load_time
    00F8 9190020A  LDS	R25,load_time+1
    00FA 3180      CPI	R24,0x10
    00FB E2E7      LDI	R30,0x27
    00FC 079E      CPC	R25,R30
    00FD F428      BCC	0x0103
(0063)  	{
(0064)  		load_time++;	//下載數(shù)據(jù)定時(shí)用
    00FE 9601      ADIW	R24,1
    00FF 9390020A  STS	load_time+1,R25
    0101 93800209  STS	load_time,R24
(0065)  	}
    0103 9189      LD	R24,Y+
    0104 BF8F      OUT	0x3F,R24
    0105 91E9      LD	R30,Y+
    0106 9199      LD	R25,Y+
    0107 9189      LD	R24,Y+
    0108 9518      RETI
(0066) }
(0067) 
(0068) //call this routine to initialize all peripherals
(0069) void init_devices(void)
(0070) {
(0071)  //stop errant interrupts until set up
(0072)  CLI(); //disable all interrupts
_init_devices:
    0109 94F8      BCLR	7
(0073)  port_init();
    010A DFA0      RCALL	_port_init
(0074)  timer1_init();
    010B DFB7      RCALL	_timer1_init
(0075)  uart0_init();
    010C 940E0630  CALL	_uart0_init
(0076) 
(0077)  TIMSK0 = 0x00; //timer interrupt sources
    010E 2422      CLR	R2
    010F 9220006E  STS	0x6E,R2
(0078)  TIMSK1 = 0x01; //timer interrupt sources
    0111 E081      LDI	R24,1
    0112 9380006F  STS	0x6F,R24
(0079)  TIMSK2 = 0x00; //timer interrupt sources
    0114 92200070  STS	0x70,R2
(0080)  PCMSK0 = 0x00; //pin change mask
    0116 9220006B  STS	0x6B,R2
(0081)  PCMSK1 = 0x00; //pin change mask
    0118 9220006C  STS	0x6C,R2
(0082)  EICRA  = 0x00;  //int0 setup
    011A 92200069  STS	0x69,R2
(0083)  SEI(); //re-enable interrupts
    011C 9478      BSET	7
    011D 9508      RET
_AD_conversion:
  c                    --> R12
  unlikeliness         --> R14
  sum                  --> Y+0
  j                    --> Y+4
  jj                   --> R10
    011E 940E07A2  CALL	push_gset5
    0120 9725      SBIW	R28,5
(0084)  //all peripherals are now initialized
(0085) }
(0086) //************讀出8通道AD值*********************
(0087) void AD_conversion()
(0088) {
(0089) 	unsigned char j, jj, c;//通道號(hào),平均值序號(hào),通道號(hào)
(0090) 	unsigned long sum;
(0091) 	static unsigned char average_l=0;//平均值個(gè)數(shù)
(0092) 	static unsigned int average[8][average_quantity];	//求平均數(shù)
(0093) 	unsigned char unlikeliness;	//內(nèi)部循環(huán),1mS檢測(cè)
(0094) 	for (j=0; j<5; j++)
    0121 2400      CLR	R0
    0122 820C      STD	Y+4,R0
    0123 C06A      RJMP	0x018E
(0095) 		{
(0096) 			unlikeliness = mcu_loop_time;
    0124 90E00230  LDS	R14,mcu_loop_time
(0097) 			c=j;
    0126 80CC      LDD	R12,Y+4
(0098) 		//average[j][average_l] =	LTC2449_RW(c);	//讀取AD值
(0099) 		average[j][average_l] = CS5532_RW(c);
    0127 2D0C      MOV	R16,R12
    0128 2711      CLR	R17
    0129 940E0545  CALL	_CS5532_RW
    012B 0118      MOVW	R2,R16
    012C 0129      MOVW	R4,R18
    012D E18E      LDI	R24,0x1E
    012E 800C      LDD	R0,Y+4
    012F 9D80      MUL	R24,R0
    0130 0130      MOVW	R6,R0
    0131 E081      LDI	R24,1
    0132 E091      LDI	R25,1
    0133 0E68      ADD	R6,R24
    0134 1E79      ADC	R7,R25
    0135 90800100  LDS	R8,average_l
    0137 E082      LDI	R24,2
    0138 9D88      MUL	R24,R8
    0139 01F0      MOVW	R30,R0
    013A 0DE6      ADD	R30,R6
    013B 1DF7      ADC	R31,R7
    013C 8231      STD	Z+1,R3
    013D 8220      STD	Z+0,R2
(0100) 		sum = 0;
    013E E040      LDI	R20,0
    013F E050      LDI	R21,0
    0140 E060      LDI	R22,0
    0141 E070      LDI	R23,0
    0142 01FE      MOVW	R30,R28
    0143 8340      STD	Z+0,R20
    0144 8351      STD	Z+1,R21
    0145 8362      STD	Z+2,R22
    0146 8373      STD	Z+3,R23
(0101) 		for (jj=0; jj<average_quantity; jj++)	//求平均值
    0147 24AA      CLR	R10
    0148 C020      RJMP	0x0169
(0102) 			{
(0103) 				sum += average[j][jj];
    0149 E18E      LDI	R24,0x1E
    014A 800C      LDD	R0,Y+4
    014B 9D80      MUL	R24,R0
    014C 0110      MOVW	R2,R0
    014D E081      LDI	R24,1
    014E E091      LDI	R25,1
    014F 0E28      ADD	R2,R24
    0150 1E39      ADC	R3,R25
    0151 E082      LDI	R24,2
    0152 9D8A      MUL	R24,R10
    0153 01F0      MOVW	R30,R0
    0154 0DE2      ADD	R30,R2
    0155 1DF3      ADC	R31,R3
    0156 8020      LDD	R2,Z+0
    0157 8031      LDD	R3,Z+1
    0158 2444      CLR	R4
    0159 2455      CLR	R5
    015A 01FE      MOVW	R30,R28
    015B 8060      LDD	R6,Z+0
    015C 8071      LDD	R7,Z+1
    015D 8082      LDD	R8,Z+2
    015E 8093      LDD	R9,Z+3
    015F 0C62      ADD	R6,R2
    0160 1C73      ADC	R7,R3
    0161 1C84      ADC	R8,R4
    0162 1C95      ADC	R9,R5
    0163 01FE      MOVW	R30,R28
    0164 8260      STD	Z+0,R6
    0165 8271      STD	Z+1,R7
    0166 8282      STD	Z+2,R8
    0167 8293      STD	Z+3,R9
    0168 94A3      INC	R10
    0169 2D8A      MOV	R24,R10
    016A 308F      CPI	R24,0xF
    016B F2E8      BCS	0x0149
(0104) 			}
(0105) 		send_data.AD_data[j] = sum/average_quantity;
    016C E082      LDI	R24,2
    016D 800C      LDD	R0,Y+4
    016E 9D80      MUL	R24,R0
    016F 01F0      MOVW	R30,R0
    0170 EF82      LDI	R24,0xF2
    0171 E091      LDI	R25,1
    0172 0FE8      ADD	R30,R24
    0173 1FF9      ADC	R31,R25
    0174 E04F      LDI	R20,0xF
    0175 E050      LDI	R21,0
    0176 E060      LDI	R22,0
    0177 E070      LDI	R23,0
    0178 01DE      MOVW	R26,R28
    0179 902D      LD	R2,X+
    017A 903D      LD	R3,X+
    017B 904D      LD	R4,X+
    017C 905C      LD	R5,0(X)
    017D 937A      ST	R23,-Y
    017E 936A      ST	R22,-Y
    017F 935A      ST	R21,-Y
    0180 934A      ST	R20,-Y
    0181 0181      MOVW	R16,R2
    0182 0192      MOVW	R18,R4
    0183 940E0715  CALL	div32u
    0185 8311      STD	Z+1,R17
    0186 8300      STD	Z+0,R16
(0106) 		//send_data.AD_data[j] = average[j][average_l];
(0107) 		while (unlikeliness == mcu_loop_time){;}//等待1ms
    0187 90200230  LDS	R2,mcu_loop_time
    0189 14E2      CP	R14,R2
    018A F3E1      BEQ	0x0187
    018B 800C      LDD	R0,Y+4
    018C 9403      INC	R0
    018D 820C      STD	Y+4,R0
    018E 818C      LDD	R24,Y+4
    018F 3085      CPI	R24,5
    0190 F408      BCC	0x0192
    0191 CF92      RJMP	0x0124
(0108) 	}
(0109) 	average_l++;
    0192 91800100  LDS	R24,average_l
    0194 5F8F      SUBI	R24,0xFF
    0195 93800100  STS	average_l,R24
(0110) 	if (average_l > (average_quantity-1)) average_l = 0;
    0197 E08E      LDI	R24,0xE
    0198 90200100  LDS	R2,average_l
    019A 1582      CP	R24,R2
    019B F418      BCC	0x019F
    019C 2422      CLR	R2
    019D 92200100  STS	average_l,R2
    019F 9625      ADIW	R28,5
    01A0 940E079F  CALL	pop_gset5
    01A2 9508      RET
(0111) }
(0112) //************取8個(gè)按鍵值************************
(0113) void pb_check()
(0114) {
(0115) 	unsigned char k;
(0116) 	k=PINB;
_pb_check:
  k                    --> R16
    01A3 B103      IN	R16,0x03
(0117) 	k=k<<1;
    01A4 0F00      LSL	R16
(0118) 	if((PINE&0B01111111)!=0)
    01A5 B18C      IN	R24,0x0C
    01A6 778F      ANDI	R24,0x7F
    01A7 F011      BEQ	0x01AA
(0119) 		k|=1;
    01A8 6001      ORI	R16,1
    01A9 C001      RJMP	0x01AB
(0120) 	else 
(0121) 		k&=254;
    01AA 7F0E      ANDI	R16,0xFE
(0122) 		k ^= 0xff;
    01AB EF8F      LDI	R24,0xFF
    01AC E090      LDI	R25,0
    01AD 2E20      MOV	R2,R16
    01AE 2433      CLR	R3
    01AF 2628      EOR	R2,R24
    01B0 2639      EOR	R3,R25
    01B1 2D02      MOV	R16,R2
(0123) 	send_data.exterior_switch=k;
    01B2 930001F1  STS	send_data,R16
    01B4 9508      RET
(0124) }
(0125) void main(void)
(0126) {
(0127) 	init_devices();
_main:
    01B5 DF53      RCALL	_init_devices
(0128) 		/*SET_CS;	//PE3

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜欧美电影在线观看| 337p日本欧洲亚洲大胆精品| 久久综合综合久久综合| 亚洲欧美另类综合偷拍| 国产亚洲欧洲997久久综合| 欧美一区二区三区视频在线| 欧美理论在线播放| 欧美三级日本三级少妇99| 精品无人区卡一卡二卡三乱码免费卡| 性做久久久久久免费观看欧美| 午夜精品国产更新| 免费视频一区二区| 国产精品888| 制服丝袜中文字幕一区| 欧美丰满少妇xxxxx高潮对白| 精品视频1区2区| 日韩欧美一级二级| 国产欧美一区二区三区在线看蜜臀 | 丁香六月综合激情| 国产99久久久久久免费看农村| 国产.欧美.日韩| 91激情在线视频| 欧美一区二区精品久久911| 精品捆绑美女sm三区| 国产日韩精品一区| 一区二区三区加勒比av| 麻豆精品在线看| 97久久精品人人爽人人爽蜜臀| 欧美怡红院视频| 久久久久久久久久久久电影| 亚洲男人天堂一区| 激情欧美日韩一区二区| 91免费看视频| 日韩美女天天操| 亚洲人成网站精品片在线观看| 偷偷要91色婷婷| 国内成人免费视频| 91色porny在线视频| 日韩久久久久久| 亚洲男人天堂av| 国产一区二区三区| 欧美精品日韩精品| 亚洲欧美在线视频观看| 精品一区二区精品| 欧美色涩在线第一页| 中文字幕高清不卡| 九九在线精品视频| 欧美日韩高清影院| 综合亚洲深深色噜噜狠狠网站| 久久成人免费网| 欧美日本视频在线| 亚洲精品国产a| 成人精品鲁一区一区二区| 日韩一区二区中文字幕| 尤物视频一区二区| 春色校园综合激情亚洲| 久久综合一区二区| 麻豆精品久久精品色综合| 欧美日韩中文字幕一区二区| 亚洲欧洲成人自拍| 成人avav在线| 日本一区二区成人在线| 狠狠色丁香久久婷婷综| 日韩精品一区二区在线| 日本中文在线一区| 91精品国产综合久久久蜜臀图片 | 亚洲一级片在线观看| 99久久综合国产精品| 中文乱码免费一区二区| 床上的激情91.| 国产精品久久久久一区二区三区共| 久久精品国产成人一区二区三区| 日韩一级片在线观看| 亚洲不卡av一区二区三区| 欧美酷刑日本凌虐凌虐| 午夜精品免费在线| 欧美丰满一区二区免费视频 | 国产二区国产一区在线观看| 久久人人超碰精品| 国内久久精品视频| 亚洲欧美日韩国产另类专区| 91女人视频在线观看| 亚洲色图清纯唯美| 欧美三级资源在线| 日本系列欧美系列| 欧美成人激情免费网| 国产精品一二三| 中文字幕一区二区三区四区| 91麻豆福利精品推荐| 亚洲成人动漫一区| 日韩免费高清av| 国产mv日韩mv欧美| 亚洲欧美成aⅴ人在线观看| 欧美亚洲国产bt| 男男视频亚洲欧美| 欧美极品xxx| 色婷婷国产精品| 一区二区三区精品| 日韩精品一区二区三区在线观看 | 久久精品视频免费观看| www.成人在线| 无吗不卡中文字幕| 久久久国产精品不卡| 99久久精品国产网站| 天天色图综合网| 国产欧美一区视频| 欧美日韩不卡在线| 国产.欧美.日韩| 午夜精品福利一区二区三区av| 精品国产91乱码一区二区三区| 99久久精品费精品国产一区二区| 亚洲图片自拍偷拍| 久久精品亚洲精品国产欧美| 一本一道波多野结衣一区二区| 麻豆精品视频在线| 一区二区免费在线| 国产人成一区二区三区影院| 欧美三级视频在线播放| 不卡视频在线看| 日韩—二三区免费观看av| 国产精品成人免费在线| 欧美成人女星排名| 欧美性感一区二区三区| 成人午夜伦理影院| 美国欧美日韩国产在线播放| 亚洲摸摸操操av| 国产目拍亚洲精品99久久精品| 欧美挠脚心视频网站| 91色九色蝌蚪| www.亚洲在线| 丁香激情综合国产| 国产一区二区在线影院| 日本不卡123| 午夜天堂影视香蕉久久| 亚洲精品免费在线播放| 欧美国产精品专区| 久久精品一区二区三区四区| 3751色影院一区二区三区| 欧美三区免费完整视频在线观看| 成人晚上爱看视频| 国产精品66部| 国产乱对白刺激视频不卡| 日本不卡中文字幕| 图片区小说区国产精品视频| 亚洲第一电影网| 亚洲一区二区三区影院| 亚洲三级久久久| 亚洲人成人一区二区在线观看| 国产精品狼人久久影院观看方式| 国产亚洲欧美中文| 国产亚洲欧美日韩俺去了| 精品va天堂亚洲国产| 日韩欧美一区二区免费| 欧美一区二区三区小说| 欧美一区二区在线视频| 777xxx欧美| 日韩欧美国产综合| 日韩欧美一区二区视频| 日韩三级中文字幕| 精品国产一区二区三区四区四| 日韩免费看的电影| 久久久精品国产99久久精品芒果 | 亚洲国产日韩在线一区模特| 亚洲成人综合视频| 奇米综合一区二区三区精品视频| 天天影视涩香欲综合网| 久久成人久久鬼色| 国产福利91精品| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲人123区| 亚洲成人在线观看视频| 免费观看91视频大全| 国产在线视频一区二区三区| 成人午夜激情影院| 色先锋久久av资源部| 91精品国产手机| 国产欧美一区二区精品仙草咪| 亚洲欧洲av另类| 蜜桃免费网站一区二区三区| 国产成人精品亚洲777人妖| 色老汉av一区二区三区| 日韩三级中文字幕| 亚洲欧美日韩中文播放| 久久福利资源站| 色综合久久久久久久久久久| 日韩精品一区二区三区在线播放| 国产精品人成在线观看免费| 亚洲成av人片观看| eeuss鲁片一区二区三区在线看| 欧美三级在线视频| 国产精品色哟哟| 琪琪久久久久日韩精品| 91丨九色丨尤物| 久久久久久久久蜜桃| 亚洲成a人片综合在线| 懂色av噜噜一区二区三区av| 欧美一区二区三区的| 伊人夜夜躁av伊人久久| 国产大陆a不卡| 日韩女优av电影|