wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5276|回復(fù): 14
打印 上一主題 下一主題
收起左側(cè)

如何使用單片機(jī)定時(shí)器來(lái)控制一個(gè)物理按鈕的IO口的通斷?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:707778 發(fā)表于 2021-5-14 15:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我用51單片機(jī)做了一個(gè)溫度監(jiān)測(cè)報(bào)警裝置,使用手動(dòng)按鈕SEND來(lái)手動(dòng)發(fā)送當(dāng)前的溫度值,我加了一個(gè)定時(shí)器來(lái)控制這個(gè)SEND按鈕,達(dá)到5秒發(fā)送一個(gè)短信的效果,但是加進(jìn)去之后沒(méi)有實(shí)現(xiàn)這個(gè)效果,各位大佬幫忙看一下怎么回事兒,謝謝大家。!上一個(gè)帖子排版有點(diǎn)問(wèn)題,我重新發(fā)一下。紅色字體為我加的定時(shí)器程序。

#include <reg52.h>
#include <intrins.h>
#include "common.h"
#include "lcd1602.h"
#include "DS18B20_One.h"
#include "uart.h"
#include "gsm.h"
#define uint unsigned int
#define uchar unsigned char   //宏定義

const char * xdata  phonenum= "17630966319";  //在此處更換號(hào)碼

sbit SET= P1^0;//設(shè)置按鍵引腳
sbit ADD= P1^1;//按鍵加引腳
sbit DEC= P1^2;//按鍵減引腳
sbit SEND= P1^3;//手動(dòng)發(fā)送短信按鍵引腳

sbit BEEP=P2^3;//蜂鳴器引腳

sbit LED_Y=P1^5;//溫度報(bào)警指示燈
sbit LED_R=P1^6;//溫度報(bào)警指示燈

uchar th=30;//溫度上限初始值
uchar setn = 0;//進(jìn)入設(shè)置標(biāo)志位,setn等于0時(shí)退出設(shè)置

bit shoudong = 0;//手動(dòng)發(fā)送短信標(biāo)志位,等于1時(shí),進(jìn)入手動(dòng)發(fā)送短信模式

uchar xdata send_data[]="Temp:00C";//短信發(fā)送內(nèi)容

uchar timer50msCount = 0; //定時(shí)器定義


void Timer0Init(void) //[email protected]
{
    TMOD &= 0xF0; // 設(shè)置定時(shí)器模式,這里為T(mén)0
    TMOD |= 0x01; // 設(shè)置定時(shí)器工作方式1,為16為定時(shí)器
    TL0 = 0x00;   // 設(shè)置定時(shí)器低位初值
    TH0 = 0x4C;   // 設(shè)置定時(shí)器高位初值
    TF0 = 0;      // 清楚TF0溢出標(biāo)志位
    TR0 = 1;      // 啟動(dòng)定時(shí)器0開(kāi)始計(jì)時(shí)
}
void timer0Interrupt() interrupt 1
{
    timer50msCount++;
    // 每次中斷時(shí),定時(shí)器初值為0,需重新設(shè)置定時(shí)器初值,保持50ms
    // 時(shí)間不變
    TL0 = 0x00;
    TH0 = 0x4C;
}

void keyscan()//按鍵掃描
{
          if(SET == 0)//設(shè)置鍵按下
                {
                                delay_ms(10);//延時(shí)消抖
                          if(SET == 0)//判斷是否按下
                                {
                                                while(!SET);//等待松開(kāi)
                                          setn++;//設(shè)置標(biāo)志位自加1
                                          if(setn > 1)//總共設(shè)置,溫度上限
                                                {
                                                                setn = 0;//退出設(shè)置模式
                                                          lcd_write_com(0x0c);//關(guān)閉光標(biāo)
                                                }
                                                switch(setn)
                                                {
                                                                case(1):lcd_write_com(0x80+14);lcd_write_com(0x0f);break;//在溫度上限值的位置光標(biāo)閃爍
                                                }
                                }
                }
                if(ADD == 0)//按鍵加按下
                {
                                delay_ms(10);//延時(shí)消抖
                          if(ADD == 0)//按鍵加按下
                                {
                                                while(!ADD);//等待松開(kāi)

                                                if(setn == 1)//設(shè)置標(biāo)志位等于1時(shí),為溫度上限設(shè)置
                                                {
                                                                if(th < 99)//溫度上限值最大只能加到99
                                                                {
                                                                        th++;//值加1
                                                                }
                                                                lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
                                                                lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
                                                }
                                       
                                                }
                                                switch(setn)
                                                {
                                                                case(1):lcd_write_com(0x80+14);lcd_write_com(0x0f);break;//在溫度上限值的位置光標(biāo)閃爍
                                                }
                                }
                                
                if(DEC == 0)//按鍵減按下
                {
                                delay_ms(10);//延時(shí)消抖
                          if(DEC == 0)//按鍵減按下
                                {
                                                while(!DEC);//等待松開(kāi)
                                
                                                                if(setn == 1)//設(shè)置標(biāo)志位等于1時(shí),為溫度上限設(shè)置
                                                                {
                                                                                if(th > 0)//溫度上限值最小只能減到0
                                                                                {
                                                                                        th--;//值減1
                                                                                }
                                                                                lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
                                                                                lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
                                                                }
                                                        
                                                }
                                switch(setn)
                                                {
                                                                case(1):lcd_write_com(0x80+14);lcd_write_com(0x0f);break;//在溫度上限值的位置光標(biāo)閃爍
                                                }
                }
                if(SEND == 0)//手動(dòng)發(fā)送鍵按下
                {
                                delay_ms(10);//延時(shí)消抖
                          if(SEND == 0)//手動(dòng)發(fā)送鍵按下
                                {
                                                while(!SEND);//等待松開(kāi)
                                    shoudong = 1;//手動(dòng)發(fā)送位置1
                                          lcd_write_str(0,0, "   Send Sms...  ");//顯示發(fā)送短信中
                                                lcd_write_str(0,1, "   Waiting...   ");//第二行清屏
                                                gsm_send_englishmsg(phonenum,send_data);//發(fā)送短信
                                          delay_ms(2000);//延時(shí)2秒
                                          delay_ms(2000);//延時(shí)2秒
                                          delay_ms(2000);//延時(shí)2秒
                                          lcd_write_str(0,0, "   Send OK...   ");//顯示發(fā)送成功
                                                lcd_write_str(0,1, "                ");
                                          delay_ms(2000);//延時(shí)2秒
                                          delay_ms(2000);//延時(shí)2秒
                                          delay_ms(2000);//延時(shí)2秒
                                          lcd_write_str(0,0, "NOW:  C  SET:  C");//返回主頁(yè)面顯示
            lcd_write_str(0,1, "  IN OPERATION  ");//第二行顯示內(nèi)容隨意
                                          lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
                                                lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
                                          shoudong = 0;
                                }
                }        
}


