日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

是单片机高手还是菜鸟?看看你的程序框架就知道了

發布時間:2023/12/19 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 是单片机高手还是菜鸟?看看你的程序框架就知道了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“大魚機器人”,選擇“置頂/星標公眾號”

福利干貨,第一時間送達!

從大學參加電子設計大賽到現在,在單片機學習的道路上也有幾年的摸索了,把自己的一些心得體會分享給大家。

初學單片機時,往往都會糾結于其各個模塊功能的應用,如串口(232,485)對各種功能IC的控制,電機控制PWM,中斷應用,定時器應用,人機界面應用,CAN總線等. 這是一個學習過程中必需的階段,是基本功。很慶幸,在參加電子設計大賽賽前培訓時,MCU周圍的控制都訓練的很扎實。經過這個階段后,后來接觸不同的MCU就會發現,都大同小異,各有各的優勢而已,學任何一種新的MCU都很容易入手包括一些復雜的處理器。而且對MCU的編程控制會提升一個高度概況——就是對各種外圍進行控制(如果是對復雜算法的運算就會用DSP了),而外圍與MCU的通信方式一般也就幾種時序:IIC,SPI,intel8080,M6800。這樣看來MCU周圍的編程就是一個很簡單的東西了。


然而這只是嵌入式開發中的一點皮毛而已,在接觸過多種MCU,接觸過復雜設計要求,跑過操作系統等等后,我們在回到單片機的裸機開發時,就不知不覺的就會考慮到整個程序設計的架構問題;一個好的程序架構,是一個有經驗的工程師和一個初學者的分水嶺。


以下是我對單片機程序框架以及開發中一些常用部分的認識總結:


任何對時間要求苛刻的需求都是我們的敵人,在必要的時候我們只有增加硬件成本來消滅它;比如你要8個數碼管來顯示,我們在沒有相關的硬件支持的時候必須用MCU以動態掃描的方式來使其工作良好;而動態掃描將或多或少的阻止了MCU處理其他的事情。在MCU負擔很重的場合,我會選擇選用一個類似max8279外圍ic來解決這個困擾;


然而慶幸的是,有著許多不是對時間要求苛刻的事情:


例如鍵盤的掃描,人們敲擊鍵盤的速率是有限的,我們無需實時掃描著鍵盤,甚至可以每隔幾十ms才去掃描一下;然而這個幾十ms的間隔,我們的MCU還可以完成許多的事情;


單片機雖然是裸機奔跑,但是往往現實的需要決定了我們必須跑出操作系統的姿態——多任務程序;


比如一個常用的情況有4個任務:

1 鍵盤掃描;
2 led數碼管顯示;
3 串口數據需要接受和處理;
4 串口需要發送數據;


如何來構架這個單片機的程序將是我們的重點;

讀書時代的我會把鍵盤掃描用查詢的方式放在主循環中,而串口接收數據用中斷,在中斷服務函數中組成相應的幀格式后置位相應的標志位,在主函數的循環中進行數據的處理,串口發送數據以及led的顯示也放在主循環中;

這樣整個程序就以標志變量的通信方式,相互配合的在主循環和后臺中斷中執行;
然而必須指出其不妥之處:
每個任務的時間片可能過長,這將導致程序的實時性能差。如果以這樣的方式在多加幾個任務,使得一個循環的時間過長,可能鍵盤掃描將很不靈敏。所以若要建立一個良好的通用編程模型,我們必須想辦法,消去每個任務中費時間的部分以及把每個任務再次分解;下面來細談每個任務的具體措施:

1 鍵盤掃描


鍵盤掃描是單片機的常用函數,以下指出常用的鍵盤掃描程序中,嚴重阻礙系統實時性能的地方;
眾所周知,一個鍵按下之后的波形是這樣的(假定低有效):


在有鍵按下后,數據線上的信號出現一段時間的抖動,然后為低,然后當按鍵釋放時,信號抖動一段時間后變高。當然,在數據線為低或者為高的過程中,都有可能出現一些很窄的干擾信號。

unsigned char kbscan(void)
{
unsigned char sccode,recode;
P2=0xf8;?
if ((P2&0xf8)!=0xf8)?
{
delay(100); //延時20ms去抖--------這里太費時了,很糟糕?
if((P2&0xf8)!=0xf8)?
{
sccode=0xfe;?
while((sccode&0x08)!=0)?
{
P2=sccode;?
if ((P2&0xf8)!=0xf8)?
break;
sccode=(sccode<<1)|0x01;
}?
recode=(P2&0xf8)|0x0f;?
return(sccode&recode);?
}?
}
return (KEY_NONE);
}


鍵盤掃描是需要軟件去抖的,這沒有爭議,然而該函數中用軟件延時來去抖(ms級別的延時),這是一個維持系統實時性能的一個大忌諱;


一般還有一個判斷按鍵釋放的代碼:

While( kbscan() != KEY_NONE)
; //死循環等待


這樣很糟糕,如果把鍵盤按下一直不放,這將導致整個系統其它的任務也不能執行,這將是個很嚴重的bug。


有人會這樣進行處理:

While(kbsan() != KEY_NONE )
{
Delay(10);
If(Num++ > 10)
Break;
}


即在一定得時間內,如果鍵盤一直按下,將作為有效鍵處理。這樣雖然不導致整個系統其它任務不能運行,但也很大程度上,削弱了系統的實時性能,因為他用了延時函數;

我們用兩種有效的方法來解決此問題:


1 在按鍵功能比較簡單的情況下,我們仍然用上面的kbscan()函數進行掃描,只是把其中去抖用的軟件延時去了,把去抖以及判斷按鍵的釋放用一個函數來處理,它不用軟件延時,而是用定時器的計時(用一般的計時也行)來完成;代碼如下

void ClearKeyFlag(void)
{
KeyDebounceFlg = 0;
KeyReleaseFlg = 0;
}

