免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

51單片機(jī)核心原理與項(xiàng)目實(shí)戰(zhàn):從架構(gòu)解析到智能小車開發(fā)

51單片機(jī)核心原理與項(xiàng)目實(shí)戰(zhàn):從架構(gòu)解析到智能小車開發(fā) 1. 項(xiàng)目概述為什么51單片機(jī)依然是工程師的“老朋友”如果你在電子、自動化或者嵌入式開發(fā)領(lǐng)域待過一段時(shí)間哪怕只是剛?cè)腴T大概率都繞不開“51單片機(jī)”這個(gè)名字。它不像現(xiàn)在流行的ARM Cortex-M系列那樣性能強(qiáng)悍也不像ESP32那樣自帶Wi-Fi和藍(lán)牙但在我十多年的項(xiàng)目經(jīng)歷里它就像一位可靠的老朋友總是在一些基礎(chǔ)、穩(wěn)定、成本敏感的場景里默默發(fā)光。今天我們不聊那些高大上的新架構(gòu)就聊聊這位老朋友——51單片機(jī)它到底是什么為什么到今天還有如此旺盛的生命力以及我們?nèi)绾斡煤盟:唵蝸碚f51單片機(jī)是一個(gè)基于Intel 8051內(nèi)核的8位微控制器家族的統(tǒng)稱。它的核心設(shè)計(jì)誕生于上世紀(jì)80年代但憑借其極致的簡單性、成熟的生態(tài)和低廉的成本被全球無數(shù)半導(dǎo)體公司如STC、Atmel、NXP等生產(chǎn)了海量的兼容型號。當(dāng)你聽到“STC89C52”、“AT89S51”這些型號時(shí)它們都屬于51家族。它的核心價(jià)值在于用最低的學(xué)習(xí)成本和硬件成本讓你理解計(jì)算機(jī)最底層的運(yùn)作原理并實(shí)現(xiàn)從想法到物理世界的控制。無論是讓一個(gè)LED燈閃爍還是驅(qū)動一個(gè)小車底盤或是做一個(gè)溫濕度計(jì)51單片機(jī)都是絕佳的起點(diǎn)和可靠的量產(chǎn)選擇。2. 51單片機(jī)的核心架構(gòu)與工作原理解析要駕馭好這位老朋友不能只停留在“燒錄代碼讓它跑”的層面得先摸清它的“脾氣秉性”也就是其內(nèi)部架構(gòu)和工作原理。這對于后續(xù)的編程、調(diào)試和問題排查至關(guān)重要。2.1 經(jīng)典哈佛結(jié)構(gòu)與存儲空間51單片機(jī)采用經(jīng)典的哈佛結(jié)構(gòu)這意味著它的程序存儲器ROM和數(shù)據(jù)存儲器RAM在物理上是分開的有各自獨(dú)立的地址總線和數(shù)據(jù)總線。這與我們常用的PC馮·諾依曼結(jié)構(gòu)不同。這種設(shè)計(jì)的好處是指令讀取和數(shù)據(jù)訪問可以并行提高了執(zhí)行效率尤其適合簡單的控制任務(wù)。對于開發(fā)者而言這直接體現(xiàn)在存儲空間的劃分上程序存儲器ROM/Flash存放我們編寫的程序代碼和常量數(shù)據(jù)。比如STC89C52就有8KB的Flash。代碼在這里是“只讀”的上電后CPU從這里逐條讀取指令執(zhí)行。數(shù)據(jù)存儲器RAM用于存放程序運(yùn)行時(shí)的變量、堆棧等臨時(shí)數(shù)據(jù)。通常很小只有128字節(jié)或256字節(jié)。這就要求編程時(shí)必須精打細(xì)算避免定義大型數(shù)組或復(fù)雜數(shù)據(jù)結(jié)構(gòu)。特殊功能寄存器SFR這是51單片機(jī)編程的核心所在。它是一組映射在RAM高地址區(qū)80H-FFH的特定寄存器每一個(gè)都直接對應(yīng)著一個(gè)硬件功能模塊的控制開關(guān)、狀態(tài)標(biāo)志或數(shù)據(jù)緩沖區(qū)。例如P1寄存器控制著P1口8個(gè)引腳的電平TCON寄存器控制著定時(shí)器的啟停和標(biāo)志位。注意51的RAM資源非常緊張。我曾在一個(gè)需要處理多組傳感器數(shù)據(jù)的項(xiàng)目里因?yàn)槎x了幾個(gè)全局?jǐn)?shù)組很快就耗盡了128字節(jié)的RAM導(dǎo)致程序跑飛。解決方案是1) 盡量使用data/idata區(qū)的小內(nèi)存模式2) 大的查表數(shù)據(jù)放在code區(qū)ROM3) 謹(jǐn)慎使用遞歸和深度函數(shù)調(diào)用以免堆棧溢出。2.2 CPU時(shí)序、機(jī)器周期與指令集51單片機(jī)的CPU心臟是它的振蕩電路外接一個(gè)晶振比如經(jīng)典的11.0592MHz。CPU的所有動作都基于這個(gè)時(shí)鐘節(jié)拍。這里有個(gè)關(guān)鍵概念機(jī)器周期。在標(biāo)準(zhǔn)51架構(gòu)中1個(gè)機(jī)器周期 12個(gè)時(shí)鐘周期。大部分指令的執(zhí)行需要1個(gè)或2個(gè)機(jī)器周期。這意味著當(dāng)你使用12MHz晶振時(shí)一個(gè)機(jī)器周期是1微秒。一條單周期指令如NOP執(zhí)行時(shí)間就是1微秒。這個(gè)特性使得編寫精確的短延時(shí)函數(shù)變得非常簡單for(i0; i125; i) { _nop_(); }大約延時(shí)125微秒。同時(shí)這也決定了定時(shí)器、串口波特率等所有與時(shí)間相關(guān)功能的計(jì)算基礎(chǔ)。它的指令集是精簡的大約111條指令分為數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、控制轉(zhuǎn)移和位操作幾大類。其中位操作指令是51單片機(jī)的一大特色。它可以對RAM中可位尋址區(qū)20H-2FH和大部分SFR的每一個(gè)位進(jìn)行直接置1、清0、判斷等操作這使得對單個(gè)IO口引腳的控制變得極其高效和直觀比如LED 0;點(diǎn)亮LED這樣的語句背后就是一條位操作指令。2.3 核心外設(shè)單元淺析51單片機(jī)的功能通過其內(nèi)置的外設(shè)模塊實(shí)現(xiàn)理解它們是項(xiàng)目實(shí)戰(zhàn)的關(guān)鍵并行I/O口P0, P1, P2, P3這是單片機(jī)與外界溝通最直接的橋梁。每個(gè)口有8個(gè)引腳。需要特別注意P0口內(nèi)部沒有上拉電阻當(dāng)作為通用IO口輸出時(shí)需要外接上拉電阻才能輸出高電平否則是開漏狀態(tài)。而P1, P2, P3口則內(nèi)部有上拉。作為輸入口時(shí)必須先向端口鎖存器寫“1”使其處于高阻態(tài)才能正確讀取外部電平。定時(shí)器/計(jì)數(shù)器Timer51通常有2個(gè)16位定時(shí)器/計(jì)數(shù)器T0和T1。它們有兩種模式定時(shí)器模式對內(nèi)部機(jī)器周期脈沖計(jì)數(shù)用于產(chǎn)生精確時(shí)間間隔是實(shí)現(xiàn)延時(shí)、PWM、測量脈寬的基礎(chǔ)。計(jì)數(shù)器模式對外部引腳T0/P3.4, T1/P3.5的下降沿計(jì)數(shù)用于測量外部事件頻率。 通過設(shè)置相關(guān)的SFRTMOD,TCON,THx,TLx可以配置其工作方式和初始值。溢出時(shí)會產(chǎn)生中斷這是實(shí)現(xiàn)多任務(wù)時(shí)間片輪詢的基石。串行通信口UART這是51與電腦、其他單片機(jī)或模塊如藍(lán)牙、Wi-Fi通信的主要方式。通過SCON和PCON寄存器配置波特率、數(shù)據(jù)位、停止位等。波特率發(fā)生器通常由定時(shí)器T1工作在模式28位自動重載來產(chǎn)生這也是為什么在串口通信項(xiàng)目中晶振常選用11.0592MHz——因?yàn)樗梢苑浅>_地計(jì)算出標(biāo)準(zhǔn)的波特率如9600避免累積誤差導(dǎo)致通信失敗。中斷系統(tǒng)51單片機(jī)支持5個(gè)中斷源2個(gè)外部中斷INT0,INT12個(gè)定時(shí)器中斷TF0,TF11個(gè)串口中斷RI/TI。通過IE中斷使能和IP中斷優(yōu)先級寄存器進(jìn)行管理。中斷是單片機(jī)響應(yīng)外部緊急事件的核心機(jī)制比如按鍵按下、數(shù)據(jù)接收完成。3. 從零開始51單片機(jī)開發(fā)環(huán)境搭建與第一個(gè)項(xiàng)目理論懂了手會癢。接下來我們搭建一個(gè)最經(jīng)典、最通用的開發(fā)環(huán)境并完成一個(gè)“Hello World”級的硬件項(xiàng)目——LED閃爍。3.1 工具鏈選型與安裝對于51開發(fā)我強(qiáng)烈推薦“Keil C51 STC-ISP”的組合。這套組合拳經(jīng)歷了無數(shù)項(xiàng)目的考驗(yàn)穩(wěn)定且高效。集成開發(fā)環(huán)境IDEKeil μVision。它是ARM公司旗下的產(chǎn)品對C51的支持非常成熟。你需要安裝Keil C51版本注意不是MDK-ARM。安裝過程簡單主要是注意安裝路徑不要有中文。安裝后需要破解獲取License網(wǎng)上有詳細(xì)教程這里不展開。編譯器/鏈接器Keil C51 IDE自帶。它將我們寫的C代碼編譯成51單片機(jī)可以執(zhí)行的機(jī)器碼HEX文件。下載編程工具STC-ISP。這是深圳宏晶科技STC提供的免費(fèi)下載軟件因其界面友好、功能強(qiáng)大附帶串口助手、范例程序等已成為廣大51開發(fā)者即使不用STC芯片最常用的下載工具之一。它通過串口USB轉(zhuǎn)TTL給單片機(jī)燒錄程序。硬件連接你需要一個(gè)USB轉(zhuǎn)TTL串口模塊如CH340G、CP2102模塊用于連接電腦USB口和單片機(jī)的串口P3.0/RxD, P3.1/TxD。同時(shí)該模塊的VCC和GND為單片機(jī)供電。對于最小系統(tǒng)板還需連接復(fù)位電路和晶振電路。3.2 創(chuàng)建第一個(gè)工程LED閃爍假設(shè)我們使用STC89C52RC單片機(jī)連接一個(gè)LED到P1.0引腳負(fù)極接LED正極通過限流電阻接VCC。步驟一在Keil中新建工程打開KeilProject - New μVision Project...選擇好工程存放目錄和名稱。在彈出的設(shè)備選擇窗口中選擇STC如果你安裝了STC的器件包或Atmel下的AT89C52完全兼容。選擇器件主要是為了初始化啟動文件對代碼影響不大。當(dāng)詢問“Copy Standard 8051 Startup Code to Project Folder?”時(shí)選擇“是”。這個(gè)啟動文件STARTUP.A51負(fù)責(zé)初始化內(nèi)存和堆棧指針。步驟二編寫主程序在工程中新建一個(gè)main.c文件。輸入以下代碼#include REG52.H // 包含51單片機(jī)特殊功能寄存器定義的頭文件 #include INTRINS.H // 包含_nop_()延時(shí)函數(shù) sbit LED P1^0; // 將P1.0引腳定義為LED // 簡單延時(shí)函數(shù)大約延時(shí)ms毫秒基于12MHz晶振的粗略計(jì)算 void DelayMs(unsigned int ms) { unsigned int i, j; for(i0; ims; i) for(j0; j123; j); // 這個(gè)循環(huán)次數(shù)需要根據(jù)實(shí)際晶振校準(zhǔn) } void main() { // 主函數(shù)程序入口 while(1) { // 無限循環(huán) LED 0; // P1.0輸出低電平LED點(diǎn)亮假設(shè)共陽接法 DelayMs(500); // 延時(shí)500ms LED 1; // P1.0輸出高電平LED熄滅 DelayMs(500); // 延時(shí)500ms } }這段代碼做了幾件事包含必要的頭文件用sbit關(guān)鍵字進(jìn)行位定義這是51特有的非常方便寫了一個(gè)基于循環(huán)的粗略延時(shí)函數(shù)在主循環(huán)中不斷翻轉(zhuǎn)LED的狀態(tài)。步驟三配置與編譯點(diǎn)擊工具欄的Options for Target魔術(shù)棒圖標(biāo)。在Output選項(xiàng)卡勾選Create HEX File。HEX文件是最終要燒錄到單片機(jī)里的機(jī)器碼文件。點(diǎn)擊BuildF7編譯。如果下方Build Output窗口顯示“0 Error(s), 0 Warning(s)”并生成了.hex文件說明成功。步驟四硬件連接與程序下載按照原理圖將USB轉(zhuǎn)TTL模塊的TXD接單片機(jī)RXDP3.0RXD接單片機(jī)TXDP3.1GND接GNDVCC接VCC注意電壓通常是5V。打開STC-ISP軟件。步驟1選擇單片機(jī)型號如STC89C52RC。步驟2選擇正確的串口號在電腦設(shè)備管理器中查看。步驟3點(diǎn)擊“打開程序文件”選擇剛才Keil生成的.hex文件。步驟4點(diǎn)擊“下載/編程”按鈕。最關(guān)鍵的一步給單片機(jī)關(guān)電再上電冷啟動。STC單片機(jī)下載需要冷啟動握手。此時(shí)STC-ISP會顯示“正在檢測目標(biāo)單片機(jī)...”然后開始擦除、編程、校驗(yàn)。成功后你就能看到板載的LED開始閃爍了實(shí)操心得第一次下載失敗十有八九是串口線接反了TXD與RXD要對調(diào)或冷啟動時(shí)機(jī)不對。多試兩次這是每個(gè)51玩家的必經(jīng)之路。另外DelayMs函數(shù)是非常不精確的延時(shí)因?yàn)樗鼤恢袛啻驍嗲沂芫幾g器優(yōu)化影響。在需要精確定時(shí)的場合必須使用定時(shí)器中斷。4. 核心外設(shè)項(xiàng)目實(shí)戰(zhàn)與代碼剖析掌握了基本操作我們來攻克幾個(gè)標(biāo)志性的項(xiàng)目深入理解定時(shí)器、中斷、PWM和串口這些核心外設(shè)。4.1 項(xiàng)目一基于定時(shí)器中斷的精準(zhǔn)流水燈使用循環(huán)延時(shí)做流水燈燈會“卡頓”因?yàn)镃PU被延時(shí)函數(shù)獨(dú)占。用定時(shí)器中斷則可以解放CPU實(shí)現(xiàn)“后臺”定時(shí)前臺處理其他任務(wù)。核心思路配置定時(shí)器T0每10ms產(chǎn)生一次中斷。在中斷服務(wù)程序中用一個(gè)計(jì)數(shù)器累加每計(jì)滿100次即1秒就改變一次LED的顯示模式。#include REG52.H #define LED_PORT P1 // 假設(shè)8個(gè)LED接在P1口 unsigned int T0_Count 0; // 中斷次數(shù)計(jì)數(shù)器 unsigned char LED_Mode 0x01; // LED模式初始值0x010000 0001B void Timer0_Init() { TMOD 0xF0; // 低四位清零不影響T1的設(shè)置 TMOD | 0x01; // 設(shè)置T0為工作方式116位定時(shí)器 TH0 0xD8; // 裝入初值定時(shí)10ms (65536 - 10000) / 256 TL0 0xF0; // (65536 - 10000) % 256 ET0 1; // 允許T0中斷 EA 1; // 開啟總中斷 TR0 1; // 啟動T0 } void main() { Timer0_Init(); LED_PORT ~LED_Mode; // 初始狀態(tài)低電平點(diǎn)亮取反 while(1) { // 主循環(huán)可以在這里做其他事情比如按鍵掃描 // 流水燈的效果完全由中斷服務(wù)函數(shù)控制不會阻塞這里 } } // 定時(shí)器0中斷服務(wù)函數(shù) void Timer0_ISR() interrupt 1 { // interrupt 1 對應(yīng)T0中斷 TH0 0xD8; // 重新裝載初值方式1需手動重裝 TL0 0xF0; T0_Count; if(T0_Count 100) { // 1秒到 T0_Count 0; LED_Mode _crol_(LED_Mode, 1); // 循環(huán)左移一位使用 intrins.h 中的函數(shù) LED_PORT ~LED_Mode; // 更新LED顯示 } }代碼解析TMOD寄存器用于設(shè)置定時(shí)器工作方式。0x01表示T0為16位定時(shí)器模式。初值計(jì)算目標(biāo)定時(shí)10ms。機(jī)器周期12/11.0592MHz≈1.085us。需計(jì)次數(shù)10ms/1.085us≈9216。對于16位定時(shí)器最大值65535初值65536-921656320轉(zhuǎn)換為十六進(jìn)制即0xDC00。所以TH00xDCTL00x00。示例中用了近似值。中斷函數(shù)interrupt 1是編譯器關(guān)鍵字表示這是T0的中斷服務(wù)程序。編譯器會自動進(jìn)行現(xiàn)場保護(hù)壓棧和恢復(fù)。_crol_()循環(huán)左移函數(shù)需要包含INTRINS.H。它讓流水燈效果更簡潔。4.2 項(xiàng)目二利用定時(shí)器生成PWM控制電機(jī)速度PWM脈沖寬度調(diào)制是通過調(diào)節(jié)一個(gè)周期內(nèi)高電平所占的比例占空比來模擬不同電壓/功率的技術(shù)廣泛應(yīng)用于電機(jī)調(diào)速、LED調(diào)光。核心思路固定PWM周期例如10ms使用一個(gè)定時(shí)器中斷來維護(hù)周期計(jì)時(shí)。在中斷中根據(jù)設(shè)定的“高電平時(shí)間”即占空比來翻轉(zhuǎn)IO口電平。#include REG52.H sbit PWM_OUT P2^1; // PWM輸出引腳接電機(jī)驅(qū)動信號 unsigned int High_Time 3000; // 高電平時(shí)間單位微秒(us) 占空比 3000/10000 30% unsigned int Low_Time 7000; // 低電平時(shí)間 unsigned int Timer_Count 0; // 定時(shí)器微秒計(jì)數(shù)器 void Timer1_Init() { // 使用T1做1us精確定時(shí) TMOD 0x0F; // 高四位清零不影響T0 TMOD | 0x10; // 設(shè)置T1為方式116位定時(shí)器 TH1 (65536 - (11059200/12/1000000)) / 256; // 1us中斷一次晶振11.0592MHz TL1 (65536 - (11059200/12/1000000)) % 256; ET1 1; EA 1; TR1 1; } void main() { Timer1_Init(); PWM_OUT 1; // 初始輸出高電平 while(1) { // 這里可以通過按鍵或串口來動態(tài)改變 High_Time 和 Low_Time實(shí)現(xiàn)調(diào)速 // 例如if(Key_Pressed) High_Time 100; } } void Timer1_ISR() interrupt 3 { TH1 (65536 - (11059200/12/1000000)) / 256; // 重裝初值 TL1 (65536 - (11059200/12/1000000)) % 256; Timer_Count; if(PWM_OUT 1) { if(Timer_Count High_Time) { PWM_OUT 0; Timer_Count 0; } } else { if(Timer_Count Low_Time) { PWM_OUT 1; Timer_Count 0; } } }注意事項(xiàng)這個(gè)例子中定時(shí)器中斷頻率很高1MHz會大量占用CPU資源。在實(shí)際項(xiàng)目中更常見的做法是使用一個(gè)定時(shí)器固定周期如100us中斷在中斷里對一個(gè)全局變量累加主循環(huán)中根據(jù)這個(gè)變量和預(yù)設(shè)的占空比比較來翻轉(zhuǎn)IO口?;蛘咭恍┰鰪?qiáng)型51單片機(jī)如STC12系列自帶硬件PWM模塊直接配置寄存器即可不占用CPU。4.3 項(xiàng)目三串口通信實(shí)現(xiàn)單片機(jī)與電腦對話串口是調(diào)試和交互的利器。我們實(shí)現(xiàn)一個(gè)功能單片機(jī)每秒向電腦發(fā)送一次“Hello 51!”并且能接收電腦發(fā)來的一個(gè)字符然后回顯該字符。#include REG52.H #include stdio.h // 為了使用 printf需要重定向 putchar unsigned char UART_Rx_Data 0; // 接收數(shù)據(jù)緩存 bit UART_Rx_Flag 0; // 接收完成標(biāo)志位 void UART_Init() { SCON 0x50; // 串口方式1允許接收REN1 TMOD 0x0F; // 清零T1控制位 TMOD | 0x20; // 設(shè)置T1為方式28位自動重載 TH1 0xFD; // 波特率9600 (11.0592MHz晶振) TL1 0xFD; ET1 0; // 禁止T1中斷因?yàn)椴ㄌ芈拾l(fā)生器不需要中斷 TR1 1; // 啟動T1 ES 1; // 允許串口中斷 EA 1; // 開總中斷 } void UART_SendByte(unsigned char dat) { SBUF dat; // 數(shù)據(jù)寫入發(fā)送緩沖區(qū)自動啟動發(fā)送 while(TI 0); // 等待發(fā)送完成 TI 0; // 軟件清零發(fā)送中斷標(biāo)志位 } void UART_SendString(unsigned char *str) { while(*str ! \0) { UART_SendByte(*str); } } void main() { unsigned int i; UART_Init(); UART_SendString(UART Initialized!\r\n); // 發(fā)送初始化完成信息 while(1) { if(UART_Rx_Flag) { // 如果收到數(shù)據(jù) UART_Rx_Flag 0; UART_SendByte(UART_Rx_Data); // 回顯收到的數(shù)據(jù) UART_SendByte(\n); // 換行 } // 模擬每秒發(fā)送一次數(shù)據(jù) for(i0; i30000; i); // 粗略延時(shí) UART_SendString(Hello 51!\r\n); } } // 串口中斷服務(wù)函數(shù) void UART_ISR() interrupt 4 { if(RI) { // 如果是接收中斷 RI 0; // 軟件清零接收中斷標(biāo)志 UART_Rx_Data SBUF; // 讀取接收到的數(shù)據(jù) UART_Rx_Flag 1; // 置位接收標(biāo)志 } // 發(fā)送中斷 TI 在查詢方式發(fā)送中處理此處可不處理 }關(guān)鍵點(diǎn)解析SCON 0x500101 0000B即方式18位UART并允許接收REN1。TH1 TL1 0xFD這是11.0592MHz晶振下產(chǎn)生9600波特率的經(jīng)典初值。計(jì)算原理定時(shí)器T1在方式2下溢出率 晶振頻率 / (12 * (256 - TH1))。令其等于波特率×16串口模式1的需要即可反推出TH1。中斷與查詢結(jié)合發(fā)送采用查詢等待while(TI0);因?yàn)榘l(fā)送時(shí)機(jī)由程序主動控制接收采用中斷方式因?yàn)閿?shù)據(jù)何時(shí)到來不確定中斷能及時(shí)響應(yīng)。\r\n是回車換行保證在串口助手上能正確換行顯示。5. 進(jìn)階實(shí)戰(zhàn)智能小車驅(qū)動系統(tǒng)設(shè)計(jì)結(jié)合熱詞“51單片機(jī)智能小車”我們來設(shè)計(jì)一個(gè)最基礎(chǔ)的直流電機(jī)驅(qū)動系統(tǒng)。這里以最常見的L298N電機(jī)驅(qū)動模塊為例。5.1 硬件連接與驅(qū)動原理L298N是一個(gè)雙H橋驅(qū)動芯片可以同時(shí)驅(qū)動兩個(gè)直流電機(jī)。每個(gè)H橋可以控制電流的方向從而實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和剎車。連接方式單片機(jī)側(cè)IN1,IN2- 控制電機(jī)A的轉(zhuǎn)向。例如P2.0, P2.1。IN3,IN4- 控制電機(jī)B的轉(zhuǎn)向。例如P2.2, P2.3。ENA,ENB- 電機(jī)A/B的使能端接PWM信號可實(shí)現(xiàn)調(diào)速??梢灾苯咏覸CC全速或接單片機(jī)PWM引腳。電機(jī)側(cè)OUT1,OUT2接電機(jī)A的兩極OUT3,OUT4接電機(jī)B的兩極。電源驅(qū)動邏輯部分VCC接5V電機(jī)驅(qū)動部分VS接7-12V根據(jù)電機(jī)額定電壓。GND共地??刂七壿嬕噪姍C(jī)A為例IN1IN2ENA電機(jī)A狀態(tài)00X停止/剎車101正轉(zhuǎn)011反轉(zhuǎn)11X剎車5.2 軟件驅(qū)動層實(shí)現(xiàn)我們封裝一個(gè)電機(jī)驅(qū)動函數(shù)庫便于上層控制。// motor.h #ifndef __MOTOR_H__ #define __MOTOR_H__ typedef enum { MOTOR_STOP, MOTOR_FORWARD, MOTOR_BACKWARD, MOTOR_BRAKE } Motor_State; void Motor_Init(void); void Motor_A_Set(Motor_State state); void Motor_B_Set(Motor_State state); void Motor_PWM_Set(unsigned char pwm_a, unsigned char pwm_b); // 如果使用PWM調(diào)速 #endif// motor.c #include REG52.H #include motor.h // 引腳定義根據(jù)實(shí)際連接修改 sbit MOTOR_A_IN1 P2^0; sbit MOTOR_A_IN2 P2^1; sbit MOTOR_B_IN3 P2^2; sbit MOTOR_B_IN4 P2^3; sbit MOTOR_A_EN P2^4; // PWM使能 sbit MOTOR_B_EN P2^5; // PWM使能 void Motor_Init(void) { MOTOR_A_IN1 0; MOTOR_A_IN2 0; MOTOR_B_IN3 0; MOTOR_B_IN4 0; MOTOR_A_EN 1; // 默認(rèn)使能全速 MOTOR_B_EN 1; } void Motor_A_Set(Motor_State state) { switch(state) { case MOTOR_STOP: case MOTOR_BRAKE: // 剎車和停止邏輯相同 MOTOR_A_IN1 0; MOTOR_A_IN2 0; break; case MOTOR_FORWARD: MOTOR_A_IN1 1; MOTOR_A_IN2 0; break; case MOTOR_BACKWARD: MOTOR_A_IN1 0; MOTOR_A_IN2 1; break; } } void Motor_B_Set(Motor_State state) { // 類似 Motor_A_Set 的實(shí)現(xiàn) switch(state) { case MOTOR_STOP: case MOTOR_BRAKE: MOTOR_B_IN3 0; MOTOR_B_IN4 0; break; case MOTOR_FORWARD: MOTOR_B_IN3 1; MOTOR_B_IN4 0; break; case MOTOR_BACKWARD: MOTOR_B_IN3 0; MOTOR_B_IN4 1; break; } }在主程序中你就可以像搭積木一樣控制小車了Motor_A_Set(MOTOR_FORWARD); Motor_B_Set(MOTOR_FORWARD); // 小車直行 DelayMs(2000); Motor_A_Set(MOTOR_BACKWARD); Motor_B_Set(MOTOR_STOP); // 小車左轉(zhuǎn) DelayMs(1000); Motor_A_Set(MOTOR_STOP); Motor_B_Set(MOTOR_STOP); // 小車停止5.3 集成傳感器與閉環(huán)控制基礎(chǔ)驅(qū)動之上可以增加紅外、超聲波等傳感器實(shí)現(xiàn)自動避障、循跡。例如接入一個(gè)HC-SR04超聲波模塊測距。HC-SR04基本驅(qū)動觸發(fā)給Trig引腳一個(gè)至少10us的高電平脈沖?;仨懩K自動發(fā)送8個(gè)40kHz方波并檢測回波。Echo引腳會輸出一個(gè)高電平其持續(xù)時(shí)間與距離成正比。計(jì)算距離 (高電平時(shí)間 * 聲速) / 2。sbit HC_TRIG P3^2; sbit HC_ECHO P3^3; float Get_Distance(void) { unsigned int time_us 0; HC_TRIG 0; DelayUs(2); // 短暫延時(shí) HC_TRIG 1; DelayUs(10); // 發(fā)出10us觸發(fā)脈沖 HC_TRIG 0; while(HC_ECHO 0); // 等待Echo變高 TR0 1; // 啟動定時(shí)器T0計(jì)時(shí) while(HC_ECHO 1); // 等待Echo變低 TR0 0; // 停止計(jì)時(shí) time_us (TH0 8) | TL0; // 組合定時(shí)器值假設(shè)T0已配置為1us計(jì)數(shù) TH0 0; TL0 0; // 定時(shí)器清零 return (time_us * 0.017); // 聲速340m/s 換算成cm: 34000cm/s * 1e-6 s/us / 2 ≈ 0.017 }然后在主循環(huán)中根據(jù)測得的距離控制電機(jī)dist Get_Distance(); if(dist 20) { // 距離小于20cm Motor_A_Set(MOTOR_BACKWARD); Motor_B_Set(MOTOR_FORWARD); DelayMs(500); // 倒車并轉(zhuǎn)彎 } else { Motor_A_Set(MOTOR_FORWARD); Motor_B_Set(MOTOR_FORWARD); // 直行 }這樣一個(gè)具備基礎(chǔ)避障功能的智能小車框架就搭建起來了。你可以在此基礎(chǔ)上增加更多的傳感器如紅外循跡模塊和更復(fù)雜的控制算法如PID調(diào)速。6. 開發(fā)中的常見“坑”與調(diào)試心法玩了這么多年51踩過的坑比焊過的板子還多。下面這些經(jīng)驗(yàn)希望能幫你少走彎路。6.1 電源與復(fù)位問題現(xiàn)象程序跑飛、無故復(fù)位、IO口驅(qū)動能力弱。排查電源濾波單片機(jī)電源引腳VCC附近一定要接一個(gè)1040.1uF的瓷片電容到地且盡量靠近引腳。這是消除高頻噪聲的標(biāo)配缺了它系統(tǒng)穩(wěn)定性大打折扣。復(fù)位電路確保復(fù)位引腳RST在上電時(shí)有足夠時(shí)間通常24個(gè)時(shí)鐘周期的高電平。典型的RC復(fù)位電路10uF電容10K電阻在電源紋波大時(shí)可能不可靠。對于要求高的場合使用專用復(fù)位芯片如MAX809。驅(qū)動能力51單片機(jī)IO口拉電流輸出高電平能力很弱幾十uA灌電流輸出低電平能力較強(qiáng)十幾mA。所以驅(qū)動LED、繼電器等盡量采用低電平驅(qū)動器件接VCCIO口接器件負(fù)極。驅(qū)動大電流負(fù)載如電機(jī)必須加三極管或MOS管絕不能用IO口直驅(qū)。6.2 程序跑飛與內(nèi)存溢出現(xiàn)象程序運(yùn)行一段時(shí)間后死機(jī)、功能錯(cuò)亂。排查堆棧溢出51的RAM小堆棧區(qū)在RAM中向上生長。如果函數(shù)調(diào)用嵌套太深或中斷函數(shù)里調(diào)用大量函數(shù)極易導(dǎo)致堆棧覆蓋其他數(shù)據(jù)區(qū)。用Keil的調(diào)試模式可以查看SP寄存器的最大值。經(jīng)驗(yàn)是中斷服務(wù)函數(shù)盡量短小只置標(biāo)志位復(fù)雜處理放到主循環(huán)。數(shù)組越界這是C語言的經(jīng)典問題。訪問了不屬于你的內(nèi)存區(qū)域。仔細(xì)檢查所有數(shù)組的索引??撮T狗如果是STC單片機(jī)檢查看門狗定時(shí)器WDT是否被意外開啟。如果開啟了必須在程序循環(huán)中定期喂狗WDT_CONTR 0x37;否則會導(dǎo)致復(fù)位。未初始化變量局部變量和全局變量最好都賦予初始值。隨機(jī)值可能導(dǎo)致不可預(yù)知的行為。6.3 通信與時(shí)序故障現(xiàn)象串口亂碼、I2C/SPI設(shè)備無響應(yīng)。排查波特率誤差確保串口波特率計(jì)算準(zhǔn)確。11.0592MHz晶振是“串口之友”。如果用了12MHz晶振計(jì)算9600波特率會有誤差長時(shí)間通信可能出錯(cuò)。電平匹配51是5V TTL電平。與3.3V設(shè)備如很多傳感器、ESP8266通信時(shí)必須加電平轉(zhuǎn)換電路如分壓電阻或電平轉(zhuǎn)換芯片否則可能損壞3.3V設(shè)備。時(shí)序問題模擬I2C、單總線如DS18B20等協(xié)議時(shí)對時(shí)序要求嚴(yán)格。務(wù)必關(guān)閉中斷再進(jìn)行底層時(shí)序操作否則一個(gè)中斷進(jìn)來延時(shí)就不準(zhǔn)了。操作完再打開中斷。上拉電阻I2C的SDA、SCL線以及開漏輸出的信號線如單總線必須接上拉電阻通常4.7K-10K否則無法輸出高電平。6.4 抗干擾與可靠性設(shè)計(jì)現(xiàn)象在電機(jī)啟動、繼電器吸合時(shí)單片機(jī)復(fù)位或誤動作。對策物理隔離電機(jī)、繼電器等大功率負(fù)載與單片機(jī)控制電路使用獨(dú)立的電源供電地線在單點(diǎn)相連。信號連接使用光耦隔離。電源去耦除了104小電容在板子電源入口處加一個(gè)10-100uF的電解電容緩沖低頻干擾。信號濾波對按鍵、限位開關(guān)等機(jī)械觸點(diǎn)輸入軟件上必須做消抖處理延時(shí)20ms再檢測。硬件上可以在觸點(diǎn)兩端并聯(lián)一個(gè)104電容。未用引腳處理將未使用的IO口設(shè)置為準(zhǔn)雙向口模式默認(rèn)并輸出一個(gè)固定電平通常為1不要懸空防止靜電積累或感應(yīng)干擾。調(diào)試時(shí)善用Keil的軟件仿真和串口打印。軟件仿真可以單步跟蹤查看變量和寄存器變化。串口打印則是“printf大法好”在關(guān)鍵位置輸出狀態(tài)信息是定位問題最直觀的手段。對于51由于內(nèi)存小通常需要自己實(shí)現(xiàn)一個(gè)精簡的printf函數(shù)或者直接使用UART_SendString輸出特定字符串來標(biāo)記程序執(zhí)行到了哪里。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
美女网黄| 激情五月丁香五月色| 丁香五月精品视频| 欧美超碰人人| 久热re视频在线观看网站| 久久激情天堂| 99re鈥哸鈥唙| www.sezonghe| 欧美丁香六月激情视频| 99免费视频久久| 婷婷五月综合丁香久久| 国产SUV精品一区二区883| 成人版视频在线观看| 成人在线99| 99热只有精品在线观看| 日韩成人网站精品久久大全| j久久性爱视频| AV网址大全在| 大香蕉丁香五月| 色婷婷免费观看| 97色伦另类图片小说视频 | 亚洲第一黄网| 激情婷婷| 五月天激情网图片| 五月天婷婷成人网| www久久久| 五月丁香色| 亚洲天天综合| 婷婷丁香五月综合网上 | 婷婷五月激情六月丁香| 精品人妻伦| 国产操B视频| 激情婷婷五月在线合集| 色婷婷AV久久| 日本人妻操| 亚洲精品白浆高清久久久久久| 99热这里只有精品3| 色婷婷五月天偷拍| 99热免费| 久久五月综合| 99色精品| 九九热免费视频| 99热在线观看精品| 亚洲综合激情五月久久| 97 天堂| 色99亚洲| 五月天五月婷五月激情网| 夜夜涩涩涩| 91精品久久久久久久| 人操人人| 91碰碰| 超碰成人在线观看| 丁香综合伊人| 丁香五月婷婷欧美成人色图| 久久激情五月婷婷| 人妻av在线| 色色色婷| 欧美精品XXXXBBBB| 日韩在线视频9色| 五月天久久婷| 五月天丁香综合久久国产| 婷婷五月天丁香激情| 天天久久婷婷| 婷婷永久在线| 婷婷之六月丁香| 天天色综合综合| 婷婷丁香人妻天天| 人妻久久久久久久 | 五月天成人在线播放丁香| 人人色AV| 久久婷婷久久| 国产精产国品一二三在观看| 一级性爱大片| 夜夜骑日日操| 激情亭亭五月| 极品人妻VIDEOSSS人妻| 伊人婷婷五月天av| 婷丁香五月天| 婷婷色在线播放| 热99这就是精品视频| 天天插天天射| 色婷婷久久7777| 亚卅毛片| 天天干-天天日| 五月色丁香视频精品| 妻久久人久久| 五月天开心网| 人人操97| 天天爱天天做天天操| 久久久久久xxxxx| 天天狠狠色噜噜| 欧美色爱五月天| 久久婷婷色色| 亚洲人成网站999久久久综合| 操九色| 五月天婷五月天综合网在线观| 久久精品66| 婷婷五月天综合久久| 六月丁香啪啪啪| 久久91久久精品久久| 操人久久| 婷婷五月六| 婷婷激情图片| 五月丁香综合激情网| 大伊香蕉精品视频在线| 色婷婷激情| 人妻videos人妻高清| 色久丁香五| 成人国产欧美大片一区| 日本综合色色| 影音先锋天天日| 欧美性生交XXXXX无码小说| 激情五月九九九| 婷婷色在线| 互月天综合| www激情| 久777| 丁香色五月婷婷17C| 欧美日韩AAA| 大香蕉啪啪啪| 俺也去婷婷五月天第五色| 久久欧洲综合网| AV性爱网| 丁香女人五月天| 五月天婷婷影院| 亚洲精品无码99热| 日韩99无码| 国产激情综合五月| 五月大香蕉| 五月天丁香综合久久国产| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 97人人做| 中文字幕在线免费观看视频| 综合啪啪| 日韩AAAAA| 亚州操逼网| 久久视频这里99| 性做久久久久久久免费看| XX久久| 欧美25p| 深爱激情丁香五月| 中文AⅤ大全| 99热国产这里只有| 性做爰A片免费视频A片直播| 五月丁香六月婷婷免费| 亚洲视频综合网| 五月婷婷视频啪啪美女| 性色做爰片在线观看WW| 涩涩网五月天| 色五月色五天色情网址| 偷拍91九色| 五月叮香啪| 九九色综合九九色| 五月天婷婷基地综合网| 色色操| 超碰人人在线| 色婷婷成人做爰A片免费看网站| 另类视频在线| 中文中文在线| 思思热AV| 大香网伊人久久综合| 99精品久久久久久久婷婷| 久久宗合影| 9月色婷婷| 天天色视频| 亚洲成人在线播放| 亚洲亚洲人成综合网络| 色停停五月天| 狠狠综合久久| 99国产在线精品视频| 人妻肉射免费观看| 2015WWW永久免费观看播放| 久久久这里有精品| 久久九九网| 这里只有精彩视频| 天天爽夜夜爽夜爽精品| 国产97色在线 | 日韩| 激情图片久久| 天天综合色综合| 久久久全国免费视频| 亚洲99精品欧美一区| 99热精品网| 2017狠狠干| 日本va欧美va欧美va精品| 大香蕉综合在线| 插插插色综合网| 欧美性爱丁香五月| 深爱激情五月婷婷| 婷婷综合五月天亚洲综合| 五月丁了香蕉综合| 狠狠综合| 99操免费视频| m色激情网| 91 九色 入口| 色狠狠色噜噜AV天堂五区| 色丁香五月婷婷在线| 亚洲精品成人片在线播| 熟妇内谢69XXXXXA片| 天天天天色天天天天天干| 神马欧美精| 色婷婷亚洲婷婷| 色射婷婷五月天| 丁香五月综合激情性爱| 亚洲天堂色| 五月婷婷色情| 久久丁香五月| 天天操夜夜爽| 日韩99色| 色婷婷成人| 丁香亚洲色综合| 激情五月天婷婷五月天| 日亚二欧美| 五月综合激情图片| 热99这里只是精品| 五月丁香激情综合六月涩涩爱| 五月天国产| 99re鈥哸鈥唙| 色婷婷九月综合| 久久五月激情综合| av在线免费网站| www.超碰97| 精品人人操| 丁香婷婷视频一区二区| 欧美婷| 色婷婷综合网站| 中文超碰视在线| 五月婷婷六月激情| 婷婷色在线| 5月婷婷6月六月丁香| 丁香六月婷婷缴情欧美| 欧美在线干| 在线91日韩| 国产精品久久久久久久久久| www.激情| 思思热在线| 在线成人网址| 日韩精品一品二区三区的使用体验| 五月天a婷婷伊人| 另类激情五月天。| 超碰99在线| 9精品视频在线| 天天日日| 综合九九日本| 天堂亚洲 在线| 日本久久久97| 天天色中文字幕女优AV| 色婷婷播放| 五月日韩中文字幕| 色婷婷yy久| 99热在线观看| 九九丁香社区欧美激情| 日韩五月婷婷久久| 色五月综合97| 久久精品63| 91精品国产99久久久久久天美| 91精品国产综合久久蜜芽解析速度| 日韩av一区二区在线/日产精品久久久| 99热思思| 情欲禁地| YW无码| 欧美A A A A A| 成人五月天。COM| 东京热五月婷婷| 五月婷婷久久大片| 亚州婷婷五月激情综合| 亚洲综合成人网| www.久久爱| 99热99成人| 这里只有精品在线视频精品| 久久色吧| 日本3级片一区2区| 久热无码| 激情性五月天免费小说视频| 丁香五月天啪啪| 很很干天天干| 五月天伊人| 五月综合激情网| 被强行糟蹋的女人A片| 熟女人妻一区二区三区免费看| 色五月激情五月| 三级片AAA久久久AAA久久久AAA| 欧美婷婷色| 一片AV片免费播放| 久婷婷五月激情| 亚洲狠狠狠色婷婷综合激情久久久| 激情五月五月五月婷婷| 啪啪 综合网| 六月丁香激情网| 激情五月激情综合网| 夜夜操加勒比| 色九月婷婷丁香| site:xiongshengzz.com| 99久久a线观| 深爱五月最新网址| 亚洲mm色| 婷婷色五月开心五月| 日本久久99| 日本精品人妻无码77777| 雪千夏麻豆| 婷婷欧美激情综合| 色色婷婷综合网| 丁香婷婷情色五月天| 99精在线| 麻豆精品| 天堂草在线观| 天天色粽合合合合合合合| 日操夜操天天操不卡| 97超碰在线免费观看| 欧亚成人A片一区二区| 九九热123| PORNY九色9l自拍视频成人| 翔田千里aV中文字幕| 久久五月天激情| 日韩色色视频| 殴美日比视频| 亚洲操B| 91碰碰| 久久精品系列| 丁香六月婷婷姐网| 久久caop| 免费色色色| 99热这里都是精品| 亚洲天堂制| WWW丁香五月| 婷婷五月天天天| 国产肥白大熟妇BBBB视频| 亚洲视频无| 97日日碰碰| 国产99精品免费视频| 日本99色| 欧美久人人| 亚洲婷婷婷| 综合色五月| 九伊人网| 婷婷久久五月天| 婷婷综合仓库中文| 五月婷婷精品视频| 思思久久99热只有频精品66| 亚洲综合激情五月天婷婷| 亭亭玉月丁香| 日韩一级网站| 五月激情天| 日韩在线视频9色| 深爱五月综合网| site:xmssd.com| 26uuu| 99在线视频。| 久久久久人妻中文| 欧美三级韩国三级日本三斤| 激情五月天免费视频| 六月丁香啪啪| 天天色五月| 丁香婷婷久久 | 九热久| 五月天激情久久| 色婷婷狠狠久久综合五月| 亚洲熟妇AV综合网五月丁香伊人| 久久人妻熟女一区二区| 婷婷深爱五月亚洲综合| 97人碰人操| 婷婷六月激情啪啪| 操日本99| 五月丁香婷婷免费视频| 欧美日比视频| www久久99| 欧美内射AA| 亚州操人在线视频| 欧日韩AV| 五月天天综合网色婷婷| 久久这里有精品| 婷婷五月天干干| 五月婷婷啪啪啪| 丁香五月综合| 狠狠色噜噜色狠狠狠综合色| 26uuu欧美| 欧美在线| 丁香激情网| 99成人| AA片在线观看视频在线播放| 婷婷综合精品视频97| 在线视频九色97| 久热只有这里精品| 久久精品婷婷五月丁香| 热九九精品| 六月丁香五月激情网| 久久婷婷免费| 亚洲最大在线| 色五月婷婷开心| 色色热日| 开心激情网五月天| 色色色色色爱| 色婷婷色99国产综合精品| www.天天干| 婷婷成人五月天一区| 欧美五月婷婷综合| 狠狠色色| 五月丁香六月婷婷综合| 亚洲中文字幕网| 久久99国产综合精品免费| 天天成人丁香美女AV| 日韩人妻在线播放| 丁香五月电影| 色五月激情五月天| 电影爱拉战争免费观看| 丁香 亚洲 久久| 婷香五月激情视频| 五月天激情亚洲| 丁香六月激情四射| 黄色av网站在线免费播放| 色99在线观看| 激情 五月 婷婷 丁香| 91操黄| 99热成人| 五月综亚洲| 91丨九色丨老农村| 99热官网| 深爱五月天| 97碰人人操| 亚洲人妻av伦理| 精品51XX| 青青草原中文字幕| 日韩在线观看亚洲| 超碰在线日夜| 五月成人网站| 天天草天天摸| 快色t v在线入口| 日韩在线视频网站| 九一牛视频探花| 99精彩视频| 天天五月情| 97碰免费视频在线| 99啪视频在线观看| 丁香五月天堂婷婷| 久久婷婷五月综合| 六月丁香av| 人妻自慰高清合集| 激情图片婷婷| 开心五月婷婷激情| 久久99精品久久久久久青青AR| 天天干一干| 超碰不卡在线| av操一操| 色狠狠色狠狠| 99热精品6| 九九视频网| 99人人精品| 97操碰在线97| 婷婷丁香五月综合网| 在线视频你懂得| 噜噜色com| 一本久久亚洲五月婷婷| 久久香蕉网| 日韩精品电影| 久久国产高清| 婷婷五月激情综合啪啪| 一本婷婷丁香久久| 日韩不卡123| 婷婷六月天| 五月天啪啪视频| 综合色五月| 五月天五月天成人网亭亭成人色网站| 婷婷综合六| 天天爱天天做天天舔| 五月综合亚洲色| 中文字幕av在线| 日本黄色在线观看| 丁香六月激情综合网| 亚洲最大视频网站| 亚州激情九月| 午夜婷婷久久 | 婷婷综合网站| 四色综合网| 国产免费AV在线| 97se视频在线| 超碰国产在线| 婷婷色色综合激情| 国产五月婷| 日韩三级片一区二区| 五月婷婷丁香成人网| 99,色| www.激情.com.| 性爱网久久| 日韩五月婷婷| 亚洲综合婷婷五月| 另类综合色| 桃色五月天| 天天天天操| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 六月婷婷久久| 中文字幕在线免费| 五月婷婷五月天| 婷婷色综合| 67194国产| 激情又色又爽又黄的A片| 91久久精品国产91性色TV| 成人做爰A片免费看视频| 丁香婷婷综合激情五月色| 亚洲激情四谢| 99热欧美精品| 91人妻色色网| 五月丁香婷婷潮喷中文字幕| 九九人人精品| 婷婷五月天av| 99色五月| 婷婷激情五月天在线视频| 亚洲 无码 中文字幕 中出| 色情五月天婷婷| 色噜噜狠狠色综合网| 婷婷中文在线| 黄色三级毛片中字| 五月婷婷狠狠干| 欧美成性色| 精品九九视频| 国产成人网址| 婷婷五月丁香色色| 丁香婷婷黄网站| 五月天五月色| 人妻综合网| 欧美美女视频| 欧洲一区二区| 精品九九视频| 婷婷综合五月天| 五月婷婷综合网| 久久婷婷五月综合色和| 99综合视频| 操嫩逼电影| 色婷婷9| 免费黄网不卡AV| 久久婷婷五月综合成人d啪| 天天肏天天插| 国产操碰| 日韩天堂久久| 无码婷婷五月天| 99啪99| 91|疯狂丨高潮丨对白| 九九热99在线视频| 欧美性丁香色色五月天| 久操婷婷| 超碰伊人碰婷婷五月| WWW.桔色成人.COM入口| 大香蕉婷婷色| 久久9RE热视频精品98| 97婷婷丁香五月天激情图片| 99久在线精品99re8热| 99精品丰满| 久久综合性| 丁香六月婷婷综合缴| 最近免费中文字幕大全高清大全1| 九月婷婷综合网| 99热在线观看免费| 无码激情AAAAA片-区区| 99色色热| 欧美精品18| 超碰97免费在线| 午夜电影网VA内射| 中文字幕有多少字| 最新午夜理论片| 色婷婷操逼| 五月天激情网址| 99久久综合精品五月天| 嫩草AV久久伊人妇女超级A| 婷婷香香五月| 四色99久久| 丁香六月婷婷综合激情欧美| www.激情| 91久热| 久操激情| 91丨九色丨大屁股| 99热久| 日韩一级A片黄色| 久久这里都是精品| 超爽内射| 婷婷色色婷婷| 久热伊人在91| 激情图片婷婷丁香五月| 99热99天堂| 五月丁香六月婷婷无码| 狠狠 久久| 婷婷五月天激情基地| 9久久狠狠的| 欧美另类五月激情| 99@久久@99精品视频| 五月婷婷无码专区| 国产性爱色| 丁香五月激情啪啪| 久久加勒比| 久久99久久99精品免视看婷| 任你爽视频| 色色色成人网| 六月亚洲| av操B网站| 狠狠色噜噜色狠狠狠综合久久成人波| www.97干视频| 爱射综合| 色婷婷视频| 七七婷婷综合| 五月激激激情综合网| www.99日本| 久热 91| 99热在线观看免费中文| 亚洲蜜桃精久久久久久久久久久久| 激情网站综合五月天| 精品国产一区二区三区四区阿崩| 激情五月婷婷网| 丁香五月网| 婷婷亚洲影院| 伊人深爱综合| 久99在线视频| 五月天开心网| 超碰国产AV| 操91| 97干干干丁香| 99自拍视频网站| 最新日本A片| 3DAV亚洲香蕉久久 一区二区| 女人天堂AV| 丁香五月情色| 五月婷婷色色网址| 亚洲激情久久| 天天久| aaa丁香五月天| 69热91天堂| 激情五月婷| www,婷婷五月天777me,com| 天堂在线婷婷| 国产精品美女| 激情久久丁香| 五月丁香人人婷婷在线观看| 99久超碰| 99久久婷婷综合| YJLZZJLZZ亚洲乱熟无码| 国产.亚洲.欧洲视频在线| 无码少妇高潮喷水A片免费| 日日操日日撸| 翔田千里aV中文字幕| 久久五月情| 99色视频| 五月婷婷AV| 久热网在线视频| 久久草人妻| 亚洲无码yw| 91男同视频| 人人操日| 日韩av在线免费观看| 五月色婷婷AV| 大香蕉520| 婷婷五月丁香色综合| 久久在线视频免费观看| 六月婷婷中文字幕| 人妻久久婷婷| 色婷婷丁香五月在线观看| 一本久久亚洲五月婷婷| 丁香九月激情| 99狠狠操一| 天花AV无码| 亚洲欧美在线观看| 性爱视频久久| 亚洲无码99| 97欧美在线| 玖玖福利视频资源| 激情精品久久| 五月丁香婷婷网网网网| 亚洲色久| 99热国产精品| 婷婷丁香亚洲色综合91| 久久久99免费视频| 影音先锋天天日| 婷婷婷婷婷婷婷婷婷婷丁香| 激情久久伊人| 9久久狠狠的| 97高清国语自产拍| 天天做天天爱天天高潮| 国产精品色色| 婷婷中文字幕| 极品少妇XXXX精品少妇偷拍| 久久婷婷热| AV大香蕉| 丁香婷婷综合激情五月色| 久久久18| 五月丁香亭亭| 极品人妻VIDEOSSS人妻 | 六月亚洲婷婷6月中文字幕| 九九色影院| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 精品夜夜澡人妻无码AV| 色色婷婷综合| 依人大香蕉在钱1| 日本eVa一区=区视频| 丁香婷婷影院| 婷婷伊人视婷婷婷| 97影院一级片| 玖玖视频福利| 婷婷伊在线| 日操五月婷| 五月丁香色婷婷综合| 色婷婷五月天堂资源| 伊人婷婷五月天av| 激情五月天电影| 日韩超碰在线| 五月丁香综合在线| 激情六月天| 奇米色大香蕉| 思思99久久| 综合亚洲色色| 五月天中文网| 久草热在线视频| 99热最新| 五月天激情小说婷婷基地| 婷婷中文字暮| 婷婷色在线视频| 亚洲成人综合在线| 日本三级成人秘书精品片| 另类国产欧美视频| www.久久综合| 五月天色婷婷视频| 色综合另类| 五月丁香激情综合| 潮汕成人AV片在线| 丁香花五月天激情| 五月丁香婷婷综合网色欲| 日本熟女二区| 欧美大片免费播放器| 日韩五月婷婷久久| 久久久性爱视频| 69午夜成人影片| 天天做天天爱天天玩| 99色在线| 欧美丁香五月| 玖玖婷婷五月天毛片| 91大神操美女| 激情五月色综合国产精品| 成人电影在线免费试看| 亚洲视频一区| 九九热10| 99精品福利视频| 五月婷激情| 亚洲av午夜精品一区二区| 人妻久久久久久久久妻久久久久久久久 | 激情综合网五月天天| 欧美影院| 超碰狠狠干99| AV堂狠狠干| 久久久这里有精品| 99热精品在线| 色综合久久888| 五月婷婷综合潮喷| 少妇大叫太大太粗太爽了A片| 日韩精品电影| 色综合色综合色综合高潮| 色五月超碰| 亚洲AV成人精品网站在线播放| 综合激情啪啪| 亚洲av日韩无码| 天天肏在线视频| 青青草a在线| 182TV大香蕉| 99视频在线看| 开心五月丁香啪| www.夜夜| 日韩成人综合网| 婷婷97碰碰| 五月天丁香啪啪啪啪| 这里只有精品热| 亚洲无码色色| 久久9精品视频| 五月婷婷在线视频观看| 超碰cap| 婷五月丁香俺| 亚洲天天操| 女操碰| 久久久久久久丁香五月天婷婷| 久色婷婷200| 欧美色必爱| 青青草护士中出内射-欧美电影在线天堂新版 | 97色97干| www.色婷婷.com| 综合色色色色色色| 色婷婷成人久久| 玖玖福利视频资源| 成人做爰高潮A片免费视频| 五月丁香婷婷在线综合蜜桃| 99这里只有精品|v| 色情性爱视频网址| 狠狠狠狠狠狠狠狠| 国产色丁香| 婷婷俺去也| 97操碰| 91日本在线观看| 婷婷丁香五月亚洲欧美| 国产精品色色| 色八月婷婷| 欧美色五月| 99热在线里有精品| 噼里啪啦完整版中文在线观看| 日本在线视频手机播放五月婷| 99热免费| 99久久综合精品五月天| 伊人网色婷婷五月天| 可以观看的AV| 五月天婷婷激情在线色图| 婷婷五月天AV| 婷婷精品免费久久| 五月天色婷婷综合| 丁香五月天欧美| 婷婷五月综合性爱| 五月婷婷亚洲色视频| 五月天丁香久久| 日本91在线| 激情婷婷丁香色五月综合| 超碰97在线操| 激情五月天小说网| AV网站免费在线| 久久性爱视频| 丁香六月亚洲综合| 黄色激情久久| 色色色综合网| 久久这里有精品在线观看| 久久99久久久久久久噜噜| 99在线视频精品| 夜夜www| 99超级超级超级碰| 亚洲人妻av| www.色婷婷。com| 日本色超碰| 婷婷丁香五月综合| 丁香开心深爱| 婷婷五月丁香花综合| 可以看的AV| 涩涩涩.com| 国产操B视频| 中文字幕有多少字| 五月婷婷综合丁香视频| 丁香色婷婷| 色色色丁香| 超碰99热| 99热99热在线| 99,色| 39视频第二区| 天天爽天天操| 欧美日韩aaa| 精品国产va久久久久| 五月婷婷 婷婷五月 一区二区 久久久| 99人妻碰碰碰久久久久视| 丁香六月婷婷缴情欧美| 婷婷五月18永久免费网站| 色色色99| 婷婷五月天综合AV| 丁香五月婷婷六月婷| 日韩黄色电影| XX色综合| 噜噜视频| 五月丁香婷婷免费视频| 99这里只有免费的精品| 丁香五月在线自慰| 五月婷婷伊| 97久久久| 丁香六月狠狠干| 播五月丁香六月| 五月天婷婷三级黄| 性生活视频98791| 久久久久9久无码视频| 久久婷婷伊人| 超碰在线观看9| 开心五月婷| 五月丁香六月日逼| 亚洲天堂啪啪| 秋霞丝袜啪啪啪| 精品9197碰| 成人精品在线观看| 中文字幕av久久爽一区| 亚洲婷婷丁香五月天激情小说| 日日做夜夜爱| 丁香五月停停av| 午夜五月天| 色噜婷婷| 五月天婷婷av| 婷婷开心综合人妻小说网址| 9久操| 丁香五月婷婷大香蕉| 婷婷五月久久| 丁香五月日啪| 婷婷久久视频| 九月丁香婷婷综合激情| av大香蕉| 超碰91av| 久操热| 色婷婷丁香综合中文字幕| 伊人9在线| 九九精品婷| 免费在线a| 国内自拍97在线| 亚洲经典三级| 国产偷人爽久久久久久老妇APP| 91精品久久久久久77777| 9色在线视频| 能看的AV| 99激情在线| 五月丁香婷婷网在线在线| 婷婷五月天播播| 婷婷色网站| 深爱激情六月天| 久久伊人婷| 一本九九色| WWW色色色COM| 色婷婷五月影视| 九九色插| 欧美日韩国产伦精品日韩人妻一| 一起肏在线视频| YW无码| 999精品久久久久久久| 青青草99re| 色情婷| 99黄色在线视频精品熟女| 国产 亚洲 在线| 婷婷色导航| 狠狠久久婷五月综合色| 婷婷五月天深爱| Www,五月天| 久久ab| 五月婷婷激情网| 久久九九免费视频| 97精品人人A片免费看| 色婷婷呢狠禁久禁| 91岛国片| 国产精品久久..4399| 丁香五月图片| 五月丁香欧美综合免费视频| 综合色播| 久99视频在线观看| 99热亚洲| 色五月美女| 国产脫衣舞一区二区三区| 91超碰人人操| www激情网| 99视频精品在线| 99操碰| 九九AV| 日韩成人综合| 色色色五月婷婷| 欧美性爱5月天天天看| 日日色综合| 五月婷婷六月天| 碰碰碰97国产| 亚洲五月婷| 怡红院院久久| 五月色丁香| 九九色综合| 九九人人看| 91人妻PORNY九色大屁股| 五月丁香激情深爱婷婷| 久热免费视频| AA片在线观看视频在线播放 | 激情丁香久久| 婷婷色色五月| 终合激情网| 九九碰九九爱97超碰| 精品日本视频444| 骚五月婷婷| 超碰精品手机在线| 另类激情五月在线视频欧美| 少妇人妻丰满做爰XXX| 狠狠综合色网| 九色视频这里只有精品| 天天干,夜夜爽| 91se视频| 五月丁香啪啪激情| 色五月女| 在线只有精品| 97资源碰碰在线| 玖玖资源站视频| 99视频久久| 婷婷五月丁香花综合| 色五月丁香婷婷综合| 亚洲1区| 丁香婷婷综合影院| 狠狠草婷婷| 丁香五月中文字幕| 男人天堂AV在线一区二区| 这里只有精品视频国产| 超碰在线成人| 五月天激情综合网| 久热这里只有精品99re,久热这里只有精品7 | 91久久九久久九久久九久久九久久| 国产看真人毛片爱做A片| 狠狠爱综合| 偷拍五月丁香| 久久九九99.www| 九九九九九无码| 日韩无码色色| 综合一区二区三区| 夜夜干 夜夜操| 国产69久久久欧美黑人A片| 激情五月天在线观看婷婷| 国产日韩欧美性爱| 爱狠射| 婷婷婷五月天最新综合你懂的| 狼人久草| 五月丁香综合啪啪| 色哟哟精品| 色婷成人狠干| 97婷婷五月| 97色五月丁香婷婷| 天天模,夜夜模夜夜爽| 五月丁香成人网| 六月婷婷激情图片| 大香蕉婷婷久久| 欧美月久久| 国产va视频| 91 久热| 99re视频精品| 九九综合影音先锋| www,五月丁,com| 香蕉网婷婷| 很操日本7| 精品二区| 亚洲婷婷激情888精品久| 成人五月丁香花| 综合色五月天| 超碰成人公开| 深爱激情网噜噜色| 色五XX| 丁香五月天堂亚洲社区| 婷婷五月天小说网| www.99热在线| 五月丁香六月婷婷成人电影| 欧美图片丁香五月天| 播五月开心婷婷欧美综合| 久久婷五月综合| 激情五月天啪啪| 九九色逼| 中文字幕 中文字幕明步| 日本的α片xxxwww| 思思热在线视频精品| 欧美天天干五月丁香| 综合久久五| 这里只有精品网站| 婷婷 伊人 久久| 婷婷五月激情欧美| 婷婷久久五月| 开心五月婷婷| 天天干天天操| 亚洲天99| 五月丁香六月激情| 天天综合色综合| 大香蕉婷婷婷| 丁香九月综合| 99久久综合| 日本三级成人秘书精品片| 激情五月综亚网| 日本99婷婷| 日日夜夜天天综合| 婷婷五月综合欧美在线播放| 亚洲精品第一国产综合亚AV| 免费不卡狠操美女视频网 | 五月激情丁香啪啪| 婷婷综合成人| 操一区| 激情综合视频| 婷婷六月天激情| 久久三级视频| 欧美肉大捧一进一出免费视频| 五月丁香婷在线| 亚洲小电影在线观看黄999| 色五月激情婷婷| 五月综合缴情网| 成人精品人妻| 国产毛片精品一区二区色欲黄A片| 五月开心激情网| 99久久五月天| 开心激情站| 久色婷婷200| www.色婷婷| 激情五月天色色色| 丁香五月久久| 婷婷五月天在线观看免费| 色婷婷五月天中文字幕| 色色亚洲99com| AV操操操| 婷婷五月天激情基地| 开心五月婷婷激情| 人操人| 99久久综合网| 91se在线观看| 日本特黄aaaaa| 97狠狠色| 天天爱天天天射AV| 五月天婷婷综合网| av在线免费网站 | 狠狠狠狠青草| 99热最新网址| 99九九在线观看免费| 激情五月丁香综合网站| AV色五月婷婷| 五月 成人 婷婷| 九九色网专区| 五月丁香综合激情| 婷婷的99视频网站| 开心激情网五月| 婷婷瑟五月天久久综合| 国产.亚洲.欧洲视频在线| 91男人资源站| 国产乱人偷精品人妻A片| www.97碰碰com| 五月花在线观看视频| 欧美天天综合网站上去吧| 激情五月天色网站| 丁香五月先锋| 九月丁香婷婷网| 成人综合网站| 久久99久久99精品免视看婷婷| 天天综合色| 婷婷五月骚厕所| 99热国产国产| www.婷婷五月天,com| 婷婷丁香社区| 99碰碰中文| 欧美槡BBBB槡BBB少妇| 婷婷五月丁香基地| 国産精品| 亚洲第一综合| jiZZdr| 婷婷五月深深爱| 丁香五月狠狠综合欧美| 激情 五月 婷婷 丁香| 中文字幕,综合,91| 2020日日干| 久9草在线观看视频| Blackedraw视频一区二区| 疯狂做受XXXX高潮A片| 午夜五月天| 欧美成人A片AAA片在线播放 | 久久激情综合| 91精品国产99久久久久久天美| 久久九九国产精品怡红院| 99er精品视频| 人人摸人人摸| 激情五月婷黄版| 五月天开心婷婷激情网站| 久久怕怕视频| 久久视频这里99| 五月婷婷亚洲| 丁香五月激情综合| h在线看免费版在线看| 第四色大香蕉| 九九AV在线| 丁香五月欧美激情| 六月婷婷中文字幕| 99精品久久| JAPANRCEP老熟妇乱子伦视频 | 色五月丁香婷婷在线观看| 婷婷五月激情在线| 丁香五月婷婷影院| 日韩在线一级| 91超级碰在线视频| 五月天精品视频| 丁香五月偷拍| 嫩草AV久久伊人妇女超级A| 亚洲婷婷性爱| 亚洲精品字幕在线观看| 操操综合网婷婷| 亚洲色综久久五月| 色六月婷婷| 天天天操天天天爰| 色性日本| 久久精品视频在这里有| 婷婷午夜精品久久久| 色综合色综合网| 中文字幕丰满孑伦无码专区| 九一九九黄色| 婷婷久久色| 色婷婷综合综合网| 这里只有精9| 婷婷五月色丁香在线看| 99视频在线精品| 亚洲天天操| 久久AV无码精品人妻系列试探| 丁香五月婷婷少妇| 久久久com| 久久婷出差欧美色两性综合网| 五月丁香在线看| 99久re热视频精品98| 欧美成人AAA片一区国产精品| 9 1 A v久久久| 91精品久久久久久| 色婷婷丁香五月高清在线| 色婷婷777狠狠| 国产高清视频91九九九久久久| 婷婷娌伦网| 午夜丁香丁香婷婷| 99青青草| 丁香色婷婷| 狠狠插.com| 色婷婷AAA| 婷婷五月天干干| 九九久久99精品免费观看www| AA片在线观看视频在线播放 | 丁香色影院| 日本狠狠爽| 99久久6| 国产精品久久久久久久久久| 淫荡A片| 亚洲夜五月| 五月丁香六月婷婷激情网| 午夜天堂一区人妻| 欧美激情伊人| 99视频在线观看视频| 狠狠色综合网| 99久久超级| 高清无码.com| 色综合九九| 91919191919久久成人视频| 97操碰| 丁香五月婷婷综合91| 激情婷婷丁香五月天小说| 成年人丁香五月| 秋霞少妇AV网站| 五月天堂色| 色播五月婷婷| 五月丁香婷婷钟和色图| 99视频久久| 天天色视频| 国产av网| 丁香六月天婷婷在线| 97人妻碰碰碰久久香蕉| 婷婷六月丁综合| 亚洲AV激情五月综合网| 久久久久激情| 玖玖五月丁香| 日日操日日射| 欧美性生交XXXXX无码小说 | 热99精品视频观看| 婷婷综合色色| 碰97久久| 五月 婷婷 成人| 美女久久婷婷| 激情五月天综合图片小说网站| www.9797国产| 婷婷激情五月天小说| 99热99热99热99热| 丁香六月久久| 2017狠狠干| 久久综合婷婷五月| 亚洲九九婷婷| 色色哒五月婷婷六月丁香| 久草婷婷在线| 青青福利网| 97精品人人A片免费看| 婷婷伊人无码| 99精品在线播放| 婷婷午夜| 色综合色色色| 9九热视频| 超碰在线中文字幕| 久久最新色| 综合99久久天天综合| 另类在线观看视频| 五月天开心激情综合网| 婷婷五月丁香激情图片| 99热6色| 久久91久久精品久久| 成人色色视频| 丁香婷婷婷婷十二月在线观看视频| 高清无码中文字幕aVDV| 精品热九九| 激情欧美丁香五月| 极品另类|