void main()
{
          uint count;
          short temperature;//溫度  
          bit send_flag=0;
        
          EA = 1;         // 開(kāi)總中斷
          ET0 = 1;        // 開(kāi)定時(shí)器 0 中斷
         Timer0Init();
        
          lcd_init();//1602初始化
          temperature = DS18B20_TF();//溫度DS18B20初始化
          lcd_write_str(0,0,"   GSM init...  ");//1602顯示GSM初始化中
          uart_init(9600);//串口初始化,波特率9600
          gsm_init();//gsm初始化
          delay_ms(500);//延時(shí)
          lcd_write_str(0,0, "NOW:  C  SET:  C");//進(jìn)入主頁(yè)面,第一行顯示的內(nèi)容,溫度值和溫度上限值
          lcd_write_str(0,1, "  IN OPERATION  ");//第二行顯示內(nèi)容隨意
          lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
                lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
                while(1)
                {
                          keyscan();//按鍵掃描
                          if(count++ > 150 && setn == 0)//延時(shí)一段時(shí)間,并且設(shè)置位等于0時(shí),進(jìn)入以下函數(shù)
                                {
                                          count = 0;//累加變量清零
                                          if(shoudong == 0)
                                                {
                                                
                                                                temperature = DS18B20_TF();//讀取溫度值
                                                                lcd_write_char(4,0,temperature/10+0x30);//溫度值十位顯示
                                                                lcd_write_char(5,0,temperature%10+0x30);//溫度值個(gè)位顯示
                                                        
                                                          send_data[5]=temperature/10+'0';//短信內(nèi)容值,溫度十位
                                                          send_data[6]=temperature%10+'0';//短信內(nèi)容值,溫度個(gè)位
                                                        
                                                        
                                                                        LED_R = 1;//LED滅
                                                                //if(temperature >= th)
                                                                //        LED_Y = 0;//溫度超標(biāo),LED亮
                                                                //else
                                                                //        LED_Y = 1;//LED滅
                                                                if(temperature >= th)
                                                                        LED_R = 0;//溫度超標(biāo),LED亮
                                                                else
                                                                        LED_R = 1;//LED滅
                                                        
                                                                if(temperature >= th)//溫度超標(biāo),蜂鳴器報(bào)警,并且發(fā)送短信
                                                                {
                                                                                BEEP = 0;
                                                                                if(send_flag == 0)//為了避免報(bào)警時(shí),短信頻繁發(fā)送,這里超標(biāo)時(shí)只發(fā)一次短信
                                                                                {
                                                                                        send_flag = 1;
                                                                                        gsm_send_englishmsg(phonenum,send_data);//發(fā)送短信
                                                                                }
                                                                                delay_ms(100);//延時(shí)
                                                                                
                                                                }
                                                                else
                                                                {
                                                                                BEEP = 1;//關(guān)閉蜂鳴器
                                                                                send_flag = 0;//短信發(fā)送標(biāo)志位清零
                                                                }
                                                }
                        }
                                delay_ms(1);
                //定時(shí)發(fā)送程序
                  // 每5000ms允許if語(yǔ)句塊中的程序

          if (timer50msCount == 100)
        {
            SEND        =0;
            delay_ms(500);//延時(shí)0.5秒        
            SEND        =1;
            timer50msCount = 0;
        }
                                delay_ms(1);
                }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2021-5-14 17:10 | 只看該作者
添加一個(gè)自動(dòng)發(fā)送標(biāo)志
bit AUTO_SEND = 1;//自動(dòng)發(fā)送標(biāo)志

5秒自動(dòng)發(fā)送一次
        if (timer50msCount == 100)
        {
                AUTO_SEND=0;
//                SEND=0;
//                delay_ms(500);//延時(shí)0.5秒        
//                SEND=1;
                timer50msCount=0;
        }
自動(dòng)和手動(dòng)用同一段代碼
        if(SEND == 0||AUTO_SEND == 0)//手動(dòng)發(fā)送鍵按下或自動(dòng)發(fā)送使能
        {
                delay_ms(10);//延時(shí)消抖
                if(SEND == 0||AUTO_SEND == 0)//確認(rèn)手動(dòng)發(fā)送鍵按下或自動(dòng)發(fā)送使能
                {
                        if(!SEND && AUTO_SEND==1)//判斷是否手動(dòng),否則不需等按鍵松手
                                while(!SEND);//等待松開(kāi)
                        else AUTO_SEND=1;//自動(dòng)發(fā)送標(biāo)志復(fù)位       
                        //執(zhí)行以下語(yǔ)句
回復(fù)

使用道具 舉報(bào)

板凳
ID:707778 發(fā)表于 2021-5-14 17:13 | 只看該作者
wulin 發(fā)表于 2021-5-14 17:10
添加一個(gè)自動(dòng)發(fā)送標(biāo)志
bit AUTO_SEND = 1;//自動(dòng)發(fā)送標(biāo)志

感謝感謝。!我試試去
回復(fù)

使用道具 舉報(bào)

地板
ID:707778 發(fā)表于 2021-5-14 17:33 | 只看該作者
wulin 發(fā)表于 2021-5-14 17:10
添加一個(gè)自動(dòng)發(fā)送標(biāo)志
bit AUTO_SEND = 1;//自動(dòng)發(fā)送標(biāo)志

解決了,運(yùn)行完美,感謝感謝。!
回復(fù)

使用道具 舉報(bào)

5#
ID:707778 發(fā)表于 2021-5-14 18:32 | 只看該作者
wulin 發(fā)表于 2021-5-14 17:10
添加一個(gè)自動(dòng)發(fā)送標(biāo)志
bit AUTO_SEND = 1;//自動(dòng)發(fā)送標(biāo)志

大哥,我用這個(gè)定時(shí)器最多只能進(jìn)行10秒的定時(shí)發(fā)送,如何更改可以讓它做到一分鐘甚至更高的定時(shí)發(fā)送效果呢
回復(fù)

使用道具 舉報(bào)

6#
ID:213173 發(fā)表于 2021-5-14 20:37 | 只看該作者
605740889 發(fā)表于 2021-5-14 18:32
大哥,我用這個(gè)定時(shí)器最多只能進(jìn)行10秒的定時(shí)發(fā)送,如何更改可以讓它做到一分鐘甚至更高的定時(shí)發(fā)送效果呢

uint timer_sec = 0;      //添加定時(shí)器秒變量

void timer0Interrupt() interrupt 1
{
    if(++timer50msCount>=20);//1秒
        {
                timer50msCount=0;
                timer_sec++;
        }
    // 每次中斷時(shí),定時(shí)器初值為0,需重新設(shè)置定時(shí)器初值,保持50ms
    // 時(shí)間不變
    TL0 = 0x00;
    TH0 = 0x4C;
}

自動(dòng)發(fā)送周期范圍從1秒到1092分鐘
        if (timer_sec == 60)//1秒~1092分鐘
        {
                AUTO_SEND=0;
//                delay_ms(500);//延時(shí)0.5秒        
//                SEND=1;
                timer_sect=0;
        }
        delay_ms(1);
回復(fù)

使用道具 舉報(bào)

7#
ID:707778 發(fā)表于 2021-5-14 20:40 | 只看該作者
wulin 發(fā)表于 2021-5-14 20:37
uint timer_sec = 0;      //添加定時(shí)器秒變量

void timer0Interrupt() interrupt 1

好嘞,謝謝大哥
回復(fù)

使用道具 舉報(bào)

8#
ID:707778 發(fā)表于 2021-5-14 21:38 | 只看該作者
wulin 發(fā)表于 2021-5-14 20:37
uint timer_sec = 0;      //添加定時(shí)器秒變量

void timer0Interrupt() interrupt 1

換上去之后不會(huì)自動(dòng)發(fā)送短信了,是不是定義整型的問(wèn)題啊
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include "common.h"
  4. #include "lcd1602.h"
  5. #include "DS18B20_One.h"
  6. #include "uart.h"
  7. #include "gsm.h"
  8. #define uint unsigned int
  9. #define uchar unsigned char   //宏定義

  10. const char * xdata  phonenum= "17630966319";  //在此處更換號(hào)碼

  11. sbit SET= P1^0;//設(shè)置按鍵引腳
  12. sbit ADD= P1^1;//按鍵加引腳
  13. sbit DEC= P1^2;//按鍵減引腳
  14. sbit SEND= P1^3;//手動(dòng)發(fā)送短信按鍵引腳

  15. sbit BEEP=P2^3;//蜂鳴器引腳

  16. sbit LED_Y=P1^5;//溫度報(bào)警指示燈
  17. sbit LED_R=P1^6;//溫度報(bào)警指示燈

  18. uchar th=30;//溫度上限初始值
  19. uchar setn = 0;//進(jìn)入設(shè)置標(biāo)志位,setn等于0時(shí)退出設(shè)置

  20. bit shoudong = 0;//手動(dòng)發(fā)送短信標(biāo)志位,等于1時(shí),進(jìn)入手動(dòng)發(fā)送短信模式
  21. bit AUTO_SEND = 1;//自動(dòng)發(fā)送標(biāo)志5秒自動(dòng)發(fā)送一次

  22. uchar xdata send_data[]="Temp:00C";//短信發(fā)送內(nèi)容

  23. uchar timer50msCount = 0; //定時(shí)器定義
  24. uint timer_sec = 0;//定時(shí)器秒變量定義

  25. void Timer0Init(void)
  26. {
  27.     TMOD &= 0xF0; // 設(shè)置定時(shí)器模式,這里為T(mén)0
  28.     TMOD |= 0x01; // 設(shè)置定時(shí)器工作方式1,為16為定時(shí)器
  29.     TL0 = 0x00;   // 設(shè)置定時(shí)器低位初值
  30.     TH0 = 0x4C;   // 設(shè)置定時(shí)器高位初值
  31.     TF0 = 0;      // 清楚TF0溢出標(biāo)志位
  32.     TR0 = 1;      // 啟動(dòng)定時(shí)器0開(kāi)始計(jì)時(shí)
  33. }
  34. void timer0Interrupt() interrupt 1
  35. {
  36.     if(++timer50msCount>=20);//1秒
  37.         {
  38.                 timer50msCount=0;
  39.                 timer_sec++;
  40.         }
  41.     // 每次中斷時(shí),定時(shí)器初值為0,需重新設(shè)置定時(shí)器初值,保持50ms
  42.     // 時(shí)間不變
  43.     TL0 = 0x00;
  44.     TH0 = 0x4C;
  45. }

  46. void keyscan()//按鍵掃描
  47. {
  48.           if(SET == 0)//設(shè)置鍵按下
  49.                 {
  50.                                 delay_ms(10);//延時(shí)消抖
  51.                           if(SET == 0)//判斷是否按下
  52.                                 {
  53.                                                 while(!SET);//等待松開(kāi)
  54.                                           setn++;//設(shè)置標(biāo)志位自加1
  55.                                           if(setn > 1)//總共設(shè)置,溫度上限
  56.                                                 {
  57.                                                                 setn = 0;//退出設(shè)置模式
  58.                                                           lcd_write_com(0x0c);//關(guān)閉光標(biāo)
  59.                                                 }
  60.                                                 switch(setn)
  61.                                                 {
  62.                                                                 case(1):lcd_write_com(0x80+14);lcd_write_com(0x0f);break;//在溫度上限值的位置光標(biāo)閃爍
  63.                                                 }
  64.                                 }
  65.                 }
  66.                 if(ADD == 0)//按鍵加按下
  67.                 {
  68.                                 delay_ms(10);//延時(shí)消抖
  69.                           if(ADD == 0)//按鍵加按下
  70.                                 {
  71.                                                 while(!ADD);//等待松開(kāi)

  72.                                                 if(setn == 1)//設(shè)置標(biāo)志位等于1時(shí),為溫度上限設(shè)置
  73.                                                 {
  74.                                                                 if(th < 99)//溫度上限值最大只能加到99
  75.                                                                 {
  76.                                                                         th++;//值加1
  77.                                                                 }
  78.                                                                 lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
  79.                                                                 lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
  80.                                                 }
  81.                                        
  82.                                                 }
  83.                                                 switch(setn)
  84.                                                 {
  85.                                                                 case(1):lcd_write_com(0x80+14);lcd_write_com(0x0f);break;//在溫度上限值的位置光標(biāo)閃爍
  86.                                                 }
  87.                                 }
  88.                                
  89.                 if(DEC == 0)//按鍵減按下
  90.                 {
  91.                                 delay_ms(10);//延時(shí)消抖
  92.                           if(DEC == 0)//按鍵減按下
  93.                                 {
  94.                                                 while(!DEC);//等待松開(kāi)
  95.                                
  96.                                                                 if(setn == 1)//設(shè)置標(biāo)志位等于1時(shí),為溫度上限設(shè)置
  97.                                                                 {
  98.                                                                                 if(th > 0)//溫度上限值最小只能減到0
  99.                                                                                 {
  100.                                                                                         th--;//值減1
  101.                                                                                 }
  102.                                                                                 lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
  103.                                                                                 lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
  104.                                                                 }
  105.                                                        
  106.                                                 }
  107.                                 switch(setn)
  108.                                                 {
  109.                                                                 case(1):lcd_write_com(0x80+14);lcd_write_com(0x0f);break;//在溫度上限值的位置光標(biāo)閃爍
  110.                                                 }
  111.                 }
  112.                   //if(SEND == 0)//手動(dòng)發(fā)送鍵按下
  113.                   //{
  114.                         //        delay_ms(10);//延時(shí)消抖
  115.                         // if(SEND == 0)//手動(dòng)發(fā)送鍵按下
  116.                   //{
  117.                         //                while(!SEND);//等待松開(kāi)
  118.                  if(SEND == 0||AUTO_SEND == 0)//手動(dòng)發(fā)送鍵按下或自動(dòng)發(fā)送使能
  119.      {
  120.          delay_ms(10);//延時(shí)消抖
  121.          if(SEND == 0||AUTO_SEND == 0)//確認(rèn)手動(dòng)發(fā)送鍵按下或自動(dòng)發(fā)送使能
  122.              {
  123.                 if(!SEND && AUTO_SEND==1)//判斷是否手動(dòng),否則不需等按鍵松手
  124.                     while(!SEND);//等待松開(kāi)
  125.                     else AUTO_SEND=1;//自動(dòng)發(fā)送標(biāo)志復(fù)位      
  126.                                                  }
  127.                                     shoudong = 1;//手動(dòng)發(fā)送位置1
  128.                                           lcd_write_str(0,0, "   Send Sms...  ");//顯示發(fā)送短信中
  129.                                                 lcd_write_str(0,1, "   Waiting...   ");//第二行清屏
  130.                                                 gsm_send_englishmsg(phonenum,send_data);//發(fā)送短信
  131.                                           delay_ms(2000);//延時(shí)2秒
  132.                                           delay_ms(2000);//延時(shí)2秒
  133.                                           delay_ms(2000);//延時(shí)2秒
  134.                                           lcd_write_str(0,0, "   Send OK...   ");//顯示發(fā)送成功
  135.                                                 lcd_write_str(0,1, "                ");
  136.                                           delay_ms(2000);//延時(shí)2秒
  137.                                           delay_ms(2000);//延時(shí)2秒
  138.                                           delay_ms(2000);//延時(shí)2秒
  139.                                           lcd_write_str(0,0, "NOW:  C  SET:  C");//返回主頁(yè)面顯示
  140.             lcd_write_str(0,1, "  IN OPERATION  ");//第二行顯示內(nèi)容隨意
  141.                                           lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
  142.                                                 lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
  143.                                           shoudong = 0;
  144.                                 }

  145. }


  146. void main()
  147. {
  148.           uint count;
  149.           short temperature;//溫度  
  150.           bit send_flag=0;
  151.        
  152.                 EA = 1;         // 開(kāi)總中斷
  153.     ET0 = 1;        // 開(kāi)定時(shí)器 0 中斷
  154.     Timer0Init();
  155.        
  156.           lcd_init();//1602初始化
  157.           temperature = DS18B20_TF();//溫度DS18B20初始化
  158.           lcd_write_str(0,0,"   GSM init...  ");//1602顯示GSM初始化中
  159.           uart_init(9600);//串口初始化,波特率9600
  160.           gsm_init();//gsm初始化
  161.           delay_ms(500);//延時(shí)
  162.           lcd_write_str(0,0, "NOW:  C  SET:  C");//進(jìn)入主頁(yè)面,第一行顯示的內(nèi)容,溫度值和溫度上限值
  163.           lcd_write_str(0,1, "  IN OPERATION  ");//第二行顯示內(nèi)容隨意
  164.           lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
  165.                 lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
  166.                 while(1)
  167.                 {
  168.                           keyscan();//按鍵掃描
  169.                           if(count++ > 150 && setn == 0)//延時(shí)一段時(shí)間,并且設(shè)置位等于0時(shí),進(jìn)入以下函數(shù)
  170.                                 {
  171.                                           count = 0;//累加變量清零
  172.                                           if(shoudong == 0)
  173.                                                 {
  174.                                                
  175.                                                                 temperature = DS18B20_TF();//讀取溫度值
  176.                                                                 lcd_write_char(4,0,temperature/10+0x30);//溫度值十位顯示
  177.                                                                 lcd_write_char(5,0,temperature%10+0x30);//溫度值個(gè)位顯示
  178.                                                        
  179.                                                           send_data[5]=temperature/10+'0';//短信內(nèi)容值,溫度十位
  180.                                                           send_data[6]=temperature%10+'0';//短信內(nèi)容值,溫度個(gè)位
  181.                                                        
  182.                                                        
  183.                                                                         LED_R = 1;//LED滅
  184.                                                                 //if(temperature >= th)
  185.                                                                 //        LED_Y = 0;//溫度超標(biāo),LED亮
  186.                                                                 //else
  187.                                                                 //        LED_Y = 1;//LED滅
  188.                                                                 if(temperature >= th)
  189.                                                                         LED_R = 0;//溫度超標(biāo),LED亮
  190.                                                                 else
  191.                                                                         LED_R = 1;//LED滅
  192.                                                        
  193.                                                                 if(temperature >= th)//溫度超標(biāo),蜂鳴器報(bào)警,并且發(fā)送短信
  194.                                                                 {
  195.                                                                                 BEEP = 0;
  196.                                                                                 if(send_flag == 0)//為了避免報(bào)警時(shí),短信頻繁發(fā)送,這里超標(biāo)時(shí)只發(fā)一次短信
  197.                                                                                 {
  198.                                                                                         send_flag = 1;
  199.                                                                                         gsm_send_englishmsg(phonenum,send_data);//發(fā)送短信
  200.                                                                                 }
  201.                                                                                 delay_ms(100);//延時(shí)
  202.                                                                                
  203.                                                                 }
  204.                                                                 else
  205.                                                                 {
  206.                                                                                 BEEP = 1;//關(guān)閉蜂鳴器
  207.                                                                                 send_flag = 0;//短信發(fā)送標(biāo)志位清零
  208.                                                                 }
  209.                                                 }
  210.                           }
  211.                                 //定時(shí)發(fā)送程序
  212.                                 //設(shè)置定時(shí)發(fā)送時(shí)間
  213.         if (timer_sec == 10)//1秒~1092分鐘
  214.         {
  215.                AUTO_SEND = 0;
  216.                timer_sec = 0;
  217.         }
  218.         delay_ms(1);
  219.                 }
  220. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

9#
ID:707778 發(fā)表于 2021-5-14 21:40 | 只看該作者
wulin 發(fā)表于 2021-5-14 20:37
uint timer_sec = 0;      //添加定時(shí)器秒變量

void timer0Interrupt() interrupt 1

timer_sect=0這里多輸入了個(gè)t我已經(jīng)改過(guò)來(lái)了
回復(fù)

使用道具 舉報(bào)

10#
ID:707778 發(fā)表于 2021-5-14 21:56 | 只看該作者
wulin 發(fā)表于 2021-5-14 20:37
uint timer_sec = 0;      //添加定時(shí)器秒變量

void timer0Interrupt() interrupt 1

為啥換上這個(gè)之后短信不自動(dòng)發(fā)了,是不是定義整型的問(wèn)題。扛耐甑拇a是
#include <reg52.h>
#include <intrins.h>
#include "common.h"
#include "lcd1602.h"
#include "DS18B20_One.h"
#include "uart.h"
#include "gsm.h"
#define uint unsigned int
#define uchar unsigned char   //宏定義

const char * xdata  phonenum= "17630966319";  //在此處更換號(hào)碼

sbit SET= P1^0;//設(shè)置按鍵引腳
sbit ADD= P1^1;//按鍵加引腳
sbit DEC= P1^2;//按鍵減引腳
sbit SEND= P1^3;//手動(dòng)發(fā)送短信按鍵引腳

sbit BEEP=P2^3;//蜂鳴器引腳

sbit LED_Y=P1^5;//溫度報(bào)警指示燈
sbit LED_R=P1^6;//溫度報(bào)警指示燈

uchar th=30;//溫度上限初始值
uchar setn = 0;//進(jìn)入設(shè)置標(biāo)志位,setn等于0時(shí)退出設(shè)置

bit shoudong = 0;//手動(dòng)發(fā)送短信標(biāo)志位,等于1時(shí),進(jìn)入手動(dòng)發(fā)送短信模式
bit AUTO_SEND = 1;//自動(dòng)發(fā)送標(biāo)志5秒自動(dòng)發(fā)送一次

uchar xdata send_data[]="Temp:00C";//短信發(fā)送內(nèi)容

uchar timer50msCount = 0; //定時(shí)器定義
uint timer_sec = 0;//定時(shí)器秒變量定義

void Timer0Init(void)
{
    TMOD &= 0xF0; // 設(shè)置定時(shí)器模式,這里為T(mén)0
    TMOD |= 0x01; // 設(shè)置定時(shí)器工作方式1,為16為定時(shí)器
    TL0 = 0x00;   // 設(shè)置定時(shí)器低位初值
    TH0 = 0x4C;   // 設(shè)置定時(shí)器高位初值
    TF0 = 0;      // 清楚TF0溢出標(biāo)志位
    TR0 = 1;      // 啟動(dòng)定時(shí)器0開(kāi)始計(jì)時(shí)
}
void timer0Interrupt() interrupt 1
{
    if(++timer50msCount>=20);//1秒
        {
                timer50msCount=0;
                timer_sec++;
        }
    // 每次中斷時(shí),定時(shí)器初值為0,需重新設(shè)置定時(shí)器初值,保持50ms
    // 時(shí)間不變
    TL0 = 0x00;
    TH0 = 0x4C;
}

void keyscan()//按鍵掃描
{
          if(SET == 0)//設(shè)置鍵按下
                {
                                delay_ms(10);//延時(shí)消抖
                          if(SET == 0)//判斷是否按下
                                {
                                                while(!SET);//等待松開(kāi)
                                          setn++;//設(shè)置標(biāo)志位自加1
                                          if(setn > 1)//總共設(shè)置,溫度上限
                                                {
                                                                setn = 0;//退出設(shè)置模式
                                                          lcd_write_com(0x0c);//關(guān)閉光標(biāo)
                                                }
                                                switch(setn)
                                                {
                                                                case(1):lcd_write_com(0x80+14);lcd_write_com(0x0f);break;//在溫度上限值的位置光標(biāo)閃爍
                                                }
                                }
                }
                if(ADD == 0)//按鍵加按下
                {
                                delay_ms(10);//延時(shí)消抖
                          if(ADD == 0)//按鍵加按下
                                {
                                                while(!ADD);//等待松開(kāi)

                                                if(setn == 1)//設(shè)置標(biāo)志位等于1時(shí),為溫度上限設(shè)置
                                                {
                                                                if(th < 99)//溫度上限值最大只能加到99
                                                                {
                                                                        th++;//值加1
                                                                }
                                                                lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
                                                                lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
                                                }
                                       
                                                }
                                                switch(setn)
                                                {
                                                                case(1):lcd_write_com(0x80+14);lcd_write_com(0x0f);break;//在溫度上限值的位置光標(biāo)閃爍
                                                }
                                }
                               
                if(DEC == 0)//按鍵減按下
                {
                                delay_ms(10);//延時(shí)消抖
                          if(DEC == 0)//按鍵減按下
                                {
                                                while(!DEC);//等待松開(kāi)
                               
                                                                if(setn == 1)//設(shè)置標(biāo)志位等于1時(shí),為溫度上限設(shè)置
                                                                {
                                                                                if(th > 0)//溫度上限值最小只能減到0
                                                                                {
                                                                                        th--;//值減1
                                                                                }
                                                                                lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
                                                                                lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
                                                                }
                                                       
                                                }
                                switch(setn)
                                                {
                                                                case(1):lcd_write_com(0x80+14);lcd_write_com(0x0f);break;//在溫度上限值的位置光標(biāo)閃爍
                                                }
                }
                  //if(SEND == 0)//手動(dòng)發(fā)送鍵按下
                  //{
                        //        delay_ms(10);//延時(shí)消抖
                        // if(SEND == 0)//手動(dòng)發(fā)送鍵按下
                  //{
                        //                while(!SEND);//等待松開(kāi)
                 if(SEND == 0||AUTO_SEND == 0)//手動(dòng)發(fā)送鍵按下或自動(dòng)發(fā)送使能
     {
         delay_ms(10);//延時(shí)消抖
         if(SEND == 0||AUTO_SEND == 0)//確認(rèn)手動(dòng)發(fā)送鍵按下或自動(dòng)發(fā)送使能
             {
                if(!SEND && AUTO_SEND==1)//判斷是否手動(dòng),否則不需等按鍵松手
                    while(!SEND);//等待松開(kāi)
                    else AUTO_SEND=1;//自動(dòng)發(fā)送標(biāo)志復(fù)位      
                                                 }
                                    shoudong = 1;//手動(dòng)發(fā)送位置1
                                          lcd_write_str(0,0, "   Send Sms...  ");//顯示發(fā)送短信中
                                                lcd_write_str(0,1, "   Waiting...   ");//第二行清屏
                                                gsm_send_englishmsg(phonenum,send_data);//發(fā)送短信
                                          delay_ms(2000);//延時(shí)2秒
                                          delay_ms(2000);//延時(shí)2秒
                                          delay_ms(2000);//延時(shí)2秒
                                          lcd_write_str(0,0, "   Send OK...   ");//顯示發(fā)送成功
                                                lcd_write_str(0,1, "                ");
                                          delay_ms(2000);//延時(shí)2秒
                                          delay_ms(2000);//延時(shí)2秒
                                          delay_ms(2000);//延時(shí)2秒
                                          lcd_write_str(0,0, "NOW:  C  SET:  C");//返回主頁(yè)面顯示
            lcd_write_str(0,1, "  IN OPERATION  ");//第二行顯示內(nèi)容隨意
                                          lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
                                                lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
                                          shoudong = 0;
                                }

}


void main()
{
          uint count;
          short temperature;//溫度  
          bit send_flag=0;
       
                EA = 1;         // 開(kāi)總中斷
    ET0 = 1;        // 開(kāi)定時(shí)器 0 中斷
    Timer0Init();
       
          lcd_init();//1602初始化
          temperature = DS18B20_TF();//溫度DS18B20初始化
          lcd_write_str(0,0,"   GSM init...  ");//1602顯示GSM初始化中
          uart_init(9600);//串口初始化,波特率9600
          gsm_init();//gsm初始化
          delay_ms(500);//延時(shí)
          lcd_write_str(0,0, "NOW:  C  SET:  C");//進(jìn)入主頁(yè)面,第一行顯示的內(nèi)容,溫度值和溫度上限值
          lcd_write_str(0,1, "  IN OPERATION  ");//第二行顯示內(nèi)容隨意
          lcd_write_char(13,0,th/10+0x30);//顯示溫度上限值十位
                lcd_write_char(14,0,th%10+0x30);//顯示溫度上限值個(gè)位
                while(1)
                {
                          keyscan();//按鍵掃描
                          if(count++ > 150 && setn == 0)//延時(shí)一段時(shí)間,并且設(shè)置位等于0時(shí),進(jìn)入以下函數(shù)
                                {
                                          count = 0;//累加變量清零
                                          if(shoudong == 0)
                                                {
                                               
                                                                temperature = DS18B20_TF();//讀取溫度值
                                                                lcd_write_char(4,0,temperature/10+0x30);//溫度值十位顯示
                                                                lcd_write_char(5,0,temperature%10+0x30);//溫度值個(gè)位顯示
                                                       
                                                          send_data[5]=temperature/10+'0';//短信內(nèi)容值,溫度十位
                                                          send_data[6]=temperature%10+'0';//短信內(nèi)容值,溫度個(gè)位
                                                       
                                                       
                                                                        LED_R = 1;//LED滅
                                                                //if(temperature >= th)
                                                                //        LED_Y = 0;//溫度超標(biāo),LED亮
                                                                //else
                                                                //        LED_Y = 1;//LED滅
                                                                if(temperature >= th)
                                                                        LED_R = 0;//溫度超標(biāo),LED亮
                                                                else
                                                                        LED_R = 1;//LED滅
                                                       
                                                                if(temperature >= th)//溫度超標(biāo),蜂鳴器報(bào)警,并且發(fā)送短信
                                                                {
                                                                                BEEP = 0;
                                                                                if(send_flag == 0)//為了避免報(bào)警時(shí),短信頻繁發(fā)送,這里超標(biāo)時(shí)只發(fā)一次短信
                                                                                {
                                                                                        send_flag = 1;
                                                                                        gsm_send_englishmsg(phonenum,send_data);//發(fā)送短信
                                                                                }
                                                                                delay_ms(100);//延時(shí)
                                                                               
                                                                }
                                                                else
                                                                {
                                                                                BEEP = 1;//關(guān)閉蜂鳴器
                                                                                send_flag = 0;//短信發(fā)送標(biāo)志位清零
                                                                }
                                                }
                          }
                                //定時(shí)發(fā)送程序
                                //設(shè)置定時(shí)發(fā)送時(shí)間
        if (timer_sec == 10)//1秒~1092分鐘
        {
               AUTO_SEND = 0;
               timer_sec = 0;
        }
        delay_ms(1);
                }
}

回復(fù)

使用道具 舉報(bào)

11#
ID:921483 發(fā)表于 2021-5-14 22:34 來(lái)自觸屏版 | 只看該作者
定時(shí)器的引腳連接開(kāi)關(guān),定義主函數(shù)后,在定時(shí)函數(shù)中寫(xiě)內(nèi)容
回復(fù)

使用道具 舉報(bào)

12#
ID:707778 發(fā)表于 2021-5-14 22:48 | 只看該作者
hk卡卡卡 發(fā)表于 2021-5-14 22:34
定時(shí)器的引腳連接開(kāi)關(guān),定義主函數(shù)后,在定時(shí)函數(shù)中寫(xiě)內(nèi)容

開(kāi)關(guān)已經(jīng)焊接到p1.3了,只能通過(guò)軟件來(lái)實(shí)現(xiàn)定時(shí)了
回復(fù)

使用道具 舉報(bào)

13#
ID:213173 發(fā)表于 2021-5-15 06:36 | 只看該作者
605740889 發(fā)表于 2021-5-14 21:56
為啥換上這個(gè)之后短信不自動(dòng)發(fā)了,是不是定義整型的問(wèn)題?改完的代碼是
#include
#include

在沒(méi)有完全了解程序功能結(jié)構(gòu),經(jīng)修改后可能會(huì)發(fā)生預(yù)料不到的結(jié)果
試試定時(shí)器中斷內(nèi)容不改,改5秒自動(dòng)發(fā)送一次部分的代碼試試。


添加秒變量
        uint timer_sec = 0;


        if (timer50msCount>=20)
        {
                timer50msCount=0;
                timer_sec++;
                if(timer_sec>=20)
                {
                        AUTO_SEND=0;
                        timer_sec=0;       
                }
        }
回復(fù)

使用道具 舉報(bào)

14#
ID:707778 發(fā)表于 2021-5-15 11:24 | 只看該作者
wulin 發(fā)表于 2021-5-15 06:36
在沒(méi)有完全了解程序功能結(jié)構(gòu),經(jīng)修改后可能會(huì)發(fā)生預(yù)料不到的結(jié)果
試試定時(shí)器中斷內(nèi)容不改,改5秒自動(dòng)發(fā) ...

因?yàn)槲沂菍W(xué)軌道專業(yè)的,但是畢設(shè)卻是自動(dòng)化方面的,C語(yǔ)言基本沒(méi)學(xué)過(guò),所以在這方面欠缺的很多,都是現(xiàn)學(xué)的,現(xiàn)在還在摸索階段...我按照您說(shuō)的再試試
回復(fù)

使用道具 舉報(bào)

15#
ID:707778 發(fā)表于 2021-5-15 12:08 | 只看該作者
wulin 發(fā)表于 2021-5-15 06:36
在沒(méi)有完全了解程序功能結(jié)構(gòu),經(jīng)修改后可能會(huì)發(fā)生預(yù)料不到的結(jié)果
試試定時(shí)器中斷內(nèi)容不改,改5秒自動(dòng)發(fā) ...

這樣改過(guò)之后沒(méi)問(wèn)題了,感謝百忙之中為我解答,謝謝!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
99草草国产熟女视频在线| 亚洲天堂网在线播放| 潘金莲一级淫片aaaaaa播放1| www国产91| 亚洲成精国产精品女| 久久狠狠亚洲综合| 亚洲日本三级| 免费成人在线电影| 在线观看黄色| 国产成人久久精品77777| 高潮毛片又色又爽免费| 少妇精品无码一区二区三区| www.xxx麻豆| 99中文字幕| 欧美高清视频在线| 欧美xxxxxxxx| 亚洲午夜电影在线观看| 国产成人午夜99999| 久久精品亚洲人成影院 | 美日韩一级片在线观看| 亚洲区小说区| 成人福利片在线| 美女高潮网站| 懂色av蜜臀av粉嫩av分享吧| 久久久久99精品| 人人妻人人澡人人爽人人精品 | 亚洲精品97久久中文字幕| av无码一区二区三区| 男人日女人下面视频| 久久精品国产综合精品| 日本免费久久高清视频| 色悠悠久久久久| 欧美一区二区三区视频在线观看| 亚洲三级电影网站| 成人一区二区三区视频在线观看 | 亚洲国产无码精品| 97超碰成人在线| a级片一区二区| 精品免费日产一区一区三区免费| 国产精品999999| 久久精品在线视频| 国产丝袜一区二区三区免费视频| 精品视频1区2区| 国产精品久久毛片a| 岛国av在线一区| 日韩精品国产欧美| 亚洲激情综合| 91一区二区| 国产精品一区二区av日韩在线| 国产精品日本一区二区不卡视频| 人在线成免费视频| 丰满诱人av在线播放| 91在线播放网站| 香蕉97视频观看在线观看| 99热在线免费| 福利社在线免费视频| 国产麻豆麻豆| 欧美色图色就是色| 一本久道久久综合多人| 亚洲经典一区二区| 性色av蜜臀av| 国产福利资源在线| 精品黑人一区二区三区国语馆| 无码人妻丰满熟妇精品| 天天干天天干天天操| 可以免费在线观看的av| 久久久久久久伊人| 日本天堂在线视频| 伊人网在线视频观看| 午夜天堂在线视频| 日本国产一级片| 国产免费中文字幕| 永久免费黄色片| 亚洲熟女一区二区三区| 91精产国品一二三| 国产精品久久久久久久无码| 日本一区二区在线免费观看| 成人免费无码大片a毛片| 国产草草浮力影院| 久久成人激情视频| 国产中文字幕久久| 久久精品亚洲a| 免费一级肉体全黄毛片| 日本少妇在线观看| 国产女主播喷水视频在线观看 | www.夜夜爽| 亚洲一二三不卡| 风韵丰满熟妇啪啪区老熟熟女| 色姑娘综合天天| 岛国精品资源网站| 少妇av片在线观看| 一区二区视频免费看| 日韩av无码一区二区三区不卡| 无码人妻精品一区二区三应用大全 | 中文字幕永久免费视频| 国产情侣自拍小视频| 亚洲成人先锋电影| 国产乱人视频免费播放| 老女人av在线| 在线黄色国产视频| 黄色一级片在线观看| 超碰资源在线| 羞羞在线观看网站| 午夜影院免费| aaa在线免费观看| 天堂av在线| 人人爱人人干婷婷丁香亚洲| 精品一区二区三区在线 | 日韩一区二区电影| 国产亚洲欧美视频| 91精品国产乱码久久久久久蜜臀 | 亚洲 欧美 变态 另类 综合| 久久99精品波多结衣一区| 99热这里只有精品5| 国产日韩欧美一区二区三区视频| 国产成+人+亚洲+欧美+综合| 成年人视频在线观看免费| 波多野结依一区| 国产精品久久久久久久久久久久久久久 | 成人综合视频在线| 在线观看欧美一区二区| 亚洲天堂一级片| 亚洲视频一区在线播放| 国产综合精品久久| 婷婷综合影院| 欧美黑人猛交| 日韩精品丝袜美腿| 久久精品官网| 中文字幕中文在线不卡住| 欧美日韩国产综合久久 | 欧美日韩午夜激情| 亚洲日韩中文字幕在线播放| 欧美自拍视频在线观看| 日韩欧美精品久久| 日本高清一区二区视频| 永久久久久久久| 理论片中文字幕| 制服丝袜中文字幕在线观看| 黑人玩欧美人三根一起进| 波多野结衣欧美| 久久三级福利| 亚洲特级片在线| 精品日韩一区二区三区| 欧美一级淫片videoshd| 亚洲欧美在线网| 免费黄色在线播放| 波多野结衣高清视频| 国产吧在线视频| 亚洲精品传媒| 丝袜美腿一区二区三区动态图 | 中文字幕精品久久久久| 亚洲mm色国产网站| 久久久精品在线视频| 国产wwwwxxxx| 午夜精品久久久久久久96蜜桃| 天堂视频在线观看免费| 成人区精品一区二区不卡| 日韩av黄色在线| 精品伊人久久久久7777人| 亚洲午夜精品一区二区三区他趣| 亚洲图片在线综合| 国模精品娜娜一二三区| 亚洲高清在线不卡| 中文字幕乱码人妻二区三区| 2023av视频| 精品国产第一福利网站| 日韩图片一区| 亚洲一区二区三区中文字幕| 俺也去精品视频在线观看| 国内精品**久久毛片app| 日本一本在线视频| 亚洲字幕av一区二区三区四区| 天天做夜夜操| 日本国产亚洲| 看国产成人h片视频| 欧洲av在线精品| 国产大片精品免费永久看nba| 久久视频免费观看| 老汉色影院首页| 国产第一页浮力| 国产在线观看不卡一区二区三区| 日本不卡视频| 欧美残忍xxxx极端| 亚洲婷婷在线视频| 色中色综合影院手机版在线观看| 中文字幕第一页亚洲| 国产黄色大片免费看| 国产亚洲精品久久久久久移动网络 | 国产一区二区三区欧美| 奇米888一区二区三区| 国产熟女一区二区| 精品a在线观看| av在线加勒比| 久久精品人人| 欧美性三三影院| 久久久久久久久久久电影| 亚洲免费伊人电影在线观看av| 精品欧美一区二区精品久久| 亚洲天堂成人av| 亚洲精品7777xxxx青睐| 欧美aaa免费| 中日韩男男gay无套| 欧美视频你懂的| 99伊人久久| 日本xxx在线播放| 日韩一本大道| 在线观看涩涩| 国产精品亚洲综合一区在线观看| 亚洲精品在线观| 午夜精品一区二区在线观看| 黄色一级视频在线观看| 99视频免费| 久久香蕉精品香蕉| 亚洲色图丝袜美腿| 国产精品www色诱视频| 国产精品999.| 欧美色图亚洲图片| 国产亚洲欧美日韩精品一区二区三区 | 亚洲色图20p| 欧美专区福利在线| 亚洲欧美综合视频| 国产真实乱全部视频| 午夜不卡一区| 国产亚洲自拍一区| 国产69久久精品成人看| 一级黄色高清视频| 国产香蕉免费精品视频| 国产视频网站一区二区三区| 欧美国产日韩亚洲一区| 久久噜噜噜精品国产亚洲综合| 在线观看亚洲色图| www.一区二区三区.com| 欧美亚洲大片| 丁香网亚洲国际| 欧美大胆在线视频| 日本亚洲一区二区三区| 国产情侣高潮对白| 日韩成人18| 亚洲午夜一区二区| 国产精品二区在线| 亚洲欧美在线观看视频| av一区在线观看| 国产精品黄色片| 国产亚洲精品久| 国产精品xxxxx| 国产精品www爽爽爽| 免费高清特黄a大片| 亚洲先锋成人| 日韩av最新在线| 久久精品.com| 国产一卡2卡3卡四卡网站| 97se亚洲国产一区二区三区| 五月天久久比比资源色| 国产日韩二区| 激情五月婷婷网| 欧美24videosex性欧美| 97精品国产露脸对白| 国产精品 欧美在线| 三级黄色免费观看| 麻豆app在线观看| 精品亚洲成a人在线观看| 欧美精品一区二区三区蜜桃| 青青草原成人网| 精品国产二区三区| 国内精品久久久久久99蜜桃| 在线播放91灌醉迷j高跟美女 | zzjj国产精品一区二区| 久草免费资源站| 舔足天天操天天射| 亚洲成色精品| 日韩性生活视频| 国产一卡二卡三卡四卡| 成人黄动漫网站| 老牛影视一区二区三区| 欧美第一黄网免费网站| 亚洲精品乱码久久久久久蜜桃图片| 国产激情三区| 免费永久网站黄欧美| 欧美成在线视频| 国产精品18在线| 欧美18一19xxx性| 国产精品毛片无遮挡高清| 欧美美乳视频网站在线观看| 午夜精品在线播放| 国内视频在线精品| 7777精品伊人久久久大香线蕉的| 97av视频在线观看| 老师我好爽再深一点的视频| 激情综合网址| 欧美精品激情在线| 波多野结衣家庭教师| 日p在线观看| 国产精品久久久久久久岛一牛影视 | 成年视频在线观看| 中文字幕一区二区三区精华液| 日本免费高清一区| 日日夜夜中文字幕| 天天操综合网| 久久久国产精品亚洲一区| 蜜桃av免费观看| 三级资源在线| 伊人色综合久久天天| 成人高清dvd| 毛片基地一级大毛片| 日韩精品亚洲一区二区三区免费| 欧洲美女7788成人免费视频| 色一情一乱一伦| 亚洲精品无播放器在线播放| 欧美丰满一区二区免费视频| 中文av字幕在线观看| 日韩a在线观看| 国产片一区二区| 欧洲金发美女大战黑人| 免费福利在线| 国模娜娜一区二区三区| 国产女主播一区二区| 美女露胸一区二区三区| 天堂8中文在线| 岛国精品视频在线播放| 在线免费av播放| 亚洲综合图片| 国产精品传媒在线| av无码久久久久久不卡网站| 国产1区2区3区| 2024国产精品| 久久精品国产精品亚洲精品色| 九色91播放| 国产一区二区三区综合| 快播亚洲色图| 91网站进入| 国产一二精品视频| 日韩国产高清一区| 非洲黑人最猛性xxxx交| 国产精品99久久久久久似苏梦涵| 国内精品视频免费| 国产美女高潮一区二区三区| 麻豆成人久久精品二区三区小说| 丁香五月网久久综合| 欧美性猛交99久久久久99| 三级久久三级久久| 国产一区二区三区高清| 国产精品视频一区二区三区麻豆| 秋霞午夜鲁丝一区二区老狼| 国产九色91| 日日爽夜夜爽| 99久久久国产精品| 日韩欧美国产系列| 免费看黄色的视频| 91精品国产一区二区在线观看| 尤物yw午夜国产精品视频明星 | 国产永久免费网站| 菠萝菠萝蜜在线视频免费观看| 欧美色视频在线观看| 久久久久久国产免费a片| 亚洲影视资源| 欧美人在线视频| 亚洲精品久久久蜜桃动漫| 美女黄色成人网| 日韩欧美精品一区二区| 国产真实伦在线观看| 亚洲国产一区二区在线播放| 亚洲视频 中文字幕| 成人在线黄色| 日韩在线观看免费高清| 国产成人三级一区二区在线观看一| 国产视频一区在线观看一区免费| 欧美第一黄网| 日本h片在线看| 欧美系列在线观看| 久热这里有精品| 成人羞羞视频在线看网址| 91视频-88av| 色婷五月综激情亚洲综合| 夜夜嗨av一区二区三区中文字幕 | 日本中文字幕一级片| 第九色区av在线| 欧美va亚洲va香蕉在线| 中文字幕日韩免费| 亚洲少妇自拍| 亚洲综合视频一区| 免费观看成年在线视频网站| 欧美日韩国产综合视频在线观看| 一区视频免费观看| 亚洲经典一区| 日韩av电影免费播放| 久久久久久久久亚洲精品| 日韩视频中午一区| 中文字幕在线日亚洲9| 三级成人在线视频| 91成人在线观看喷潮教学| 在线h片观看| 综合av色偷偷网| 国产 日韩 欧美 综合| 国产精品一二三四五| 国产日韩成人内射视频| 在线国产小视频| 欧美探花视频资源| 国产精品久久久久久人| 欧美69wwwcom| 亚洲制服中文|