void ScanKey(void)
{
++KeyDebounceCnt;//去抖計時(這個計時也可以放在后臺定時器計時函數中處理)
KeyCode = kbscan();
if (KeyCode != KEY_NONE)
{
if (KeyDebounceFlg)//進入去抖狀態的標志位
{
if (KeyDebounceCnt > DEBOUNCE_TIME)//大于了去抖規定的時間
{
if (KeyCode == KeyOldCode)//按鍵依然存在,則返回鍵值
{
KeyDebounceFlg = 0;
KeyReleaseFlg = 1;//釋放標志
return; //Here exit with keycode
}
ClearKeyFlag(); //KeyCode != KeyOldCode,只是抖動而已
}
}else{
if (KeyReleaseFlg == 0)
{
KeyOldCode = KeyCode;
KeyDebounceFlg = 1;
KeyDebounceCnt = 0;
}else{
if (KeyCode != KeyOldCode)
ClearKeyFlag();
}
}
}else{
ClearKeyFlag();//沒有按鍵則清零標志
}
KeyCode = KEY_NONE;?
}


在按鍵情況較復雜的情況,如有長按鍵,組合鍵,連鍵等一些復雜功能的按鍵時候,我們跟傾向于用狀態機來實現鍵盤的掃描;


//

avr 單片機 中4*3掃描狀態機實現
char read_keyboard_FUN2()?
{?
static char key_state = 0, key_value, key_line,key_time;?
char key_return = No_key,i;?
switch (key_state)?
{?
case 0: //最初的狀態,進行3*4的鍵盤掃描
key_line = 0b00001000;?
for (i=1; i<=4; i++) // 掃描鍵盤?
{?
PORTD = ~key_line; // 輸出行線電平?
PORTD = ~key_line; // 必須送2次!!!(注1)?
key_value = Key_mask & PIND; // 讀列電平?
if (key_value == Key_mask)?
key_line <<= 1; // 沒有按鍵,繼續掃描?
else?
{?
key_state++; // 有按鍵,停止掃描?
break; // 轉消抖確認狀態?
}?
}?
break;?
case 1: //此狀態來判斷按鍵是不是抖動引起的
if (key_value == (Key_mask & PIND)) // 再次讀列電平,?
{
key_state++; // 轉入等待按鍵釋放狀態?
key_time=0;
}?
else?
key_state--; // 兩次列電平不同返回狀態0,(消抖處理)?
break;?
case 2: // 等待按鍵釋放狀態?
PORTD = 0b00000111; // 行線全部輸出低電平?
PORTD = 0b00000111; // 重復送一次?
if ( (Key_mask & PIND) == Key_mask)?
{
key_state=0; // 列線全部為高電平返回狀態0?
key_return= (key_line | key_value);//獲得了鍵值
}
else if(++key_time>=100)//如果長時間沒有釋放
{
key_time=0;
key_state=3;//進入連鍵狀態
key_return= (key_line | key_value);
}?
break;?
case 3://對于連鍵,每隔50ms就得到一次鍵值,windows xp 系統就是這樣做的
PORTD = 0b00000111; // 行線全部輸出低電平?
PORTD = 0b00000111; // 重復送一次?
if ( (Key_mask & PIND) == Key_mask)?
key_state=0; // 列線全部為高電平返回狀態0?
else if(++key_time>=5) //每隔50MS為一次連擊的按鍵
{
key_time=0;
key_return= (key_line | key_value);
}?
break;?
}
return key_return;?
}


以上用了4個狀態,一般的鍵盤掃描只用前面3個狀態就可以了,后面一個狀態是為增加“連鍵”功能設計的。連鍵——即如果按下某個鍵不放,則迅速的多次響應該鍵值,直到其釋放。在主循環中每隔10ms讓該鍵盤掃描函數執行一次即可;我們定其時限為10ms,當然要求并不嚴格。

2 數碼管的顯示


一般情況下我們用的八位一體的數碼管,采用動態掃描的方法來完成顯示;非常慶幸人眼在高于50hz以上的閃爍時發現不了的。所以我們在動態掃描數碼管的間隔時間是充裕的。這里我們定其時限為4ms(250HZ) ,用定時器定時為2ms,在定時中斷程序中進行掃描的顯示,每次只顯示其中的一位;當然時限也可以弄長一些,更推薦的方法是把顯示函數放入主循環中,而定時中斷中置位相應的標志位即可;

// Timer 0 比較匹配中斷服務,4ms定時?
interrupt [TIM0_COMP] void timer0_comp_isr(void)?
{?
display(); // 調用LED掃描顯示?
……………………
}
void display(void) // 8位LED數碼管動態掃描函數?
{?
PORTC = 0xff; // 這里把段選都關閉是很必要的,否則數碼管會產生拖影
PORTA = led_7[dis_buff[posit]];?
PORTC = position[posit];?
if (++posit >=8 )?
posit = 0;?
}

3 串口接收數據幀


串口接收時用中斷方式的,這無可厚非。但如果你試圖在中斷服務程序中完成一幀數據的接收就麻煩大了。永遠記住,中斷服務函數越短越好,否則影響這個程序的實時性能。一個數據幀一般包括若干個字節,我們需要判斷一幀是否完成,校驗是否正確。在這個過程中我們不能用軟件延時,更不能用死循環等待等方式;


所以我們在串口接收中斷函數中,只是把數據放置于一個緩沖隊列中。
至于組成幀,以及檢查幀的工作我們在主循環中解決,并且每次循環中我們只處理一個數據,每個字節數據的處理間隔的彈性比較大,因為我們已經緩存在了隊列里面。

/*==========================================
功能:串口發送接收的時間事件
說明:放在大循環中每10ms一次
輸出:none
輸入:none
==========================================*/
void UARTimeEvent(void)
{
if (TxTimer != 0)//發送需要等待的時間遞減
--TxTimer;
if (++RxTimer > RX_FRAME_RESET) //
RxCnt = 0; //如果接受超時(即不完整的幀或者接收一幀完成),把接收的不完整幀覆蓋
}
/*==========================================
功能:串口接收中斷
說明:接收一個數據,存入緩存
輸出:none
輸入:none
==========================================*/
interrupt [USART_RXC] void uart_rx_isr(void)
{
INT8U status,data;
status = UCSRA;
data = UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0){
RxBuf[RxBufWrIdx] = data;
if (++RxBufWrIdx == RX_BUFFER_SIZE) //接收數據于緩沖中
RxBufWrIdx = 0;?
if (++RxBufCnt == RX_BUFFER_SIZE){
RxBufCnt = 0;
//RxBufferOvf=1;
}
}
}

