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

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

?? ds18b20.lst

?? 一款電力行業(yè)使用的溫濕度控制器源代碼 濕度傳感器采用HF3223 溫度采用DS18B20 單片機(jī)采用mega8 編程采用winavr2007
?? LST
?? 第 1 頁 / 共 3 頁
字號(hào):
   1               		.file	"ds18b20.c"
   2               		.arch atmega8
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
 124               	.global	convert_is_succ
 125               	.global	convert_is_succ
 126               		.section .bss
 129               	convert_is_succ:
 130 0000 00        		.skip 1,0
 131               		.text
 133               	.global	ds18b20_config
 135               	ds18b20_config:
   1:drive/ds18b20.c **** #include "inc/config.h"
   2:drive/ds18b20.c **** 
   3:drive/ds18b20.c **** 
   4:drive/ds18b20.c **** #define DQ_18B20 (1<<3) // PD3 
   5:drive/ds18b20.c **** #define DQ_TO_0() (DDRD |= DQ_18B20) // PD3='0' 
   6:drive/ds18b20.c **** #define DQ_TO_1() (DDRD &= ~DQ_18B20) // PD3='float' 
   7:drive/ds18b20.c **** #define DQ_status() (PIND & DQ_18B20) // read PD3 pin 
   8:drive/ds18b20.c **** 
   9:drive/ds18b20.c **** /* 請(qǐng)認(rèn)真檢查你的AVR微控制器的時(shí)鐘頻率! 特別注意:頻率 
  10:drive/ds18b20.c **** * 定義的單位是MHz! 并且請(qǐng)使用浮點(diǎn)數(shù)! 假如你的晶振是12MHz, 
  11:drive/ds18b20.c **** * 你應(yīng)該寫成12.0000或12.0之類。 
  12:drive/ds18b20.c **** * 我的實(shí)驗(yàn)電路的晶振是8.0000MHz 
  13:drive/ds18b20.c **** */ 
  14:drive/ds18b20.c **** #ifndef CPU_CRYSTAL 
  15:drive/ds18b20.c **** #define CPU_CRYSTAL (8.0000) 
  16:drive/ds18b20.c **** #endif 
  17:drive/ds18b20.c **** 
  18:drive/ds18b20.c **** #define  wait_us(us)\
  19:drive/ds18b20.c **** 			_delay_loop_2((u16)((us)*CPU_CRYSTAL/4)) 
  20:drive/ds18b20.c **** 
  21:drive/ds18b20.c **** /*---------------- 函數(shù)原型聲明 ------------------*/ 
  22:drive/ds18b20.c **** // 1個(gè)初始化模塊 
  23:drive/ds18b20.c **** void   ds18b20_config(void);       // 配置端口 
  24:drive/ds18b20.c **** 
  25:drive/ds18b20.c **** // 3個(gè)基本模塊 
  26:drive/ds18b20.c **** inline BOOL ds18b20_reset(void);   // 復(fù)位DS18B20 
  27:drive/ds18b20.c **** void   ds18b20_write(u08 dat);   // 寫字節(jié)到DS18B20 
  28:drive/ds18b20.c **** u08  ds18b20_read(void);         // 讀字節(jié)從DS18B20 
  29:drive/ds18b20.c **** 
  30:drive/ds18b20.c **** // 2個(gè)應(yīng)用模塊 
  31:drive/ds18b20.c **** BOOL   convert_T(void);            // 啟動(dòng)溫度轉(zhuǎn)換 
  32:drive/ds18b20.c **** u08 read_T(void);         // 讀取轉(zhuǎn)換值 
  33:drive/ds18b20.c **** 
  34:drive/ds18b20.c **** 
  35:drive/ds18b20.c **** /*------------------------------------------------------- 
  36:drive/ds18b20.c **** *  配置(使能)AVR與DS18B20的接口 
  37:drive/ds18b20.c **** */ 
  38:drive/ds18b20.c **** void ds18b20_config(void) 
  39:drive/ds18b20.c **** { 
 137               	.LM1:
 138               	/* prologue: frame size=0 */
 139               	/* prologue end (size=0) */
  40:drive/ds18b20.c ****     DDRD  &= ~DQ_18B20;   // 輸入模式(上電時(shí)為高電平) 
 141               	.LM2:
 142 0000 8B98      		cbi 49-0x20,3
  41:drive/ds18b20.c ****     PORTD &= ~DQ_18B20;   // 輸出鎖存器寫0,以后不再更改 
 144               	.LM3:
 145 0002 9398      		cbi 50-0x20,3
 146               	/* epilogue: frame size=0 */
 147 0004 0895      		ret
 148               	/* epilogue end (size=1) */
 149               	/* function ds18b20_config size 3 (2) */
 151               	.Lscope0:
 153               	.global	_ds18b20_reset
 155               	_ds18b20_reset:
  42:drive/ds18b20.c **** } 
  43:drive/ds18b20.c **** 
  44:drive/ds18b20.c **** /*------------------------------------------------------- 
  45:drive/ds18b20.c **** *    復(fù)位1-wire總線,并探測(cè)是否有溫度芯片DS18B20(TO-92 
  46:drive/ds18b20.c **** *  封裝)掛在總線上,有返回SUCC,沒有返回FAIL 
  47:drive/ds18b20.c **** */ 
  48:drive/ds18b20.c **** BOOL _ds18b20_reset(void) 
  49:drive/ds18b20.c **** { 
 157               	.LM4:
 158               	/* prologue: frame size=0 */
 159               	/* prologue end (size=0) */
  50:drive/ds18b20.c ****     BOOL bus_flag; 
  51:drive/ds18b20.c **** 
  52:drive/ds18b20.c ****     DQ_TO_0();      // 設(shè)置1-wire總線為低電平(占領(lǐng)總線)... 
 161               	.LM5:
 162 0006 8B9A      		sbi 49-0x20,3
 163               	.LBB2:
 165               	.Ltext1:
   1:d:/WinAVR/avr/include/util/delay.h **** /* Copyright (c) 2002, Marek Michalkiewicz
   2:d:/WinAVR/avr/include/util/delay.h ****    Copyright (c) 2004,2005 Joerg Wunsch
   3:d:/WinAVR/avr/include/util/delay.h ****    All rights reserved.
   4:d:/WinAVR/avr/include/util/delay.h **** 
   5:d:/WinAVR/avr/include/util/delay.h ****    Redistribution and use in source and binary forms, with or without
   6:d:/WinAVR/avr/include/util/delay.h ****    modification, are permitted provided that the following conditions are met:
   7:d:/WinAVR/avr/include/util/delay.h **** 
   8:d:/WinAVR/avr/include/util/delay.h ****    * Redistributions of source code must retain the above copyright
   9:d:/WinAVR/avr/include/util/delay.h ****      notice, this list of conditions and the following disclaimer.
  10:d:/WinAVR/avr/include/util/delay.h **** 
  11:d:/WinAVR/avr/include/util/delay.h ****    * Redistributions in binary form must reproduce the above copyright
  12:d:/WinAVR/avr/include/util/delay.h ****      notice, this list of conditions and the following disclaimer in
  13:d:/WinAVR/avr/include/util/delay.h ****      the documentation and/or other materials provided with the
  14:d:/WinAVR/avr/include/util/delay.h ****      distribution.
  15:d:/WinAVR/avr/include/util/delay.h **** 
  16:d:/WinAVR/avr/include/util/delay.h ****    * Neither the name of the copyright holders nor the names of
  17:d:/WinAVR/avr/include/util/delay.h ****      contributors may be used to endorse or promote products derived
  18:d:/WinAVR/avr/include/util/delay.h ****      from this software without specific prior written permission.
  19:d:/WinAVR/avr/include/util/delay.h **** 
  20:d:/WinAVR/avr/include/util/delay.h ****   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21:d:/WinAVR/avr/include/util/delay.h ****   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22:d:/WinAVR/avr/include/util/delay.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  23:d:/WinAVR/avr/include/util/delay.h ****   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  24:d:/WinAVR/avr/include/util/delay.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  25:d:/WinAVR/avr/include/util/delay.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  26:d:/WinAVR/avr/include/util/delay.h ****   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  27:d:/WinAVR/avr/include/util/delay.h ****   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  28:d:/WinAVR/avr/include/util/delay.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  29:d:/WinAVR/avr/include/util/delay.h ****   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  30:d:/WinAVR/avr/include/util/delay.h ****   POSSIBILITY OF SUCH DAMAGE. */
  31:d:/WinAVR/avr/include/util/delay.h **** 
  32:d:/WinAVR/avr/include/util/delay.h **** /* $Id: delay.h,v 1.1.2.1 2005/12/12 23:19:49 joerg_wunsch Exp $ */
  33:d:/WinAVR/avr/include/util/delay.h **** 
  34:d:/WinAVR/avr/include/util/delay.h **** #ifndef _UTIL_DELAY_H_
  35:d:/WinAVR/avr/include/util/delay.h **** #define _UTIL_DELAY_H_ 1
  36:d:/WinAVR/avr/include/util/delay.h **** 
  37:d:/WinAVR/avr/include/util/delay.h **** #include <inttypes.h>
  38:d:/WinAVR/avr/include/util/delay.h **** 
  39:d:/WinAVR/avr/include/util/delay.h **** /** \defgroup util_delay <util/delay.h>: Busy-wait delay loops
  40:d:/WinAVR/avr/include/util/delay.h ****     \code
  41:d:/WinAVR/avr/include/util/delay.h ****     #define F_CPU 1000000UL  // 1 MHz
  42:d:/WinAVR/avr/include/util/delay.h ****     //#define F_CPU 14.7456E6
  43:d:/WinAVR/avr/include/util/delay.h ****     #include <util/delay.h>
  44:d:/WinAVR/avr/include/util/delay.h ****     \endcode
  45:d:/WinAVR/avr/include/util/delay.h **** 
  46:d:/WinAVR/avr/include/util/delay.h ****     \note As an alternative method, it is possible to pass the
  47:d:/WinAVR/avr/include/util/delay.h ****     F_CPU macro down to the compiler from the Makefile.
  48:d:/WinAVR/avr/include/util/delay.h ****     Obviously, in that case, no \c \#define statement should be
  49:d:/WinAVR/avr/include/util/delay.h ****     used.
  50:d:/WinAVR/avr/include/util/delay.h **** 
  51:d:/WinAVR/avr/include/util/delay.h ****     The functions in this header file implement simple delay loops
  52:d:/WinAVR/avr/include/util/delay.h ****     that perform a busy-waiting.  They are typically used to
  53:d:/WinAVR/avr/include/util/delay.h ****     facilitate short delays in the program execution.  They are
  54:d:/WinAVR/avr/include/util/delay.h ****     implemented as count-down loops with a well-known CPU cycle
  55:d:/WinAVR/avr/include/util/delay.h ****     count per loop iteration.  As such, no other processing can
  56:d:/WinAVR/avr/include/util/delay.h ****     occur simultaneously.  It should be kept in mind that the
  57:d:/WinAVR/avr/include/util/delay.h ****     functions described here do not disable interrupts.
  58:d:/WinAVR/avr/include/util/delay.h **** 
  59:d:/WinAVR/avr/include/util/delay.h ****     In general, for long delays, the use of hardware timers is
  60:d:/WinAVR/avr/include/util/delay.h ****     much preferrable, as they free the CPU, and allow for
  61:d:/WinAVR/avr/include/util/delay.h ****     concurrent processing of other events while the timer is
  62:d:/WinAVR/avr/include/util/delay.h ****     running.  However, in particular for very short delays, the
  63:d:/WinAVR/avr/include/util/delay.h ****     overhead of setting up a hardware timer is too much compared
  64:d:/WinAVR/avr/include/util/delay.h ****     to the overall delay time.
  65:d:/WinAVR/avr/include/util/delay.h **** 
  66:d:/WinAVR/avr/include/util/delay.h ****     Two inline functions are provided for the actual delay algorithms.
  67:d:/WinAVR/avr/include/util/delay.h **** 
  68:d:/WinAVR/avr/include/util/delay.h ****     Two wrapper functions allow the specification of microsecond, and
  69:d:/WinAVR/avr/include/util/delay.h ****     millisecond delays directly, using the application-supplied macro
  70:d:/WinAVR/avr/include/util/delay.h ****     F_CPU as the CPU clock frequency (in Hertz).  These functions
  71:d:/WinAVR/avr/include/util/delay.h ****     operate on double typed arguments, however when optimization is
  72:d:/WinAVR/avr/include/util/delay.h ****     turned on, the entire floating-point calculation will be done at
  73:d:/WinAVR/avr/include/util/delay.h ****     compile-time.
  74:d:/WinAVR/avr/include/util/delay.h **** 
  75:d:/WinAVR/avr/include/util/delay.h ****     \note When using _delay_us() and _delay_ms(), the expressions
  76:d:/WinAVR/avr/include/util/delay.h ****     passed as arguments to these functions shall be compile-time
  77:d:/WinAVR/avr/include/util/delay.h ****     constants, otherwise the floating-point calculations to setup the
  78:d:/WinAVR/avr/include/util/delay.h ****     loops will be done at run-time, thereby drastically increasing
  79:d:/WinAVR/avr/include/util/delay.h ****     both the resulting code size, as well as the time required to
  80:d:/WinAVR/avr/include/util/delay.h ****     setup the loops.
  81:d:/WinAVR/avr/include/util/delay.h **** */
  82:d:/WinAVR/avr/include/util/delay.h **** 
  83:d:/WinAVR/avr/include/util/delay.h **** #if !defined(__DOXYGEN__)
  84:d:/WinAVR/avr/include/util/delay.h **** static inline void _delay_loop_1(uint8_t __count) __attribute__((always_inline));
  85:d:/WinAVR/avr/include/util/delay.h **** static inline void _delay_loop_2(uint16_t __count) __attribute__((always_inline));
  86:d:/WinAVR/avr/include/util/delay.h **** static inline void _delay_us(double __us) __attribute__((always_inline));
  87:d:/WinAVR/avr/include/util/delay.h **** static inline void _delay_ms(double __ms) __attribute__((always_inline));
  88:d:/WinAVR/avr/include/util/delay.h **** #endif
  89:d:/WinAVR/avr/include/util/delay.h **** 
  90:d:/WinAVR/avr/include/util/delay.h **** /** \ingroup util_delay
  91:d:/WinAVR/avr/include/util/delay.h **** 
  92:d:/WinAVR/avr/include/util/delay.h ****     Delay loop using an 8-bit counter \c __count, so up to 256
  93:d:/WinAVR/avr/include/util/delay.h ****     iterations are possible.  (The value 256 would have to be passed
  94:d:/WinAVR/avr/include/util/delay.h ****     as 0.)  The loop executes three CPU cycles per iteration, not
  95:d:/WinAVR/avr/include/util/delay.h ****     including the overhead the compiler needs to setup the counter
  96:d:/WinAVR/avr/include/util/delay.h ****     register.
  97:d:/WinAVR/avr/include/util/delay.h **** 
  98:d:/WinAVR/avr/include/util/delay.h ****     Thus, at a CPU speed of 1 MHz, delays of up to 768 microseconds
  99:d:/WinAVR/avr/include/util/delay.h ****     can be achieved.
 100:d:/WinAVR/avr/include/util/delay.h **** */
 101:d:/WinAVR/avr/include/util/delay.h **** void
 102:d:/WinAVR/avr/include/util/delay.h **** _delay_loop_1(uint8_t __count)
 103:d:/WinAVR/avr/include/util/delay.h **** {
 104:d:/WinAVR/avr/include/util/delay.h **** 	__asm__ volatile (
 105:d:/WinAVR/avr/include/util/delay.h **** 		"1: dec %0" "\n\t"
 106:d:/WinAVR/avr/include/util/delay.h **** 		"brne 1b"
 107:d:/WinAVR/avr/include/util/delay.h **** 		: "=r" (__count)
 108:d:/WinAVR/avr/include/util/delay.h **** 		: "0" (__count)
 109:d:/WinAVR/avr/include/util/delay.h **** 	);
 110:d:/WinAVR/avr/include/util/delay.h **** }
 111:d:/WinAVR/avr/include/util/delay.h **** 
 112:d:/WinAVR/avr/include/util/delay.h **** /** \ingroup util_delay
 113:d:/WinAVR/avr/include/util/delay.h **** 
 114:d:/WinAVR/avr/include/util/delay.h ****     Delay loop using a 16-bit counter \c __count, so up to 65536
 115:d:/WinAVR/avr/include/util/delay.h ****     iterations are possible.  (The value 65536 would have to be
 116:d:/WinAVR/avr/include/util/delay.h ****     passed as 0.)  The loop executes four CPU cycles per iteration,
 117:d:/WinAVR/avr/include/util/delay.h ****     not including the overhead the compiler requires to setup the
 118:d:/WinAVR/avr/include/util/delay.h ****     counter register pair.
 119:d:/WinAVR/avr/include/util/delay.h **** 
 120:d:/WinAVR/avr/include/util/delay.h ****     Thus, at a CPU speed of 1 MHz, delays of up to about 262.1
 121:d:/WinAVR/avr/include/util/delay.h ****     milliseconds can be achieved.
 122:d:/WinAVR/avr/include/util/delay.h ****  */
 123:d:/WinAVR/avr/include/util/delay.h **** void
 124:d:/WinAVR/avr/include/util/delay.h **** _delay_loop_2(uint16_t __count)
 125:d:/WinAVR/avr/include/util/delay.h **** {
 167               	.LM6:
 168 0008 84ED      		ldi r24,lo8(980)
 169 000a 93E0      		ldi r25,hi8(980)
 170               	.LBB3:
 126:d:/WinAVR/avr/include/util/delay.h **** 	__asm__ volatile (
 172               	.LM7:
 173               	/* #APP */
 174 000c 0197      		1: sbiw r24,1
 175 000e F1F7      		brne 1b
 176               	/* #NOAPP */
 177               	.LBE3:
 178               	.LBE2:
 180               	.Ltext2:
  53:drive/ds18b20.c **** 
  54:drive/ds18b20.c ****     /* 現(xiàn)在延遲480us~960us, 與硬件密切相關(guān),但應(yīng)盡可能選小值(480us), 
  55:drive/ds18b20.c ****        把抖動(dòng)留給系統(tǒng)(比如在延遲期間發(fā)生中斷導(dǎo)致延遲變長)。 
  56:drive/ds18b20.c ****      */ 
  57:drive/ds18b20.c ****     wait_us(490);   // 490us 
  58:drive/ds18b20.c **** 
  59:drive/ds18b20.c ****     cli();          // 下面這段時(shí)間要求比較嚴(yán)格,為保險(xiǎn)起見,關(guān)中斷 
 182               	.LM8:
 183               	/* #APP */
 184 0010 F894      		cli
  60:drive/ds18b20.c ****     DQ_TO_1();      // 設(shè)置1-wire總線為高電平(釋放總線) 
 186               	.LM9:
 187               	/* #NOAPP */
 188 0012 8B98      		cbi 49-0x20,3
 189               	.LBB4:
 191               	.Ltext3:
 193               	.LM10:
 194 0014 87E8      		ldi r24,lo8(135)
 195 0016 90E0      		ldi r25,hi8(135)
 196               	.LBB5:
 198               	.LM11:
 199               	/* #APP */
 200 0018 0197      		1: sbiw r24,1
 201 001a F1F7      		brne 1b
 202               	/* #NOAPP */
 203               	.LBE5:
 204               	.LBE4:
 206               	.Ltext4:
  61:drive/ds18b20.c ****      
  62:drive/ds18b20.c ****     /* 這個(gè)浮點(diǎn)數(shù)是由編譯器計(jì)算好的,而不是由你的MCU在運(yùn)行時(shí)臨時(shí)計(jì)算的, 
  63:drive/ds18b20.c ****        所以不會(huì)占用用戶MCU的時(shí)間,不必?fù)?dān)心(看看前面的宏你就可以確定了) 
  64:drive/ds18b20.c ****      */ 
  65:drive/ds18b20.c ****     wait_us(67.5);  // 最佳時(shí)間: 60us+7.5us!(忙延時(shí),只是一種策略) 
  66:drive/ds18b20.c ****      
  67:drive/ds18b20.c ****     // 探測(cè)總線上是否有器件     
  68:drive/ds18b20.c ****     if(DQ_status()) bus_flag=FAIL;   // 復(fù)位單總線但沒有發(fā)現(xiàn)有器件在線 
 208               	.LM12:
 209 001c 839B      		sbis 48-0x20,3
 210 001e 02C0      		rjmp .L5
 212               	.LM13:
 213 0020 20E0      		ldi r18,lo8(0)
 214 0022 01C0      		rjmp .L6
 215               	.L5:
  69:drive/ds18b20.c ****     else bus_flag=SUCC;              // 復(fù)位單總線并發(fā)現(xiàn)有器件在線 
 217               	.LM14:
 218 0024 21E0      		ldi r18,lo8(1)
 219               	.L6:
  70:drive/ds18b20.c ****      
  71:drive/ds18b20.c ****     sei();          // 退出臨界代碼區(qū)(開中斷) 
 221               	.LM15:
 222               	/* #APP */
 223 0026 7894      		sei
 224               	/* #NOAPP */
 225               	.LBB6:
 227               	.Ltext5:
 229               	.LM16:
 230 0028 8DE4      		ldi r24,lo8(845)
 231 002a 93E0      		ldi r25,hi8(845)
 232               	.LBB7:
 234               	.LM17:
 235               	/* #APP */
 236 002c 0197      		1: sbiw r24,1
 237 002e F1F7      		brne 1b
 238               	/* #NOAPP */
 239               	.LBE7:
 240               	.LBE6:
 242               	.Ltext6:
  72:drive/ds18b20.c **** 
  73:drive/ds18b20.c ****     /* 保證Master釋放總線的時(shí)間(不是說總線處于高電平的時(shí)間)不小于 
  74:drive/ds18b20.c ****        480us即可,這一時(shí)間從讀總線狀態(tài)之前就開始了,所以這里把這個(gè) 
  75:drive/ds18b20.c ****        時(shí)間計(jì)算在內(nèi)。在Master釋放總線的前半段,也是被動(dòng)器件聲明它 
  76:drive/ds18b20.c ****        們?cè)诰€之時(shí)。 
  77:drive/ds18b20.c ****      */ 
  78:drive/ds18b20.c ****     wait_us(490-67.5);   // 490-67.5us 
  79:drive/ds18b20.c **** 
  80:drive/ds18b20.c ****     return(bus_flag); 
  81:drive/ds18b20.c **** } 
 244               	.LM18:
 245 0030 822F      		mov r24,r18
 246 0032 9927      		clr r25
 247               	/* epilogue: frame size=0 */
 248 0034 0895      		ret
 249               	/* epilogue end (size=1) */
 250               	/* function _ds18b20_reset size 32 (31) */
 264               	.Lscope1:
 266               	.global	ds18b20_reset
 268               	ds18b20_reset:
  82:drive/ds18b20.c **** 
  83:drive/ds18b20.c **** /*-------------------------------------------------------- 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久99久精品视频免费观看| 日韩欧美在线一区二区三区| 久久99国产精品尤物| 亚洲自拍欧美精品| 一区二区三区视频在线观看| 国产亚洲婷婷免费| 久久天堂av综合合色蜜桃网| 欧美一区二区在线免费播放| 91麻豆精品国产综合久久久久久| 在线免费观看成人短视频| 91丨九色丨黑人外教| av电影天堂一区二区在线观看| 国产91清纯白嫩初高中在线观看| 国产精品2024| 国产成人精品一区二区三区网站观看| 美女mm1313爽爽久久久蜜臀| 久久精品噜噜噜成人av农村| 蜜臀av亚洲一区中文字幕| 热久久免费视频| 国产精品自拍三区| 国产精品888| 色综合久久久久久久| 欧美日韩二区三区| 欧美tickling网站挠脚心| 久久丝袜美腿综合| 亚洲图片欧美激情| 日韩一区精品字幕| 国产做a爰片久久毛片| 99在线精品观看| 欧美人伦禁忌dvd放荡欲情| 日韩欧美亚洲一区二区| 日本一区二区三区久久久久久久久不| 久久精品视频网| 亚洲一区二区三区视频在线| 日韩中文字幕亚洲一区二区va在线| 日韩av一二三| 风间由美一区二区三区在线观看 | 国产成人自拍网| 97精品电影院| 欧美一级艳片视频免费观看| 国产欧美日韩三级| 亚洲国产人成综合网站| 韩国三级电影一区二区| 99视频国产精品| 91精品啪在线观看国产60岁| 国产欧美日韩视频一区二区 | 91香蕉视频黄| 久久久久久久久99精品| 五月激情综合色| av不卡在线播放| 精品国产91九色蝌蚪| 亚洲成人一二三| 成人教育av在线| 日韩美女视频在线| 午夜视频一区在线观看| www.久久精品| 久久综合精品国产一区二区三区 | 久久久久青草大香线综合精品| 亚洲一区二区在线免费观看视频| 国产激情精品久久久第一区二区| 欧美人xxxx| 夜夜爽夜夜爽精品视频| 国产91在线|亚洲| 久久久久成人黄色影片| 欧美aaaaa成人免费观看视频| 色欧美片视频在线观看| 国产欧美日本一区二区三区| 久久99精品国产麻豆不卡| 欧美日韩免费高清一区色橹橹 | 中文字幕一区二区三区精华液| 九色综合国产一区二区三区| 91精品国产综合久久福利| 亚洲一区二区三区小说| 色老汉一区二区三区| 亚洲视频1区2区| 色综合中文综合网| 欧美国产精品v| 国产综合久久久久影院| 精品少妇一区二区三区 | 欧美精品第一页| 日韩在线a电影| 精品国产1区二区| 国产1区2区3区精品美女| 久久久国产精华| 99精品视频在线播放观看| 中文字幕一区二区三区乱码在线 | 亚洲在线中文字幕| 欧美人与禽zozo性伦| 久久机这里只有精品| 国产欧美日韩综合精品一区二区| 国产激情一区二区三区桃花岛亚洲| 久久99精品国产麻豆婷婷洗澡| 久久一日本道色综合| 懂色av中文字幕一区二区三区| 国产精品久久久久一区二区三区 | 久久久久久免费| 成人av在线资源| 一区二区免费看| 日韩你懂的电影在线观看| 成人精品gif动图一区| 亚洲成av人片| 久久精品一区二区三区不卡牛牛 | 欧美情侣在线播放| 国产精品乱人伦中文| 免费欧美在线视频| 日韩午夜激情av| 色老汉一区二区三区| 成人性生交大合| 国产一区日韩二区欧美三区| 婷婷国产在线综合| 玉足女爽爽91| 一区二区三区在线看| 中文字幕在线播放不卡一区| 久久久av毛片精品| 日韩区在线观看| av在线播放不卡| 青青青伊人色综合久久| 亚洲欧美国产高清| 久久免费视频色| 91麻豆精品国产自产在线| 97久久精品人人做人人爽50路 | 国产麻豆一精品一av一免费| 一区二区三区免费在线观看| 久久免费看少妇高潮| 777xxx欧美| 色婷婷av一区二区三区软件| 国产91丝袜在线播放| 美女www一区二区| 天天综合天天做天天综合| 中文字幕在线一区免费| 国产亚洲欧美日韩在线一区| 日韩亚洲电影在线| 欧美三级视频在线播放| 91麻豆国产精品久久| 国产91在线观看| 国产精品911| 国产寡妇亲子伦一区二区| 精品影视av免费| 日韩电影一区二区三区四区| 一区二区免费视频| 亚洲色图在线看| 一区二区三区在线播放| 亚洲丝袜美腿综合| 亚洲天堂成人网| 亚洲曰韩产成在线| 婷婷久久综合九色综合绿巨人 | 91黄视频在线观看| 91国偷自产一区二区开放时间| 色综合久久久久久久久久久| 欧美日韩一卡二卡三卡| 555夜色666亚洲国产免| 日韩午夜激情视频| 久久久久久久久一| 国产精品青草综合久久久久99| 亚洲精品乱码久久久久久日本蜜臀| 国产精品福利一区| 亚洲一区二区三区小说| 老司机免费视频一区二区| 成人污视频在线观看| 日本福利一区二区| 欧美成人一区二区三区在线观看| 91精品国产一区二区三区香蕉| 国产99精品视频| 日本乱人伦一区| 日韩一区二区三区四区| 欧美国产一区在线| 五月综合激情日本mⅴ| 风流少妇一区二区| 欧美一区二区三区思思人| 久久精品人人做| 亚洲成人激情综合网| 精品亚洲免费视频| 91黄色小视频| 国产视频一区二区在线观看| 一区二区三区小说| 国产精品一区二区在线看| 欧日韩精品视频| 国产三级欧美三级日产三级99 | 欧美日韩综合不卡| 欧美国产一区视频在线观看| 美女视频一区二区| 在线精品亚洲一区二区不卡| 欧美激情在线一区二区三区| 日韩不卡一区二区三区| 欧洲人成人精品| 国产精品成人在线观看| 国产高清在线观看免费不卡| 欧美成人精品1314www| 亚洲三级免费电影| 亚洲电影一区二区| 一本色道a无线码一区v| 中文字幕一区二区三区乱码在线| 国产精品亚洲一区二区三区在线 | 国产精品伊人色| 精品电影一区二区| 国产精品自拍三区| 亚洲国产精品传媒在线观看| 国产激情偷乱视频一区二区三区 | 欧美性猛片xxxx免费看久爱| 亚洲综合图片区|