99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
久操干| 97碰在线| 久久新地址| 五月天伊人综合| 依人大香蕉| 超碰精品手机在线| 久久婷婷五月综合激情国产 | 五月婷婷五月天| 色婷婷久久综合久色| 精品国产乱码久久久久久免费| 久久99久久99精品免观看软件| 久久婷婷亚洲五月天| 亚洲视频在线观看| 色婷婷99| 99色五月| 日本高清综合网五月丁香| 91|九色|动漫| 色情激情五月婷婷| 婷色天堂| 九九热精品| 综合网视频| 精品乱码视频| www.久久爱| 99爱在线| 午夜九九电影| 丁香五月首页| 久久久久久9| 噼里啪啦完整版中文在线观看 | 五月色婷婷亚洲 | 99在线69| 丁香五月激情啪| 99热99热不卡| 天天操,夜夜骑| www狠狠| 久久久久久久久月丁| 丁香 久久| 色五月婷婷五月丁香五月| 色五月天激情| 另类图片天天影视在线观看| 成人网站在线观看视频| 99热超碰在线| 最新日本A片| 一本色道久久88加勒比—| tingtingcaobi| 日日夜夜干| 狠狠人妻色综合| 日本色色色| 激情五月婷婷网在线观看| 五月丁香成人| 成人va在线观看视频| 操碰久| 婷婷丁香色女人| 图片区 小说区 区 亚洲五月 | 99噜噜噜在线播放| 女人被躁到高潮嗷嗷叫小| 97操碰| 综合性爱网| 日韩aaa| 婷婷五月天高清无码| 五月天久久婷婷婷| 性日本精品| 99热777| 婷婷六月久久| 中文AV网| 五月天色丁香| 丁香五月狠狠在线观看| 1024你懂的欧美曰韩| 九九精品碰| 亚洲AV无码成人精品电影| 性爱111111| 婷婷大香焦| 97色综合| 在线日韩视频| 91人妻视频| 99免费热视频| 9久热| 操91| 午夜色丁香| 99热全是精品| 五月天婷亚洲天综合网综合| 五月激情综合美女久久| 亚洲成人影视在线观看| 久久99热网| 碰碰碰97国产| 五月丁香无码| 噜噜噜噜噜色| 色五月激情五月开心五月| 五月天激情四射| 99性爱| 狠狠爱成人综合网| 9 1超碰九色| 色一区高清| 婷婷激情鹿城五月天| SESE无码AV| 成人色五婷婷| 内射 无码 伊人| 综合九九久久| 26uuu国产精品| 五月丁香六月激情欧美综合| 精品无码久久久久久久久| 人妻熟女一区二区AV| AV大片在线观看| 激情中文在线| 思思久久99热只有频精品66| 五月激情站| 伊人在线视频| 天天爽夜夜爽夜夜爽精品| 五月情四婷婷| 婷婷激情综合网| 国产成人精品亚洲线观看| 久久综合55| 久久婷婷五月天激情四射| 五月天国产成人| 天天搞天天色综合| 色婷婷yy久| 久久性爱视频这里只有精品| 人人播| 激情五月天。| 亚洲激情淫网| 99热久| 色色图五月天| 五月天婷婷导航| 婷婷激情六月视频| 色综合9| 91九九| 婷婷五月天色综合| 影音先锋91在线资源站| 激情婷婷人妻| 538在线精品| 操操熟女| 亚洲99热| 五月丁香综合网| 99热这只有| 超碰男人色| 日本久久色| 亚洲激情免费久久| 伊人五月天| 色婷av| 99.色| 天天搞天天爽| 天天肏屄夜夜爽| 91九色在线视频| 91av成人| 天天日夜夜拍| 九九久久高清| 婷婷五月色惰| 色婷婷综合久久久久| 丁香五月乱中文字幕| 久久激情网| 91要啪| 色色COm| 一本大道伊人AV久久综合| WWW久久久| 丁香六月欧美| 99人人操人人操人人精| 欧美色色色色色色色| 久久久久人无码人妻| 久久三级视频| 久色视频首页| 激情五月天久久| 丁香婷婷六月激情| 久久亭亭电影| 激情人妻综合| 日韩婷婷五月| 激情内射人妻1区2区3区| 大功率国产在线| 婷婷的久久网站| 大香蕉婷婷五月| 久久久无码精品成人A片小说| 成人在线免费网址| 91碰超| 久久五月天色婷婷| 久久精品人妻| 亚州日本欧州韩美高青高潮一| 婷婷综合五月| 久久婷婷婷婷伊人| 久久一级免费黄色片| 五月丁香婷爱在线| 操日视频| 少妇性按摩无码中文A片| 丁香五月天在线视频| 亚洲五月婷婷| 日日操日日撸| 国产五月丁香在线| 亚洲人成网站999久久久综合| 这里精品| 日韩色色色色色| 综合网色| 色香欲综合| 五月香蕉婷婷| 亚洲深喉AV| 91精品国产综合久久密臀 | 久久久av久av久片一区二区| 免费观看的婷婷五月视频在线| 日本99婷婷| 五月精品| 六月丁香婷婷开心综合基地| 亚洲六月婷婷| 3p九色在线| 66色在线日韩| 国产淫熟妇| 九九在线91| 97人人看| 久久久精品色色色| 色婷丁香五月| 婷婷激情六月综合| 综合福利网| 五月丁香色综合| 婷婷五月天视| 久久久99视频| 九月婷婷激情久久| 最近中文字幕在线中文视频| 久久99婷婷| 色色色综合视频| 色综啪啪| 成人国产欧美大片一区| 色综合久久天天综合网| 婷婷 月 丁香| 人人射av| 99热日韩这里只有精品| 天天综合网91| 五月丁香亭亭AV女优| 精品五月天| 国产精品蜜臀99| 久热黄色| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 亚洲一色色色色色色色色| 亚州第一黄网| 少妇伦子伦精品无吗| 亚洲国产网站| 成人国产欧美大片一区| 99这里都是精品6| 丁香婷婷色五月合集| 色色色99| 99久在线观看| 精品99在线| 丁香五月婷婷社区| 色色五月婷婷网| 996热| 99亚洲无码| 婷婷五月天少妇| 天天射天天干天插色综合| 超PEN精品在线| 五月丁香综合激情| 五月丁香六月情| 婷婷在线视频| 9l视频自拍9l九色9l成人| 色5月婷婷| 国产婷婷综合| 丁香五月天激情小说| 色色丁香| 欧美日本综合网| 激情亚洲婷婷| 99热综合在线| 欧美99热| 婷婷亚洲综合| 五月婷婷激情综合| 色色色色色色网站| 色五月激情五月开心五月| 荷兰av一级| 啪啪小说五月天| 婷婷无码视频| 色五月综合在线| 人人看人人摸人人| 日日夜夜天天综合| 色五月 五月婷婷| 可以看的AV| 五月丁香在线综合| 成人综合视频在线| AV九九| 五月天精品视频| 五月丁香久久综合| 五月婷婷之综合激情| 久色激情| www.9797国产| 日韩aaaaa| 99色在线观看| 天天色爽| 天天在线久久综合 | 91精品在线看| 91久久婷婷| av色婷婷| 色五月婷婷五月| 五月天婷婷无码| 亚州色色色| 九月婷婷久久| 久热re视频在线观看网站| 丁香五月狠狠在线观看| 婷婷色片| 久久99久久99久久99人受| 九九热这里只有精品首页| 天天综合网、天天综合色| 99久久99九九九99九他书对| 九九热在视频| 99精品福利视频| 婷婷五月天小说网| 婷婷五月成人| 亚韩精品视频1区| 先锋av性爱成人电影| 激情小说五月天中文字幕| 五月丁激情| 色五月婷婷内射| 九热免费视频| 婷婷丁香社区| 久久婷婷综合国产| 婷婷丁香午夜综合影视| 色色色无码| 天天干天天干天天干天天干天| 婷婷色五月婷| 九九热精品在线| 成人AV在线中文版| 欧洲亚洲免费视频9| 精品婷婷五| 丁香五月天的网址。| 日婷婷| 另类视频一区| 国产毛片操B| 97婷婷在线| 丁香五月婷婷狠狠色| 五月天四色房丁香| 色五月琪琪| 成熟妇人A片免费看网站| 99热久草| 99色婷婷视频| 五月丁香综合精品欧美| 九九RE视频在线精品| 99成人精品| 久久99热免费最新版| 这里只有精品免费| 色综合色色色色| 岛国资源网| 婷婷五月色情| 九月色婷婷综合亚洲| 日韩欧美一级大黄网站| 五月综合婷婷五月| 一级内射毛片| jiujiu无码五区| 五月天精品| 国产成人片| 婷婷婷久久久| 五月婷婷激情综合网| 丁香五月性爱| 五月天激情黄色小说在线观看| 婷婷六月激情在线视频| 北京熟妇搡BBBB搡BBBB| 四色综合网| 色五月AV| www.91AV.COM| 思思国产99| 久久激情五月| 狠狠色婷婷| 丁香六月婷婷操逼网| 亚州操逼网| 亚洲人妻一区二区| 超pen个人视频97| 99热啪啪| 人妻久久久久久久 | 午夜九九电影| 丁香五月婷婷啪啪| 亚洲天堂亚洲色色色| pom538精品视频| 婷婷99狠| 色综合久久久久久久久五月| 欧美情色一区| 五月综合影院| 大香蕉在九| 久久精品国产色| 97人人干人人操| 激情视频综合| 婷婷色五月激情| 六月婷婷啪啪| 色婷婷丁香| 玖玖婷婷色五月| 丁香五月婷中字幕| 国产免费一区二区三区三州老师F1F1.CC | 99精色| 97精品人人A片免费看| WWW.夜夜操.com| 五月天婷婷基地| www.com色播五月天| 丁香婷婷六月在线资源观看| 婷婷日韩| 天天综合精品| 97干网站| 婷婷综合| 99视频精品8| 日日躁夜夜躁狠狠久久AV| 97丁香花五月天激情小说| 人人爽天天爽| 蜜乳.comcom| 狠狠精品干练久久久无码中文字幕| 2020久久婷婷五月| 久久99草五月婷婷| 九九精彩久久| 激情综合色| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 日本激情五月天‘| www.激情com| 思思99久久| 九九人人操| 亚洲午夜av| 另类丁香五月天区图| 三级毛片视频| 天天日,天天插| 精品久久久人妻| 激情涩涩网| 精品亚洲国产成AV人片传媒| 欧美人妻一区二区| 色婷婷久久| 精品无码久久久久久久久| 久久精品永久免费| 欧美99视频| 亚洲激情四射| 99性爱视频网站| 婷婷久久五月天丁香| 99热激情| 97色色色色色| 久久综合这里只有精品1| 黄色视频网站在线播放| 欧美99热| 五月天久久www| 色色色色色色色色色色色色色97| 五月综合激情| 色激情五月| 狠狠做五月| 丁香婷婷欧美综合| 天天色播| 天天干天天日天天操| 欧美色婷婷| 99色在线观看视频者| 人人综合久| 婷婷五月AA五月在线| www.久9| 99热这里只有精品9| 深情五月天| 婷婷六月丁香在线| www.综合久久.com| 久777| 日韩亚洲视频| 狠狠干五月天| 婷婷黄色五月天在线视频| 日韩精品无码AV| 色五月播五月| 丁香五月另类色婷婷麻豆| 国产VA亚洲VA96| 视频综合网| 伊人久久大香天蕉亚洲特级| XX色综合| 欧美日韩999| 婷婷五月成人| 五月丁香激情婷婷| 五月激情综合婷婷| 亚洲五月天,激情视频| 97色碰碰公开视频| 91av传媒高清在线视频网| 日本啪啪天堂| 久久这里只| 六月亚洲婷婷6月中文字幕| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 狠狠夜夜五月丁香| 开心五月综合激情网| 97碰精品| 久久大国产香蕉| 最新高清无码专区| 日本精品久久久久中文字幕| 五月天大香蕉| 超碰人人在线| 99视频内射三四| 香蕉婷婷色五月| 亚洲精品激情| www.深爱激情| 热思思| 热久久99热欧美国产亚洲| 激情亚洲五月| 热热久久久久久久久| 99精品久久久| 欧洲亚洲精品| 日韩成人无码人妻| 97AV在线视频| 丁香五月成人| 夜夜做夜夜愛| 丁香五月婷婷色综合| 日韩国产在线精品| 久久九网| 综合色色网| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 国产欧美日韩综合精品一区二区| 99精色| 婷婷九月在线| 色色五月丁香婷婷| 欧美色五月| 丁香六月婷婷久久综合| 图片区 小说区 区 亚洲五月| 99精品网| 果冻传媒A片一二三区| 碰超亚洲| 91chinese 在线| 99热在线精品播放| 9久精品视频| 97在线碰| 五月天亚洲最大成人| 色婷婷激情小说网| 婷婷中文字暮| 色婷婷视频| 99热免费| 亚洲九九99精品视频在线播放| 六月丁香AV| 色婷婷888| 精品五月视频婷婷在线观看| 思思re视频在线| 天天综合影院| 久久久久婷婷| 久久精品国产AV一区二区三区 | 色五月婷婷在线观看第一页舔| 中国无码av| 色婷婷第四色| 色噜噜综合网| 五月婷婷影视| 超碰猛烈的性猛交| 高清资源站日A美A欧亚…| 丁香五月停停av| 丁香色综合| 99热这里只有精品10| 99这里只有精品在线| 深爱激情丁香| 久久 无毛。| 大香蕉久久| 久久99热精品a片在线观看| 天天五月天综合网址| 久久多色| 五月黄色婷婷| 九九热这里精品| 久久婷婷五月天蜜桃| 成人精品在线| 色婷婷色丁香色欲av| 五月色色网| 婷婷五月天激情综合| 色婷婷色99国产综合精品| 超碰99热| 亚洲无码成人网| 成人婷婷深爱综合网| 色婷婷久久综合中文久久一本| 激情五月婷| www.色情五月天.com| 丁香五月婷婷啪| 色色亚洲五月天| 五月天激情国产综合婷婷婷| 玖玖99免费视频| 99综合免费视频| 天天爱天天做天天操| 色色色五月天激情资源| 伊人五月人妻精品| 久久婷婷亚洲| 九九综合伊人| 婷婷五月天国产| 中字幕视频在线永久在线观看免费 | 最新AV在线观看| 五月丁香拍拍激情综合| 欧美久久婷婷| 色五月婷婷91| 舔色婷婷| 偷拍九九热| wwccc久久久| 99久热这里只有精品| 狠狠色噜噜狠狠亚洲A∨| 久久五月人人摸| 婷婷性爱网| 五月激情婷婷四射| 丁香六月五月婷婷| 丁香五月婷婷天激情| 99热永久在线观看| 五月天另类激情在线| 高清国产AV| 少妇口诉沐足视频播放器网址| 久热91| 69精品人妻不卡视频| 婷婷五月天综合蜜桃| 婷婷五月天成人| 色情五月婷婷| 大香蕉五月丁香| 五月婷婷六月丁香首页| 婷婷五月天开心网| 一级黄色操B| 这里只有精品视频在线看| 欧美成人AAA片一区国产精品| 四虎婷婷五月天| 亚洲国产精品二二三三区| 六月丁香激情综合网| 啪啪一区| 爆乳熟妇一区二区三区爆乳照片| 久久总和99| 色综合天堂| 香蕉操亚洲| www久久艹| 五月婷婷偷拍| 2015好吊操| 色五月丁香五月| 在线色五月婷婷| 久久精品A片777777| 日韩av干| 色五月开心久久网| 午夜爱爱网站| 91精品91久久久中77777| 婷婷丁香五月亚洲| 午夜九九电影| 久久久久久久久久婷婷| www.henhenl| 婷婷丁香五月麻豆| 深爱激情六月天| 深爱五月激情综合| 色www99| 来吧亚洲综合网| 日本婷婷五月天| 日本色色网站| 人妻久久久久久| 婷婷丁香人妻| 国产在线视频1234| 五月丁香五月综合欧美| 丁香五月 六月婷婷首页| 91人无码久久久久久| 五月丁香综合啪啪| 99色看| 婷婷久久婷婷| 五月天婷婷久久| 中文字幕婷婷五月天在线观看| 久久综合色五月| 九月婷婷久久| 五月天婷婷在线播放| 色999;丁香五月| 黄色中文字目| 99在线播放视频| 五月综亚洲| 丁香五月性爱爱五月| 色色色图| 五月开心深爱激情网| 99热9999| 色综合77777| 国产成人av在线播放| 中文不卡一二三区| 日本三级中国三级99| 影音先锋秋秋五月婷婷| 久久人人妻| 婷婷婷婷色| 美女天天久久| 精品99在线看| 婷婷综合中文字幕| 丁香五月综合| 色婷婷综合亚洲| 五月WWW| 亚洲综合在线伊人婷| 九九热99在线视频| 亚洲亚洲人成综合网络| 五月天综合婷婷| 狠狠xx| 热久久思思热思思| 久久久五月五丁香| 亲子乱av一区二区三区的| 人妻无码精品一区| 五月花婷婷| 久热只有这里精品| 色色成人網| 丁香婷婷五月综合| 久久久久久9热不雅视频| 婷婷丁香成人| 91啪啪视频| 一月婷婷色色| 99热免费在线| 99在线视频在线观看| 日本色色色| 五月婷婷综合色啪首页| 9久热精品在线视频| 色播五月网| 在线观看免费狠狠色丁香香综合| 天天做天天爱天天玩夜夜爽| 午夜精品777| 九九视频精品这里只有| 九九热超碰| 99热99极品观看| 成人视频在线免费播放| 久久婷中文字幕| 婷婷狠狠爱| 国产精品涩涩涩视频网站| 婷婷射丁香| 丁香五月成人av| 99青青草| WWW,婷婷,COM| 99热66| 日本婷婷| 五月天天综合| 9久久婷婷国产综合精品性色| 思思热精品在线| 26uuu最新地址| 丁香狠狠色婷婷久久无码视频| 99视频地址| 五月花综合网| 婷婷五月激情六月丁香| 欧美性色A片免费免费观看的| 亚洲色网址| 五月丁香六月在线| 免费观看全黄做爰的视频| 色婷婷99| 婷婷大香焦| 伊人99久久| 丁香五月激情五月| 久久狠婷婷| 国产五月天婷婷| 丁香五月性| 99er这里只有精品| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 97日本操| 91日综合欧美| 超碰在线观看9| 婷婷色网站| 美女100%露全身无挡网站| 亚洲99视频| 久久婷婷激情视频| 狠狠干狠狠色| 日本人妻伦在线中文字幕| 国产精产国品一二三在观看| 欧美激情 日韩无码 婷婷 五月天| 伊人大香久久| 91成人电影| 色情五月丁香婷婷网| 无码激情精品色婷婷久久久久| 色性日本| 91精品婷婷国产综合久久| 97色色网| 婷婷五月天你懂的| site:pzdcoin.com| 天天干天天操天天拍| 婷婷五月天激情小说| 日日夜夜天天| 大香蕉九九操| bbwcuckold精品熟妇| 一本综合丁香日日狠狠色| 亚洲va在线∨a天堂va欧美va| 色色色色av色色色色| 91se在线视频| 久久婷婷五月综合色区| 久久久com| 丁香六月无码| 狼人狠狠操| 大香蕉220| 色色五月婷婷久久| 婷婷丁香五月激情图片| 色五月天丁香婷婷| 9色资源在线| 99色中文| 五月天激情啪啪| 久久激情网| 蜜乳AV成人| 久久这里只有精彩| 丁香五月色| 亚洲精品国产熟女久久久| 婷婷色吧| 99色在线观看视频| 日韩啪啪网| 免费婷婷| 久热这里只有精品6| 国产毛多水多女人A片| 狠狠色噜噜狠狠| 欧美英丁香开心快乐六月天网| 91ncom.色| 大香伊人婷婷影院| 狠狠色情婷婷| 免费观看的av| 噜噜干日本| 综合婷婷都市激情| 综合网精品99| 久热中文字幕在线线观看 | 欧美婷婷五月激情| 九九激情网| 一操久久| 曰韩五月丁香色婷婷无码| 亚洲中文字幕AV| 狠狠做深爱婷婷久久综合一区| BBWCUCKOLD精品熟妇| 久久久18| 91狠狠色丁香婷婷综合久久| 九九九九九九毛片| 丁香五月六月婷婷怡红院| 成AV人片一区二区三区久久| 大香蕉综合网| 五月花激情| 精品久久9| 五月婷婷五月色| 色97啪啪| 婷婷六月激情| 国内在线99视频| 亚洲激情免费视频| 丁香婷婷综合激情五月色| 色五月丁香五月五月婷婷| 日韩成人av在线| 超碰男人色| 丁香五月激情五月| 激情五月婷黄版| 停停五月丁香| www.久久9| 日日操日日撸| 色五月婷婷综合| 26uuu精品一区二区| 色综合中文色综合网| 色婷婷五月天在线观看| 涩九九九九| 综合五月丁香六月婷婷| 任你日热视频| 色婷婷偷拍| 中文色婷婷| 久久99网| 激情婷婷五月天网址| 日韩视频99| 夜夜躁狠狠| 亚洲情综合五月天| 九九精品在线观看视频6| 99玖玖视频| 激情五月色婷婷| 狠狠香蕉| 人与禽A片啪啪| 丁香六月激情网C0W| www.sebowuyue| 久久五月视频| 久热这里这里有精品| 色综合99无码| 性色天| 九九99精品视频在线观看| 九九视频这里只有精品| 激情99热| 99久99久| 激情五月,色播五月| 亚洲AV第二区国产精品| 色播五月婷婷| 婷婷丁香五月噜噜噜| 婷婷丁香五月基地| 另类视频五月天| 六月丁香五月激情网| 操操综合网婷婷| 亚洲婷婷五月天| 婷婷丁香社区网| 色五月婷婷7777| 五月天天天天天天天天天天天婷婷婷| 成人网站在线观看视频| 欧美日本免费一道免费视频 | 国产精品久久久久久妇女6080| 亚洲六月色| www超碰| 国产成人网址| 久久久精品人妻| 五月天天天综合| 狠狠 久久| 色综合伊人网| 激情五月天激情综合网| 色啪网| 色狠狠婷婷| 站长推荐无码播放| 五月天激情AV| 色色网站免费在线视频| 激情六月丁香综合| 欧美婷婷九月| 九九AV| 久久婷婷综合网| 婷婷五月天免费| 五月天婷婷基地| 人人草碰| 无码激情AAAAA片-区区| 天天操无码| 亚洲丁香网| 亚洲精久久| 久久9999| 99热10在线高清播放| 日日夜夜天天| 五月丁香六月婷婷不卡免费无码 | 久久人妻伦理| 亚洲婷婷五月草久| 91玖玖| 玖玖五月丁香| 内射 无码 伊人| 五月丁香啪啪| 六月婷婷综合激情| 婷婷丁香激情综合色情| 色丁香在线视频| 亚洲激情网| 婷婷的色色五月天| 日本在线视频看se99| 色噜噜狠狠色综无码久久合欧美| 九九热在线视频| 五月丁香综合影院| 欧美成人性爱网| 久热中文字幕在线线观看| 91人人网| 亚洲成人无码片| 亚洲激情四射色| 国产暴力强伦轩1区二区小说| 狠狠综合| 91一起操| 成人av中文字幕| 丁香五月91| 大天天伊人| 久久99激情| 五月天丁香| 亚洲第一第二网站| 牛牛碰免费| 久噜久噜| 天天成人综合视频| 久久在线人妻| 色青青视频| www狠狠| 99在线看片| 成人中文网| 日本不卡高字幕在线2019| 99热主页日本| 99热大香蕉| 久久免费操| 久热黄色| 久久丁香| 五月丁香影院| 色五月婷婷五月| 99精品性爱| 999婷婷综合| 色五月综合激情| 99久久激情视频| 99热这里是精品| 天堂综合久久| 久久人人看| 天天日天天爽| 超91热| 中文字幕婷婷在线| 色香久久| 9久久精品| 久久五月天精品视频| 丁香婷婷丁香五月欧美人| 色亚洲婷婷| 思思久久99热只有频精品66| 大香蕉久久婷婷| 99综合久久| 中文字幕无码人妻少妇免费视频| 国产一级视频a| 婷婷六月天| 97超级碰| av在线中文| 婷婷欧美偷拍综合| 色五月综合网| 五月激情综合深爱| 婷婷五月天天爽| 99热在线观看免费精品| 超91热| av在线播放网址| 六月丁香婷婷亚洲中文玖玖| 婷婷五月天偷拍| 五月婷婷综合丁香视频| 120分钟婬片免费看| 五月天婷婷成人网| 97婷婷五月丁香| 色婷婷88| AⅤ色区| 婷婷五月花| 九热视频| 婷婷色在线播放| 久久五月人人摸| 99久久性爱| 丁香五月社区| 91seAV| 久久久久久久综合狠狠综合| 亚洲第一成人无码A片| 丁香久久激情俄| 欧美日本VA| 这里只有精品在线视频在线观看| www.色五月| 中文字幕av网站| 99久久99九九99九九九| 区区欧美你爱| 中文字幕黄色片| 中文AV网站| 亚洲欧洲另类| 激情婷婷五月社区| 狠狠穞A片一區二區三區| 99久久精品亚洲综合| 蜜乳9188| 自拍偷窥99热| 91高潮喷水久久久久久久久 | 色色色五月婷| 婷婷丁香成人网址| 操碰97| www99精品亚| 国产精品在线视频| 精品激情| 光棍影院日韩精品| 国精产品一区二区三区| 五月天另类视频| 91凹凸在线| 开心婷婷五月中文字幕组| 另类少妇人与禽zOZZ0性伦| 26uuu丁香婷婷五月| 天天色官网| 亚洲综合在线视频| 97婷婷狠狠| 九九热精品视频在线观看| 2050人人操免费工开爱 | 婷香五月网在线| 综合色影| 丁香五月婷婷少妇| 婷婷狠狠五月综合| 久/久精品99看9| Av九九| 国产精品色色| 婷婷五月丁香综合瑟瑟| 久久狠色噜噜狠狠狠狠97| 久久99久久99精品免观看粉嫩| 9热在线视频精品| 五月婷婷久草在线视频综合| 丁香婷婷九月在线| 久久丁香五月婷婷激情综合网| 五月丁香婷婷在线| 91丨九色熟女丨首页| se99视频| 丁香伍月婷电影全集| www.sd-xiangsu.cpm| 日韩成人精品中文字幕| 六月丁香停| 91九色熟女| 99色精品| www.91.com黄| 色婷婷瘦婷婷日韩| 色色色婷| 九九色色色| 五月丁香成年黄色| 婷婷五月天精品| 日日操夜夜爽| 日韩在线成人电影| 五月婷婷综合视频| 久久九九色| 婷婷五月丁香99| 五月天 无码| 97操| 成人在线视频一区| 中文字幕丰满人妻无码专区| 五月丁香六月激情| 99久扒热| 五夜婷婷| 99热国品免费| 久久久久9999| 深爱激情五月天色婷婷| 五月天激情小说| 五月天色综合服务平台| 中文字幕不卡网站| 天天草天天摸| 久久多色| www.狠狠操| 国产免费一区二区三区三州老师F1F1.CC | 久久亚洲无码| 久久9视频欧美| 久久黄色免费视频| 日韩人妻AV在线| 五月天婷婷7米| 亚洲第一成人无码A片| 久久XX| 另类综合网| 久久久五月天网站| 26UUU欧美| 丁香成人综合| 青青草婷婷久久| 色婷婷97| 丁香五月色| 大伊香蕉精品视频在线| 色婷婷久综合久久一本国产AV| 色www.con| 很很操很很操| av操B网站| 天天爽天天日天天舔| 精品99在线| 激情五月天婷婷| 色婷婷六月丁香综合欲精品| 热久国产| 538在线精品| WWW.色婷婷.COM| 色婷婷色情| 五月婷婷欲色| 97亚洲精品| 桔色成人在线| www.超碰| 刘玥av在线| 毛片蕉地一二| 久久9久| 五月婷婷在线免费观看| 99在线看视频| 九九精品在线网| 中文字幕无码人妻少妇免费视频| 人妻射精AV| 亚洲午夜视频| 任我鲁这里有精品视频| 五月丁香香蕉| 另类天堂| 久久这里都是精品免费| 久久免片| av第一二区| 97精品综合久久| 五月花综合视频| 91干视频| av五月丁香| 思思热在线视频精品| 久久综合五月天| 丁香六月激情综合| 亚洲精品第一国产综合亚AV| 综合色色婷婷| 丁香婷婷五月基地| 国产1区2区3区在线观| av一区二区电影免费在线观看| 天天爽人人综合免费7799| 亚洲狠狠干| 五六月婷婷| 九色PORNY自拍成人精彩视频| 99精品偷自拍| 婷婷五月天久久| av人人干| 99精品7| 激情婷婷综合| 伊人网碰碰| 婷婷九色| 久久九九Com| 日本久久婷| 91五月花丁香| 欧美大肥婆大肥BBBBB| 日日噜狠狠| 亚洲视频五区| 婷婷五月激情视频在线| 99热青青草原| 色色啊| 久热91| 婷婷久草| 婷婷射丁香| www.色五月.com| 国产人妻人伦精品一区二区| 亚洲国产99| 婷婷在线免费| 色婷久九| 生活片五区| 婷婷五月色情| 激情五月丁香亭亭| 五月开心深爱激情网| 婷婷深爱网| 天天舔天天插天天干| 天天操天天操天天操| 蜜臀av无码久久久久久久久| 亚洲国产精品五月天| 91疯狂操操操操| 亚洲另类av| 国产色视频网站2| 99丝袜精品视频网站| 色婷婷丁香AV综合| 91精选国| 日本天堂网站99| 天堂呦 呦百度搜索-百度搜索| 五月天色图| 婷婷五月天小说网| 五月丁香激情综合网| 色色色综合网| 丁香五月激情图片婷婷| 激情婷婷五月丁香啪啪啪| 天堂久久丁香| 日韩欧美成人一区二区三区| 变态 另类 在线 | 国产激情婷婷| 超碰资源在线| 五月丁香啪啪激情| 色播五月丁香| 99热免费观看| 久久精品国产一区二区三区四区 | www99精品日韩| 五月九九综合| 99热丁香| 五月丁香婷婷色色| 婷婷五月影院| 操笔无码| 亚洲久热无码| 五月婷婷开心五月| 激情无码网| 26uuu最新地址| 国产毛片精品一区二区色欲黄A片| 成人国产欧美大片一区| 九色亚洲| 五月丁香五月丁香五月丁香五月丁香91| www,超碰| 第四色五月激情网| 99久久综合精品五月天| 五月天久久网站| 久久久婷| 丁香五月停停av| 九九精品综合| 亚州激情在线视频| 99久久久| 色婷五月天| 色五月综合激情网| 日韩AC在线免费观看| 中文字幕性爱视频| 婷婷99狠狠躁天天躁中文| www99热| 欧美综合激情五月天| 丁香婷婷激情| 亚洲无AV在线中文字幕| 激情五月瑟瑟| 九九亚洲视频| 五月天激情电影| 婷婷精品在线| 97操操网| 国产av影片| 狠狠狠五月婷婷六月丁香| 丁香五月天激情小说| 九色视频91| 成人精品网站在线观看| 丁香五月天堂网| 思思热高清在线观看| 色播五月| 99re久热| 99热久只有| 天天色天天日天天舔| 99re久久| 久久日九九| 婷婷开心综合人妻小说网址| 五月天丁香久久| 99人妻碰碰久久久禁片| 99精品在线| 五月婷婷之综合激情| 欧美成人一区二区三区在线视频 | www色五月| 色色 9| 欧美大片| 久热中文字幕| 色情综合网| 国产精品一区在线观看你懂的| av操一操| 成人AV综合在线| 婷婷5月天av| 色情五月停停丁香| 色综合激情| 欧美性交一区二区三区| 99热免费精品热久久66| 成人网在线视频| 99ri视频在线观看| www.五月天性.com| 五月天综合久久| 99人人干人人| 婷婷夜夜操| 九热网站| 婷婷天天综合| 色五月首页| 97在线刺激| 五月婷婷影| 亚洲综合欧美色丁香婷婷888月图片| 天天色综合色色色色色。| 99re免费精品视频| 亚洲精品视频电影| 亚洲激情婷婷| JlZZJlZZ8JlZZ亚洲熟女| 成人网丁香五月| 色色操| 激情深爱综合| 99在线精品观看99| 九九十99视频| 六月份天丁香婷婷| 色五月大| 婷婷网五月天| www.九月婷婷丁香.com| 天天xxxxxx天天日| 婷婷色资源| 婷婷激情丁香六月| 潘金莲AAAAAAAAAA| 九九99视频|