/*==========================================
功能:串口接收數據幀
說明:當非0輸出時,收到一幀數據
放在大循環中執行
輸出:==0:沒有數據幀
!=0:數據幀命令字
輸入:none
==========================================*/
INT8U ChkRxFrame(void)
{
INT8U dat;
INT8U cnt;
INT8U sum;
INT8U ret;
ret = RX_NULL;
if (RxBufCnt != 0){
RxTimer = 0; //清接收計數時間,UARTimeEvent()中對于接收超時做了放棄整幀數據的處理
//Display();
cnt = RxCnt;
dat = RxBuf[RxBufRdIdx]; // Get Char
if (++RxBufRdIdx == RX_BUFFER_SIZE)?
RxBufRdIdx = 0;
Cli();
--RxBufCnt;
Sei();
FrameBuf[cnt++] = dat;
if (cnt >= FRAME_LEN)// 組成一幀
{
sum = 0;
for (cnt = 0;cnt < (FRAME_LEN - 1);cnt++)
sum+= FrameBuf[cnt];
if (sum == dat)
ret = FrameBuf[0];
cnt = 0;
}
RxCnt = cnt;
}
return ret;
}


以上的代碼ChkRxFrame()可以放于串口接收數據處理函數RxProcess() 中,然后放入主循環中執行即可。以上用一個計時變量RxTimer,很微妙的解決了接收幀超時的放棄幀處理,它沒有用任何等待,而且主循環中每次只是接收一個字節數據,時間很短。

我們開始架構整個系統的框架:


我們選用一個系統不常用的TIMER來產生系統所需的系統基準節拍,這里我們選用4ms;
在meg8中我們代碼如下:

// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0x83;
// Place your code here
if ((++Time1ms & 0x03) == 0)
TimeIntFlg = 1;
}


然后我們設計一個TimeEvent()函數,來調用一些在以指定的頻率需要循環調用的函數,
比如每個4ms我們就進行喂狗以及數碼管動態掃描顯示,每隔1s我們就調用led閃爍程序,每隔20ms我們進行鍵盤掃描程序;

void TimeEvent (void)
{
if (TimeIntFlg){
TimeIntFlg = 0;
ClearWatchDog();
display(); // 在4ms事件中,調用LED掃描顯示,以及喂狗
if (++Time4ms > 5){
Time4ms = 0;
TimeEvent20ms();//在20ms事件中,我們處理鍵盤掃描read_keyboard_FUN2()?

if (++Time100ms > 10){
Time100ms = 0;
TimeEvent1Hz();// 在1s事件中,我們使工作指示燈閃爍
}?
}
UARTimeEvent();//串口的數據接收事件,在4ms事件中處理
}
}


顯然整個思路已經很清晰了,cpu需要處理的循環事件都可以根據其對于時間的要求很方便的加入該函數中。但是我們對這事件有要求:
執行速度快,簡短,不能有太長的延時等待,其所有事件一次執行時間和必須小于系統的基準時間片4ms(根據需要可以加大系統基準節拍)。

所以我們的鍵盤掃描程序,數碼管顯示程序,串口接收程序都如我先前所示。如果逼不得已需要用到較長的延時(如模擬IIc時序中用到的延時)
我們設計了這樣的延時函數:
void RunTime250Hz (INT8U delay)//此延時函數的單位為4ms(系統基準節拍)

{
while (delay){
if (TimeIntFlg){
--delay;
TimeEvent();
}
TxProcess();
RxProcess();?
}
}


我們需要延時的時間=delay*系統記住節拍4ms,此函數就確保了在延時的同時,我們其它事件(鍵盤掃描,led顯示等)也并沒有被耽誤;

好了這樣我們的主函數main()將很簡短:

Void main (voie)
{
Init_all();
while (1)
{?
TimeEvent(); //對于循環事件的處理
RxProcess(); //串口對接收的數據處理
TxProcess();// 串口發送數據處理

}
}


整體看來我們的系統就成了將近一個萬能的模版了,根據自己所選的cpu,選個定時器,在添加自己的事件函數即可,非常靈活方便實用,一般的單片機能勝任的場合,該模版都能搞定。


整個系統以全局標志作為主線,形散神不散;系統耗費比較小,只是犧牲了一個Timer而已,在資源缺乏的單片機中,非常適合;曾經看過一個網友的模版“單片機實用系統”,其以51為例子寫的,整體思路和這個差不多,不過他寫得更為規范緊湊,非常欣賞;但個人覺得代碼開銷量要大些,用慣了都一樣哦。但是由于本系統以全局標志為驅動事件,所以比較感覺比較凌亂,全局最好都做好注釋,而其要注意一些隱形的函數遞歸情況,千萬不要遞歸的太深哦(有的單片機不支持)。?

