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

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

QQ登錄

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

搜索
查看: 4476|回復(fù): 0
收起左側(cè)

PROTEUS 雙層卸灰閥仿真

[復(fù)制鏈接]
ID:72519 發(fā)表于 2015-1-21 21:31 | 顯示全部樓層 |閱讀模式








  1. #include <reg52.h>

  2. #define uchar unsigned char                 //宏定義uchar為無(wú)符型字節(jié)

  3. #define uint unsigned int                 //宏定義uint為無(wú)符型整數(shù)

  4. #define RCOMMAND 0x01                        //宏定義讀命令

  5. #define WCOMMAND 0x02                        //宏定義寫(xiě)命令

  6. #define ECOMMAND 0x03                        //宏定義擦寫(xiě)命令

  7. #define WAITTIME 0x01



  8. sfr ISP_DATA=0xe2;                               //定義數(shù)據(jù)寄存器地址

  9. sfr ISP_ADDRH=0xe3;                               //定義地址寄存器地址高位

  10. sfr ISP_ADDRL=0xe4;                               //定義地址寄存器地址低位

  11. sfr ISP_CMD=0xe5;                               //定義命令寄存器地址

  12. sfr ISP_TRIG=0xe6;                               //定義觸發(fā)命令地址

  13. sfr ISP_CONTR=0xe7;                               //定義控制寄存器地址



  14. sbit duan=P1^6 ;              //定義段選

  15. sbit wei=P1^7  ;              //定義位選



  16.        /*指示燈led*/

  17. sbit yx_led=P2^0;          //運(yùn)行燈

  18. sbit jsms_led=P2^1;   //計(jì)時(shí)燈

  19. sbit jsums_led=P2^2;  //計(jì)數(shù)燈

  20. sbit sgdw_led=P2^3;   // 上關(guān)到位燈

  21. sbit skdw_led=P2^4;   // 上開(kāi)到位燈

  22. sbit xgdw_led=P2^5;   //  下關(guān)到位燈

  23. sbit xkdw_led=P2^6;  //       下開(kāi)到位燈



  24. /*按鈕*/

  25. sbit ms_key=P1^0;         //       模式按鈕

  26. sbit shang_key=P1^1;  //       向上鍵

  27. sbit seding_key=P1^2;       //       設(shè)定按鈕

  28. sbit qiting_key=P1^3;       //       啟停按鈕

  29. sbit xia_key=P1^4;          //       向下按鈕

  30. sbit rest_key=P1^5;  //       復(fù)位按鈕



  31.    /*閥門(mén)位置信號(hào)*/

  32. sbit skdw_in=P3^0;   //    上閥開(kāi)到位信號(hào)

  33. sbit sgdw_in=P3^1;   //  上閥關(guān)到位信號(hào)

  34. sbit xkdw_in=P3^2;         //    下閥開(kāi)到位信號(hào)

  35. sbit xgdw_in=P3^3;   //    下閥關(guān)到位信號(hào)



  36. /*輸出啟動(dòng)電機(jī)*/

  37. sbit skq=P3^4;       //    上閥電機(jī)開(kāi)得電

  38. sbit sgq=P3^5;       //    上閥電機(jī)關(guān)得電

  39. sbit xkq=P3^6;       //    下閥電機(jī)開(kāi)得電

  40. sbit xgq=P3^7;       //    下閥電機(jī)關(guān)得電



  41. uchar table[8];         //定義字符數(shù)組存放EEPROM里存的變量,和調(diào)整后存入EEPROM里



  42. uchar ms,shang,xia,seding,qiting,rest,sfk,xfk,xfg,sfg,dj;

  43. uchar jsgz=1,flg,x,err;                     //計(jì)時(shí)間隔,計(jì)時(shí)工作時(shí)間 e工作數(shù) fl計(jì)時(shí)工作開(kāi)始標(biāo)志

  44. uchar js_jg=10,js_gz=20,jsu_cs,un,jisu;

  45. char e,jsjg,time,time2=3,flg1,flg2,fqwz,fqwz2=3,sd1,ys,ys1=5,flag3,cbz;

  46. /******************變量名稱***************************

  47. ms 模式狀態(tài)  shang按鈕上  xia按鈕下鍵   seding設(shè)定鍵值  qiting啟停鍵變量   rest復(fù)位鍵變量

  48. sfk上閥開(kāi)  sfg上閥關(guān)   xfk下閥開(kāi)  xfg下閥關(guān)   dj定時(shí)器延時(shí)標(biāo)志位

  49. jsgz計(jì)時(shí)工作   flg計(jì)時(shí)工作工作時(shí)間倒計(jì)時(shí)減標(biāo)志位  x閥位連續(xù)開(kāi)關(guān)狀態(tài)    err錯(cuò)誤時(shí)用閃爍

  50. e計(jì)時(shí)工作時(shí)間     jsjg計(jì)時(shí)工作間隔時(shí)間   time閥開(kāi)到位等待進(jìn)放料時(shí)間   

  51. time2閥門(mén)開(kāi)到位等待時(shí)間存在E2ROM值   flg1閥開(kāi)到位倒計(jì)時(shí)標(biāo)志位    flg2上下閥啟動(dòng)但位置信號(hào)不復(fù)位

  52. fqwz上下閥開(kāi)關(guān)啟動(dòng)多久位置沒(méi)變化       fqwz2上下閥開(kāi)關(guān)啟動(dòng)多久們沒(méi)變化設(shè)定值

  53. sd1設(shè)定有邏輯故障是否繼續(xù)工作          ys測(cè)試閥電機(jī)得電幾秒鐘沒(méi)到位    flag3閥電機(jī)得電沒(méi)到位標(biāo)志位倒計(jì)時(shí)

  54. ys1存EEPROM閥得電幾秒沒(méi)到位       js_jg能調(diào)整數(shù)值EEPROM存,賦給值   js_gz能調(diào)整數(shù)值EEPROM存,賦值

  55. jisu計(jì)數(shù)倒計(jì)數(shù)值  cbz錯(cuò)標(biāo)志位復(fù)位用

  56. //jisu time2 js_jg js_gz        */

  57.                                  

  58. /*led數(shù)碼管段選位選*/

  59. uchar code dm[]={0xc0,0xf9,0xa4,0xb0,0x99,

  60. 0x92,0x82,0xd8,0x80,0x90,0xaf,0xa3,0xfb,0xab,0x7f,0x86,0x87};

  61. uchar code wm[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,} ;



  62. /**************毫秒延時(shí)函數(shù)*****************/

  63. void delay(unsigned int a)

  64. {

  65.        unsigned int i,x;

  66.        for(i=0;i<a;i++)

  67.           for(x=0;x<110;x++);

  68. }

  69.        /*********按鍵掃描函數(shù)************/

  70. void  key_scan()

  71. {

  72.    // uchar k;                //定義變量返回值

  73.        ms_key=1;                //送高電平到模式位

  74.        if(ms_key!=1)         //檢測(cè)如果不等于高電平

  75.        {

  76.               delay(5);         //延時(shí)

  77.               if(ms_key!=1)

  78.               ms=ms+1;                     //       確定,計(jì)時(shí)模0或計(jì)數(shù)模式1

  79.               if(ms>=2)ms=0;  

  80.               while(ms_key!=1);  //等侍按鍵抬起            

  81.        }                                                                        

  82. //       else ms=0;                 //如果還是低電平返回0

  83.       

  84.        if(shang_key!=1)  //如果檢測(cè)上鍵不是高電平

  85.        {

  86.               delay(5);              // 延時(shí)

  87.               if(shang_key!=1)

  88.               shang=1;                     //如果上鍵還是低電平返回1            

  89.        }

  90.        else shang=0;

  91.        if(seding_key!=1)          //如果檢測(cè)設(shè)定不是高電平

  92.        {

  93.               delay(5);       //延時(shí)

  94.               if(seding_key!=1)

  95.               seding++;                 //如果檢測(cè)設(shè)定還是低電平返回1

  96.               if(seding>=3)seding=0;

  97.               while(seding_key!=1);

  98.        }

  99.        if(qiting_key!=1)          //檢測(cè)起動(dòng)按鈕如果是低電平

  100.        {                              

  101.               delay(5);         //延時(shí)

  102.               if(qiting_key!=1)

  103.               qiting=1;                 //如果啟動(dòng)還是低電平返回1

  104.               else qiting=0;

  105.        }

  106.        if(xia_key!=1)           //如果下檢測(cè)是低電平

  107.        {

  108.               delay(5);              //延時(shí)

  109.               if(xia_key!=1)

  110.               xia=1;                     //如果下不是低電平返回1

  111.        }

  112.        else xia=0;

  113.        if(rest_key!=1)              //檢測(cè)復(fù)位按鈕如果是低電平

  114.        {

  115.               delay(5);              //延時(shí)

  116.               if(rest_key!=1)

  117.            rest=1;                     //如果復(fù)位按鈕還是低電平返回1

  118.               else rest=0;

  119.        }

  120. }

  121.        /********閥門(mén)位置掃描***********/

  122. void fmwz()

  123. {

  124.        if(skdw_in!=1)                     //       測(cè)試如果上閥在開(kāi)的位置

  125.        {

  126.               delay(5);              //延時(shí)

  127.               if(skdw_in!=1)

  128.               sfk=1;                     //上閥如果真的在開(kāi)的位置SF復(fù)位0

  129.        }

  130.        else sfk=0;

  131.        if(sgdw_in!=1)                     //       測(cè)試如果上閥在關(guān)的位置      

  132.        {

  133.               delay(5);              //延時(shí)

  134.               if(sgdw_in!=1)

  135.               sfg=1;                     //上閥如果真的在關(guān)的位置SF置位1

  136.        }

  137.        else sfg=0;

  138.        if(xkdw_in!=1)                     //測(cè)試如果下閥在開(kāi)的位置

  139.        {

  140.               delay(5);              //延時(shí)

  141.               if(xkdw_in!=1)

  142.               xfk=1;                     //如果下閥還在開(kāi)的位置,復(fù)位XF為0

  143.        }

  144.        else xfk=0;

  145.        if(xgdw_in!=1)                     // 測(cè)試如果下閥在關(guān)的位置

  146.        {

  147.               delay(5);              //延時(shí)

  148.               if(xgdw_in!=1)

  149.               xfg=1;

  150.                                    //如果下閥還是在關(guān)位置,置XF為1

  151.        }

  152.        else xfg=0;

  153. }

  154. /************閥門(mén)位置指示燈****************************/

  155. void fled()

  156. {

  157.        sgdw_led=!sfg;                    //上閥在關(guān)的位置,上關(guān)到位燈亮

  158.        skdw_led=!sfk;                              //上閥在開(kāi)的位置,上開(kāi)到位燈亮

  159.        xgdw_led=!xfg;                            //下閥在關(guān)的位置,下關(guān)到位燈亮

  160.        xkdw_led=!xfk;                            //下閥在開(kāi)的位置,下開(kāi)到位燈亮

  161.        if(ms)                                          //如果模式是不是0

  162.        {   

  163.          jsums_led=0;                            //計(jì)數(shù)LED燈亮

  164.          jsms_led=1;                            //計(jì)時(shí)模式LED燈滅

  165.        }

  166.        else                                             //如果模式是0

  167.        {

  168.           jsms_led=0;                              //計(jì)時(shí)LED燈亮

  169.           jsums_led=1;                              //計(jì)數(shù)LED燈滅

  170.        }

  171. }

  172. /****************顯示數(shù)碼管函數(shù)*********************/

  173. void display(uchar a,uchar b)

  174. {

  175.        duan=1;                                      //開(kāi)段選

  176.        P0=dm[a];                               //段碼給P0口

  177.        duan=0;                                      //關(guān)段選

  178.        wei=1;                                      //開(kāi)位選

  179.        P0=wm[b];                               //位碼給P0口

  180.        wei=0;                                      //關(guān)位選

  181.        P0=0xff;                               //消隱

  182.     delay(2);      

  183. }



  184. /**************ISP使能**********************************/

  185. void enable()

  186. {                                                                      //關(guān)閉總中斷

  187.        EA=0;

  188.        ISP_CONTR=ISP_CONTR|WAITTIME;              //寫(xiě)入硬件等待時(shí)間

  189.        ISP_CONTR|=0x80;                                   //啟動(dòng)ISP

  190. }



  191. /***************ISP 禁止*******************************/

  192. void disable()

  193. {

  194.        ISP_CONTR=ISP_CONTR&0x7f;                     //關(guān)閉ISP

  195.        ISP_TRIG=0x00;                                          //清0

  196.        EA=1;                                                        //開(kāi)總中斷

  197. }



  198. /*******************觸發(fā)********************************/

  199. void goon()

  200. {

  201.        enable();

  202.        ISP_TRIG|=0x46;

  203.        ISP_TRIG|=0xb9;

  204. }



  205. /******************讀一個(gè)字節(jié)**************************/

  206. uchar read_byte(uint a)

  207. {

  208.        ISP_ADDRH=(uchar)((a>>8)|ISP_ADDRH);         //地址高位寫(xiě)入

  209.        ISP_ADDRL=(uchar)(a|0x00ff);                       //地址低位寫(xiě)入

  210.        ISP_CMD=ISP_CMD&0xf8;                                     //清低3位

  211.        ISP_CMD=ISP_CMD|RCOMMAND;                              //寫(xiě)入讀命令

  212.        goon();                                                                 //觸發(fā)

  213.        disable();                                                        //關(guān)閉

  214.        return ISP_DATA;                                            //返回讀出數(shù)據(jù)

  215. }



  216. /*****************寫(xiě)一個(gè)字節(jié)****************************/

  217. void write_byte(uint b,uchar c)

  218. {

  219.        ISP_ADDRH=(uchar)((b>>8)|ISP_ADDRH);          //賦值地址高位

  220.        ISP_ADDRL=(uchar)(b|0x00ff);                        //賦值地址低位

  221.        ISP_CMD=ISP_CMD&0xf8;                                      //清低3位

  222.        ISP_CMD=ISP_CMD|WCOMMAND;                               //寫(xiě)入寫(xiě)命令

  223.        goon();                                                                  //觸發(fā)

  224. //       disable();                                                           //關(guān)閉

  225.        ISP_DATA=c;                                                           //把要寫(xiě)入字節(jié)賦給寄存器

  226. }            



  227. /******************擦除扇區(qū)*****************************/

  228. void sector_erase(uint a)

  229. {

  230.        ISP_ADDRH=(uchar)((a>>8)|ISP_ADDRH);       //賦值地址高位

  231.        ISP_ADDRL=0;                                                 //賦值低位

  232.        ISP_CMD=ISP_CMD&0xf8;                                   //清低3位

  233.        ISP_CMD=ISP_CMD|ECOMMAND;                            //寫(xiě)入擦除命令

  234.        goon();                                                               //觸發(fā)

  235.        disable();                                                        //關(guān)閉

  236. }



  237. /*******************寫(xiě)入調(diào)整好的數(shù)值數(shù)組到EEPROM******************/

  238. void write()

  239. {

  240.     uchar *pa=0x2000;                 //定義指針變量地址是2000

  241.     uchar x,y;

  242.        table[0]=js_gz;                //計(jì)時(shí)工作工作時(shí)間  (e)

  243.        table[1]=js_jg;                       //計(jì)時(shí)間隔數(shù)值         (jsjg)

  244.        table[2]=jisu;            //計(jì)數(shù)數(shù)值                (jisu)

  245.        table[3]=time2;                       //閥門(mén)開(kāi)到位待待進(jìn),放料時(shí)間  (time)

  246.        table[4]=ys1;             //電機(jī)得電檢測(cè)沒(méi)到位時(shí)間         (ys)

  247.        table[5]=fqwz2;           //電機(jī)啟動(dòng)檢測(cè)沒(méi)離開(kāi)位置時(shí)間  (fqwz)

  248.        sector_erase(pa);                //擦除2000地址扇區(qū)

  249.        for(x=0;x<8;x++)                 //循環(huán)

  250.        {

  251.               write_byte(pa+x,table[x]);              //把數(shù)組寫(xiě)入EEPROM里

  252.        }

  253.        disable();                                                 //關(guān)ISP

  254. }





  255. /***********開(kāi)機(jī)初始化閥門(mén)回關(guān)位置顯示INI**************/

  256. void initia()

  257. {                                                      

  258.      uchar a=4,x;                            //定義延時(shí)變量

  259.        uchar *pa=0x2000;              //定義指針變量并賦值為2000                    

  260.       P3=0x0f;                                   //把P3口初化下

  261.          for(x=0;x<8;x++)                     //循環(huán)

  262.          {

  263.                 table[x]=read_byte(pa+x);       //讀出EEPROM 2000以后連續(xù)數(shù)賦給數(shù)組

  264.          }

  265.          js_gz=table[0];                //把讀出來(lái)數(shù)賦給計(jì)時(shí)工作變量

  266.          js_jg=table[1];                //把讀出來(lái)數(shù)賦給計(jì)時(shí)間隔變量

  267.          jisu=table[2];                 //把讀出來(lái)數(shù)賦給計(jì)數(shù)變量

  268.          time2=table[3];                //把讀出來(lái)數(shù)賦給閥開(kāi)到位進(jìn),放料等待變量

  269.          ys1=table[4];                  //把讀出來(lái)數(shù)賦給檢測(cè)電機(jī)得電多久沒(méi)到位變量

  270.        // fqwz2=table[5];                //把讀出來(lái)數(shù)賦給檢測(cè)電機(jī)得電多久位置沒(méi)動(dòng)變量

  271.        fqwz2=5;//臨時(shí)測(cè)試

  272.        while(a|((sfg&xfg)!=1))        //如果延時(shí)和上閥關(guān)下閥關(guān)都等于1

  273.     {

  274.          fmwz();                                   //檢測(cè)閥門(mén)位置

  275.          fled();                                   //閥門(mén)位置LED

  276.          if(dj)a--;                            //閥門(mén)延時(shí)變量4秒--

  277.       display(12,5);                     //顯示I

  278.       display(13,4);                      //顯示N

  279.       display(12,3);                     //顯示I

  280.       if(sfg!=1)sgq=1;                     //如果上閥沒(méi)在關(guān)的位置,啟動(dòng)關(guān)上閥電機(jī)

  281.          else sgq=0;                            //或者上閥關(guān)電機(jī)停

  282.          if(xfg!=1)xgq=1;                     //如果下閥沒(méi)在關(guān)的位置,啟協(xié)關(guān)下閥電機(jī)

  283.          else xgq=0;                            //或者下閥關(guān)電機(jī)停

  284.        }         

  285. }



  286. /********************顯示錯(cuò)誤碼Error****************/

  287. void error()

  288. {

  289.                     display(15,6);               //顯示字符E

  290.                  display(10,5);              //顯示字符R

  291.                  display(10,4);              //顯示字符R

  292.                  display(11,3);              //顯示字符O

  293.                  display(10,2);              //顯示字符R

  294.                  cbz=1;                 //錯(cuò)誤標(biāo)志位





  295. //              display(0xff,0x08);       //全部不顯示

  296. //              delay(60);                     //延時(shí)

  297.   

  298.                                                 

  299. }

  300. /************掃描錯(cuò)閥位置邏輯錯(cuò)誤*****************/

  301. void scan_error()

  302. {

  303.        if(sfk&sfg) error(); //如果上閥開(kāi),關(guān)到位信號(hào)同時(shí)來(lái)顯示錯(cuò)誤

  304.        if(xfk&xfg) error(); //如果下閥開(kāi),關(guān)到位信號(hào)同時(shí)來(lái)顯示錯(cuò)誤

  305.    

  306.        if(skq)                                      //上閥開(kāi)電機(jī)啟動(dòng)

  307.        {

  308.               flag3=1;                        //置標(biāo)志位FLAG3為1

  309.               if(sfk&(ys>0))flag3=0;    //如果上閥在開(kāi)位和倒計(jì)時(shí)大于0成立,清FLAG3為0

  310.               while(!sfk&(ys==0))              //如果過(guò)了設(shè)定延時(shí),上開(kāi)位還沒(méi)到進(jìn)行死循環(huán)

  311.               {

  312.                      error();                        //顯示錯(cuò)誤碼

  313.                      if(err)skdw_led=~skdw_led;         //上閥開(kāi)到位LED燈閃爍

  314.                      skq=0;                                            //關(guān)開(kāi)上閥電機(jī)

  315.                      ys=0;                                          //延時(shí)賦0

  316.                      if(!sfg)sgq=1;                            //如果上閥沒(méi)在關(guān)的位置,關(guān)上閥電機(jī)啟動(dòng)

  317.                      else sgq=0;                                   //或在關(guān)位置,停關(guān)上閥電機(jī)

  318.                      if(!xfg)xgq=1;                            //如果下閥沒(méi)在關(guān)的位置,下閥關(guān)電機(jī)啟動(dòng)

  319.                      else xgq=0;                                   //或者關(guān)下閥電機(jī)停止

  320.               }

  321.        }

  322.        if(sgq)                                      //上閥關(guān)電機(jī)啟動(dòng)

  323.        {

  324.               flag3=1;                        //置標(biāo)志位FLAG3為1

  325.               if(sfg&(ys>0))flag3=0;    //如果上閥在關(guān)位和倒計(jì)時(shí)大于0成立,清FLAG3為0

  326.               while(!sfg&(ys==0))              //如果過(guò)了設(shè)定延時(shí),上關(guān)位還沒(méi)到進(jìn)行死循環(huán)

  327.               {

  328.                      error();                        //顯示錯(cuò)誤碼

  329.                      if(err)sgdw_led=~sgdw_led;         //上閥關(guān)到位LED燈閃爍

  330.                      sgq=0;                                            //關(guān)上閥電機(jī)停

  331.                      ys=0;                                          //延時(shí)賦0

  332.                      if(!sfg)sgq=1;                            //如果上閥沒(méi)在關(guān)的位置,關(guān)上閥電機(jī)啟動(dòng)

  333.                      else sgq=0;                                   //或在關(guān)位置,停關(guān)上閥電機(jī)

  334.                      if(!xfg)xgq=1;                            //如果下閥沒(méi)在關(guān)的位置,下閥關(guān)電機(jī)啟動(dòng)

  335.                      else xgq=0;                                   //或者關(guān)下閥電機(jī)停止

  336.               }

  337.        }      

  338.        if(xkq)                                      //下閥開(kāi)電機(jī)啟動(dòng)

  339.        {

  340.               flag3=1;                        //置標(biāo)志位FLAG3為1

  341.               if(xfk&(ys>0))flag3=0;    //如果下閥在開(kāi)位和倒計(jì)時(shí)大于0成立,清FLAG3為0

  342.               if(xfk&(ys>0))flag3=0;    //如果下閥在開(kāi)位和倒計(jì)時(shí)大于0成立,清FLAG3為0

  343.               while(!xfk&(ys==0))              //如果過(guò)了設(shè)定延時(shí),下開(kāi)位還沒(méi)到進(jìn)行死循環(huán)

  344.               {

  345.                      error();                        //顯示錯(cuò)誤碼

  346.                      if(err)xkdw_led=~xkdw_led;         //下閥開(kāi)到位LED燈閃爍

  347.                      xkq=0;                                            //關(guān)開(kāi)下閥電機(jī)

  348.                      ys=0;                                          //延時(shí)賦0

  349.                      if(!sfg)sgq=1;                            //如果上閥沒(méi)在關(guān)的位置,關(guān)上閥電機(jī)啟動(dòng)

  350.                      else sgq=0;                                   //或在關(guān)位置,停關(guān)上閥電機(jī)

  351.                      if(!xfg)xgq=1;                            //如果下閥沒(méi)在關(guān)的位置,下閥關(guān)電機(jī)啟動(dòng)

  352.                      else xgq=0;                                   //或者關(guān)下閥電機(jī)停止

  353.               }

  354.        }      

  355.        if(xgq)                                      //下閥關(guān)電機(jī)啟動(dòng)

  356.        {

  357.               flag3=1;                        //置標(biāo)志位FLAG3為1

  358.               if(xfg&(ys>0))flag3=0;    //如果下閥在關(guān)位和倒計(jì)時(shí)大于0成立,清FLAG3為0

  359.               while(!xfg&(ys==0))              //如果過(guò)了設(shè)定延時(shí),下關(guān)位還沒(méi)到進(jìn)行死循環(huán)

  360.               {

  361.                      error();                        //顯示錯(cuò)誤碼

  362.                      if(err)xgdw_led=~xgdw_led;         //下閥關(guān)到位LED燈閃爍

  363.                      xgq=0;                                            //下關(guān)閥電機(jī)停

  364.                      ys=0;                                          //延時(shí)賦0

  365.                      if(!sfg)sgq=1;                            //如果上閥沒(méi)在關(guān)的位置,關(guān)上閥電機(jī)啟動(dòng)

  366.                      else sgq=0;                                   //或在關(guān)位置,停關(guān)上閥電機(jī)

  367.                      if(!xfg)xgq=1;                            //如果下閥沒(méi)在關(guān)的位置,下閥關(guān)電機(jī)啟動(dòng)

  368.                      else xgq=0;                                   //或者關(guān)下閥電機(jī)停止

  369.               }

  370.        }

  371.       

  372.             





  373.        if(skq)                            //如果上閥開(kāi)電機(jī)得電,

  374.        {

  375.               flg2=1;                     //置倒計(jì)時(shí)標(biāo)志位為1

  376.               if(sfk)flg2=0;       //如果上閥在開(kāi)位置,倒計(jì)時(shí)標(biāo)志位清0

  377.               else                       //如果上閥沒(méi)在開(kāi)的位置

  378.               {

  379.               if((fqwz==0)&sfg)         //倒計(jì)時(shí)數(shù)等于0時(shí)間到,上閥還在關(guān)的位置

  380.             

  381.                  {       sd1=1;

  382.                        while(sd1)                              //如果設(shè)定數(shù)為(內(nèi)參)進(jìn)行循環(huán)顯示錯(cuò)誤碼

  383.                      {

  384.                             error();                       //錯(cuò)誤函數(shù)

  385.                             if(err)sgdw_led=~sgdw_led;          //上關(guān)到位LED燈閃爍

  386.                             skq=0;                                             //關(guān)上閥開(kāi)電機(jī)

  387.                      }

  388.               //       if(err)sgdw_led=~sgdw_led;                 //如果設(shè)定(內(nèi)參)為0只上關(guān)到位LED閃顯示

  389.               }                    

  390.                  }

  391.        }

  392.           if(sgq)                             //如果上閥關(guān)電機(jī)得電,

  393.        {

  394.               flg2=1;                     //置倒計(jì)時(shí)標(biāo)志位為1

  395.               if(sfg)flg2=0;              //如果上閥在關(guān)位置,倒計(jì)時(shí)標(biāo)志位清0

  396.               else                            //如果上閥沒(méi)在關(guān)的位置

  397.                 if((fqwz==0)&sfk)       //倒計(jì)時(shí)數(shù)等于0時(shí)間到,上閥還在開(kāi)的位置

  398.               {       sd1=1;

  399.                        while(sd1)                //如果設(shè)定數(shù)為(內(nèi)參)進(jìn)行循環(huán)顯示錯(cuò)誤碼

  400.                      {

  401.                             error();              //錯(cuò)誤函數(shù)

  402.                             if(err)skdw_led=~skdw_led;       //上開(kāi)到位LED燈閃爍

  403.                             sgq=0;                                          //關(guān)上閥關(guān)電機(jī)

  404.                      }

  405.               //       if(err)skdw_led=~skdw_led;              //如果設(shè)定(內(nèi)參)為0只上開(kāi)到位LED閃顯示

  406.               }                    

  407.                

  408.        }

  409.           if(xkq)                             //如果下閥開(kāi)電機(jī)得電,

  410.        {

  411.               flg2=1;                     //置倒計(jì)時(shí)標(biāo)志位為1

  412.               if(xfk)flg2=0;                       //置倒計(jì)時(shí)標(biāo)志位為1

  413.               else if((fqwz==0)&xfg)         //倒計(jì)時(shí)數(shù)等于0時(shí)間到,下閥還在關(guān)的位置

  414.               {       sd1=1;

  415.                        while(sd1)                       //如果設(shè)定數(shù)為(內(nèi)參)進(jìn)行循環(huán)顯示錯(cuò)誤碼

  416.                      {

  417.                             error();                 //錯(cuò)誤函數(shù)

  418.                             if(err)xgdw_led=~xgdw_led;       //下關(guān)到位LED燈閃爍

  419.                             xkq=0;                                            //關(guān)下閥關(guān)電機(jī)

  420.                      }                                                      

  421.        //              if(err)xgdw_led=~xgdw_led;              //如果設(shè)定(內(nèi)參)為0只下關(guān)到位LED閃顯示

  422.               }                    

  423.                

  424.        }

  425.               if(xgq)                            //如果下閥關(guān)電機(jī)得電,

  426.        {

  427.               flg2=1;                        //置倒計(jì)時(shí)標(biāo)志位為1

  428.               if(xfg)flg2=0;                     //置倒計(jì)時(shí)標(biāo)志位為1

  429.               else if((fqwz==0)&xfk)       //倒計(jì)時(shí)數(shù)等于0時(shí)間到,下閥還在開(kāi)的位置

  430.               {       sd1=1;

  431.                        while(sd1)                     //如果設(shè)定數(shù)為(內(nèi)參)進(jìn)行循環(huán)顯示錯(cuò)誤碼

  432.                      {

  433.                             error();                //錯(cuò)誤函數(shù)

  434.                             if(err)xkdw_led=~xkdw_led;         //下開(kāi)到位LED燈閃爍

  435.                             skq=0;

  436.                      }                                                          //關(guān)下閥開(kāi)電機(jī)

  437.        //              if(err)xkdw_led=~xkdw_led;                //如果設(shè)定(內(nèi)參)為0只下開(kāi)到位LED閃顯示

  438.               }                    

  439.                

  440.        }

  441. }

  442. /*************待機(jī)狀態(tài)*************/

  443. void jsdaiji()

  444. {

  445.     uchar a,b,c,d;

  446.             a=js_jg/10;                                   //計(jì)時(shí)間隔十位

  447.          b=js_jg%10;                                   //計(jì)時(shí)間隔個(gè)位

  448.          c=js_gz/10;

  449.          d=js_gz%10;

  450.   if(dj)                                           //如果變量DJ等于1

  451.       {                                                  

  452.           display(10,7);                     //顯示R字符            

  453.        display(a,2);                     //顯示間隔數(shù)字十位

  454.        display(b,1);                     //顯示間隔數(shù)字個(gè)位

  455.          }      

  456.   else                                                  //或者變量DJ等于0

  457.       {

  458.            display(11,7);

  459.                 display(c,2);                     //顯示工作時(shí)間0

  460.               display(d,1);                     //顯示工作時(shí)間

  461.          }                     

  462. }



  463. /**********計(jì)時(shí)工作運(yùn)行函數(shù)***************/

  464. void jsigzuo()

  465. {

  466.   

  467.      uchar a,b,c,d;

  468.       

  469.        yx_led=0;                              //運(yùn)行燈點(diǎn)亮

  470.        a=jsjg/10;                                   //計(jì)時(shí)間隔十位

  471.        b=jsjg%10;                                   //計(jì)時(shí)間隔個(gè)位

  472.        c=e/10;

  473.        d=e%10;

  474.        if(e<1)                         //計(jì)時(shí)工作倒計(jì)時(shí)小于1,計(jì)時(shí)間隔開(kāi)始工作

  475.        {      

  476.                  flg=0;                    //計(jì)時(shí)工作減標(biāo)志位置0

  477.          if(jsjg==0)                 //如果計(jì)時(shí)間隔數(shù)值倒計(jì)時(shí)為0

  478.            {

  479.                 e=js_gz;                        //把計(jì)時(shí)工作時(shí)間重新賦給E

  480.                 TR1=0;                        //關(guān)閉定時(shí)器1,停止計(jì)時(shí)間隔倒計(jì)時(shí)

  481.               }

  482.           if(dj)display(10,7);                     //每隔一秒閃一次顯示間隔字符

  483.        display(14,7);                       //點(diǎn)小數(shù)點(diǎn)

  484.           display(a,2);                            //顯示間隔時(shí)間

  485.           display(b,1);                            //顯示間隔時(shí)間



  486.           if(xfg&sfg)                                   //工作模式工作沒(méi)完成,上下閥都在關(guān)

  487.           {

  488.                         skq=0;                                   //開(kāi)上閥電機(jī)停

  489.                      xkq=0;                                   //開(kāi)下閥電機(jī)停

  490.                      sgq=0;                                   //關(guān)上閥電機(jī)停

  491.                      xgq=0;                                   //關(guān)下閥電機(jī)停

  492.           }

  493.           else

  494.            {

  495.                      switch(x)

  496.                 {

  497.                     case 0:                                   //狀態(tài)等于0執(zhí)行上閥開(kāi)動(dòng)作

  498.                           {   if(sfk==0)skq=1;              //如果上閥沒(méi)要開(kāi)位,上開(kāi)閥電機(jī)得電啟動(dòng)

  499.                            else

  500.                              {

  501.                                   skq=0;                            //或者上開(kāi)閥電機(jī)停

  502.                                   flg1=1;                            //閥開(kāi)到位倒計(jì)時(shí)標(biāo)志位

  503.                                if(time==1)x=1;              //改狀態(tài)為1       //上閥開(kāi)到位,等待時(shí)間到

  504.                                 }

  505.                              }       break;            

  506.                  case 1:                     //如果狀態(tài)是1執(zhí)行上閥關(guān)

  507.                        {

  508.                               flg1=0;              //閥開(kāi)到位倒計(jì)時(shí)標(biāo)志位            

  509.                         sgq=1;                            //上閥關(guān)電機(jī)啟動(dòng)

  510.                                  if(sfg==1)         //如果上閥關(guān)到位,上閥電機(jī)停

  511.                                 {

  512.                                    sgq=0;              //上閥關(guān)電機(jī)啟動(dòng)

  513.                                    x=3;                  //改狀態(tài)為3

  514.                                 }

  515.                        } break;               

  516.                           case 3:                            //如果狀態(tài)為3執(zhí)行下閥開(kāi)電機(jī)啟動(dòng)

  517.                

  518.                            {

  519.                                  if(xfk==0)xkq=1;         //如果下閥沒(méi)開(kāi)到位下開(kāi)電機(jī)得電

  520.                                  else

  521.                                        {

  522.                                    xkq=0;              //或下閥開(kāi)到位,下閥開(kāi)電機(jī)停

  523.                                       flg1=1;              //閥開(kāi)到位倒計(jì)時(shí)標(biāo)志位

  524.                                       if(time==1)x=4;       //等待時(shí)間到改狀態(tài)字為4

  525.                                     }

  526.                               }

  527.                                   break;

  528.                        case 4:                                   //狀態(tài)字為4執(zhí)行下閥關(guān)

  529.                              {

  530.                                   flg1=0;                     //閥開(kāi)到位倒計(jì)時(shí)標(biāo)志位

  531.                                   if(xfk==1) xgq=1;         //如果狀態(tài)為4下閥關(guān)電機(jī)啟動(dòng)

  532.                                if(xfg==1)                       // 如果下閥到關(guān)位置,

  533.                                    {

  534.                                        xgq=0;         //下閥關(guān)電機(jī)停

  535. //                                       z=0;

  536.                                        x=0;         //狀態(tài)字改為0

  537.                                 }

  538.                           }break;

  539.                 }

  540.               }

  541.     }

  542.        if(e>=1)                                   //計(jì)時(shí)工鐵倒計(jì)時(shí)小于等于1,開(kāi)始工作

  543.      {                                       

  544.            

  545.               flg=1;                             //置計(jì)時(shí)工作減標(biāo)志為1

  546.           if(dj)display(11,7);                     //每隔一秒閃一次顯示工作字符

  547.               display(14,7);

  548.               display(c,2);

  549.               display(d,1);                     //顯示工作時(shí)間

  550.               if(e==1)                            //如果計(jì)時(shí)工作變量倒計(jì)時(shí)等于1

  551.               {

  552.                  jsjg=js_jg;                 //重新給計(jì)時(shí)間隔賦值

  553.                  TR1=1;                        //開(kāi)定時(shí)器1,啟動(dòng)計(jì)時(shí)間隔減



  554.               }

  555.          switch(x)

  556.          {

  557.            case 0:                                   //狀態(tài)等于0執(zhí)行上閥開(kāi)動(dòng)作

  558.                  {   if(sfk==0)skq=1;              //如果上閥沒(méi)要開(kāi)位,上開(kāi)閥電機(jī)得電啟動(dòng)

  559.                else

  560.                   {

  561.                         skq=0;                            //或者上開(kāi)閥電機(jī)停

  562.                         flg1=1;                            //閥開(kāi)到位倒計(jì)時(shí)標(biāo)志位

  563.                      if(time==1)x=1;              //改狀態(tài)為1       //上閥開(kāi)到位,等待時(shí)間到

  564.                      }

  565.               }       break;            

  566.         case 1:                     //如果狀態(tài)是1執(zhí)行上閥關(guān)

  567.             {

  568.                    flg1=0;              //閥開(kāi)到位倒計(jì)時(shí)標(biāo)志位            

  569.              sgq=1;                            //上閥關(guān)電機(jī)啟動(dòng)

  570.                      if(sfg==1)         //如果上閥關(guān)到位,上閥電機(jī)停

  571.                        {

  572.                         sgq=0;              //上閥關(guān)電機(jī)啟動(dòng)

  573.                         x=3;                  //改狀態(tài)為3

  574.                        }

  575.              } break;               

  576.                  case 3:                            //如果狀態(tài)為3執(zhí)行下閥開(kāi)電機(jī)啟動(dòng)

  577.                

  578.                   {

  579.                         if(xfk==0)xkq=1;         //如果下閥沒(méi)開(kāi)到位下開(kāi)電機(jī)得電

  580.                         else

  581.                                {

  582.                             xkq=0;              //或下閥開(kāi)到位,下閥開(kāi)電機(jī)停

  583.                                flg1=1;              //閥開(kāi)到位倒計(jì)時(shí)標(biāo)志位

  584.                                if(time==1)x=4;       //等待時(shí)間到改狀態(tài)字為4

  585.                             }

  586.                        }

  587.                        break;

  588.               case 4:                                   //狀態(tài)字為4執(zhí)行下閥關(guān)

  589.                   {

  590.                      flg1=0;                     //閥開(kāi)到位倒計(jì)時(shí)標(biāo)志位

  591.                      if(xfk==1) xgq=1;         //如果狀態(tài)為4下閥關(guān)電機(jī)啟動(dòng)

  592.                    if(xfg==1)                       // 如果下閥到關(guān)位置,

  593.                             {

  594.                                        xgq=0;         //下閥關(guān)電機(jī)停

  595.               //                         z=0;

  596.                                        x=0;         //狀態(tài)字改為0

  597.                           }

  598.                   }break;

  599.            }

  600.        }               

  601. }



  602. /*****************計(jì)數(shù)待機(jī)模式********************/

  603. void jsudaiji()

  604. {            

  605.        uchar a,b;

  606.           a=jisu/10;

  607.           b=jisu%10;                           

  608.           display(16,7);                     //顯示倒計(jì)數(shù)字符            

  609.        display(a,2);                     //顯示倒計(jì)數(shù)字十位

  610.        display(b,1);                     //顯示倒計(jì)數(shù)數(shù)字個(gè)位

  611. }

  612. /****************計(jì)數(shù)模式運(yùn)行函數(shù)*****************/

  613. void jsugzuo()

  614. {

  615.        uchar a,b,c,d;

  616.        a=jisu/10;

  617.        b=jisu%10;

  618.        yx_led=0;                                 //運(yùn)行燈點(diǎn)亮

  619.        if(dj)display(16,7);              //顯示倒計(jì)數(shù)字符

  620.        display(c,2);                     //顯示倒計(jì)數(shù)字十位

  621.      display(d,1);                     //顯示倒計(jì)數(shù)數(shù)字個(gè)位



  622. }



  623. /************計(jì)時(shí)計(jì)數(shù)工作模式數(shù)值調(diào)整************/

  624. void jstz()

  625. {

  626.        uchar a,b,c,d,e,f;

  627.        if((ms==0)&(~qiting)&(seding==1))                 //如果工作在計(jì)時(shí)待機(jī)模式,調(diào)整間隔數(shù)值

  628.        {

  629.           a=js_jg/10;

  630.           b=js_jg%10;

  631.          

  632.           display(10,7);                         //顯示R字符            

  633.        if(dj)                                          //如果T0里計(jì)時(shí)變量DJ是1

  634.            {

  635.                  display(a,2);                     //顯示間隔數(shù)字十位

  636.            display(b,1);                     //顯示間隔數(shù)字個(gè)位

  637.               }

  638.         if(shang)js_jg++;                     //如果上按鍵按下,計(jì)時(shí)間隔變量加1

  639.            if(xia)js_jg--;                            //如果下按鍵按下,計(jì)時(shí)間隔變量減1

  640.            while(shang|xia)                     //檢測(cè)等待上,下按鍵抬起

  641.            {

  642.                  key_scan();                            //循環(huán)掃描按鍵

  643.            }                    

  644.        }

  645.        if((ms==0)&(~qiting)&(seding==2))  //如果工作在計(jì)時(shí)待機(jī)模式,調(diào)整計(jì)時(shí)工作數(shù)值

  646.        {

  647.           c=js_gz/10;

  648.           d=js_gz%10;

  649.           display(11,7);                     //顯示o字符            

  650.        if(dj)                                   //如果T0里計(jì)時(shí)變量DJ是1

  651.            {

  652.                  display(c,2);                     //顯示間隔數(shù)字十位

  653.            display(d,1);                     //顯示間隔數(shù)字個(gè)位

  654.               }

  655.       if(shang)js_gz++;                            //如果上按鍵按下,計(jì)時(shí)工作變量加1

  656.          if(xia)js_gz--;                            //如果下按鍵按下,計(jì)時(shí)工作變量減1

  657.          while(shang|xia)                            //等待上,下按鍵抬起

  658.            {

  659.                  key_scan();                            //循環(huán)掃按鍵

  660.            }

  661.               write();                    //把修改后數(shù)值寫(xiě)入EEPROM

  662.        }

  663.        if((ms==1)&(~qiting)&(seding==1))//如果工作在計(jì)數(shù)待機(jī)模式,調(diào)整計(jì)數(shù)數(shù)值      

  664.        {

  665.            e=jisu/10;

  666.               f=jisu%10;

  667.               display(16,7);                     //顯示倒計(jì)數(shù)字符            

  668.         if(dj)

  669.               {

  670.                   display(e,2);                     //顯示倒計(jì)數(shù)字十位

  671.             display(f,1);                     //顯示倒計(jì)數(shù)數(shù)字個(gè)位

  672.               }

  673.               if(shang)jisu++;                     //如果上按鍵按下,計(jì)數(shù)變量加1

  674.            if(xia)jisu--;                            //如果下按鍵按下,計(jì)數(shù)變量減1

  675.            while(shang|xia)                     //檢測(cè)等待上,下按鍵抬起

  676.            {

  677.                  key_scan();                            //循環(huán)掃描按鍵

  678.            }

  679.                      write();                    //把修改后數(shù)值寫(xiě)入EEPROM                                 

  680.        }                    

  681. }

  682. /*********定時(shí)器0初始化***********/

  683. void initime0()

  684. {

  685.     TMOD=0X11;             //開(kāi)啟定時(shí)器0

  686.        TH0=(65536-45782)/256; //裝初值

  687.        TL0=(65536-45782)%256; //裝初值

  688.        TH1=(65536-45782)/256;

  689.        TH0=(65536-45782)%256;

  690.        EA=1;                               //開(kāi)總中斷

  691.        ET0=1;                               //開(kāi)定時(shí)器0中斷

  692.        ET1=1;

  693.        TR0=1;

  694.        TR1=1;                               //啟動(dòng)定時(shí)器0

  695.        time=time2;            //閥門(mén)開(kāi)到位等待時(shí)間賦值

  696.        ys=ys1;                //閥門(mén)電機(jī)得電多久沒(méi)到位時(shí)間賦值

  697. }

  698. /****************計(jì)時(shí),計(jì)數(shù)變量賦值*******************/

  699. void fz()

  700. {

  701.       

  702. }



  703. void main()

  704. {      

  705. //   uchar d ,c;                            //定義變量

  706.          initime0();                            //定時(shí)器初始化

  707.        initia();                            //開(kāi)機(jī)初始化

  708.          while(1)                                            //大循環(huán)

  709.        {        

  710.          

  711.                 fmwz();                                     //閥門(mén)位置

  712.           fled();                                     //閥門(mén)位置燈

  713.                 key_scan();                               //鍵盤(pán)掃描

  714.                 if(cbz&rest)ISP_CONTR=0x20;   //如果有錯(cuò)誤復(fù)位按鍵按下

  715.        //   if((sfk&sfg)||(xfk&xfg))            //如果閥門(mén)位置有邏輯錯(cuò)誤

  716.              scan_error();                               //檢測(cè)閥位置邏輯錯(cuò)誤

  717.     //       else

  718.       

  719.            {      

  720.                     jstz();                                //計(jì)時(shí)數(shù)值調(diào)整函數(shù)

  721.                   if((qiting==0)&(ms==0)&(seding==0))       //啟停按鈕,模式,設(shè)定都是0,執(zhí)行待機(jī)程序

  722.                      {

  723.                         jsdaiji();                                            //計(jì)時(shí)待機(jī)

  724.                         jsjg=js_jg;                                          //把設(shè)定的好的計(jì)時(shí)間隔時(shí)間傳遞給計(jì)時(shí)間隔變量

  725.                         e=js_gz;

  726.                      }

  727.                   if(qiting&(ms==0))          //啟停按鈕和計(jì)時(shí)模式都是1,執(zhí)行計(jì)時(shí)程序

  728.                      {

  729.                         jsigzuo();                   //計(jì)時(shí)工作函數(shù)

  730.             

  731.                      }

  732.                      if((qiting==0)&(ms==1))jsudaiji();         //如果啟停按鈕和計(jì)數(shù)模式都是1,執(zhí)行計(jì)數(shù)程序

  733.                   if(qiting&(ms==1)) jsugzuo();                //計(jì)數(shù)工作函數(shù)

  734.            }

  735.        }

  736. }

  737.    /**********定時(shí)器0中斷函數(shù)***************/

  738. void time0()interrupt 1

  739. {

  740.     static a,er;                                   //定義靜態(tài)變量A

  741.        TH0=(65536-45872)/256;              //重新裝初值

  742.        TL0=(65536-45872)%256;

  743.        a++;                                          //變量A加1

  744.        er++;



  745.        if(er>=30)

  746.        {

  747.            er=0;

  748.            err=~err;              //錯(cuò)誤顯示如果ER變量中斷大于等于30次

  749.        }

  750.        if(a>=20)                                   //如果計(jì)滿大于等于20次次      

  751.        {

  752.               a=0;                                   //A清0

  753.               if(flg1)time--;                     //閥門(mén)開(kāi)到位等待標(biāo)志位是1,倒計(jì)時(shí)減1

  754.               else time=time2;        //如果閥門(mén)開(kāi)到位標(biāo)志位是0,重新把設(shè)定值賦給

  755.               if(flag3)ys--;          //如果閥電機(jī)得電標(biāo)志位,幾秒沒(méi)到是1延時(shí)變量值減1

  756.               else ys==ys1 ;            //如果是0重新賦值

  757.               dj=~dj;                                   //變量DJ取反

  758.               if(flg)                                   //如果計(jì)時(shí)工作變量標(biāo)志是1

  759.               {

  760.                      e--;                            //計(jì)時(shí)工作變量E減1

  761.               }

  762.               if(flg2)fqwz--;

  763.               else fqwz=fqwz2;                                 

  764.        }

  765. }

  766. /**********定時(shí)器1中斷函數(shù)****************/

  767. void time1()interrupt 3

  768. {

  769.     static b;

  770.        TH1=(65536-45782)/256;

  771.        TL1=(65536-45782)%256;

  772.        b++;                                     //中斷一次B增加1

  773.        if(b>=20)                              //如果中斷20次就是一秒

  774.        {

  775.               b=0;                              //變量賦0

  776.               jsjg--;                       //計(jì)時(shí)間隔變量減1

  777.                     

  778.        }

  779. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
亚洲欧美国产另类| 欧美黑人巨大xxxx猛交| 欧美在线观看成人| 国产xxxxx视频| 国产性生活毛片| 久久久一二三区| 国产日韩一级片| 小小的日本在线观看免费色网| 视频免费裸体网站| 国产第一页在线| 日本一道高清一区二区三区| 亚洲国产网站| 久久伊99综合婷婷久久伊| 日韩欧美在线一区| 日韩在线中文字幕| 91精品视频播放| 日韩极品视频在线观看| 一级少妇精品久久久久久久| 五月婷婷开心网| 五月天婷亚洲天综合网精品偷| 日本免费视频| 亚洲综合电影| 四季av一区二区三区免费观看| 国产真实乱子伦精品视频| 亚洲精品日产精品乱码不卡| 欧美精品一区二区三区蜜臀| 日本一区二区三区四区视频| 一区二区三区国产福利| 国产免费无码一区二区| 欧美 日韩 精品| 欧美一级欧美三级在线| 亚洲视频精品在线观看| 91tv亚洲精品香蕉国产一区| 女主播福利一区| 国产婷婷色一区二区三区在线| 555www色欧美视频| 热门国产精品亚洲第一区在线| 最近中文字幕免费mv| 国产精品久久久久久亚洲色| 在线免费观看一级片| 黄色动漫免费看| 成人三级小说| 欧美电影《轻佻寡妇》| 26uuu国产一区二区三区| 欧美日韩精品欧美日韩精品| 97国产精品视频人人做人人爱| 亚洲欧洲一二三| 一区二区不卡免费视频| 丰满人妻一区二区三区四区53| 美女又爽又黄免费动漫| 欧美理论电影| 一区二区影院| 亚洲欧洲成人自拍| 中国日韩欧美久久久久久久久| 国产日韩亚洲精品| 亚洲av无码成人精品区| 国产欧美综合视频| 欧美性猛交7777777| 欧美日韩黄网站| 国产一区在线精品| 欧美妇女性影城| 国产精品视频一区二区三区四| 人妻少妇精品无码专区二区| 少妇久久久久久被弄高潮| 国产三级做爰高清在线| 国产福利在线免费观看| 欧美久久99| 亚洲午夜久久久久| 久久久视频精品| 免费看国产一级片| 日本va欧美va国产激情| 2017天天干夜夜操| 国产精品久久免费视频| 国产综合久久久久久鬼色| 91精品免费观看| 91在线播放国产| 男人添女人荫蒂国产| xxxx国产精品| 日本在线观看网站| 欧美ab在线视频| 午夜精品久久一牛影视| 欧美一区亚洲一区| 久久午夜夜伦鲁鲁一区二区| 在线观看免费视频一区| 在线观看av影片| 精品免费av| 亚洲精品国产无天堂网2021| 欧美激情亚洲一区| 国产精品后入内射日本在线观看| 欧美 日韩 精品| 九草视频在线观看| 不卡av一区二区| 亚洲天堂久久久久久久| 国模叶桐国产精品一区| 色综合色综合色综合色综合| 国产富婆一级全黄大片| 麻豆视频免费在线观看| 99综合视频| 7777精品伊人久久久大香线蕉完整版 | 一区视频二区视频| 国产无遮挡又黄又爽又色| 成人女人a毛片在线看| 日本一区二区三区播放| 久久精品视频在线免费观看 | 污软件在线观看| 免费黄色地址| 97人人澡人人爽91综合色| 久久综合中文字幕| 欧美日韩国产999| 中文字幕在线观看第三页| www.色婷婷.com| 日韩特级毛片| 久久国产生活片100| 日韩精品一区二区三区第95| 激情成人开心网| 亚洲天堂视频网| 老司机福利在线视频| 久久尤物视频| 亚洲欧美日韩中文视频| 国产h视频在线播放| 性中国古装videossex| 性欧美videos高清hd4k| 蜜桃av噜噜一区| 亚洲视频999| 成人综合视频在线| 色婷婷av一区二区三| 无码小电影在线观看网站免费| 国产成人精品亚洲午夜麻豆| 久久在精品线影院精品国产| 中文字幕在线观看第三页| 台湾佬成人中文网222vvv| 免费高清视频在线一区| 国产欧美日韩视频一区二区| 国产精品扒开腿爽爽爽视频| 性の欲びの女javhd| 2018av男人天堂| 国产精品99在线观看| 欧美丝袜丝交足nylons| 亚洲精品永久www嫩草| www.久久视频| 国产网红女主播精品视频| 国产成人免费视频一区| 欧美精品videos另类日本| 国产综合内射日韩久| 黄色小视频免费看| 日韩激情图片| 4hu四虎永久在线影院成人| 欧美日韩播放| 精品免费国产一区二区三区四区| 久久久久www| 性感美女一区二区在线观看| 国产日韩精品一区二区浪潮av | 中文幕av一区二区三区佐山爱| 精品高清美女精品国产区| 成人在线视频一区二区三区| 精品人妻一区二区三区蜜桃视频| 一区二区三区视频网站| 国产免费观看久久| 丝袜美腿玉足3d专区一区| 四虎成人精品在永久在线观看 | 五月天精品在线| 色图在线观看| 亚洲欧美福利一区二区| 日本高清xxxx| 奇米影视狠888| 乱码第一页成人| 欧美壮男野外gaytube| 欧美a视频在线观看| 欧美日韩黄网站| 亚洲国产精品va在看黑人| japanese在线观看| 黄网站视频在线观看| 中文字幕综合网| 日本福利视频网站| 免费观看的av| 国产激情偷乱视频一区二区三区| 国产91aaa| 先锋影音中文字幕| 最新日韩欧美| 国产精品入口免费视频一| 国产夫绿帽单男3p精品视频| 成人羞羞网站入口免费| 欧美老女人性生活| 在线观看免费国产视频| 国产精品一区二区三区美女| 亚洲欧美日韩另类| 欧美日韩综合一区二区| 91精品国产经典在线观看| 91精品国产麻豆| 我和岳m愉情xxxⅹ视频| 国产美女高潮在线| 欧美高清视频一二三区| 日本黄色录像片| 欧美24videosex性欧美| 欧美又粗又大又爽| 男人的天堂影院| 男女羞羞在线观看| 日韩一本二本av| 天天干天天舔天天操| 二吊插入一穴一区二区| 亚洲国产成人av在线| 天美传媒免费在线观看| 国精品产品一区| 亚洲精品一区中文| 久久精品99国产精| 久久精品论坛| 欧美精品免费在线观看| 在线免费观看视频网站| 一区二区三区国产精华| 成人动漫网站在线观看| 香蕉视频黄色片| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品免费在线播放| 在线a视频网站| 成人小视频在线| 日本成人在线不卡| 亚洲图片欧美| 黑人巨大精品欧美一区二区一视频| 日本美女久久久| 国产白丝在线观看| 欧美tk—视频vk| 中文字幕五月天| 国内毛片久久| 性欧美暴力猛交69hd| 午夜美女福利视频| 久久国产精品99国产| 久久精品日产第一区二区三区 | 亚洲精品视频观看| 黄色国产小视频| 好吊日视频在线观看| 制服丝袜日韩国产| 九九免费精品视频| 国产精品一在线观看| 国产精品第三页| 精品全国在线一区二区| 国产精品456| 成人午夜视频免费观看| 欧洲毛片在线| 欧美怡红院视频| 2014亚洲天堂| 妖精一区二区三区精品视频 | 69堂成人精品视频免费| 国产成人精品实拍在线| 99国产精品视频免费观看| 夫妻免费无码v看片| 国产cdts系列另类在线观看| 欧美一级欧美三级在线观看 | 亚洲激情欧美色图| 国产精品白丝jk黑袜喷水| 无码熟妇人妻av在线电影| 高清中文字幕一区二区三区| 欧美精三区欧美精三区| 免费在线观看一级片| 精品高清在线| av资源一区二区| 五月综合网站| 一区二区三区在线视频观看| 欧美日韩人妻精品一区在线| 成人黄色理论片| 97avcom| 九九热精品在线视频| 91污片在线观看| 国产精品久久久毛片| 久久青青视频| 久久综合网hezyo| 亚洲图区综合网| 久久综合色天天久久综合图片| 欧美一级特黄aaa| 另类一区二区| 情事1991在线| 免费aⅴ网站| 一区二区激情视频| 我想看黄色大片| 欧美美女一区| 久久精品一二三区| 视频福利在线| 日韩视频一区二区三区在线播放| 久久久精品毛片| 青青草国产成人av片免费| 国产96在线 | 亚洲| 国产99在线观看| 欧美巨大黑人极品精男| 国产午夜三区视频在线| 成人免费在线视频观看| 亚洲精品国产一区黑色丝袜| 欧洲杯什么时候开赛| 国产在线精品一区二区三区| 一本大道香蕉8中文在线视频 | 加勒比一区二区三区| 色婷婷亚洲婷婷| 国产精品久久久久久99| 日日摸夜夜添夜夜添亚洲女人| 国产综合av在线| 成人免费短视频| 91精品国产九九九久久久亚洲| 一个人看的日本免费视频| 亚洲午夜精品久久久久久久久| 亚洲精品卡一卡二| 亚洲激情一区| 国产3p露脸普通话对白| 91成人抖音| 国产精品人成电影| 国产黄视频在线观看| 91精选在线观看| www国产在线| 久久久久久一级片| 日本xxxxxxxxx18| 欧美精品国产一区| www污在线观看| a成人v在线| 91精品一区二区| 日韩资源在线| 东方aⅴ免费观看久久av| 五月天婷婷在线观看视频| 精品国产导航| 蜜桃久久精品乱码一区二区 | 免费成人三级| 欧美日韩一区在线播放| 国产成人无吗| 国自在线精品视频| 加勒比日本影视| 亚洲第一av在线| 亚洲午夜久久久久中文字幕| 一区二区三区在线高清| 国产无遮挡裸体免费视频| 九九热在线视频观看这里只有精品 | 怡红院一区二区| 欧美第一精品| 成人免费毛片在线观看| 日本免费在线一区| 97久草视频| 欧美边添边摸边做边爱免费| 欧美大片网站在线观看| 免费高清成人| 精品福利视频一区二区三区| 亚洲日本伊人| 亚洲mv在线观看| 中文字幕第一页在线播放| 91视频.com| 91视频综合网| 国产一区二区h| 中字幕一区二区三区乱码| 国产日韩亚洲| 国产精品igao网网址不卡| av资源久久| 男人日女人下面视频| 国产精品一区二区三区美女| 超碰成人在线免费观看| 亚洲欧洲一二区| 欧美日韩高清在线一区| 成人免费影院| 狠狠色狠狠色综合人人| 超碰91在线观看| 成人在线视频福利| 欧美高清视频| 国产精品久久久久久久一区探花| 男人的天堂在线| 久久久久久国产精品久久| 992tv在线观看免费进| 日韩视频精品在线| 丁香婷婷自拍| 在线亚洲国产精品网| 大香一本蕉伊线亚洲网| 亚洲女人天堂成人av在线| 国内福利视频| 亚洲精品国产综合久久| 日本爱爱网站| 亚洲欧美日韩中文在线制服| www.天堂乱色| 亚洲色图美腿丝袜| 午夜av噜噜噜噜噜噜| 亚洲视频在线观看网站| 天堂中文字幕一二区| 上原亚衣av一区二区三区| 日本成在线观看| 欧美噜噜久久久xxx| 在线视频资源站| …久久精品99久久香蕉国产| 国产1区2区3区在线| 国产精品视频一区二区高潮| 亚洲资源一区| 国产精品区二区三区日本| 成人国产综合| 天堂v在线视频| 亚洲老女人视频免费| 男女视频一区二区三区| 欧美特黄一级| 免费a在线观看播放| 经典三级在线一区| 欧美性猛交xxxxx少妇| 国产亚洲欧洲一区高清在线观看| 国产精品久久久久久久久夜色| 亚洲天堂精品视频| 亚洲精品久久久久久动漫器材一区| 色悠久久久久综合欧美99| 欧美色图第二页| 亚洲国产日韩精品在线| 国产日本韩国在线播放| 91精品国产电影| 黄色羞羞视频在线观看|