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

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

?? main.lss

?? avr單片機操作溫度傳感器18B20的軟件含仿真。
?? LSS
?? 第 1 頁 / 共 3 頁
字號:
        DQ_TO_1();    // 設置1-wire總線為高電平(釋放總線) 
 130:	8b 98       	cbi	0x11, 3	; 17
    milliseconds can be achieved.
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
 132:	83 e1       	ldi	r24, 0x13	; 19
 134:	90 e0       	ldi	r25, 0x00	; 0
	__asm__ volatile (
 136:	01 97       	sbiw	r24, 0x01	; 1
 138:	f1 f7       	brne	.-4      	; 0x136
        DQ_TO_0();    // 設置1-wire總線為低電平(拉低總線以同步) 
        wait_us(4);   // 2us 
        DQ_TO_1();    // 設置1-wire總線為高電平(釋放總線) 
        wait_us(7);   // 4us         
        dat >>= 1; 
 13a:	26 95       	lsr	r18
        if(DQ_status()) dat|=0x80;   // 讀取總線電平,先收低位再收高位 
 13c:	83 99       	sbic	0x10, 3	; 16
 13e:	20 68       	ori	r18, 0x80	; 128
         
        sei();        // 恢復系統中斷 
 140:	78 94       	sei
    milliseconds can be achieved.
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
 142:	82 ee       	ldi	r24, 0xE2	; 226
 144:	90 e0       	ldi	r25, 0x00	; 0
	__asm__ volatile (
 146:	01 97       	sbiw	r24, 0x01	; 1
 148:	f1 f7       	brne	.-4      	; 0x146

    dat = 0x00;       // 數據接收準備 
     
    // 每個字節(jié)共8位,一次收一位 
    for(count=0; count<8; count++) { 
 14a:	31 50       	subi	r19, 0x01	; 1
 14c:	37 ff       	sbrs	r19, 7
 14e:	ea cf       	rjmp	.-44     	; 0x124
        cli();        // 保證絕對不會發(fā)生中斷! 
         
        // 從總線拉低到讀總線狀態(tài),不能大于15us! 
        DQ_TO_0();    // 設置1-wire總線為低電平(拉低總線以同步) 
        wait_us(4);   // 2us 
        DQ_TO_1();    // 設置1-wire總線為高電平(釋放總線) 
        wait_us(7);   // 4us         
        dat >>= 1; 
        if(DQ_status()) dat|=0x80;   // 讀取總線電平,先收低位再收高位 
         
        sei();        // 恢復系統中斷 
        wait_us(82);  // 必須大于60us 
    } 
    return(dat); 
} 
 150:	82 2f       	mov	r24, r18
 152:	99 27       	eor	r25, r25
 154:	08 95       	ret

00000156 <convert_T>:

/*------------------------------------------------------- 
*     我的電路中只有一個器件DS18B20,所以不需要多個器件的ID 
*  識別,跳過之后,啟動溫度轉換,但在啟動后,用戶應等待幾百個 
*  毫秒,才能讀到這次的轉換值,這是DS18B20的數據手冊規(guī)定的。 
*  因為溫度轉換是需要時間的嘛!(^_^) 
*/ 
void convert_T(void) 
{ 
    if(ds18b20_reset()==SUCC) {  // 如果復位成功 
 156:	0e 94 5c 00 	call	0xb8
 15a:	81 30       	cpi	r24, 0x01	; 1
 15c:	31 f4       	brne	.+12     	; 0x16a
        ds18b20_write(0xcc);     // 跳過多器件識別 
 15e:	8c ec       	ldi	r24, 0xCC	; 204
 160:	0e 94 74 00 	call	0xe8
        ds18b20_write(0x44);     // 啟動溫度轉換 
 164:	84 e4       	ldi	r24, 0x44	; 68
 166:	0e 94 74 00 	call	0xe8
 16a:	08 95       	ret
 16c:	08 95       	ret

0000016e <read_T>:
    } 
} 

/*------------------------------------------------------- 
*  讀取轉換后的溫度值 
*  我假定DS18B20一定是正確的,所以沒有返回有關狀態(tài)。當你故意 
*  把DS18B20從電路中拔下而能讓程序告訴你出錯時,你可以自己修 
*  改這段代碼! 
*/ 
unsigned int read_T(void) 
{ 
 16e:	cf 93       	push	r28
 170:	df 93       	push	r29
    unsigned int value=0; 
 172:	c0 e0       	ldi	r28, 0x00	; 0
 174:	d0 e0       	ldi	r29, 0x00	; 0
     
    if(ds18b20_reset()==SUCC) {  // 如果復位成功 
 176:	0e 94 5c 00 	call	0xb8
 17a:	81 30       	cpi	r24, 0x01	; 1
 17c:	89 f4       	brne	.+34     	; 0x1a0
        ds18b20_write(0xcc);     // 跳過多器件識別 
 17e:	8c ec       	ldi	r24, 0xCC	; 204
 180:	0e 94 74 00 	call	0xe8
        ds18b20_write(0xbe);     // 讀暫存器 
 184:	8e eb       	ldi	r24, 0xBE	; 190
 186:	0e 94 74 00 	call	0xe8
        value  = (unsigned int)ds18b20_read();       // 低字節(jié) 
 18a:	0e 94 90 00 	call	0x120
 18e:	c8 2f       	mov	r28, r24
 190:	dd 27       	eor	r29, r29
        value += (unsigned int)(ds18b20_read())<<8;  // 高字節(jié) 
 192:	0e 94 90 00 	call	0x120
 196:	99 27       	eor	r25, r25
 198:	98 2f       	mov	r25, r24
 19a:	88 27       	eor	r24, r24
 19c:	c8 0f       	add	r28, r24
 19e:	d9 1f       	adc	r29, r25
    } 
    return(value); 
} 
 1a0:	ce 01       	movw	r24, r28
 1a2:	df 91       	pop	r29
 1a4:	cf 91       	pop	r28
 1a6:	08 95       	ret

000001a8 <DS18B20_HEX_to_LCD>:
void DS18B20_HEX_to_LCD(unsigned int x,char *p)
	{
 1a8:	fb 01       	movw	r30, r22
	char temp;
	char symbol='+';
 1aa:	2b e2       	ldi	r18, 0x2B	; 43
	temp=(unsigned char)((x&0x07ff)>>4);
 1ac:	ac 01       	movw	r20, r24
 1ae:	57 70       	andi	r21, 0x07	; 7
 1b0:	64 e0       	ldi	r22, 0x04	; 4
 1b2:	56 95       	lsr	r21
 1b4:	47 95       	ror	r20
 1b6:	6a 95       	dec	r22
 1b8:	e1 f7       	brne	.-8      	; 0x1b2
	if (x&0x800) symbol='-';
 1ba:	89 2f       	mov	r24, r25
 1bc:	99 27       	eor	r25, r25
 1be:	86 95       	lsr	r24
 1c0:	86 95       	lsr	r24
 1c2:	86 95       	lsr	r24
 1c4:	80 fd       	sbrc	r24, 0
 1c6:	2d e2       	ldi	r18, 0x2D	; 45
    p[0]=symbol;
 1c8:	20 83       	st	Z, r18
	p[1]=temp/100+'0';
 1ca:	84 2f       	mov	r24, r20
 1cc:	64 e6       	ldi	r22, 0x64	; 100
 1ce:	0e 94 ee 01 	call	0x3dc
 1d2:	38 2f       	mov	r19, r24
 1d4:	30 5d       	subi	r19, 0xD0	; 208
 1d6:	31 83       	std	Z+1, r19	; 0x01
	
	p[2]=temp%100/10+'0';
 1d8:	84 2f       	mov	r24, r20
 1da:	0e 94 ee 01 	call	0x3dc
 1de:	29 2f       	mov	r18, r25
 1e0:	89 2f       	mov	r24, r25
 1e2:	6a e0       	ldi	r22, 0x0A	; 10
 1e4:	0e 94 ee 01 	call	0x3dc
 1e8:	48 2f       	mov	r20, r24
 1ea:	40 5d       	subi	r20, 0xD0	; 208
 1ec:	42 83       	std	Z+2, r20	; 0x02
	
	p[3]=temp%100%10+'0';
 1ee:	82 2f       	mov	r24, r18
 1f0:	0e 94 ee 01 	call	0x3dc
 1f4:	89 2f       	mov	r24, r25
 1f6:	80 5d       	subi	r24, 0xD0	; 208
 1f8:	83 83       	std	Z+3, r24	; 0x03
	if (p[1]=='0') {
 1fa:	30 33       	cpi	r19, 0x30	; 48
 1fc:	31 f4       	brne	.+12     	; 0x20a
		if (p[2]=='0') {p[2]=' ';}
 1fe:	40 33       	cpi	r20, 0x30	; 48
 200:	11 f4       	brne	.+4      	; 0x206
 202:	80 e2       	ldi	r24, 0x20	; 32
 204:	82 83       	std	Z+2, r24	; 0x02
		p[1]=' ';
 206:	80 e2       	ldi	r24, 0x20	; 32
 208:	81 83       	std	Z+1, r24	; 0x01
 20a:	08 95       	ret
 20c:	08 95       	ret

0000020e <USART_init>:
    // UBRRL= 0x0C    19200;
    // UBRRL= 0x19    9600;
    // UBRRL= 0x33    4800;
    // UBRRL= 0x67    2400	
    UCSRB |= (1<<RXEN)|(1<<TXEN); //允許發(fā)送和接收,|(1<<RXCIE)
 20e:	8a b1       	in	r24, 0x0a	; 10
 210:	88 61       	ori	r24, 0x18	; 24
 212:	8a b9       	out	0x0a, r24	; 10
    UCSRC |= (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); //8位數據位+1位停止位
 214:	80 b5       	in	r24, 0x20	; 32
 216:	86 68       	ori	r24, 0x86	; 134
 218:	80 bd       	out	0x20, r24	; 32
    UBRRH = 0x00;
 21a:	10 bc       	out	0x20, r1	; 32
    UBRRL = 71;//9600 baud 6MHz:38  4MHz:25:71:11.0592
 21c:	87 e4       	ldi	r24, 0x47	; 71
 21e:	89 b9       	out	0x09, r24	; 9
 220:	08 95       	ret

00000222 <put_char>:
    //sei();
}


//標準I/O輸出函數
int put_char(char c)
{
 222:	cf 93       	push	r28
 224:	c8 2f       	mov	r28, r24
    if(c == '\n')
 226:	8a 30       	cpi	r24, 0x0A	; 10
 228:	19 f4       	brne	.+6      	; 0x230
    {
        put_char('\r');
 22a:	8d e0       	ldi	r24, 0x0D	; 13
 22c:	0e 94 11 01 	call	0x222
    }
    UDR = c;
 230:	cc b9       	out	0x0c, r28	; 12
    while(!(UCSRA &(1<<UDRE)));
 232:	5d 9b       	sbis	0x0b, 5	; 11
 234:	fe cf       	rjmp	.-4      	; 0x232
    UCSRA |= (1<<UDRE);
 236:	5d 9a       	sbi	0x0b, 5	; 11
    return 0;
}
 238:	80 e0       	ldi	r24, 0x00	; 0
 23a:	90 e0       	ldi	r25, 0x00	; 0
 23c:	cf 91       	pop	r28
 23e:	08 95       	ret

00000240 <get_char>:

//標準I/O輸入函數
int get_char(void)
{
while(!(UCSRA &(1<<RXC)));
 240:	5f 9b       	sbis	0x0b, 7	; 11
 242:	fe cf       	rjmp	.-4      	; 0x240
return UDR;
 244:	8c b1       	in	r24, 0x0c	; 12

}
 246:	99 27       	eor	r25, r25
 248:	08 95       	ret

0000024a <send_nbyte>:


//發(fā)送指定長度的字符串
void send_nbyte(unsigned char *p,unsigned char L)
{
 24a:	0f 93       	push	r16
 24c:	1f 93       	push	r17
 24e:	cf 93       	push	r28
    unsigned char w;
    for(w=0;w<L;w++)
 250:	66 23       	and	r22, r22
 252:	49 f0       	breq	.+18     	; 0x266
 254:	8c 01       	movw	r16, r24
 256:	c6 2f       	mov	r28, r22
    {
       // UDR = *(p+w);
       // while(!(UCSRA &(1<<UDRE)));
        //UCSRA |= (1<<UDRE);
        put_char(*(p+w));
 258:	f8 01       	movw	r30, r16
 25a:	81 91       	ld	r24, Z+
 25c:	8f 01       	movw	r16, r30
 25e:	0e 94 11 01 	call	0x222
 262:	c1 50       	subi	r28, 0x01	; 1
 264:	c9 f7       	brne	.-14     	; 0x258
 266:	cf 91       	pop	r28
 268:	1f 91       	pop	r17
 26a:	0f 91       	pop	r16
 26c:	08 95       	ret

0000026e <put_str>:
    }

}
//發(fā)送字符串
void put_str(unsigned char *Str)
{
 26e:	cf 93       	push	r28
 270:	df 93       	push	r29
 272:	ec 01       	movw	r28, r24
    while(*Str != '\0')
    {
        put_char(*Str);
        Str++;
 274:	88 81       	ld	r24, Y
 276:	88 23       	and	r24, r24
 278:	31 f0       	breq	.+12     	; 0x286
 27a:	89 91       	ld	r24, Y+
 27c:	0e 94 11 01 	call	0x222
 280:	88 81       	ld	r24, Y
 282:	88 23       	and	r24, r24
 284:	d1 f7       	brne	.-12     	; 0x27a
 286:	df 91       	pop	r29
 288:	cf 91       	pop	r28
 28a:	08 95       	ret

0000028c <LCD_Write_half_char>:
  }
/*---------寫高4bit到LCD,4到7位連接----*/
void LCD_Write_half_char(unsigned data_in)
  {
   	 LCD_DATA_PORT &= 0X0f; //portd4~7=0 
 28c:	98 b3       	in	r25, 0x18	; 24
 28e:	9f 70       	andi	r25, 0x0F	; 15
 290:	98 bb       	out	0x18, r25	; 24
   	 LCD_DATA_PORT |= data_in&0xf0; //send high 4bit
 292:	98 2f       	mov	r25, r24
 294:	90 7f       	andi	r25, 0xF0	; 240
 296:	88 b3       	in	r24, 0x18	; 24
 298:	89 2b       	or	r24, r25
 29a:	88 bb       	out	0x18, r24	; 24
	 LCD_EN_PORT |= LCD_EN; //EN端產生一個由低電平變高電平,寫LCD
 29c:	dd 9a       	sbi	0x1b, 5	; 27
    milliseconds can be achieved.
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
 29e:	89 e2       	ldi	r24, 0x29	; 41
 2a0:	90 e0       	ldi	r25, 0x00	; 0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日韩电影| 日韩三级电影网址| 亚洲码国产岛国毛片在线| 99麻豆久久久国产精品免费 | 欧美一级欧美三级| 日韩精品亚洲一区| 欧美一区二区啪啪| 国产美女久久久久| 久久久一区二区三区| 青青草原综合久久大伊人精品 | 久久99日本精品| 精品1区2区在线观看| 国产成人免费av在线| 欧美高清在线精品一区| 91视频精品在这里| 亚洲国产综合色| 欧美视频一区在线观看| 婷婷开心激情综合| 日韩欧美三级在线| 国产suv精品一区二区三区| 日韩一区二区三区视频在线 | 中文字幕第一区二区| 从欧美一区二区三区| 久久精品欧美一区二区三区不卡 | 久久精品亚洲一区二区三区浴池| 国产成人综合亚洲91猫咪| 中文字幕中文字幕在线一区| 91久久奴性调教| 日韩二区在线观看| 欧美色倩网站大全免费| 看国产成人h片视频| 久久久高清一区二区三区| 91视频观看免费| 亚洲永久精品大片| 久久综合视频网| 94-欧美-setu| 免费成人在线网站| 欧美激情一区二区三区在线| www.色综合.com| 日韩av电影天堂| 久久精品人人做| 欧美性大战久久久| 狠狠狠色丁香婷婷综合激情| 日韩伦理电影网| 7777精品伊人久久久大香线蕉的 | 91美女福利视频| 人人爽香蕉精品| 国产精品剧情在线亚洲| 555夜色666亚洲国产免| 成人福利视频在线看| 五月天视频一区| 国产精品免费网站在线观看| 欧美中文字幕不卡| 成人a区在线观看| 视频一区二区三区中文字幕| 亚洲国产精华液网站w| 欧美在线观看视频一区二区| 国产黄色91视频| 偷拍自拍另类欧美| 亚洲欧洲韩国日本视频| 日韩一区二区三区免费看| 日本乱码高清不卡字幕| 狠狠狠色丁香婷婷综合久久五月| 亚洲欧美成aⅴ人在线观看| 欧美xxxx老人做受| 欧美午夜不卡在线观看免费| av电影在线观看不卡| 国内精品写真在线观看| 日日噜噜夜夜狠狠视频欧美人| 亚洲欧美成aⅴ人在线观看| 日本一区二区三区四区在线视频| 欧美成人女星排名| 91.com视频| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产99一区视频免费 | 精品一区二区三区免费视频| 亚洲电影中文字幕在线观看| 综合激情成人伊人| 国产精品午夜在线观看| 久久伊99综合婷婷久久伊| 欧美一区二区在线视频| 欧美日韩中文精品| 91国产成人在线| 一本大道久久a久久精品综合| 国v精品久久久网| 韩国三级电影一区二区| 日本亚洲视频在线| 日韩va亚洲va欧美va久久| 亚洲午夜av在线| 亚洲永久免费视频| 亚洲综合视频网| 夜夜夜精品看看| 依依成人精品视频| 一区二区三区四区不卡在线| 亚洲视频在线观看一区| 亚洲天天做日日做天天谢日日欢| 国产精品视频在线看| 亚洲国产精品成人综合色在线婷婷| 久久精品亚洲一区二区三区浴池| 久久品道一品道久久精品| 久久日韩粉嫩一区二区三区| 亚洲精品一区二区三区蜜桃下载 | 精品一区二区成人精品| 乱一区二区av| 久久se这里有精品| 国产一区二区三区| 国产成人精品三级| 国产宾馆实践打屁股91| 成人免费毛片aaaaa**| aaa国产一区| 91麻豆123| 在线观看av一区二区| 欧美日韩一二三| 日韩一区二区视频| 久久蜜桃av一区精品变态类天堂| 久久精品一区二区| 国产精品久久777777| 亚洲欧美日韩国产中文在线| 一区二区成人在线| 香蕉成人啪国产精品视频综合网 | av午夜精品一区二区三区| 9i在线看片成人免费| 91麻豆精品一区二区三区| 91国产精品成人| 777色狠狠一区二区三区| 精品久久人人做人人爱| 国产性做久久久久久| 国产精品久久久久久福利一牛影视| 国产精品伦理一区二区| 一区二区三国产精华液| 日日嗨av一区二区三区四区| 精品一区二区三区在线观看 | 久久国产精品第一页| 国产尤物一区二区| 成人avav影音| 在线一区二区三区做爰视频网站| 555www色欧美视频| 久久久久久久综合| 国产精品二三区| 亚洲va欧美va人人爽| 国产一区二区在线观看免费| 99综合电影在线视频| 欧美日韩精品一区二区三区四区| 日韩欧美一二区| 中文字幕在线观看一区二区| 亚洲尤物视频在线| 激情成人午夜视频| 色综合久久久久综合| 91精品国产综合久久蜜臀| 国产婷婷精品av在线| 亚洲综合视频在线| 狠狠色狠狠色综合系列| 99精品久久99久久久久| 91精品久久久久久久久99蜜臂| 国产亚洲一本大道中文在线| 亚洲最色的网站| 九一九一国产精品| 91福利国产精品| 久久婷婷色综合| 亚洲一区视频在线| 国产精品亚洲一区二区三区在线| 色诱视频网站一区| 亚洲精品一区在线观看| 一区二区三区高清不卡| 久久草av在线| 欧美性xxxxxxxx| 久久精品夜色噜噜亚洲aⅴ| 亚洲国产精品一区二区www| 国产一区二区福利视频| 欧美亚洲一区二区在线观看| 国产色一区二区| 视频一区视频二区中文| 成人h精品动漫一区二区三区| 91麻豆精品国产自产在线| 国产精品免费网站在线观看| 蜜桃一区二区三区四区| 色综合天天综合网天天看片| 欧美sm美女调教| 亚洲香肠在线观看| 国产精品12区| 欧美精品久久一区| 成人欧美一区二区三区| 国产尤物一区二区| 91精品在线一区二区| 亚洲欧美二区三区| 国产.精品.日韩.另类.中文.在线.播放| 欧美精品精品一区| 亚洲三级在线播放| 国产精品影视在线观看| 91精品国产综合久久久蜜臀粉嫩| 成人欧美一区二区三区视频网页| 精品一区二区三区日韩| 欧美日韩国产天堂| 亚洲欧美偷拍三级| 福利一区二区在线| 精品国产a毛片| 日韩国产一区二| 欧美影视一区在线| 综合在线观看色| 国产成人av一区二区三区在线观看|