-END- 猜你喜歡(點擊下劃線即可跳轉閱讀嵌入式牛人 | 這些單片機編程思想超硬核 該不該放棄單片機,嵌入式這條路? 干貨分享:單片機編程學習攻略!最 后???若覺得文章不錯,轉發分享,也是我們繼續更新的動力。5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等!在公眾號內回復「更多資源」,即可免費獲取,期待你的關注~長按識別圖中二維碼關注

總結

以上是生活随笔為你收集整理的是单片机高手还是菜鸟?看看你的程序框架就知道了的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

在线播放视频一区 | 色婷婷伊人 | 日韩女同av| 久草www | 成人免费xyz网站 | 亚洲精品2区 | 在线看国产视频 | 九九久久影视 | 特级西西444www大胆高清无视频 | 在线观看aaa | 亚洲乱码在线 | 毛片www| 国产精品理论片在线观看 | 毛片网站观看 | 国产精品99久久久久久有的能看 | 久久久精品网站 | 国产精品久久久av久久久 | 亚洲日本国产精品 | 久久久69 | 亚洲电影久久久 | 在线激情电影 | 四虎在线永久免费观看 | 中文av在线天堂 | 国产色久 | 六月激情婷婷 | 激情视频区 | 91精品国产一区二区三区 | 91免费网 | 亚洲伊人成综合网 | 一级免费看 | 激情视频91 | 婷婷爱五月天 | 99精品在线视频观看 | 亚洲区另类春色综合小说 | 黄色毛片在线 | 国产视频精品久久 | 成人丝袜 | www色综合 | 日韩一区二区免费在线观看 | 中文在线亚洲 | 色婷婷在线观看视频 | 欧美伊人网 | 麻豆视频免费网站 | 国产午夜精品视频 | 亚洲成人精品国产 | 手机av片| 欧美一级性 | 国产一级大片免费看 | 五月天婷婷在线播放 | 精品国产综合区久久久久久 | 亚洲国内精品在线 | www.av在线播放| 国产精品嫩草在线 | 天天曰天天干 | 五月激情天 | 日韩一级电影网站 | 国产成人一区二区三区在线观看 | 精品一区二区在线观看 | 激情在线网站 | 日韩两性视频 | 91成人在线视频观看 | 超碰在线天天 | 麻豆 videos | 久久国产精品免费一区 | 色偷偷网站视频 | 黄色免费在线视频 | 亚洲精品免费视频 | 五月婷婷在线播放 | 一区二区不卡视频在线观看 | 爱干视频 | 成人av午夜 | 国产精品观看视频 | 色香蕉在线视频 | 久99精品| 亚洲天堂首页 | 一区二区三区在线观看免费视频 | 午夜精品一区二区三区免费 | 亚洲综合在线视频 | 成人午夜电影网 | 亚洲欧洲精品久久 | 97国产在线 | 99精品欧美一区二区三区 | 中文字幕高清在线 | 成人四虎 | 中文字幕在线观看2018 | av免费观看在线 | 最近中文字幕完整高清 | 国产青青青 | 一级大片在线观看 | 亚洲精品国产精品国自产在线 | 欧美激情综合网 | 日韩在线观看网站 | 天天插综合 | 超碰人人在线观看 | 精品毛片一区二区免费看 | 97人人爽人人 | 午夜精品电影 | 午夜av激情 | 日本特黄特色aaa大片免费 | 久久久久亚洲精品中文字幕 | 欧美日韩另类在线观看 | 欧美精彩视频在线观看 | 夜夜操夜夜干 | 最新精品视频在线 | 日韩 在线 | 欧美日韩在线观看一区 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 亚洲va欧美va人人爽春色影视 | 午夜视频播放 | www五月天| 99久热在线精品视频 | 久久久午夜电影 | 999久久久久| 97福利在线观看 | 免费亚洲黄色 | 日本在线观看中文字幕 | 日韩精选在线观看 | 区一区二区三区中文字幕 | 国产精品久久9 | 久久成人亚洲欧美电影 | 国产又粗又猛又黄又爽视频 | 黄色小说在线免费观看 | 99性视频| 亚洲精品高清在线 | 视频福利在线观看 | 91亚洲狠狠婷婷综合久久久 | 久草精品在线观看 | 亚洲三级在线 | 免费精品在线观看 | 色婷婷综合久久久中文字幕 | 久久免费视频4 | 91亚洲欧美激情 | 国产黄色片在线免费观看 | 九九99 | 爱射综合| 色婷婷婷 | 麻豆视频在线 | 日韩黄色av网站 | 国产一区二区电影在线观看 | 99精品视频免费全部在线 | 成人免费观看网站 | 麻豆视频免费网站 | 久久深夜福利免费观看 | 天天色天天射天天干 | 探花视频免费观看 | 少妇高潮冒白浆 | 中文字幕 国产视频 | 中文字幕在线一区观看 | 中文字幕日韩在线播放 | 91视频在线免费 | 国产成人精品亚洲日本在线观看 | 久久免费成人 | 日本韩国在线不卡 | 久久久久女教师免费一区 | 六月婷婷网 | 色91在线| 碰超在线 | 五月天六月婷婷 | 中文字幕第一页在线播放 | 国产精品女同一区二区三区久久夜 | 国产精品自产拍在线观看 | 国产欧美在线一区二区三区 | 久草在线观看 | 人人网av| 人人爱人人爽 | 日韩av网页 | 国产精品久久久久av | 欧美在线你懂的 | 国产精品久免费的黄网站 | 天天射天天拍 | 日韩免费观看一区二区 | 亚洲精品免费观看视频 | 欧美日韩免费观看一区=区三区 | 午夜精品久久久久久久99无限制 | 激情综合国产 | 国产99久久久欧美黑人 | 狠狠色综合网站久久久久久久 | 99热在线这里只有精品 | 超级碰视频| www.天堂av | 亚洲视频一级 | 久久视频中文字幕 | 爱av在线网 | 久久国产成人午夜av影院潦草 | 狠狠干狠狠色 | 国产伦理久久 | 1000部国产精品成人观看 | 成人免费在线电影 | 91精品视屏 | 国产高清久久久久 | 91久久久国产精品 | 特级毛片网站 | 中文字幕在线观看一区二区三区 | 玖玖在线视频观看 | 日韩免费一区二区 | 天天干一干 | 天天草综合网 | 日韩 在线观看 | 操处女逼 | 日韩资源在线播放 | 国产精品美| 国产精品99久久久久久小说 | 97视频在线看 | 91成人久久 | 婷婷综合视频 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 干干干操操操 | 国产精品高潮呻吟久久av无 | 国产精品成人国产乱 | 久久精品日产第一区二区三区乱码 | 久久精品波多野结衣 | 国产高清av | 国产精品毛片一区二区 | 日韩精品一区不卡 | 色偷偷88888欧美精品久久久 | 亚洲经典精品 | av在线短片 | 日本在线视频一区二区三区 | 在线日韩三级 | 日本高清dvd | 美女久久| 国产亚洲精品成人av久久影院 | 99riav1国产精品视频 | 91色蜜桃 | 91大神电影 | 成年人三级网站 | 日本不卡视频 | 又黄又爽又湿又无遮挡的在线视频 | 啪啪精品 | 九七视频在线观看 | 日日干av | 成人在线观看资源 | 亚洲aaa级| 国产精品你懂的在线观看 | 一区二区三区在线观看中文字幕 | 日韩精品欧美专区 | 久久9999久久免费精品国产 | 日韩欧美国产视频 | 91久久国产精品 | 久久亚洲成人网 | 久热av| 国产黄| 丁香国产视频 | 成年人在线播放视频 | 九九久久久久久久久激情 | 九九九九色 | 狠狠色伊人亚洲综合网站野外 | 亚洲婷婷综合色高清在线 | 婷婷五月在线视频 | 麻豆国产在线播放 | 欧美精品一区二区在线播放 | 欧美激情第28页 | 91福利国产在线观看 | 亚洲不卡123 | 中文字幕在线观看你懂的 | 国产日韩在线看 | 国产精品免费在线观看视频 | 最近中文字幕国语免费高清6 | 国产午夜精品久久久久久久久久 | 久久一区二区三区国产精品 | 在线观看免费色 | 国产日韩欧美视频 | 国产字幕在线看 | 国产亚洲精品成人av久久影院 | 中文字幕 婷婷 | 黄色大片日本免费大片 | 国产成人一区二区三区在线观看 | 97视频免费在线看 | av黄色国产 | 天天天干天天天操 | 国产在线观看午夜 | 97天天综合网 | 欧美片一区二区三区 | 欧日韩在线视频 | 国产视频在线免费观看 | 狠狠色丁香婷婷综合最新地址 | 国产在线观看你懂的 | 免费a级黄色毛片 | 国产精品久久网站 | 久久国产精品99精国产 | 麻豆久久一区二区 | 91麻豆看国产在线紧急地址 | 久久视影| 国产蜜臀av | 亚洲一区二区三区四区精品 | 91在线中字 | 久久免费av电影 | 九九日韩 | 激情电影影院 | 精品久久一区二区三区 | 中文字幕高清有码 | 在线观看精品一区 | 欧美a级在线播放 | 四虎在线视频免费观看 | 五月天亚洲激情 | 久在线观看视频 | 国产免费小视频 | 日韩成人免费电影 | 中文在线中文资源 | 久久国产麻豆 | 97超碰在线免费观看 | 亚洲波多野结衣 | 九九一级片 | 亚洲欧洲中文日韩久久av乱码 | 人人澡人人澡人人 | 婷婷国产在线 | 中文久久精品 | 国产麻豆精品在线观看 | 有码中文字幕在线观看 | 日本电影久久 | 亚洲日本国产 | 久久视频免费在线观看 | 久久久精品视频网站 | 韩日三级在线 | av网址在线播放 | 四虎成人av | 国产在线播放一区 | 成人一区在线观看 | 麻豆小视频在线观看 | 成年人黄色免费网站 | 在线观看激情av | 亚洲国产综合在线 | 一区二区三区四区五区在线视频 | 久久手机免费视频 | 91高清一区 | 美女av电影 | 亚洲精品理论 | 日韩免费成人 | 91免费视频国产 | 97超级碰碰 | 久久久国产精品视频 | 欧美日韩国产一区二区三区在线观看 | 伊人影院99 | 日日夜夜精品视频天天综合网 | 亚洲日韩中文字幕在线播放 | 欧美亚洲久久 | 久久久这里有精品 | 久久99国产精品免费 | 久久久久久久看片 | 日韩免费成人 | 涩涩网站在线观看 | 色婷婷在线观看视频 | 丁香六月网 | 黄色毛片视频免费观看中文 | 国产亚洲欧美日韩高清 | 国产3p视频 | 亚洲国产字幕 | 国产裸体无遮挡 | 五月婷婷中文 | 国产精品久久久久一区二区 | 高清国产一区 | 国产在线精品一区二区 | 久久精品视频2 | 婷婷综合伊人 | 天天射天 | 在线不卡中文字幕播放 | 五月婷影院 | 日韩在线观看网址 | 免费日韩电影 | 久久久精品影视 | 最近中文字幕国语免费高清6 | 国产97碰免费视频 | 亚洲免费精彩视频 | www久久九 | 午夜美女福利直播 | 欧美日韩在线精品一区二区 | 久久久久欧美精品999 | 四虎在线免费观看视频 | 九九免费在线观看视频 | 夜夜夜夜夜夜操 | 天天综合天天做天天综合 | 97精品国产97久久久久久粉红 | 久久9精品 | 少妇搡bbb| 在线 欧美 日韩 | 九九九九九精品 | 国产在线播放一区二区三区 | 国产成人高清在线 | 青草视频免费观看 | 亚洲码国产日韩欧美高潮在线播放 | 成人毛片一区 | 草草草影院| 久久国产电影院 | 日韩中文字幕a | 久久躁日日躁aaaaxxxx | 久久视频精品在线 | 91色一区二区三区 | 九九九毛片 | 国产视频97 | 色综合久久精品 | 一区二区三区日韩在线观看 | 国产精品人人做人人爽人人添 | 日韩字幕 | 高潮毛片无遮挡高清免费 | 成人丁香花 | 成人免费中文字幕 | 亚洲成人黄色在线观看 | 国内精品一区二区 | 国产亚洲精品日韩在线tv黄 | 国产国产人免费人成免费视频 | 99精品黄色片免费大全 | 一级黄色片在线播放 | 99精品视频免费看 | www.av小说| 一区二区三区免费播放 | 操操操av| 91中文在线 | 国产精品久久久久久久久久 | 亚洲精品国偷拍自产在线观看蜜桃 | 少妇精品久久久一区二区免费 | 日韩一级片大全 | 久久国产午夜精品理论片最新版本 | 国产99区 | 97视频网址 | 日本高清xxxx | 一区二精品 | 黄色中文字幕在线 | av中文字幕网 | 国产精品美女久久久久久网站 | 蜜臀av夜夜澡人人爽人人桃色 | 插插插色综合 | 午夜精品久久久久久久99水蜜桃 | 欧美日韩精品影院 | 久久成人免费电影 | 中文字幕日韩精品有码视频 | 又黄又刺激视频 | 亚洲爽爽网 | 日日摸日日添日日躁av | 日韩精品中文字幕久久臀 | 日韩精品高清不卡 | 色噜噜在线观看 | 成人久久毛片 | 黄污视频网站大全 | 欧美电影在线观看 | 99国产一区二区三精品乱码 | 久久综合亚洲鲁鲁五月久久 | 国产在线91在线电影 | 中文国产在线观看 | 国产精品久久久久久五月尺 | 国产丝袜制服在线 | 免费亚洲电影 | 天天操夜夜操夜夜操 | 久久久久国产精品厨房 | 大片网站久久 | 精品国产一区二区三区噜噜噜 | 免费男女网站 | 精品电影一区 | 夜夜狠狠 | 很黄很色很污的网站 | 天天操天天弄 | 亚洲精品视频播放 | 国产91在线观看 | 国产剧情在线一区 | 久久久久久久久黄色 | 亚洲国产精品电影 | 国产成人精品一区一区一区 | 国产91在线看| 国产精品露脸在线 | a级国产乱理伦片在线观看 亚洲3级 | 婷婷视频在线播放 | 国产成人久久精品一区二区三区 | 永久免费观看视频 | 激情综合五月网 | 日韩黄色在线电影 | 香蕉久草 | 日韩精品一区二区三区不卡 | 成人黄色电影在线 | 天堂av高清 | 免费毛片aaaaaa| 国产日本在线播放 | 区一区二区三区中文字幕 | 日韩欧美黄色网址 | 国内精品久久久久影院一蜜桃 | 免费av小说 | 午夜91在线| 91久久精品日日躁夜夜躁国产 | 国内小视频在线观看 | a资源在线 | 免费国产在线精品 | 国产999精品 | 99精品观看 | 久久99国产精品二区护士 | 五月婷婷黄色 | 日韩av不卡在线播放 | 91在线中字| 成人av免费在线播放 | va视频在线 | 二区三区中文字幕 | 日韩一区正在播放 | 成人欧美日韩国产 | 亚欧洲精品视频在线观看 | 久久理论影院 | 午夜影院一级 | 日韩精品观看 | 精品国产视频在线 | 黄色一级在线观看 | 国产精品成人国产乱一区 | 日韩精品一区在线播放 | 91精品视频播放 | 天天草综合 | 免费能看的黄色片 | 日韩专区视频 | 午夜精品久久 | 狠狠撸电影 | 91大神视频网站 | 天堂av在线免费观看 | 三级av免费观看 | 天天干天天拍天天操天天拍 | 91成人亚洲| 婷婷色网视频在线播放 | 亚州精品一二三区 | 国产不卡视频在线播放 | 手机看片99 | 狠狠的操你 | 久久电影中文字幕视频 | 色视频在线免费 | 国产一级片免费视频 | 中文字幕成人在线 | 国产一级黄| 丁香免费视频 | 久久久久久久久久久久国产精品 | 婷婷免费视频 | 狠狠综合久久av | 国产精品初高中精品久久 | 亚洲狠狠 | 久久桃花网 | 黄a网站 | 久久精品亚洲一区二区三区观看模式 | 久久草在线免费 | 国产69精品久久久久99 | av无限看 | 久久超碰在线 | 精品国产一区二区三区免费 | 视频二区 | 欧美日韩69 | 一性一交视频 | 色九九影院| 亚洲午夜精品一区二区三区电影院 | 国产亚洲精品v | av一级在线观看 | 久青草视频 | 国产伦理一区二区三区 | www激情com | 91探花在线 | 婷婷丁香导航 | 日韩大片免费观看 | 日韩av在线小说 | 在线91av | 欧美另类调教 | 日韩一区二区三区不卡 | 91视视频在线直接观看在线看网页在线看 | 天天摸夜夜操 | 特级西西444www高清大视频 | 欧美激情操| 久久精品视频在线免费观看 | 伊人五月天婷婷 | 免费看一及片 | 狠狠五月婷婷 | av不卡免费看 | 超碰在线公开免费 | 亚洲干视频在线观看 | 高清不卡一区二区三区 | 国产无区一区二区三麻豆 | 最近中文字幕国语免费高清6 | 丁香六月婷婷开心 | 久久精品人人做人人综合老师 | 久久综合狠狠 | 国产成人一区二区三区久久精品 | 久久国产精品视频 | 在线а√天堂中文官网 | 国产高清视频 | 99久久精品国产一区二区成人 | 日韩av电影中文字幕在线观看 | 免费欧美高清视频 | 一区二区精品在线 | 免费福利视频导航 | 久热超碰 | 在线免费av网站 | 中文字幕亚洲精品日韩 | a视频在线播放 | 日韩精品久久久久久 | 伊甸园永久入口www 99热 精品在线 | 日本aaa在线观看 | 免费av网址在线观看 | 精品视频一区在线观看 | 久久夜夜爽 | 18久久久| 97伊人网| 欧美中文字幕第一页 | 国产成人综 | 欧美日韩久久一区 | 午夜美女福利 | 99久热在线精品视频观看 | 久久久高清一区二区三区 | 色婷婷电影 | 一级片黄色片网站 | 999久久国产精品免费观看网站 | 午夜私人影院 | 黄色成人毛片 | 久久99国产精品久久99 | 中文字幕 国产精品 | 国产原创在线观看 | 国内久久看 | 欧美日韩不卡在线视频 | 久久免费国产视频 | 免费观看国产精品视频 | 国产精品在线看 | 国产不卡一二三区 | 日本一区二区免费在线观看 | 激情视频免费在线 | 亚洲精品a区 | 亚洲欧洲一区二区在线观看 | 国产青草视频在线观看 | 在线国产一区 | 国产成人精品女人久久久 | 亚洲国产精品免费 | 国产精品观看在线亚洲人成网 | 天天干天天干天天射 | 国产在线视频一区二区 | 国产一区二区三区黄 | 日韩深夜在线观看 | 99久久久精品 | 深夜福利视频在线观看 | 日日夜夜天天干 | 欧美肥妇free | 亚洲九九九在线观看 | 视频一区二区免费 | 成年人国产在线观看 | 国产最新在线视频 | 激情五月六月婷婷 | 久久久久久久久久久精 | 国产黄色片久久 | 婷婷视频在线播放 | 亚洲一区二区三区毛片 | 久草久草视频 | 久久免费精品视频 | 99r精品视频在线观看 | 91你懂的| 97视频网址| 免费h视频 | 2024国产精品视频 | 国产高清不卡一区二区三区 | 亚洲精品1区2区3区 超碰成人网 | 98超碰在线观看 | 亚洲国产精品电影 | 精品国产乱码久久久久久久 | 91系列在线 | 日韩二区三区在线观看 | 久久久久久免费 | 欧美不卡视频在线 | 国产精品第一页在线观看 | 91看片麻豆| 欧美在一区 | 黄色一级大片免费看 | 激情视频免费在线观看 | 久久视频这里有久久精品视频11 | 日韩一区二区三区高清在线观看 | 国产在线a视频 | 亚洲综合爱 | 婷婷久久综合网 | 美女在线免费视频 | 怡红院av久久久久久久 | www.黄色在线| 免费视频久久久 | 午夜精品一区二区三区四区 | 国产精品午夜久久久久久99热 | 中文字幕黄色av | 青青河边草免费观看完整版高清 | 香蕉视频国产在线观看 | 不卡视频国产 | 在线观看一区 | 国产精品一区二区av | 人人天天夜夜 | 麻豆精品传媒视频 | 日韩精品一区二区三区丰满 | 国产一区二区三区四区大秀 | 欧美美女视频在线观看 | 久久国产精品色婷婷 | 五月天网站在线 | 99中文视频在线 | 香蕉视频网址 | 精品久久久久久久久久久久久久久久 | 精品国产一区二区三区免费 | 久久久99国产精品免费 | 91高清一区 | 亚洲一区二区三区四区在线视频 | 93久久精品日日躁夜夜躁欧美 | 欧美老人xxxx18 | 欧美日韩成人 | 一区二区三区韩国免费中文网站 | 亚洲精品色 | 国产中的精品av小宝探花 | 日韩精品一区电影 | 国产精品久久毛片 | 国产成人1区 | 91av久久 | www操操操| 亚州精品国产 | 久久在线 | 99久久精品免费看 | 99在线视频播放 | 在线免费观看不卡av | 天天操月月操 | www一起操 | 日韩精品欧美专区 | 成人午夜电影在线 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久蜜臀一区二区三区av | 夜夜操网站 | 国产日产亚洲精华av | 久久午夜电影网 | 日日夜精品 | 欧美久久久久 | 久久99久久99精品免观看软件 | 亚洲成人动漫在线观看 | 国产精品每日更新 | 国产亚洲精品久久久久久移动网络 | 2019免费中文字幕 | 999久久久久久久久6666 | 久久久久亚洲最大xxxx | 中文字幕国产精品 | 中文字幕在线免费看 | 99视频一区二区 | 国内视频在线观看 | 免费美女久久99 | 奇米7777狠狠狠琪琪视频 | av性在线| 中文字幕一区二区三区四区视频 | 亚洲成av人片在线观看 | 深夜国产福利 | 国产精品久久久久一区二区 | 色视频网站在线 | 久久久久免费电影 | 婷婷在线观看视频 | 黄色影院在线播放 | 在线观看精品黄av片免费 | 91av手机在线| 欧美激情精品一区 | 日韩超碰在线 | 蜜臀av一区 | 久久综合影音 | 最近字幕在线观看第一季 | 91av蜜桃| 美女av在线免费 | 色诱亚洲精品久久久久久 | 高清不卡一区二区三区 | 国产视频 亚洲精品 | 久久精品综合 | 久久精品综合一区 | 久久99精品久久只有精品 | 亚洲精品18p | 一区二区精品视频 | 国产在线视频一区二区三区 | 黄色日批网站 | 久久少妇免费视频 | 视频直播国产精品 | 精品不卡av | 成人在线视频观看 | 亚洲 成人 欧美 | 国内精品亚洲 | www五月天 | 中文字幕在线高清 | 国产精品va在线观看入 | 天天综合狠狠精品 | 国产精品毛片一区二区三区 | 国产97在线播放 | 国产又粗又猛又爽又黄的视频免费 | 91精品国产91久久久久 | 亚洲精品字幕在线观看 | 狠狠操狠狠干天天操 | 国产精品一区二 | 国产精品videossex国产高清 | av电影一区二区 | av7777777 | 国产在线不卡 | 婷婷色网视频在线播放 | av高清在线观看 | 97精品欧美91久久久久久 | 欧美日韩视频 | 娇妻呻吟一区二区三区 | 国产伦精品一区二区三区在线 | 久久 精品一区 | 亚洲国产综合在线 | 狠狠色丁香婷婷综合久小说久 | 91精品综合在线观看 | 一区二区视 | 婷婷综合影院 | 成人一区二区在线观看 | 91视频观看免费 | 久久欧美综合 | 91视频91色 | 欧美黑吊大战白妞欧美 | 亚洲女同ⅹxx女同tv | 免费人做人爱www的视 | 天天爽人人爽 | 视频一区二区免费 | 亚洲作爱视频 | 精品久久视频 | 国产一级二级三级在线观看 | 最新91在线视频 | 久久综合丁香 | 日韩精品在线播放 | 日韩久久精品一区二区 | 久久99精品久久久久久久久久久久 | 国产精品丝袜久久久久久久不卡 | 久久国产精品99精国产 | 亚洲天堂网在线播放 | 一区二区三区免费在线观看视频 | 在线观看中文字幕亚洲 | 在线观看色网 | 日韩欧美高清一区二区 | 青青河边草免费直播 | 国产高清专区 | 一级全黄毛片 | 国产日韩视频在线播放 | 亚洲男男gaygay无套同网址 | 在线小视频你懂得 | 日韩理论视频 | 国产精品高 | 狠狠久久 | 人人爱人人添 | 一区免费视频 | 国产精品毛片一区视频播不卡 | 久久黄色影院 | 国产一级二级视频 | 国内精品久久久久久中文字幕 | 久久免费a | 久草在线视频免费资源观看 | 九色在线 | 视频成人永久免费视频 | 激情在线网| 女女av在线 | 91在线看片 | 成年人黄色免费网站 | 精品一区电影 | 丰满少妇高潮在线观看 | 亚洲经典视频在线观看 | 久99久中文字幕在线 | 国产精品一区二区三区久久久 | 婷婷色亚洲 | 国产免费美女 | 日韩久久片 | 热久在线 | 国产毛片在线 | 天天干天天玩天天操 | 免费久久99精品国产婷婷六月 | 成人午夜电影在线观看 | 亚洲精品高清一区二区三区四区 | 国产亚洲视频在线免费观看 | 亚洲aaa毛片 | 国产一区欧美一区 | 亚洲精品在线免费看 | av在线亚洲天堂 | 五月婷婷网站 | 亚洲少妇xxxx | 久久久久久久久久亚洲精品 | 日韩爱爱网站 | 黄色一级大片在线免费看国产一 | 日韩av一卡二卡三卡 | 国产成人精品一区二区在线观看 | 精品成人a区在线观看 | 国产精品9999久久久久仙踪林 | 麻豆视频免费看 | 国产男女无遮挡猛进猛出在线观看 | av久久在线 | 久久久久久久久久影视 | 激情综合网五月婷婷 | 日韩激情片在线观看 | 亚洲黄色在线免费观看 | 欧美一级片在线播放 | 免费看av片网站 | 日韩欧美在线视频一区二区三区 | 狠狠狠狠干 | 一区在线观看 | 亚洲午夜精品一区二区三区电影院 | 最新日韩在线观看视频 | 国产精品午夜在线 | 欧美调教网站 | 国产精品一区二区果冻传媒 | 黄色综合 | 蜜桃视频精品 | 黄色软件在线观看免费 | 亚洲区另类春色综合小说 | 国产小视频免费观看 | 亚洲 在线 | 亚洲一区二区精品视频 | av高清网站在线观看 | 国产视频在线观看一区 | 97视频在线免费播放 | 国产精品久久久久久久av电影 | 亚洲精品国产第一综合99久久 | 欧美极品xxx | 欧美在线你懂的 | 久久99亚洲精品久久 | 免费看的国产视频网站 | 欧洲精品视频一区 | 亚洲成人精品影院 | 超碰97人人干 | 免费在线观看毛片网站 | 色婷婷激情电影 | 久久99精品波多结衣一区 | 亚洲精品在线视频网站 | 在线免费观看黄色小说 | 久久精品视频国产 | 国产第一二区 | 国产精品成久久久久 | 亚洲精品在线免费 | 国产福利免费看 | 丰满少妇在线观看网站 | 色综合久久综合网 | 一级黄色在线免费观看 | 国产高清视频免费最新在线 | 久久这里有精品 | 一区 二区 精品 | 中文字幕在线观看视频网站 | 黄色片亚洲 | 在线观av | 国外调教视频网站 | 又黄又爽又湿又无遮挡的在线视频 | 九九热久久免费视频 | 制服丝袜欧美 | 在线亚洲高清视频 | 一区二区三区三区在线 | 国产在线91在线电影 | 悠悠av资源片 | 日韩欧美精品在线视频 | 成在线播放 | 精品国产亚洲一区二区麻豆 | 国产黄色高清 | 久久亚洲私人国产精品va | 狠狠躁夜夜躁人人爽超碰91 | 97超碰精品 | 久久无码精品一区二区三区 | 高潮久久久 | 91在线看 | 91精品国产91久久久久久三级 | 国产亚洲精品综合一区91 | 亚洲精品mv在线观看 | 在线免费看黄网站 | 97色狠狠| 西西大胆免费视频 | 欧美日韩国产精品一区二区 | 中文字幕一区二区三区久久 | 玖玖爱免费视频 | 日韩欧美在线第一页 | 免费黄色av | 国产一区二区三区高清播放 | 亚洲欧美日韩国产一区二区 | 97理论电影| 国产97色在线 | 五月天天av | 日韩在线色视频 | 亚洲欧美精品一区 | 国产日韩在线观看一区 | 国产免费影院 | 色婷婷成人网 | 超碰在线人人草 | 最近中文字幕mv | 免费在线看成人av | 国产蜜臀av| 午夜美女福利直播 | 99久久精品免费 | 97超级碰 | 99久久精品国产免费看不卡 | 天天干,狠狠干 | 狠狠gao | 国产中文字幕亚洲 | 色视频在线观看 | 美女精品在线观看 | www婷婷 | 久久久精品国产一区二区三区 | 成人免费视频视频在线观看 免费 | 欧美色综合天天久久综合精品 | 久久成人毛片 | 波多野结衣一区 | 国产精品自产拍在线观看中文 | 亚洲国产经典视频 | 开心激情五月婷婷 | 亚洲闷骚少妇在线观看网站 | 国内久久看 | www日韩视频 | 国产一线天在线观看 | 日韩av成人在线观看 | 久久久久久国产精品 | 狠狠躁夜夜av | 亚洲精品成人av在线 | 免费精品国产 | 久久免费视屏 | 久草免费在线观看视频 | 天天综合日日夜夜 | 国产成人在线网站 | 午夜视频黄 | 国产护士hd高朝护士1 | 久久嗨 | 激情综合亚洲精品 | 成人在线视频观看 | 久久一区国产 | 国产91九色视频 |