久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

STM32驅(qū)動(dòng)DS1302實(shí)時(shí)時(shí)鐘:從時(shí)序模擬到定時(shí)開關(guān)實(shí)戰(zhàn)

STM32驅(qū)動(dòng)DS1302實(shí)時(shí)時(shí)鐘:從時(shí)序模擬到定時(shí)開關(guān)實(shí)戰(zhàn) 1. 為什么還要折騰 DS1302 這顆老芯片前陣子幫朋友做一個(gè)帶定時(shí)開關(guān)的控制器主控用的是 STM32F103C8T6 最小系統(tǒng)板需求很簡(jiǎn)單每天固定時(shí)間點(diǎn)觸發(fā)繼電器斷電重啟后時(shí)間不能丟。第一反應(yīng)肯定是上 DS3231溫補(bǔ)晶振、I2C 接口、精度高但翻了下手頭的元件盒DS3231 模塊用完了倒是翻出來(lái)幾顆當(dāng)年買錯(cuò)的 DS1302 直插芯片和配套的 32.768kHz 晶振。想著反正精度要求不高一天誤差幾秒也能接受就干脆用 DS1302 把這事做了。DS1302 這顆芯片玩過 51 單片機(jī)的人基本都認(rèn)識(shí)屬于那種入門必點(diǎn)的外設(shè)。它用的是三線串行接口嚴(yán)格說不是標(biāo)準(zhǔn) SPI也不是 I2C而是自己的一套時(shí)序協(xié)議一根 CE有的資料叫 RST、一根 SCLK、一根雙向 IO。正因?yàn)闀r(shí)序是自己定義的所以移植到 STM32 上不能直接套用硬件 SPI 或 I2C 外設(shè)得老老實(shí)實(shí)用 GPIO 模擬時(shí)序。這也是很多人第一次在 STM32 上驅(qū)動(dòng) DS1302 時(shí)踩坑的地方——習(xí)慣了 HAL 庫(kù)一把梭突然要自己數(shù)微秒節(jié)奏就亂了。這篇筆記就是把我從接線、寫時(shí)序、調(diào)讀寫、處理 BCD 碼到最終跑通定時(shí)功能的完整過程整理出來(lái)。內(nèi)容偏向?qū)嵅俅a基于 STM32 HAL 庫(kù)但時(shí)序邏輯是通用的換成標(biāo)準(zhǔn)庫(kù)或者別的 Cortex-M 芯片改改 GPIO 操作就能用。適合兩類人看一類是剛接觸 STM32、想找個(gè)簡(jiǎn)單外設(shè)練手時(shí)序操作的新手另一類是手頭正好有 DS1302 庫(kù)存、想快速把它用起來(lái)的老玩家。我會(huì)把每個(gè)關(guān)鍵決策背后的原因講清楚比如為什么上拉電阻不能省、為什么寫保護(hù)要先關(guān)、為什么讀出來(lái)的秒要屏蔽最高位這些細(xì)節(jié)文檔里往往一筆帶過但實(shí)際調(diào)試時(shí)全是坑。2. DS1302 到底是個(gè)什么東西先把原理捋順2.1 三線接口的本質(zhì)不是 SPI 也不是 I2C很多人看到 DS1302 三根線第一反應(yīng)是這不就是 SPI 嗎。其實(shí)差得遠(yuǎn)。標(biāo)準(zhǔn) SPI 有明確的 CPOL/CPHA 四種模式主機(jī)在時(shí)鐘邊沿采樣從機(jī)在另一個(gè)邊沿輸出而且 SPI 是主機(jī)驅(qū)動(dòng)時(shí)鐘、數(shù)據(jù)全雙工。DS1302 的協(xié)議更原始它把一次通信拆成命令字節(jié) 數(shù)據(jù)字節(jié)兩個(gè)階段命令字節(jié)固定從 bit0 開始發(fā)數(shù)據(jù)字節(jié)則是 bit0 先發(fā)還是 bit7 先發(fā)取決于讀還是寫。具體來(lái)說DS1302 的通信規(guī)則是這樣的CE 拉高之后SCLK 上升沿把數(shù)據(jù)寫進(jìn)芯片下降沿把數(shù)據(jù)從芯片讀出來(lái)。注意這里有個(gè)容易搞混的點(diǎn)——寫的時(shí)候是上升沿采樣讀的時(shí)候是下降沿輸出。所以你在寫時(shí)序函數(shù)的時(shí)候如果是寫操作先準(zhǔn)備好 IO 電平再拉高 SCLK如果是讀操作先拉低 SCLK再去讀 IO 電平。這個(gè)順序反了讀出來(lái)的數(shù)據(jù)就是亂的。命令字節(jié)的格式也值得說一下。bit7 固定是 1表示使能訪問bit6 是 RAM 還是 CLOCK 的選擇0 表示時(shí)鐘寄存器1 表示 RAMbit1 到 bit5 是寄存器地址bit0 是讀寫位0 寫 1 讀。舉個(gè)例子要寫秒寄存器地址 0x80命令字節(jié)就是 0x80要讀秒寄存器命令字節(jié)就是 0x81。這個(gè)規(guī)律記住之后后面所有寄存器的操作都能推出來(lái)。2.2 寄存器地圖哪些能用哪些別碰DS1302 的時(shí)鐘寄存器一共 8 個(gè)地址從 0x80 到 0x8E全是偶地址寫讀的時(shí)候地址加 1。我整理了一張表把常用寄存器的位定義列出來(lái)方便對(duì)照寄存器寫地址讀地址bit7bit6bit5bit4bit3bit2bit1bit0秒0x800x81CH10秒秒個(gè)位分0x820x83010分分個(gè)位時(shí)0x840x85012/2410時(shí)/PM時(shí)個(gè)位日0x860x8700010日日個(gè)位月0x880x8900010月月個(gè)位周0x8A0x8B00000周年0x8C0x8D10年年個(gè)位寫保護(hù)0x8E0x8FWP0000000這里有幾個(gè)關(guān)鍵位必須注意。秒寄存器的 bit7 是 CH 位Clock Halt上電默認(rèn)是 1意思是時(shí)鐘停止。你如果只寫了時(shí)間沒清這個(gè)位會(huì)發(fā)現(xiàn)時(shí)間根本不走讀出來(lái)永遠(yuǎn)是那個(gè)值。我第一次調(diào)的時(shí)候就栽在這盯著串口打印的固定時(shí)間看了半天以為是晶振沒起振換了兩個(gè)晶振才發(fā)現(xiàn)是 CH 位沒清。寫保護(hù)寄存器 0x8E 的 bit7 是 WP 位上電默認(rèn)是 1表示寫保護(hù)開啟這時(shí)候你往任何時(shí)鐘寄存器寫數(shù)據(jù)都會(huì)被忽略。所以標(biāo)準(zhǔn)流程是先寫 0x8E 寫 0x00 關(guān)保護(hù)改完時(shí)間再寫 0x8E 寫 0x80 開保護(hù)。這個(gè)順序不能省省了就會(huì)出現(xiàn)寫進(jìn)去讀出來(lái)還是舊值的詭異現(xiàn)象。2.3 備用電池和晶振硬件上最容易翻車的兩個(gè)點(diǎn)DS1302 有個(gè) VCC1 和 VCC2 雙電源引腳VCC1 接備用電池VCC2 接主電源。芯片內(nèi)部有個(gè)電源檢測(cè)電路主電源掉電時(shí)自動(dòng)切到電池保證時(shí)鐘繼續(xù)走。這里有個(gè)細(xì)節(jié)電池電壓要低于主電源電壓否則芯片可能判斷不出主電源掉電一直用電池供電反而加速電池消耗。一般用 3V 的 CR2032 紐扣電池主電源 3.3V壓差剛好合適。晶振這塊DS1302 要求外接 32.768kHz 晶振而且對(duì)負(fù)載電容有要求。市面上常見的圓柱形晶振負(fù)載電容一般是 6pF 或 12.5pF你得配對(duì)應(yīng)的電容。我手頭那批晶振是 6pF 的一開始隨手焊了兩個(gè) 22pF 的電容上去結(jié)果時(shí)間走得明顯偏慢一天能差十幾秒。后來(lái)查了晶振規(guī)格書換成兩個(gè) 6pF 的電容誤差就降到一天兩三秒了。如果你對(duì)精度有要求建議直接上 DS3231省得跟電容較勁。另外DS1302 的 IO 引腳是開漏輸出必須接上拉電阻一般 4.7k 到 10k 都行。我習(xí)慣用 4.7k上升沿更陡一點(diǎn)時(shí)序更穩(wěn)。有些模塊板子上已經(jīng)集成了上拉電阻如果你是自己畫板子千萬(wàn)別忘了這三個(gè)電阻否則讀出來(lái)的數(shù)據(jù)全是 0xFF。3. 硬件接線與工程搭建3.1 接線方案三根信號(hào)線怎么分配我用的 STM32F103C8T6 最小系統(tǒng)板DS1302 模塊是那種帶電池座的小板子。接線如下DS1302 引腳STM32 引腳說明VCC23.3V主電源VCC1CR2032 正極備用電池GNDGND共地CEPA4片選/復(fù)位SCLKPA5串行時(shí)鐘IOPA6雙向數(shù)據(jù)X1/X232.768kHz 晶振晶振引腳這里 CE、SCLK、IO 我選了 PA4、PA5、PA6其實(shí)隨便選三個(gè)普通 GPIO 都行只要不是那種有特殊功能的引腳比如 JTAG 占用的 PA13/PA14/PA15。選 PA4 到 PA6 純粹是因?yàn)樗鼈儼ぶ泳€方便而且不跟串口沖突調(diào)試的時(shí)候能用串口打印時(shí)間。IO 引腳要注意配置成開漏輸出加外部上拉或者配置成推挽輸出但在讀的時(shí)候切換成輸入模式。我兩種都試過開漏加外部上拉更省事不用來(lái)回切模式代碼也簡(jiǎn)潔。如果你板子上沒有外部上拉那就得在代碼里動(dòng)態(tài)切換輸入輸出方向稍微麻煩一點(diǎn)。3.2 工程配置CubeMX 里怎么點(diǎn)用 CubeMX 配置的話PA4、PA5 配成 GPIO_OutputPA6 配成 GPIO_Output 開漏模式Output Open Drain上拉使能。時(shí)鐘樹按默認(rèn)的 72MHz 配就行DS1302 的時(shí)序?qū)χ黝l不敏感因?yàn)槲覀兪强寇浖訒r(shí)控制節(jié)奏的。延時(shí)函數(shù)這塊我直接用 HAL 庫(kù)的HAL_Delay()做毫秒級(jí)延時(shí)微秒級(jí)延時(shí)用__NOP()循環(huán)湊。DS1302 的時(shí)序要求其實(shí)很寬松SCLK 最高頻率 2MHz也就是周期 500ns我們只要保證每個(gè)電平保持個(gè)一兩微秒就絕對(duì)安全。所以微秒延時(shí)不用太精確用循環(huán)空轉(zhuǎn)就行。void ds1302_delay_us(uint16_t us) { while (us--) { __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); } }這個(gè)延時(shí)函數(shù)在 72MHz 下大概每個(gè)循環(huán) 1 微秒左右不用精確到納秒因?yàn)?DS1302 對(duì)時(shí)序的容忍度很高。我實(shí)測(cè)過就算延時(shí)翻倍或者減半讀寫照樣正常。3.3 引腳宏定義方便移植的寫法為了讓代碼好移植我把引腳操作都封裝成宏#define DS1302_CE_PORT GPIOA #define DS1302_CE_PIN GPIO_PIN_4 #define DS1302_SCLK_PORT GPIOA #define DS1302_SCLK_PIN GPIO_PIN_5 #define DS1302_IO_PORT GPIOA #define DS1302_IO_PIN GPIO_PIN_6 #define DS1302_CE_HIGH() HAL_GPIO_WritePin(DS1302_CE_PORT, DS1302_CE_PIN, GPIO_PIN_SET) #define DS1302_CE_LOW() HAL_GPIO_WritePin(DS1302_CE_PORT, DS1302_CE_PIN, GPIO_PIN_RESET) #define DS1302_SCLK_HIGH() HAL_GPIO_WritePin(DS1302_SCLK_PORT, DS1302_SCLK_PIN, GPIO_PIN_SET) #define DS1302_SCLK_LOW() HAL_GPIO_WritePin(DS1302_SCLK_PORT, DS1302_SCLK_PIN, GPIO_PIN_RESET) #define DS1302_IO_HIGH() HAL_GPIO_WritePin(DS1302_IO_PORT, DS1302_IO_PIN, GPIO_PIN_SET) #define DS1302_IO_LOW() HAL_GPIO_WritePin(DS1302_IO_PORT, DS1302_IO_PIN, GPIO_PIN_RESET) #define DS1302_IO_READ() HAL_GPIO_ReadPin(DS1302_IO_PORT, DS1302_IO_PIN)這樣寫的好處是換芯片或者換引腳的時(shí)候只改這幾個(gè)宏就行底層時(shí)序函數(shù)一行都不用動(dòng)。我后來(lái)把這個(gè)驅(qū)動(dòng)移植到另一塊 GD32 的板子上就花了五分鐘改宏定義。4. 時(shí)序代碼逐行拆解4.1 寫一個(gè)字節(jié)從 bit0 開始上升沿有效DS1302 寫字節(jié)的規(guī)則是從 bit0 開始每次把數(shù)據(jù)放到 IO 上然后拉高 SCLK再拉低 SCLK循環(huán) 8 次。注意命令字節(jié)和數(shù)據(jù)字節(jié)都是 bit0 先發(fā)這點(diǎn)跟 SPI 的 MSB first 不一樣別搞混了。void ds1302_write_byte(uint8_t dat) { uint8_t i; for (i 0; i 8; i) { if (dat 0x01) DS1302_IO_HIGH(); else DS1302_IO_LOW(); ds1302_delay_us(1); DS1302_SCLK_HIGH(); ds1302_delay_us(1); DS1302_SCLK_LOW(); ds1302_delay_us(1); dat 1; } }這段代碼里dat 0x01取最低位然后右移保證下一次取的是新的最低位。延時(shí)放在拉高 SCLK 之前和之后是為了滿足建立時(shí)間和保持時(shí)間。DS1302 的建立時(shí)間要求是 50ns保持時(shí)間也是 50ns我們延時(shí) 1 微秒余量足夠大。4.2 讀一個(gè)字節(jié)下降沿之后采樣讀字節(jié)的規(guī)則稍微繞一點(diǎn)DS1302 在 SCLK 下降沿把數(shù)據(jù)輸出到 IO 上所以我們要先拉低 SCLK等一會(huì)兒再去讀 IO 電平。注意讀的時(shí)候也是從 bit0 開始讀到的第一位要放到變量的 bit0 位置。uint8_t ds1302_read_byte(void) { uint8_t i, dat 0; for (i 0; i 8; i) { dat 1; if (DS1302_IO_READ()) dat | 0x80; DS1302_SCLK_HIGH(); ds1302_delay_us(1); DS1302_SCLK_LOW(); ds1302_delay_us(1); } return dat; }這里有個(gè)細(xì)節(jié)dat 1放在讀之前然后如果讀到 1 就dat | 0x80。這樣第一次讀到的位最終會(huì)落在 bit0第二次落在 bit1以此類推。如果你寫成先讀再移位順序就反了讀出來(lái)的數(shù)據(jù)是 bit 倒序的。我第一次寫的時(shí)候就是先讀后移結(jié)果讀出來(lái)的秒是 0x80 而不是 0x01查了半天才發(fā)現(xiàn)是移位順序錯(cuò)了。4.3 寫寄存器命令字節(jié)加數(shù)據(jù)字節(jié)寫寄存器的流程是CE 拉高發(fā)命令字節(jié)發(fā)數(shù)據(jù)字節(jié)CE 拉低。CE 拉低之后一次通信結(jié)束。注意 CE 拉高之后要先延時(shí)一小會(huì)兒再發(fā)第一個(gè)字節(jié)給芯片一點(diǎn)準(zhǔn)備時(shí)間。void ds1302_write_reg(uint8_t cmd, uint8_t dat) { DS1302_CE_LOW(); DS1302_SCLK_LOW(); DS1302_CE_HIGH(); ds1302_delay_us(2); ds1302_write_byte(cmd); ds1302_write_byte(dat); DS1302_CE_LOW(); ds1302_delay_us(2); }CE 拉低的時(shí)候順便把 SCLK 也拉低這是個(gè)好習(xí)慣保證下次通信從已知狀態(tài)開始。有些資料說 CE 拉低之后 SCLK 要保持低電平其實(shí)拉低 CE 之后芯片內(nèi)部會(huì)復(fù)位時(shí)序SCLK 什么狀態(tài)無(wú)所謂但統(tǒng)一拉低更規(guī)范。4.4 讀寄存器注意命令字節(jié)的 bit0 要置 1讀寄存器的命令字節(jié)是寫命令字節(jié)加 1也就是 bit0 從 0 變 1。比如讀秒寄存器寫命令是 0x80讀命令就是 0x81。讀的時(shí)候發(fā)完命令字節(jié)之后IO 要切換成輸入模式如果用的是開漏加外部上拉就不用切直接讀就行。uint8_t ds1302_read_reg(uint8_t cmd) { uint8_t dat; DS1302_CE_LOW(); DS1302_SCLK_LOW(); DS1302_CE_HIGH(); ds1302_delay_us(2); ds1302_write_byte(cmd); dat ds1302_read_byte(); DS1302_CE_LOW(); ds1302_delay_us(2); return dat; }如果你用的是推挽輸出模式讀之前要把 IO 引腳切成輸入模式讀完之后再切回輸出。我一開始用推挽讀出來(lái)的數(shù)據(jù)全是 0xFF就是因?yàn)?IO 還在輸出模式芯片輸出的數(shù)據(jù)和 MCU 輸出的電平打架了。后來(lái)改成開漏加外部上拉這個(gè)問題就沒了。5. BCD 碼轉(zhuǎn)換與時(shí)間讀寫5.1 BCD 碼為什么 0x23 表示 23DS1302 內(nèi)部所有時(shí)間寄存器都是 BCD 碼格式也就是用 4 個(gè)二進(jìn)制位表示一個(gè)十進(jìn)制數(shù)字。比如秒寄存器讀到 0x23不是十進(jìn)制的 35而是表示 23 秒。高 4 位是十位低 4 位是個(gè)位。這種格式在早期 RTC 芯片里很常見因?yàn)橛?BCD 碼做十進(jìn)制顯示的時(shí)候不用做除法。轉(zhuǎn)換公式很簡(jiǎn)單uint8_t bcd_to_dec(uint8_t bcd) { return (bcd 4) * 10 (bcd 0x0F); } uint8_t dec_to_bcd(uint8_t dec) { return ((dec / 10) 4) | (dec % 10); }比如 0x23 轉(zhuǎn)十進(jìn)制高 4 位是 2乘以 10 得 20低 4 位是 3加起來(lái) 23。反過來(lái) 23 轉(zhuǎn) BCD23 除以 10 得 2左移 4 位變成 0x2023 模 10 得 3或上去就是 0x23。5.2 設(shè)置時(shí)間先關(guān)寫保護(hù)再清 CH 位設(shè)置時(shí)間的完整流程是這樣的先關(guān)寫保護(hù)然后依次寫秒、分、時(shí)、日、月、周、年最后開寫保護(hù)。注意寫秒的時(shí)候要把 CH 位清零否則時(shí)鐘不走。void ds1302_set_time(uint8_t year, uint8_t month, uint8_t day, uint8_t week, uint8_t hour, uint8_t min, uint8_t sec) { ds1302_write_reg(0x8E, 0x00); // 關(guān)寫保護(hù) ds1302_write_reg(0x80, dec_to_bcd(sec) 0x7F); // 秒清CH位 ds1302_write_reg(0x82, dec_to_bcd(min)); // 分 ds1302_write_reg(0x84, dec_to_bcd(hour)); // 時(shí)24小時(shí)制 ds1302_write_reg(0x86, dec_to_bcd(day)); // 日 ds1302_write_reg(0x88, dec_to_bcd(month)); // 月 ds1302_write_reg(0x8A, dec_to_bcd(week)); // 周 ds1302_write_reg(0x8C, dec_to_bcd(year)); // 年 ds1302_write_reg(0x8E, 0x80); // 開寫保護(hù) }這里dec_to_bcd(sec) 0x7F是為了確保 CH 位是 0。如果你寫的時(shí)間秒數(shù)是奇數(shù)比如 23 秒dec_to_bcd(23)得到 0x23最高位本來(lái)就是 0與 0x7F 之后還是 0x23。但如果之前 CH 位是 1這個(gè)與操作就能把它清掉。5.3 讀取時(shí)間秒寄存器要屏蔽 CH 位讀時(shí)間的時(shí)候秒寄存器的最高位是 CH 位不是時(shí)間數(shù)據(jù)所以要屏蔽掉。其他寄存器直接轉(zhuǎn) BCD 就行。void ds1302_get_time(uint8_t *year, uint8_t *month, uint8_t *day, uint8_t *week, uint8_t *hour, uint8_t *min, uint8_t *sec) { *sec bcd_to_dec(ds1302_read_reg(0x81) 0x7F); *min bcd_to_dec(ds1302_read_reg(0x83)); *hour bcd_to_dec(ds1302_read_reg(0x85) 0x3F); *day bcd_to_dec(ds1302_read_reg(0x87) 0x3F); *month bcd_to_dec(ds1302_read_reg(0x89) 0x1F); *week bcd_to_dec(ds1302_read_reg(0x8B) 0x07); *year bcd_to_dec(ds1302_read_reg(0x8D)); }小時(shí)寄存器我屏蔽了 bit6 和 bit7因?yàn)?bit7 是 12/24 小時(shí)制選擇位bit6 在 12 小時(shí)制下是 AM/PM 標(biāo)志。我們統(tǒng)一用 24 小時(shí)制所以把高兩位都屏蔽掉。日寄存器屏蔽 bit6 和 bit7月寄存器屏蔽 bit5 到 bit7周寄存器屏蔽 bit3 到 bit7這些都是保留位讀出來(lái)可能是隨機(jī)值屏蔽掉更安全。6. 調(diào)試過程中踩過的坑和排查方法6.1 讀出來(lái)全是 0xFF 或者 0x00這是最常見的問題基本可以鎖定三個(gè)原因。第一上拉電阻沒接或者阻值太大IO 線在空閑時(shí)處于浮空狀態(tài)讀出來(lái)就是隨機(jī)的。用萬(wàn)用表量一下 IO 線對(duì) VCC 的電阻正常應(yīng)該是 4.7k 左右。第二CE 引腳沒有正確拉高芯片根本沒被選中。用示波器看 CE 波形發(fā)命令的時(shí)候應(yīng)該是高電平。第三晶振沒起振芯片內(nèi)部時(shí)鐘停了這時(shí)候讀寄存器可能返回默認(rèn)值。拿示波器探頭碰一下晶振引腳能看到 32.768kHz 的正弦波就說明起振了。我遇到過一次讀出來(lái)全是 0xFF查了半天發(fā)現(xiàn)是 IO 引腳配置成了推挽輸出讀的時(shí)候沒切成輸入MCU 和 DS1302 在 IO 線上打架。改成開漏加外部上拉之后問題消失。6.2 時(shí)間不走讀出來(lái)永遠(yuǎn)是設(shè)定值這個(gè)基本就是 CH 位沒清。DS1302 上電默認(rèn) CH1時(shí)鐘停止。你寫時(shí)間的時(shí)候如果只寫了秒數(shù)據(jù)沒清 CH 位芯片就一直在暫停狀態(tài)。解決辦法就是在寫秒寄存器的時(shí)候確保最高位是 0。我習(xí)慣用 0x7F強(qiáng)制清零這樣不管之前 CH 是什么狀態(tài)寫完之后一定是走的。還有一種可能是寫保護(hù)沒關(guān)。DS1302 上電默認(rèn) WP1所有寫操作都被忽略。你寫進(jìn)去的數(shù)據(jù)實(shí)際上沒生效讀出來(lái)還是舊值。標(biāo)準(zhǔn)流程是先寫 0x8E 寫 0x00再寫時(shí)間最后寫 0x8E 寫 0x80。這個(gè)順序不能亂。6.3 時(shí)間走得快或者走得慢如果一天誤差在幾秒以內(nèi)那是晶振精度問題正常。DS1302 配普通晶振一天差個(gè)三五秒很常見。如果一天差幾十秒甚至幾分鐘那就要檢查負(fù)載電容了。晶振規(guī)格書上的負(fù)載電容值要跟實(shí)際焊接的電容匹配6pF 的晶振配 6pF 的電容12.5pF 的晶振配 12.5pF 的電容。電容大了走得慢電容小了走得快。另外晶振的走線要盡量短遠(yuǎn)離高頻信號(hào)線。我有一次把晶振線布在了 SPI 時(shí)鐘線旁邊時(shí)間走得亂七八糟后來(lái)重新布線就好了。如果對(duì)精度要求高建議直接換 DS3231內(nèi)置溫補(bǔ)晶振一年誤差也就幾分鐘。6.4 常見問題速查表現(xiàn)象可能原因排查方法解決辦法讀出全 0xFFIO 無(wú)上拉量 IO 對(duì) VCC 電阻加 4.7k 上拉讀出全 0x00CE 未拉高示波器看 CE 波形檢查 CE 宏定義時(shí)間不走CH 位為 1讀秒寄存器看 bit7寫秒時(shí) 0x7F寫入無(wú)效寫保護(hù)未關(guān)讀 0x8E 看 bit7先寫 0x00 關(guān)保護(hù)時(shí)間偏差大負(fù)載電容不匹配查晶振規(guī)格書換匹配電容數(shù)據(jù)亂跳時(shí)序太快加大延時(shí)延時(shí)加到 2us偶爾讀錯(cuò)電源不穩(wěn)量 VCC 紋波加 0.1uF 去耦7. 從驅(qū)動(dòng)到應(yīng)用定時(shí)開關(guān)的完整實(shí)現(xiàn)7.1 每秒讀一次時(shí)間比較觸發(fā)條件驅(qū)動(dòng)調(diào)通之后應(yīng)用邏輯就簡(jiǎn)單了。我在主循環(huán)里每 500ms 讀一次時(shí)間然后跟設(shè)定的觸發(fā)時(shí)間比較。如果時(shí)和分都匹配就觸發(fā)繼電器同時(shí)記錄一個(gè)標(biāo)志位防止同一分鐘內(nèi)重復(fù)觸發(fā)。uint8_t last_min 0xFF; while (1) { uint8_t year, month, day, week, hour, min, sec; ds1302_get_time(year, month, day, week, hour, min, sec); if (min ! last_min) { last_min min; if (hour target_hour min target_min) { relay_on(); HAL_Delay(1000); relay_off(); } } HAL_Delay(500); }這里用last_min做去重保證一分鐘只觸發(fā)一次。如果你需要觸發(fā)多個(gè)時(shí)間點(diǎn)可以搞個(gè)數(shù)組遍歷比較。7.2 掉電恢復(fù)電池供電下的時(shí)間保持DS1302 接上 CR2032 之后主電源掉電時(shí)芯片自動(dòng)切到電池時(shí)鐘繼續(xù)走。我實(shí)測(cè)過拔掉主電源放了一晚上第二天上電讀出來(lái)的時(shí)間還是準(zhǔn)的誤差在正常范圍內(nèi)。注意電池正極接 VCC1負(fù)極接 GND別接反了。CR2032 的壽命大概兩三年如果發(fā)現(xiàn)掉電后時(shí)間丟失先量一下電池電壓低于 2.5V 就該換了。7.3 精度優(yōu)化軟件補(bǔ)償?shù)乃悸啡绻悴幌霌Q DS3231又想讓 DS1302 準(zhǔn)一點(diǎn)可以在軟件里做補(bǔ)償。具體做法是先讓 DS1302 跑一天記錄誤差比如一天快 5 秒那就在每天固定時(shí)間點(diǎn)把秒數(shù)減 5。這個(gè)補(bǔ)償邏輯可以放在主循環(huán)里每天執(zhí)行一次。不過這種方法比較粗糙適合對(duì)精度要求不高的場(chǎng)景。真要高精度還是建議上溫補(bǔ)晶振的方案。8. 代碼組織與移植建議8.1 文件劃分驅(qū)動(dòng)層和應(yīng)用層分開我習(xí)慣把 DS1302 的驅(qū)動(dòng)單獨(dú)放在ds1302.c和ds1302.h里只暴露ds1302_init()、ds1302_set_time()、ds1302_get_time()三個(gè)接口。應(yīng)用層的定時(shí)邏輯放在main.c里這樣換項(xiàng)目的時(shí)候驅(qū)動(dòng)直接復(fù)制過去就能用。頭文件里只放函數(shù)聲明和必要的宏具體的引腳定義放在源文件里或者用條件編譯區(qū)分不同板子。我一般會(huì)在頭文件里留一個(gè)DS1302_USE_OPEN_DRAIN的宏用來(lái)切換開漏和推挽模式方便適配不同硬件。8.2 移植到其他平臺(tái)改三個(gè)地方就行這套代碼移植到別的平臺(tái)比如 GD32、ESP32 或者 51 單片機(jī)只需要改三個(gè)地方GPIO 操作宏、微秒延時(shí)函數(shù)、初始化函數(shù)里的 GPIO 配置。時(shí)序邏輯本身是純軟件模擬的跟硬件平臺(tái)無(wú)關(guān)。我把它移植到 GD32F103 上的時(shí)候就改了宏定義和延時(shí)函數(shù)編譯下載直接就跑起來(lái)了。如果你用的是 RTOS注意 DS1302 的讀寫操作不要被打斷否則時(shí)序會(huì)亂??梢栽谧x寫前后關(guān)中斷或者用互斥鎖保護(hù)。我一般是在ds1302_write_reg和ds1302_read_reg里關(guān)中斷操作完再開這樣最省事。9. 一些零散但有用的經(jīng)驗(yàn)DS1302 的 IO 引腳在 CE 拉低之后會(huì)變成高阻態(tài)這時(shí)候如果外部上拉電阻太大IO 線上的電平可能會(huì)慢慢漂移。我試過用 10k 上拉發(fā)現(xiàn)讀數(shù)據(jù)偶爾會(huì)出錯(cuò)換成 4.7k 之后就穩(wěn)了。所以上拉電阻別省4.7k 是個(gè)比較穩(wěn)妥的值。寫命令字節(jié)的時(shí)候bit7 必須是 1這個(gè)位叫使能位。如果你不小心寫成了 0芯片會(huì)忽略整個(gè)命令。我一開始看資料沒注意這個(gè)細(xì)節(jié)命令字節(jié)直接寫寄存器地址結(jié)果怎么都不對(duì)。后來(lái)才發(fā)現(xiàn)地址要或上 0x80 才是完整的命令字節(jié)。DS1302 的 RAM 寄存器地址 0xC0 到 0xFD可以當(dāng)普通存儲(chǔ)器用掉電不丟數(shù)據(jù)有電池的情況下。我有時(shí)候會(huì)拿它存一些配置參數(shù)比如觸發(fā)時(shí)間、設(shè)備編號(hào)之類的省得外掛 EEPROM。不過 RAM 容量只有 31 字節(jié)存不了太多東西。最后說一個(gè)調(diào)試技巧如果你手頭沒有示波器可以用 LED 來(lái)粗略判斷時(shí)序。在ds1302_write_byte里每發(fā)一位就翻轉(zhuǎn)一次 LED如果 LED 閃爍頻率均勻說明時(shí)序在跑如果 LED 常亮或者常滅說明程序卡在某個(gè)循環(huán)里了。這個(gè)方法雖然土但應(yīng)急的時(shí)候挺好用。這個(gè) DS1302 的驅(qū)動(dòng)我從第一次調(diào)通到現(xiàn)在已經(jīng)在好幾個(gè)小項(xiàng)目里復(fù)用了每次都是復(fù)制粘貼改引腳十分鐘搞定。雖然芯片老但勝在便宜、好買、資料多對(duì)于精度要求不高的場(chǎng)景完全夠用。如果你也在用這顆芯片希望這篇筆記能幫你少走點(diǎn)彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97视频免费| 欧美高清无码免费视频高清版| 青娱乐久久艹| 亚洲诱惑天堂| 国产女性无套 免费观看| 日韩亚洲97| 亚洲色图91欧美日韩| 一区二区三| 99在线精品视频| 亚欧美综合网| 夜夜嗨老熟女AV一区二区三区| 99久久e免费热视| 色拍偷亚洲| 久久婷婷亚洲| 被男人吃奶很爽的毛片| 国产精品久久泡妞网站| 日韩精品人妻中文字有码在线| 久久首页| 天天操天天日青青草超碰av| 欧美第38页| 国产二区三区免费视频| 中文字幕蜜乳av| 伊人一区二区三区| 综合色啪| 日本日逼高清| 蜜臀久久99精品久久久久| 亚洲人精品久久久喷水| 亚热日本熟女| 午夜精品久久久久久久男人的天堂| 亚洲情欲| 国产精品白领在线观看| 国产97在线播放| 在线啊啊啊啊| 极品丝袜无码| 婷婷操逼| 99精品在线播放| 精品中文字幕第一页| 国产精品噜噜噜日日日| 91美女在线视频| 日韩女模中文造逼| av网站免费看| 日本精品五区| 欧美成人性活片| 久久久久久久九九九九| 亚洲熟妇AV日韩熟妇在线| 亚洲自拍欧美色综合| 99热精品在线观看| 激情小说五月天| 2018色综合天天操| 蜜臀AV网站| 黄片免费视频2019| 色哟哟511老熟女| 色综合天天| 一区二区三区探花在线观看| 亚洲色图尤物视频| 欧美性xxxxx狂欢| 伊人嫩草| 国产成人五月天丁香花| 性爱视频啪啪啪啪| 一区二区三区精品视频| 久久大香蕉手机高清| 久久久久一本一区二区青青蜜月| 可以看的av| 99在线无码精品秘 入口黑人| 天天肏天天干| 思思热免费在线视频| 激情综合网五月婷婷五月天| 精品国产人成在线| 91网站18在线观看| 啊啊啊啊免费视频| 少妇天堂| 国产久久免费精品视频| 国产精品久久久鸭无码的功能| 欧美性巨大╳╳╳╳╳高跟鞋| 国产熟女完整版中字| 顶级丝袜熟女一区二区三区| 亚洲AV无码天美传媒一区| 丰满人妻一区二区三区免费,| 亚州精品一区二区三区香中文字幕在线| 爱逼综合| 免费中文综合精品| 成人羞羞视频国产| 亚洲九区| 亚洲国内精品成人不卡| 精品久久久av无码免费| 999久久久精品国产| 国产91精品久久久久久久网曝门| 欧美制服另类丝袜| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 另类小说五月天| 夜夜国产一区| 在线αⅴ| 亚洲日韩视频二区| 中文字幕一区av| 亚洲情色婷婷五月天| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 五十路三级片| 人妻久热在线| 国产午夜精品一区二区三区牛牛| 伊人在线大香蕉二。| 中文字幕免费看| 91天天综合在线| 国产日韩怡红院| 高清成年美女黄网站免费大全| 日本韩欧美在线播放a| 国产丝袜美腿美女麻豆| 男女性无套 免费九一| 久久婷婷五月天| 操淫穴亚洲五月丁香| 操逼操逼操| 激情五月婷婷综合| 大香蕉欧美国产日韩高潮| 国产精品久久蜜乳av| 亚洲午夜福利在线影院| 麻豆黄站| 男女一级A片大黄,一进一出| 嗯嗯嗯啊啊在线观看| 国产精品无码在线| 精吧天堂| 乱伦图av| 亚拍在线| 国产一区二区三区影片| 上床啊啊啊| 色999五月色| 骚熟女AV网| 国产精品亚洲色婷婷久久久| 夜夜一区二区| 极品销魂美女一区二区| 97久久超碰国产网站| 国产无马在线| 色婷婷婷五月天激情四射| 亚洲本色精品一区二区久久| 久9久精品视频| 2018天天日天天日| 传媒免费一区二区三区| 蜜臀久久99精品久久久久久无删减| 激情五月天丁香社区| 国产精品久久久久久久久久二区三区| 草莓精品视频在线免费观看| 麻豆人妻偷人精品无码视频| 静品嫩模一区二区| 人妻丝袜一区二区三区在线| 一本道综合色图| 校园春色 欧美| 综合网欧| 久久AV无码网址| 超碰1024久久| 国产不卡免费在线视频| 日韩精品午夜操呦呦不卡影院| 岛国片在线观看视频亚洲| 欧美成97爱| 日本免费不卡二区| 亚洲h片在线免费观看| 欲色啪| 欧美日韩国产色图在线| 精品免费一区| 欧美亚洲宗合色性图| 日韩激情啪啪| 大学生美女口爆| 亚洲情色在线| 久久婷婷一区二| 黑人狂躁日本妞一区二区三区| 亚洲综合影片| 色区久久| 精品国产一区二区三区四区在线看| 亚洲日韩乱码中文无码蜜桃臀网站| 中文字幕aⅴ在线视频| 亚洲少妇在线观看| 色香网| 美女人妻色网站| 精品中文字幕第一页| 成人性交午夜免费片| 婷婷激情一区二区三区俺也去| 国产亚洲精品久久久久小| 久超超碰| 亚洲中文字幕噜噜噜久久久| 欧美精品1区2区3区| 天天澡天天爽日日AV| 日韩国产品视频中文字| 五月婷婷丁香中文字幕| 亚洲?V无码专区在线电影| 欧美—性—交—色| 伊人96在线| 九九九综合精品| 美國A片| 国产色产精品在线观看| 人人妻人人澡人人爽久久av| 久久国产精品视频| 亚洲性猛| 久久视频少妇美女| 国产熟妇一区二区| 狠狠爱夜夜| 国产白丝网站| 欧洲久久一二线| 嗯啊不要在线观看嗯啊| 日本性交操一区二区不卡系列| a级成人毛片免费视频高清| 国产三级资源在线观看| 成年人三级黄色片视频| 国产三区免费在线观看| 深爱激情五月天| 狠狠色婷婷777| 蜜色网色哟哟| 992这里有精品| 久久9精品网站| 国产日韩区| 中文字幕精品人妻丝袜| 欧天美中出| 久热色情精品| 伦在线97| 9丨久久九九九| 久久久一二三四区| 东北女人高潮视频| 91黄站| 一区二区三区视频| 99久久精品无码一区二区毛片免费 | 亚洲美乱| 亚洲 欧美 中文 日韩超碰| 久久久人体| 色情亚洲日本成人| 午夜九九| 亚洲无码色| 920日本午夜免费| 在线综合 亚洲 欧美中文字幕 | 亚洲色系另类精品国产| 操逼逼一区视频| 在线国产福利网址导航| 丁香六月婷婷| 久久久禁| 99精品热| 欧美区亚洲区偷拍区| 97av在线观看| 五月婷婷综合在线| 上床啊啊啊| 强奸乱伦大香蕉网| 成人无遮挡毛片免费看| 婷婷AV一区二区三区| 99这里只有精品| 国内一级精品| 国产又色又粗又黄又爽| 精品小视频在线| 91色婷婷综合久久中文字幕二区| 情色五月天就去干| 国产精品4p在线观看| 日本久久999| 成人夜夜爽| 不卡啪啪视频| 人妻丝袜一区二区三区在线| 久久久久99999| 亚洲欧洲自拍图片专区满春格| 日日躁夜夜躁狠狠躁超爽| 岛国激情视频在线观看| 九色97| 高清无码学生妹高潮| 亚洲欧洲日韩国产自在线| 综精品久久久aaaa| 91九色丨风韵犹存| 久都青青视频 | 亚洲人妻中文高清| 国产熟女精品区| 伦伦成年午夜免费视频| 欧美体内射精| 亚欧韩av| 一起草高清无码| 嗯嗯啊啊用力视频免费| 熟女丰满人妻一区| 超碰97久| 全球成人中文在线| 青青草国产一区二区三区| 国产色精品午夜大片| …中文字幕亚洲乱,97人妻无码费视…| 亚洲欧美黄| 超碰色中文| 久久侵犯人妻爽爽爽| 久久亚洲骚逼综合| 蜜桃成人1区2区3区| 亚欧成人综合影院| 中文字幕人成乱码熟女香港| 性欧美第一页| 91操人| 久久草在线综合视频| 色欲天天婬色婬香WWW夜色| 人人摸人人入| 视频二区美腿丝袜制服人妻欧美| 蜜臀亚洲中文| 全免费a敌肛交毛片免费| 九九九999久久久网站| 高树玛利亚无码流出| 国产精品午夜高潮呻吟久久av| 大香蕉色欲AV| 黄色乱论网站| 色色婷婷丁香| 太久视频| 99国产在线 精品 视频| 免费国产视频| 伊人宅男大香蕉| 国产乱人妻精品入口| 欧美在线官网| 夜夜嗨一区二区| 国产av美女被艹的乱叫| 老熟女乱伦片| 97超碰精品| 99色热| Aa东京男人的天堂| 精品人妻一区二区三区视频| 国产不卡精品91| 亚洲精品丝袜-不卡成人免费……| 欧美亚洲中文字幕| 日韩欧美中文日韩欧美色| 操一对老熟妇爽上天视频| 欧美最婬乱婬爆婬性视频 | 成人三级片无码| 伊香蕉综合久久久久久久噜噜噜 | 麻豆a'v电影| 精品性爱| 久久婷婷成人综合色怡春院| 五月激情影院| 青青11操操操操操操操操| 亚洲天堂久久| 亚洲男人的天堂一区二区| 中文伊人大香蕉视频| 泰国AV在线观看| 青青草视频爽一爽| 欧美在线55555| 操逼国产免费| 久久av成人无码免费| 中文字幕 国产 精品 | 97伊人超碰| 无码人妻丰满热妇又大又粗| 亚洲人人操| 欧美第38页| 欧美日韩精品久久久久东北老熟妇| 熟女久久久| 亚洲成成熟女人综合一区二区| 欲色综合| 在线a v| 日韩一区二区精品视频| 操死我了嗯嗯嗯| 97干色| japan日本高清乱xxxx| 91逼逼女人91| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 欧美日韩性爱电影在线| 色欲蜜臀AV| www国产天美久久久| 偷看洗澡一二三区美女| 超碰诱惑| 久久久久国产亚洲一区欧美色图日韩 | 国产av强奸美女| 为用户提供免费看黄网址在线观看| 色九久| 欧美se综合| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 97干在线视频| 一个色导综合| av大香蕉| 久操免费电影| 日本中文字幕在线电影| 天天摸夜夜操视频| 免费一级性爱久久| AV老汉| 日韩簧片免费看| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 天天做天天爱| 午夜福利区| 日韩乱伦AⅤ| 色诱avtt| 精品一区二区综合熟妇| 久久偷偷色综合蜜桃| 亚洲色图欧美色图日韩色图| 99色婷婷中文字幕乱色| 中文字幕奈奈美被公侵犯| 久久爽爽精品| 丁香五月婷婷啪啪| 色哟哟 日韩精品| av在线一区二区三区| 婷婷五月天福利| 视频二区熟女人妻| 乱子伦一区二区三区国产精品| 在线岛国新天堂8| 欧美日韩人妻婷婷一区| 啊啊啊com| 午夜一区| 亚洲 图片 欧美 色图| 人妻色偷色噜| 欧美日韩中文视频播放| 天天欧美欧美亚洲网| 国产精品美女久久久久AⅤ国产馆| ,国产乱人伦精品一区二区三区| 男女无套 免费网站| 亚洲第91页 | 日本性爱不卡视频| 97国产|免费| 69人妻精品丰满熟女区| 久久久夜夜嗨免费视频| 成人一级性爱| 久久久久久性爱免费视频| 爱妻综合网| 国产av高清版| 热九九精品| 婷婷中文网| 亚洲无码超碰免费| 亚洲综合首页| 日韩AV噜噜噜一区二区三区四区| 丁香六月婷| 操逼操逼视频操逼| 无码区蜜乳| 国产精品白丝| 欧美 亚洲| 中文区中文字幕免费看| 天综合网欧美| 亚洲日本激情| 99人妻碰碰碰久久久久禁片| 日韩中文字幕视频| 91久久久久久| 色五月激情AV在线| 男人的天堂网页| 秋霞免费无码视频日韩A片| 91老熟女老女人国产老太| 第一高清av中文字幕| 久操 高清| 色情乱伦AV| 欧美日韩性爱操大逼| 国产激情综合| 97超碰中文在线| 美国aaaaa一级黄片| 久操操| 青青草大香蕉视频| 美国三级日本三级久久99| 亚州熟女乱伦| 五月婷婷六月丁香| 精品大全99999| 欧美色图电影| 日本男人插女人的逼黄色| 亚洲黄色AV电影| 99自拍视频在线| 久久久久久久97| 久久av一级av少妇av高潮| 亚州综合图片| 中文字幕在线观看丝袜| 91狠狠综| 免费夜夜爱黄色视频毛片| 久久久久人妻| 亚洲天堂另类小说男人| 欧美性五月| 亚洲丝袜诱惑| 综合操逼| 亚洲少妇诱惑| 亚洲黄色| 国语av最新自产拍在线观看| 欧美一区二区情色| 欧美日综合| 艹精品| 亚洲国成人情色好看电影| 深爱伊人影院| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲黑丝在线| a人欧美综合天堂麻豆| 精品91日日夜夜超清资源| 国产网站在线播放| 亚洲免费日韩在线一区二区| 久久99九九九九6666免费观看软件| 操啊国产| 日韩天堂av电影在线观看| 97色欧洲| 国产999精品久久久久久| 色综合 加勒比| 91小视频| 97手机日韩| 免费99精品国产自在在线| 婷婷色香伊人| 亚洲色图日韩精品| 激情久久久| 国产免费一区2区3区| 大香蕉啪啪啪啪在线| 国产av又色又爽又黄| 久久69| 五月丁香黄色网| 天天舔天天 | 久久精品国产Aⅴ| 99999久久精| 男人的天堂2019| 日韩在线电影| 熟女欧美日韩综合婷婷| 亚洲中文字幕在现观看| 天天看综合网| 少妇色| 国产精品天干天干综合网麻豆 | 久久久久ab| 久久久久久久伊人精品| 欧美精品欧美精品系列 | 天天看,天天做| 欧美人妻制服| 好屌色综合| 色综合久久888| 国产精品人妻一区二区| 果冻传媒A片一二三区| 伊人97超碰| 欧美日韩第一页| 久久超碰国产一区二区三区| 色综合超碰超| 女一区二区| 婷婷五月天激情四射| 欧美色性爱| 四虎免费在线观看| 丝袜色综合| 超碰夫妻97| 91是天天| 亚洲 图片 综合91| 国产激情久久久| 91成人精品在线播放| 欧美激情视频在线一区| 2017天天拍大香蕉| 欧美线天码中字| 欧美亚洲首页| 中文字幕丝袜人妻| 人人操人人操人人操人人操人人操人人人11.CM| 久久久草草精品| 天天日老熟妇| 日韩偷拍色图| 欧美亚洲AN| 国产AV人人夜夜澡人人爽麻豆| 日本三级A片网站com| 色综合99999| 久操凹凸视频| 青娱乐 成人娱乐在线| 国产捆绑一区| 成人热久久精品| 国产精品99久久久www| 97就爱干| 欧亚在线视频| 熟女欧美日韩综合婷婷| 嗯嗯,啊啊,国产精品| 日韩无码嘿咻黑热久| 熟女人妻久久中文字幕一二区| 乱伦1色页| 最新国产亚洲精品精品国产亚洲综合| 日韩兔费看黄片| 玖玖爱在线视频免费观看| 香港澳门日本三级网站| 成人无码在线视频网站| 亚洲AV无码国产精品久久久久| 久久riav中文精品| www.99在线| 久久欧洲| 96超碰网| 欧美性生活免费网| 婷婷五月天激情网| 97欧美精品综合| 亚洲欧洲激情| 日本东京热久久久电影| 浪人综合网| 无码人妻一区二区一牛影视| 欧美青青草视频| 91处女在线观看| 久久精视频美日韩在线视频| 吉田爱美AV在线| 日韩91网| 五月丁香社区婷婷日韩欧美精品影院 | 日韩中文字幕二区| 一级一性爱免费视频| 无码人妻毛片丰满熟妇精品区| 日韩欧美丝袜诱惑| a久久| 亚洲乱妇p22| 97爱爱影院| 欧美视频边做饭边橾| 天天操熟妇| 欧美一级久久久久久久大片动画| 国产精品 视频| 清纯唯美亚洲综合| 综合97| 强奸熟女一区二区三区| 天天干天天操天天操夜夜操天天操 | 无码直播久久久| 久偷拍欧美日韩三区| 浓厚中出中文字幕在线| 性夜影院爽黄A爽免费动漫| 性高潮久久久久久久久久久| 欧美小说区视频区| 目产99999久久999| 校园春色家庭伦理欧美激情| 日韩欧美大力操| 97爱b| 最新的亚洲无吗| 亚洲熟女少妇免费视频| 日本日皮视频逼| 色婷婷日韩精品一区二区三区| 永久免费av无码网站国产app| 六九九九| 一本色道无码DVD中文字幕| 综合网~91综合网| 日韩人妻中文视频| 97这里有精品| 国产精品久久久蜜臀| 亚洲图片激情综合另类| 大干人妻| 超碰爽人妻熟女Av| 久久精品国产亚洲AV高级北京| 成人片视频| 色丁香五月婷婷| 久久欲| 久久久精选| 91亚洲影院综合| 亚洲AV秘 精品久久老牛影视| 精品9区| 激情自拍 校园春色| 成人性爱全视频观看| 久久69| 欧美91网| 日韩综合97P| 69综合网| 偷拍伦理视频| 性色综合网| 超碰97中文| 特级大荫道BBwBBwBBW| 亚洲 在线| 五月天婷婷综合网| 中文字幕在线免费观看2| A一区片| 日韩精品中文字幕一| 免费亚洲黄色视频在线观看| 韩日精品四区| 九九精品美女高溯喷水| 日韩在线视频1234| 91 刺激在线| 青青草女人天天干| 亚洲风情在线观看| 香蕉免费一区二区三区不读| 日韩毛片9| 水澄无码AV| 肉动漫无遮挡h在线观看| avav青青草久久夜| 日韩干B| 东京男人天堂| 久久这里只精品| 精品一区二区2| 亚洲成人在线乱码色午夜| 全国男人天堂网| 2017天天插| 强奸抽插av| 一起草日韩| 亚洲经典啪啪| 嗯嗯嗯啊啊啊操的我好爽| 蜜桃色院一区久久| 97爱啪| 国产强奸乱伦第1页| 蜜臀无码视频在线观看| 十八岁啪啪视频免费看| 国产做?爰片久久毛片?片美国| 免费的黄片有限公司| 中文字幕亚洲永久精品| 啊视频在线| 神马午夜久久久| 97在线/亚洲| 国产真乱mangent| 亚洲国产日韩欧美熟妇在线| 久久国产精品一级二级三级| 吉川爱美亚洲二区在线 | 亚洲国产成人精品久久久国产成人一区二区三. | 九九九九日本 | 四虎在线视频| 一区| 激情综合av| 亚洲综合色男人网| 欧美后进式| 亚洲综合另类| 熟女一区二区| 香蕉黄色一级视频| 91天天c| 一区二区中文| 天堂种子在线www网资源| 91狠婷| 99热线麻豆| 熟女网站最新| 粉嫩av平台| 亚洲情色一区综合| 嗯啊啊啊轻点视频| 啪一啪免费视频| 色黄色美女大长腿午夜视频| 色色色日本| 香蕉视频欧美一卡二卡| 人妻精品视频一区二区三区| 亚洲高清无毛一区二区| 一区二区三区黄片免费观看| 婷婷探花久久精品一区| 日韩精品-原创伙伴| 国产乱伦性爱AV| 日韩精品午夜操呦呦不卡影院| 蜜臀一区二区三区在线 | 91老熟女逼| 欧美高清第一页| 歐美一級亂黃99在綫精品| 韩三级a视频在线观看 | 国产辣妈在线视频福利| 天堂国产AV| 333kkkk·亚洲com久久| 99最新日韩偷拍视频| 激情综合婷婷| 蜜乳av首页| 色九九九综合| 国产精品久久久鸭无码的功能| 九九九久千久久激情蜜桃在线看 | 天天看高清麻豆| 国产在线精品偷| 亚洲影院365| 色五月激情AV在线| 久久久久久久久久久97| 探花在线免费观看视频国产一区| 91色夜| 98精品国产乱码久久久久久| 香蕉综合网| 免费观看国产小粉嫩喷水精品午| 久久精品国产97欧美精品亚洲 | 日韩免费性爱视频在线观看| 少妇高潮流水av免费| 一二三区视频在线观看| 新视频sss国产| 啪啪91| 91日韩在线| 岛国在线一区二区三区| 天天日天天操天天射河南省| 加勒比无码毛片| 人妻少妇色综合| AV色天香在线| 五月天色综合| 国产女人91精品嗷嗷嗷嗷| 奇米四色网| 九九九九国产| 亚洲欧美清纯| 久9综合在线| 99re在线精品78| 最新av在线| 秋霞午夜视频一区二区| 日韩中文字幕人妻视频| 国产特级毛片AAAAAA高潮流水 | 91天天综合日韩欧美| 中文字幕精品专区搜索结果91| 91N五十路| 免费观看欧美日韩操逼视频| 强奸xx国产| aⅴ日韩成人电影av在线免费看av大全| 校园春色 男人天堂 | 婷婷六月色| 日本一本道A级黄色毛片试看60分钟| 毛片久久| 婷婷超| 91情色| 国产深喉视频一区二区| 搡老女人老熟女91老熟女综合网| 97超碰伊人| 偷窥自拍亚洲| 欧美亚洲今日在线| 2017大香蕉| 欧州一区二区三区四区| 秋霞一级A片黄色视频| 69少妇一区二区| 强奸乱伦大香蕉网| 五月天婷婷基地| 玖玖综合.com| 久久綜合很很很| 中文字幕诱惑制服人妻丝袜美丝袜美| 超碰色中文| 97bbn| 欧美啪啪啪91| 国产捆绑一区| av网页一区二区三区| 性爱乱伦一区| 国产欧美伊人| 精品美女少妇一区二区三区| 91美女高潮| 亚洲综合在线第一页| 日韩免费福利在线观看| 97频视在线| 九热超碰| 97爱| 日本一区二区三区四区免费观看| 精品一二三区久久AAA片| 99久热| 欧美天堂日韩三级国产传媒| 国产精品国产| 中文字幕后石码四区五区| 吖在线不卡一区二区国产剧情| 综合欧美激情网| 一区二区三区在线资源| 一区二区视频你懂的| 欧美在线电影| 日本东京热加勒比久久| 伊人久久88国产女| www. 男人天堂成人在线| 老熟女综合| 亚洲成?V人片在线观看福利| 91爱综合| 亚洲双插| a一区二区三区乱码在线| 大香蕉手机视频| 黑人精品久久97| 天天综合97| 国产AV高清AV无码| 天天天乱色综合全| 女人久久久| 中文字幕精品区先锋资源| 久久亚洲天天做| 成人性交免费视频| 日韩成人性爱电影在线播放| 亚洲综合113页| 91色插| 这里都是精品在线观看| 久操网在线| 插入逼91| 亚洲中文字幕噜噜噜久久久| 男人天堂无码| 脫衣舞一区二区三区| 日韩欧美亚洲国产日韩| 我要色综合网站| 久久久无码av精| 福利天堂| 日韩欧美大力操| 亚洲国产一级中文综合久久天堂在线免费观看 | 欧美一级A一级a爱片久久| 丰满人妻一区二区三区四区| 日韩pv中文| 欧美日韩精品青青| 日韩欧美国产一区二区三区四区| 久草精品热视| 久久久久国产精品久久久| 婷婷综合网| 亚洲第一视频 欧美风情 日韩| 探花一区二区三| 亚洲三级网址久久最新| 欧美性xxxxx狂欢| 素人播放一区| 蜜臀久久99精品久久久久久婷婷 | 久久久久久久久久久97| 啪啪综合网| 97蜜桃综合| 国产高清自拍视频| 在线人妻熟女一区二区三区四区五区| 色综合1991| 久久久成人国产精品无码| 中国大陆国产高清AⅤ毛片| 吉田爱美AV在线| 久久黄片国产一区二区| 日韩人妻无码精品系列| 成人无码电影在线观看网| 大香蕉在线视频重口味毛片在线| 麻豆国产精品午夜视频| 青青操少妇| 欧美精品成人在线播放| 啊啊啊啊啊啊啊啊啊在线观看| 国产高清无码一区三区二区| 加勒比人妻综合| 国产激情av女片自拍| 一二三四区电影| 五月激情影院| 午夜男女爽爽大片免费观看| 亚洲免费日韩在线一区二区| 久操网无码在线| 91热色| 性吧在线视频| 操啊国产| 亚洲综合校园春色| 五月丁香六月婷综合成人综合| 99rre在线精品99re8| 殴美,日韩国产伦精品| 边做饭边操逼逼| 97精品久久久久中文字幕| 欧美精品日韩一区二区| 精品视频在线观看| 日影院久久婷婷夜夜网| 久9视频| 国产肏逼网站| com 首页 18岁 禁区 女优 免费 精选 同城 | 99热日| 中文字幕在线免费观看视频| 上特色A在线| 久久久久亚洲精品| 午夜男女爽爽爽在线视频| 大香蕉草草| AV高清一区| 亚洲成av人片色午夜乱码| 亚洲欧美另类激情小说| AV色五月| 精品射1999| 国产做?爰片久久毛片?片美国| 熟妇色99| 日韩无码久久熟女一级片| 亚洲午夜免费狠狠干| 欧美精品99久久久**| 好吊色综合| 99re在线精品78| 啊好大好舒服| 操逼网站地址| 国产av强奸美女| 欧美超碰在线| 国产后入式在线观看| 偷拍超碰| 91爱综合| 久久激情五月| 日本免费中文字幕在线| 天天日天天干天天操| 性欧美| 高清肉丝中文无码| 亚洲 中文 女同| 丁香婷婷久久| 国模无码一区二区三区在线| 乱伦一二三区| av亚欧| 九九九九精品精| 97在线亚洲| 岛国色情视频在线观看| 大香蕉伊人75| 后入式999| 九一综合网| 97久久久精品| 欧美精品在线观看| 成人资源中文字幕在线观看天天| 亚洲欧洲综合av在线| 一起草三级AV电影在线观看 | 亚洲男人天堂Av| 操逼网站地址| 人人干人人搞人人摸| 26uuu性| 国产视频一区二区三区在线免费观看| 精品国产a∨一区天美传媒| 中文在线视频| 91精品免费| 99精品高潮| 欧洲精品人妻| AV99热18这里只有精品| 欧美日韩国产电影| 亚洲欧洲无码97久久精品| 亚洲综合在线高清| 亚洲瓯美色图| 精品视频专区| 大香蕉男人的天堂| 亚洲成人色情五月天丁香花| 九九成人精品| 亚洲色图美腿丝袜| 欧美97视频| 大香蕉琪琪日本女优不卡| 欧美91网站| 在线观看 99热| 欧美综合自拍亚洲综合图| 后入日本1234| 国产激情在线| 天天做天天爱| 国产亚洲色婷婷久久99精品91 - 百度| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 神马福利久草| 91 国产丝袜在线放观看| 蜜臀久久99精品久久久久久久久| 狠狠色丁香| 亚洲日本成人动漫| 欧美日韩国第一区| 色大师网站www永久网站视频| 青春草A| 国偷自 一区| 91欧美www| 超碰在线一区| 亚洲天天做日日做天天谢日日| 免费a级毛片av无码久久精品中文字幕| 人妻熟妇一区二区三区| 99久在线精品99re8蜜桃| 色噜噜国产精品视频一区二区| 成年人黄色| 波多野结衣被操50分钟免费视频| 精品人体无圣光凹凸| 亚洲一区二区性爱电影| 亚洲日韩一区电影| 黄总AV色图| 中文精品少妇天堂| 熟女人妻一区二区三区| 国产精品探花色| 一区二区三区欧美激情| 久久色激情一区二区三区| 北条麻妃性愛视频| 清纯唯美综合| 日韩簧片免费看| 久久婷色| 青娱乐大香蕉| 国产精品丝袜在线| 午夜.DJ高清在线观看免费7| 国产精品免费视频不卡| 第四色色综合91| com 首页 18岁 禁区 女优 免费 精选 同城 | 强奸乱亚洲| 天天日日舔舔| 天天干1区2区在线| 91春色| 精品亚洲国产成人AV制服丝袜 | 91少妇人妻| 日韩 欧美 另类 人妻| 97色冈| 快播电影网日韩新片| 国产精品久久久久久久电影渣男| 日本色色色色色视频| 97视频网站在线观看| 亚洲久草AV色图| 天天躁日日躁成人字幕aⅴ| 丁香六月啪啪| 97爱啪| 亚洲密乳AV| 91网站18在线观看| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 中文字幕蜜乳av| 日韩卡一卡二卡三在线| 久久国色天香香蕉| 91无码人妻精品一区二区三区蜜桃| 欧美日韩插逼视频| 五月天婷婷综合网| 久久久成人免费av电影| 亚洲图片日本AⅤ欧美在线| 日本三级久| 极品出轨视频网站| 人妻丰满熟妇一区二区三| 亚洲色图久久成人| 春色91| 免费看日产一区二区三区| 目产99999久久999| 精品久久无码午夜福利| 韩国女主播青草福利视频| 一区二区视频在看| 中日高清无码操逼视频| 欧洲精品欧洲精品| 最新岛国大片| 国产精品欧美激在线| 香港澳门日本三级网站| 人妻天天夜夜爽一区二区| 国产精品伦理| 久热大香蕉| 青青草色AV| 九九久久精品| a啊啊啊啊啊啊啊啊一区二区| 一级片在线观看高清无码| 裸模AV女优| 天堂69亚洲精品中文字| 亚洲一二三四区机械| 日韩偷拍一区二区三区| 97亚洲资源| 亚瑟国产精品久久无码| 国产乱弄免费在线视频。| 中文字幕精品一区二| 97爱爱影院| 91人妻精华帖| 色综合20p| AV免费在线播放一区| 91 国产丝袜在线播放-百度| 亚洲精品a人片在线观看视| 死我十八禁| wwwss在线观看| 草草草草视频| 超碰久久中文| 日韩欧美大片免费高清啪啪| 色婷婷蜜臀av| 啪啪AV导航| 天天性射网| 人人操AV| 免费人成毛片乱码| 97超碰亚洲| 亚洲制服欧美另类内射| 清纯唯美综合| 97 亚洲 日韩 欧美 在线| 国产黄色在线播放观看| 精品人妻一区春色| www.人人cao| 九九九免费视频| 加勒比日本在线| 男人的天堂一区三区| 久久久夜夜夜| 亚洲成人精品久久久| 一级特级aaaa毛片免费观看| 天天躁日日躁狠狠狠躁| 亚洲欧美天堂在线| 国产精品视频一区二区三区八戒| 大香蕉伊然在亚洲91| 婷婷丁香五月综合| 久久国产AⅤ| 懂色av中文字幕一区二区三区天美| 国产精品秘 福利姬在线观看| 欧洲视频在线| 91偷拍欧美亚洲| 在线观看精品国产免费| 麻豆精品一区二区三区四区免费观看| 91色艳| 亚洲成?V人片在线观看福利| 国产精品久久久久久久久久久久久久| 精品一区二区啪啪啪| 无码精品久久久天天影视| 午夜传煤十二区精品| 精品小视频在线| 激情五月婷婷| 午夜爽爽爽在线观看永久入口姬片| 亚洲黄色电影| 亚洲欧洲第二视频在线观看色图| 国产99 中文字幕日韩小视频| yiqicaoav| 九热超碰| 青青操少妇| 夜色五月天| 大香蕉免费乱伦视频| 国产精品国产亚洲区艳妇糸列| 91色综| 素颜老阿姨乱情色| 资源在线观一 二| 亚洲国产一级精品毛一级精品看免费视频| 啊啊啊啊啊操我视频| 亚洲无码?第一页| 三男一女不戴套的A片| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 偷窥自拍A片| 午夜精品久久久久久久久久蜜桃| 国产97在线播放| 超碰98综合网| 熟妇艹鸡八| 国产精品久久发布| 男人天堂最新手机版在线青青草| 中文字幕老熟妇黄色视频| 国产精品岛国片在线观看| 操日韩第| 先锋影音av先锋一区| 丁香七月婷婷| 天天日天天看| 密臀在线视频| 97操碰| 亚洲影视第一页| 男人天堂网手机版婷婷| 欧美成人色| A啊啊在线观看| 60秒试看最爽10分钟网站| 少妇蜜汁| 亚洲精品819| 小泽玛利亚一二三| 人妻熟女午夜精品在线| 国产67194| 综合激情五月丁香| 国模精品一区二区三区苹果色戒| 激情网色| 人人看欧美性爱| 日韩A优精品在线观看| 18禁精品网站在线看| 日本三级一区二区 在线| 精品成人无码| 久久黄色性爱视频| 日日操丁香五月天| 欧美性爱www免费版| 日人妻视频91| HEYZO高无码国产精品227| 欧美精品自慰系列寂寞少妇 | 91美女看B| 加勒比五月天| 福利天天都操| 草久在线| 欧美天天综合网| av爱爱爱| 亚洲第一狼人丝袜美女另类 | 91美女在线视频| 午夜综合在线| 黑丝制服中文字幕| 加勒比aⅴ|