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

標題: 單片機pov彩燈旋轉(zhuǎn)LED顯示原理介紹與程序電路原理圖設計 [打印本頁]

作者: easoncyx    時間: 2025-12-4 23:09
標題: 單片機pov彩燈旋轉(zhuǎn)LED顯示原理介紹與程序電路原理圖設計
分享一個基于STC12C5A60S3單片機的pov彩燈設計,含代碼
旋轉(zhuǎn)LED顯示原理介紹
如何讓一列燈旋轉(zhuǎn)起來感覺像穩(wěn)定的字顯示在空中呢?首先我們來分析下人的眼睛,其實人的眼睛非常好騙的,只要讓電機掃描的快一點就行了,實際上肉眼在24幀/秒以上就不會看到閃爍的,所以要保證電機的速度能在一秒轉(zhuǎn)24圈以上,這樣的話人眼就覺得旋轉(zhuǎn)的字很穩(wěn)定很清晰的顯示在空中了。
旋轉(zhuǎn)LED旋轉(zhuǎn)起來是一個圓,那么就需要有一個傳感器來判斷起點位置,有人用霍爾傳感器,有人用紅外對管,筆者覺得用紅外對管來的便宜些,而且實現(xiàn)起來也容易。這個起點檢測非常重要,單片機就是根據(jù)這個起點來判斷是否要開始顯示 數(shù)據(jù)的。如果起點檢測不到 單片機就不開始顯示。
如何讓一列燈不斷的送數(shù)據(jù)實現(xiàn)一個文字的顯示呢?這個我們就要了解文字取模的原理了,這里以PC2002字幕軟件為例,取一個16*16的中文字,見字幕選項設置:
從第一列開始向下每取8個點作為一個字節(jié),如果最后不足8個點就補滿8位。
   取模順序是從低到高,即第一個點作為最低位。如*-------取為00000001
  
取模后如下表:
0xFF,0x7F,0xFF,0xBF,0x3F,0xC8,0xBF,0xFB,0xBF,0xFB,0xBF,0xEB,0x80,0x9B,0xB7,0xFB,0xB7,0xEB,0xB7,0x9B,0xB7,0xFB,0x37,0xF8,0xF7,0xEF,0xF7,0x1F,0xFF,0xFF,0xFF,0xFF,/*"點",0*/
現(xiàn)在我們知道16*16取模是一列一列取的了,一列有2個字節(jié),一共16列,所以一個16*16的漢字就有32個字節(jié),需要占用單片機的Code空間 32個字節(jié)。然后再結合硬件來分析,如下圖:
一列燈16個 剛好對應16*16一個漢字的一列:2個字節(jié),所以把取模到的數(shù)據(jù)依次送到P2口 和P4 P5口,這里硬件中P4 P5組成一個字節(jié),所以顯示程序如下:
for(i=0;i<16;i++) //送16列   顯示 這里只顯示一個字。
            {                  
              P2=zimo[i*2]; //送數(shù)據(jù)低位顯示
              P4=(zimo[i*2+1]);//送數(shù)據(jù)高位顯示 這里用了單片機P4 和P5口 是LQFP48腳才有的IO口
              P5=(zimo[i*2+1])>>4;//這里行和列 都是IO口獨立驅(qū)動的LED
                DelayUs(200);  //延時讓LED亮起來 每列延時的時間
                          P2=0XFF;
                          P4=P5=0XFF;
               
            }
在什么時候送顯示呢?單片機IO一判斷到 紅外接收管接收到起點信號,就開始顯示,顯示完16列后等待下一次的起點信號。這樣只要電機的速度夠快就會穩(wěn)定的把字顯示字空中了。平面的文字顯示同理。
如何讓一組文字不斷的移動?這就需要一個字幕計數(shù)器,旋轉(zhuǎn)LED每旋轉(zhuǎn)一圈,這個字幕計數(shù)器就加一,指向下一列,這樣不斷的刷新,感覺文字就在移動了,程序如下:
j就是字幕計數(shù)器,每轉(zhuǎn)一圈j就會加1;
if(KEY==0) //紅外接收管 判斷起始位
        {
            j++;           
if(j>672) //根據(jù)顯示的字數(shù)定義改數(shù)值672/16=42個字 顯示完42個字后 重新開始
            {
                j=0 ;
            }           
for(i=j;i<128+j;i++) //每轉(zhuǎn)一圈  前進一列  這里定義一圈中同時顯示128/16=8個字,
            {                                                                             P2=zimo[i*2]; //送數(shù)據(jù)低位顯示
             P4=(zimo[i*2+1]);//送數(shù)據(jù)高位顯示  這里用了單片機P4 和P5口 是LQFP48腳才有的
             P5=(zimo[i*2+1])>>4;//這里行和列 都是IO口獨立驅(qū)動的LED
                DelayUs(200);  //延時讓LED亮起來 每列延時的時間
                         P2=0XFF;
                         P4=P5=0XFF;
               
            }
最后一點是供電的問題,旋轉(zhuǎn)LED供電問題是比較麻煩的,這里我采用了無線供電方式,經(jīng)過實踐論證,功率很有限,需要改進的地方還很多,電路原理是把直流轉(zhuǎn)成交流,然后經(jīng)過初級線圈 ,最后次級線圈感應得電,經(jīng)過整流濾波后給旋轉(zhuǎn)部分供電,直流轉(zhuǎn)交流部分電路是一個自激震蕩電路。動手能力強的朋友經(jīng)過改造電機電刷方法實現(xiàn),如果有條件制作的歡迎用此種方式。





單片機源程序如下:
  1. /*************************************************************
  2.                       旋轉(zhuǎn)LED綜合功能程序 平面立體一起顯示
  3. 單片機 STC12C5A32S2  
  4. 運用無線供電方法 旋轉(zhuǎn)起來平靜 (特別說明;旋轉(zhuǎn)LED轉(zhuǎn)接塑料需放點紙巾壓進電機軸,這樣旋轉(zhuǎn)起來摩擦力才夠大,夠穩(wěn)定。這個對旋轉(zhuǎn)是否安靜影響很大
  5.      一個就是配重的問題,利用兩個銅柱可以配平衡,長銅柱固定在旋轉(zhuǎn)方向那頭,即后備電池正極旁邊,短銅柱在另一邊)        結構做的好旋轉(zhuǎn)是非常靜的,幾乎是一臺風扇!
  6. 字模軟件用的PC2002
  7. 實現(xiàn)效果:1.立體顯示旋轉(zhuǎn)字 (通過 “暫停按鍵” 進行靜態(tài)與移動顯示8-29更新
  8.                   2.平面顯示數(shù)字時鐘 年月日 星期+\立體顯示字(時鐘可調(diào) 時鐘芯片用DS1302 帶后備電池 掉電時鐘繼續(xù)走)
  9.                   3.平面顯示模擬表盤時鐘  (如果表盤不全或者過多顯示 請按配套的遙控器"快進"或者"快退"來調(diào)整單列顯示時間 設置后參數(shù)保存到DS1302RAM 中 下次啟用無需調(diào)整 2012-8-28)
  10.                   4.平面\立體顯示字體模式 通過 “暫停按鍵” 進行靜態(tài)與移動顯示8-29更 新   
  11.                   5.立體下拉顯示字+停頓
  12.                   6.兩顆心閃動
  13.                   7.一顆心填滿效果
  14.                   8.笑臉動畫
  15.                   9.打印字效果 (打印一封寫給親愛的信)
  16.                  10.立體顯示時間+顯示文字
  17. 上述10種效果對應遙控器按鍵1、 2、 3、 4、 5、 6、 7、 8、 9 、0 原時鐘復位按鍵 改到按鍵“Meun”

  18. 通過上位機改 立體顯示字        平面顯示字
  19. ***************************************************************/
  20. #include "NEW_8051.H"
  21. #include "task.h"
  22. #include <stddef.h>
  23. #define ucNumRows  224//224 //定義一周顯示字個數(shù) 一個字16列 224/16=13個字
  24. #define uclineNumRows  104//定義立體顯示時間中的立體顯示文字

  25. sbit Led1=P3^0;//最里面LED
  26. sbit Led2=P3^1;
  27. sbit Led3=P3^4;

  28. uchar Delay=1 ;
  29. bit BIT_timeout=0;
  30. uint uitime=0;
  31. data uint uiicount=0;
  32. uint uiCountFontNumber=0;
  33. uint uiPrintFontNumber=0;
  34. uchar ucMode=1;
  35. data uint uiicountTwo=0;
  36. uchar BuffCount=0;
  37. uchar ucPCA0_TimeCount;
  38. data uint uiBaseAddress=0;
  39. data uint uiFontNumber=0;
  40. data uint uiFontNumber_P=0;

  41. data uchar ucNumRows_p=160;
  42. uchar DelayTimeCount=0;
  43. bit Stop_move=0;
  44. uchar Mod=0;
  45. uchar Buff[448]=0xFF;
  46. uchar ucLine_count=0;
  47. uchar Row;
  48. uchar k;
  49. bit Error=0;
  50. uchar Stop_time=0;
  51. uchar ucline=0;
  52. bit bDot=0;
  53. uchar code sw[8]={0XFE,0XFC,0XF8,0XF0,0XE0,0XC0,0X80,0X00};
  54. void delay_200ms(void);
  55. uchar code liushui[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//流水掃描數(shù)據(jù)
  56. /***************模擬表盤變量**************/
  57. uint DISP_LINE=0;
  58. uchar DISP_LINE_ADJ=0;
  59. uchar DISP_TIME_ADJ=0;
  60. uchar Time0_count=0;
  61. //====參數(shù)初始化
  62. uchar DISP_TIME_SET = 100 ; //單列顯示時間設置值

  63. /********************************************/
  64. /*********延時子程序**********/
  65. void delay(unsigned char n)        //每列顯示的時間
  66. {
  67.         unsigned char a,b,c;
  68.           c=2;//+DelayTimeCount;
  69.         for(;n>0;n--)
  70.         {            
  71.                 for(b=45;b>0;b--)
  72.         for(a=c;a>0;a--);
  73.         }
  74. }
  75. /*********延時子程序**********/
  76. void delay_PIC(unsigned char n)        //每列顯示的時間
  77. {
  78.         unsigned char a,b,c;
  79.           c=2;//+DelayTimeCount;
  80.         for(;n>0;n--)
  81.         {            
  82.                 for(b=38;b>0;b--)
  83.         for(a=c;a>0;a--);
  84.         }
  85. }

  86. /*********PCA中斷子程序**********/
  87. void PCA() interrupt 7        //PCA定時器
  88. {

  89.         if( CCF0 )
  90.         {
  91.                 CCF0 = 0;
  92.                 CL = 0;
  93.             CH = 0;
  94.                 ucPCA0_TimeCount++;
  95.                 if(ucPCA0_TimeCount>12)
  96.                 {
  97.                         ucPCA0_TimeCount=0;        //調(diào)時閃爍
  98.                         if(ucMode==2)
  99.                          {
  100.                                  flag=~flag;
  101.                          }
  102.                 }
  103.         }
  104. }
  105. /************************************/
  106. void Timer0Interrupt(void) interrupt 1
  107. {                        
  108.          TF0=0;
  109.                  TR0=0;
  110.           TH0 =(65536- DISP_TIME_SET)/256;
  111.           TL0 =(65536- DISP_TIME_SET)%256;
  112.           TR0=1;
  113.   //if ( ++Time0_count > 250 ) Time0_count = 250 ; //溢出計數(shù)器+1,>最大值,=最大值

  114.   if ( ++DISP_LINE > 180 ) DISP_LINE = 0 ; //顯示列計數(shù)器+1,>最大值,=0
  115.                 /***********清空顯示************/
  116.                 P1=0XFF ;
  117.             P0=0XFF ;
  118.                 Led1=0;
  119.                 Led2=1;
  120.                 Led3=1;
  121.                 /*************形成表盤*******************/
  122.            switch (DISP_LINE)   
  123.        {
  124.                 case 180*1/12 :    //1點
  125.                 case 180*2/12 :    //2點
  126.                 case 180*4/12 :    //4點
  127.                 case 180*5/12 :    //5點
  128.                 case 180*7/12 :    //6點
  129.                 case 180*8/12 :    //7點
  130.                 case 180*10/12 :   //10點
  131.                 case 180*11/12 :   //11點
  132.                   P1=0x3F;
  133.                  break;
  134.                         case 180*3/12 :    //3點
  135.                 case 180*6/12 :    //6點
  136.                 case 180*9/12 :    //9點
  137.                         case 0:    //12點
  138.                           P1=0x1F;
  139.                           break;
  140.        }
  141.    /****************************************/   
  142.              //顯示指針"時"
  143. //           i = Hour ;
  144. //       j = Hour ;
  145. //      if ( ++i > 179 ) i=0 ;    //i+1,結果>179,則清零
  146. //      if ( --j > 179 ) i=179 ;   //j-1,結果為負,則重新賦值179
  147.         if(( (Hour-3)<=DISP_LINE)&&((Hour+3)>=DISP_LINE) )
  148.         {
  149.                 if(((Hour-2)==DISP_LINE)||((Hour+2)==DISP_LINE))
  150.                 P0=0XFB;
  151.                 else if(((Hour-3)==DISP_LINE)||((Hour+3)==DISP_LINE))
  152.                 P0=0XFD;
  153.                         
  154.         }
  155.            if(Hour==DISP_LINE)//||(DISP_LINE==i)||(DISP_LINE==j
  156.     {
  157.         P1=P1|0X1F ;
  158.         P0=0XF0 ;
  159.                Led1=0;
  160.                 Led2=0;
  161.                 Led3=0;
  162.     }   
  163.     //顯示指針"分"
  164.         if(( (Cent-2)<=DISP_LINE)&&((Cent+2)>=DISP_LINE) )
  165.         {
  166.                 if(((Cent-1)==DISP_LINE)||((Cent+1)==DISP_LINE))
  167.                 P0=0XBF;
  168.                 else if(((Cent-2)==DISP_LINE)||((Cent+2)==DISP_LINE))
  169.                 P0=0XDF;
  170.                         
  171.         }
  172.         if(Cent==DISP_LINE)
  173.     {
  174.         P1=P1|0X1F ;
  175.         P0=0X00 ;
  176.         Led1=0;
  177.                 Led2=0;
  178.                 Led3=0;
  179.                
  180.     }
  181.         //顯示指針"秒"
  182.         if(( (Sec-2)<=DISP_LINE)&&((Sec+2)>=DISP_LINE) )
  183.         {
  184.                 if(((Sec-1)==DISP_LINE)||((Sec+1)==DISP_LINE))
  185.                 P1=P1&0XF7 ;
  186.                 else if(((Sec-2)==DISP_LINE)||((Sec+2)==DISP_LINE))
  187.                 P1=P1&0XFB ;
  188.                         
  189.         }
  190.     if(Sec==DISP_LINE)
  191.     {
  192.         P1=P1&0XE0 ;
  193.         P0=0X00 ;
  194.                Led1=0;
  195.                 Led2=0;
  196.                 Led3=0;
  197.       
  198.     }

  199.         //}
  200. }


  201. /*********中斷子程序**********/
  202. void int0() interrupt 0        //使用外部中斷0
  203. {
  204.         EX0=0;
  205.         BIT_timeout=1;
  206.         if(ucMode==0x03)
  207.         {
  208.                 //調(diào)整單列顯示時間設置值(模糊控制)
  209. //           if ( Time0_count > 183 )
  210. //           {
  211. //                        if ( Time0_count > 220 ) DISP_TIME_SET = DISP_TIME_SET + 4 ;
  212. //                        else if ( Time0_count > 200 ) DISP_TIME_SET = DISP_TIME_SET + 3 ;
  213. //                        else if ( Time0_count > 185 ) DISP_TIME_SET = DISP_TIME_SET + 2 ;
  214. //                        else DISP_TIME_SET = DISP_TIME_SET + 1 ;
  215. //                        
  216. //                        if ( DISP_TIME_SET > 2000 ) DISP_TIME_SET = 2000 ;  //鉗位
  217. //               
  218. //                        }
  219. //                        else if ( Time0_count < 180 )
  220. //                        {
  221. //                        if ( Time0_count < 140 ) DISP_TIME_SET = DISP_TIME_SET - 4 ;
  222. //                        else if ( Time0_count < 160 ) DISP_TIME_SET = DISP_TIME_SET - 3 ;
  223. //                        else if ( Time0_count < 175 ) DISP_TIME_SET = DISP_TIME_SET - 2 ;
  224. //                        else DISP_TIME_SET = DISP_TIME_SET - 1 ;
  225. //                                if ( DISP_TIME_SET < 100 ) DISP_TIME_SET = 100 ;  //鉗位
  226. //               
  227. //                        }
  228. //                        
  229.                 //        DISP_TIME_SET=DISP_TIME_SET+DISP_TIME_ADJ;
  230.                 //        Time0_count=0; //溢出計數(shù)器 = 0
  231.                         TR0=0;
  232.                         TH0 =(65536- DISP_TIME_SET)/256;
  233.                           TL0 =(65536- DISP_TIME_SET)%256;
  234.                         TR0=1;
  235.                     DISP_LINE =0;// DISP_LINE_ADJ ;   //顯示列計數(shù)器(0~179)=校正值
  236.                          du1302();//獲取時間
  237.                         Sec=59-(Sec/16*10+Sec%16) ; //由于電機反轉(zhuǎn) 所以需要用最大值減去當前值
  238.                 Cent=59-(Cent/16*10+Cent%16) ;
  239.                     Hour=Hour/16*10+Hour%16 ;
  240.                         if(Hour>11)
  241.                         {
  242.                                 Hour=Hour-12;        
  243.                         }
  244.                         Hour=12-Hour;
  245.                         Sec=Sec*3;//秒針定位="秒"*3
  246.                         Hour=(Hour*15)+(Cent/4);//時針定位="時"*15+"分"/4
  247.                         Cent=Cent*3;//分針定位="分"*3        
  248.                         
  249.                 }
  250.                 EX0=1;        
  251. }
  252. /********************************/
  253. void start(void)
  254. {
  255.         P1=0XFF;
  256.         P2=0XFF;
  257.         P0=0XFF;
  258.         P3=0XFF;
  259.         P4=0XFF;
  260.         P5=0XFF;

  261. //        uiFontNumber=(byte_read(0x0100)<<8)+byte_read(0x0101);
  262.         uiFontNumber=((byte_read(0)<<8)+byte_read(1))*16; //讀取EEP立體數(shù)據(jù)總數(shù)
  263.         uiPrintFontNumber=uiFontNumber*2;
  264.         uiFontNumber_P=((byte_read(0x3600)<<8)+byte_read(0x3601))*16; //讀取EEP平面數(shù)據(jù)總數(shù)
  265.         //ucNumRows=R1302(ucNumRows_adder+1)*16;        //讀立體一圈中顯示字總數(shù)
  266. //        if(ucNumRows<16)
  267. //        {
  268. //                ucNumRows=224;        
  269. //        }
  270. //        ucNumRows_p=R1302(ucNumRows_p_adder+1)*16;
  271. //        if(ucNumRows_p<16)
  272. //        {
  273. //                ucNumRows_p=96;        
  274. //        }
  275.         //Send_data(uiFontNumber>>8);
  276.         //Send_data(uiFontNumber);
  277.         //Send_data(BCD2DEC(R1302(LINE_ADJ_adder+1)));
  278. //        DISP_LINE_ADJ=BCD2DEC(R1302(LINE_ADJ_adder+1));//讀取列計數(shù)器校正值
  279. //        if(DISP_LINE_ADJ>20)//防止值過大
  280. //        {
  281. //                DISP_LINE_ADJ=0;        
  282. //        }
  283.         //write_1302Data(DISP_TIME_adder,160);

  284. //        DISP_LINE = DISP_LINE_ADJ ; //顯示列計數(shù)器(0~179)=校正值

  285. //        DISP_TIME_SET=DISP_TIME_SET+ DISP_TIME_ADJ;
  286.         //DISP_LINE = DISP_LINE_ADJ ; //顯示列計數(shù)器(0~179)=校正值  
  287.         //uiAllRows=uiAllRows-128;;

  288. }
  289. /***************************************/
  290. void OS_ALLRun(void)
  291. {        
  292.         
  293.         //BIT_timeout=1;
  294.         if(BIT_timeout)//起始點
  295.          {                          
  296.                 BIT_timeout=0;
  297.                 Error=1;

  298.                 if( new_code ) //有紅外按鍵
  299.                 {
  300.                         new_code=0;
  301.                         
  302.                         //Send_data(key_code);
  303.                         switch( key_code ) //根據(jù)不同的按鍵值執(zhí)行不同的動作
  304.                         {
  305.                                 case 0x07:
  306.                                         if(ucMode==3)
  307.                                         {                                                
  308.                                                 if(DISP_TIME_SET<250)
  309.                                                     {
  310.                                                                 DISP_TIME_SET++;                                                
  311.                                                                 write_1302Data(DISP_TIME_adder,DISP_TIME_SET);//寫入DS1302 RAM中保存
  312.                                                         }        
  313.                                         }
  314.                                         else
  315.                                         {
  316.                                                  DelayTimeCount++;//單列延時時間+
  317.                                         }
  318.                                 break;
  319.         
  320.                                 case 0x09://
  321.                                         if(ucMode==3)
  322.                                         {
  323.                                                 if(DISP_TIME_SET>20)
  324.                                                 {
  325.                                                         DISP_TIME_SET--;                                       
  326.                                                         write_1302Data(DISP_TIME_adder,DISP_TIME_SET);//寫入DS1302 RAM中保存               
  327.                                             }
  328.                                         }
  329.                                         else
  330.                                         {
  331.                                                 if(DelayTimeCount>0)//單列延時時間-
  332.                                                 DelayTimeCount--;
  333.                                         }
  334.                                 break;

  335.                            /*********************************/
  336.                                 case 0x0C:
  337.                                         ucMode=0x01;//立體顯示字 移動效果+靜態(tài)顯示
  338.                                         CR=0;
  339.                                         TR0=0;
  340.                                         uiCountFontNumber=0;
  341.                                         Led1=1;
  342.                                         Led2=1;
  343.                                         Led3=1;
  344.                                 break;
  345.                                    case 0x1C:
  346.                                         ucMode=0x05;//立體顯示字 下拉效果+靜態(tài)顯示
  347.                                         CR=0;
  348.                                         TR0=0;
  349.                                         Led1=1;
  350.                                         Led2=1;
  351.                                         Led3=1;
  352.                                         uiCountFontNumber=0;
  353.                                 break;
  354.                                  case 0x5A:
  355.                                         ucMode=0x06;//立體顯示簡單動畫
  356.                                         CR=0;
  357.                                         TR0=0;
  358.                                         uiCountFontNumber=0;
  359.                                         Led1=1;
  360.                                         Led2=1;
  361.                                         Led3=1;
  362.                                 break;
  363.                                 case 0x42:
  364.                                         ucMode=0x07;//立體顯示心型變化
  365.                                         CR=0;
  366.                                         TR0=0;
  367.                                         uiCountFontNumber=0;
  368.                                         Led1=1;
  369.                                         Led2=1;
  370.                                         Led3=1;
  371.                                 break;
  372.                                 case 0x52:
  373.                                         ucMode=0x08;//笑臉變化
  374.                                         CR=0;
  375.                                         TR0=0;
  376.                                         uiCountFontNumber=0;
  377.                                         Led1=1;
  378.                                         Led2=1;
  379.                                         Led3=1;
  380.                              break;
  381.                                 case 0x4A:                                       
  382.                                         CR=0;
  383.                                         TR0=0;
  384.                                         uiCountFontNumber=0;
  385.                                         ucMode=0x09;//打印字效果
  386.                                         ucLine_count=0;
  387.                                         Led1=1;
  388.                                         Led2=1;
  389.                                         Led3=1;
  390.                              break;
  391.                                 case 0x16:                                       
  392.                                         CR=0;
  393.                                         TR0=0;
  394.                                         uiCountFontNumber=0;
  395.                                         ucMode=0x0A;//立體顯示時間 與文字
  396.                                         Led1=1;
  397.                                         Led2=1;
  398.                                         Led3=1;
  399.                              break;
  400.                                 case 0x18:                                       
  401.                                         TR0=0;
  402.                                         CR=0;
  403.                                         Auto_Set1302(starts_time);
  404.                                         ucMode=0x02;//數(shù)字鐘模式
  405.                                         Led1=1;
  406.                                         Led2=1;
  407.                                         Led3=1;
  408.                                 break;

  409.                                 case 0x5E:
  410.                                 
  411.                                          DISP_TIME_SET=R1302(DISP_TIME_adder+1);//讀取單列顯示時間
  412.                                          //Send_data(DISP_TIME_SET);
  413.                                         if((DISP_TIME_SET>250)||(DISP_TIME_SET<20)) //防止值過大        過小
  414.                                         {
  415.                                                 DISP_TIME_SET=115;        
  416.                                         }
  417.                                         ucMode=0x03;//指針時鐘模式
  418.                                         TR0=1;
  419.                                          CR=0;
  420.                                         Led1=0;
  421.                                 break;
  422.                                 case 0x08:
  423.                                         ucMode=0x04;//平面顯示字模式
  424.                                         CR=0;
  425.                                         TR0=0;
  426.                                         uiCountFontNumber=0;
  427.                                         Led1=1;
  428.                                         Led2=1;
  429.                                         Led3=1;
  430.                                 break;
  431.                                 /*********************************/
  432.                                 case 0x40:         //調(diào)時加
  433.                                         if(ucMode==0x02)
  434.                                         {
  435.                                                 Set(id,1);
  436.                                                 
  437.                                         }
  438.                                         else if(ucMode==0x03)
  439.                                         {
  440.                                                 if(++DISP_LINE_ADJ>179)        //盤面校正值
  441.                                                 {
  442.                                                         DISP_LINE_ADJ=0;
  443.                                                         
  444.                                                 }
  445.                                                 write_1302Data(LINE_ADJ_adder,DISP_LINE_ADJ);//寫入DS1302 RAM中保存        
  446.                                         }
  447.                                 break;

  448.                                 case 0x19: //調(diào)時減
  449.                                         if(ucMode==0x02)
  450.                                         {                                                
  451.                                                 Set(id,0);
  452.                                         }
  453.                                         else if(ucMode==0x03)
  454.                                         {
  455.                                                 if(--DISP_LINE_ADJ==0) //盤面校正值
  456.                                                 {
  457.                                                         DISP_LINE_ADJ=179;
  458.                                                         
  459.                                                 }
  460.                                           write_1302Data(LINE_ADJ_adder,DISP_LINE_ADJ);//寫入DS1302 RAM中保存               
  461.                                         }

  462.                                 break;
  463.                                 
  464.                                 case 0x15://調(diào)時切換
  465.                                                 if(ucMode==2)
  466.                                                 {
  467.                                                         id++;                                                
  468.                                                         //CCAPM1 = 0x49; //開PCA0中斷
  469.                                                         //CCAPM0 = 0x00; //關PCA1中斷
  470.                                                         CR=1;//啟動PCA計數(shù)
  471.                                                            if(id>4)
  472.                                                         {
  473.                                                             id=0;
  474.                                                                 CR=0;//關閉PCA計數(shù)
  475.                                                         //        CCAPM0 = 0x00;//關PCA0中斷
  476.                                                         }
  477.                                                 }
  478.                                                 else if((ucMode==4)||(ucMode==5)||(ucMode==1))
  479.                                                 {
  480.                                                         Stop_move=~Stop_move;               
  481.                                                 }
  482.                                 break;
  483.                                         case 0x47://時鐘初始化
  484.                                                 Set1302(starts_time);    //初始化
  485.                                                 W1302(0x8e,0x00); //控制命令,WP=0,寫操作               
  486.                                                 W1302(0x90,0xa5); //打淶二級? 一個二級管串聯(lián)一個2K玷
  487.                                                 //write_1302Data(DISP_TIME_adder,160);
  488.                                 break;

  489.                                 default: break;
  490.                         }
  491.                         key_code=0;
  492.                 }
  493.                 //DelayTime=TimeCount/(ucNumRows+60);        
  494.                 //TimeCount=0;        //延時周期計數(shù)清零
  495.                 switch (ucMode)
  496.                 {
  497.                         case 0x01://立體顯示字移動模式
  498.                                 //uiCountFontNumber++;
  499.                                 Led3=1;
  500.                                 P1=0XFF;
  501.                                 P0=0XFF;
  502.                                         if(Stop_move==0) //是否暫停移動
  503.                                         {
  504.                                                 uiCountFontNumber++;        
  505.                                         }                                          
  506.                     if(uiCountFontNumber >uiFontNumber ) //uiFontNumber
  507.                     {
  508.                         
  509.                                         uiCountFontNumber = 0;
  510.                                        
  511.                     }            
  512.                     for( uiicount = uiCountFontNumber;uiicount<ucNumRows+uiCountFontNumber+32;uiicount++)
  513.                     {                                                               
  514.                        
  515.                                         P2=byte_read(2+uiicount*2);//讀取內(nèi)部EEPROM字幕數(shù)據(jù) 數(shù)據(jù)在2地址后 所以要加上2
  516.                                         P4=byte_read(2+uiicount*2+1);
  517.                                         P5=byte_read(2+uiicount*2+1)>>4;
  518.                                         delay(1);
  519.                                         P2=P4=P5=0XFF;
  520.                        if(BIT_timeout)
  521.                                    {
  522.                                             
  523.                                           break;
  524.                                    }
  525.                                 }

  526.                                 break;
  527.                         case 0X0A://立體顯示時間 與文字
  528.                                  du1302();
  529.                                  Show_line_time();//立體顯示時間
  530.                                  delay(48);
  531.                                  uiCountFontNumber++;        
  532.                                 if(uiCountFontNumber >uiFontNumber ) //uiFontNumber
  533.                     {
  534.                         
  535.                                         uiCountFontNumber = 0;
  536.                                        
  537.                     }            
  538.                     for( uiicount = uiCountFontNumber;uiicount<uclineNumRows+uiCountFontNumber;uiicount++)
  539.                     {                                                               
  540.                        
  541.                                         P2=byte_read(2+uiicount*2);//讀取內(nèi)部EEPROM字幕數(shù)據(jù) 數(shù)據(jù)在2地址后 所以要加上2
  542.                                         P4=byte_read(2+uiicount*2+1);
  543.                                         P5=byte_read(2+uiicount*2+1)>>4;
  544.                                         delay(1);
  545.                                         P2=P4=P5=0XFF;
  546.                        if(BIT_timeout)
  547.                                    {
  548.                                             
  549.                                           break;
  550.                                    }
  551.                                 }
  552.                         break;
  553.                         case 0x05://立體顯示字下拉模式
  554.                                 //uiCountFontNumber++;
  555.                                 {
  556.                                 if(uiCountFontNumber >uiFontNumber ) //uiFontNumber
  557.                     {
  558.                         
  559.                                         uiCountFontNumber = 0;
  560.                                        
  561.                     }            
  562.                     for( uiicount = 0;uiicount<ucNumRows;uiicount++)
  563.                     {                                                               
  564.                        
  565.                                         P2=Buff[uiicount*2];//讀取內(nèi)部EEPROM字幕數(shù)據(jù) 數(shù)據(jù)在2地址后 所以要加上2
  566.                                         P4=Buff[uiicount*2+1];
  567.                                         P5=Buff[uiicount*2+1]>>4;
  568.                                         delay(1);
  569.                                         P2=P4=P5=0XFF;
  570.                        if(BIT_timeout)
  571.                                    {
  572.                                             
  573.                                           break;
  574.                                    }
  575.                                 }
  576.                                  
  577.                                 /****************************************/
  578.                             switch (Mod) //根據(jù)當前狀態(tài)顯示
  579.                                 {
  580.                                         case 0://下拉顯示
  581.                                                 for(k=0;k<=ucNumRows;k++)
  582.                                                 {
  583.                                                         if(Row<8)
  584.                                                         {
  585.                                                                 Buff[k*2]=(byte_read(2+uiCountFontNumber+k*2))|(sw[Row]);
  586.                                                                 Buff[k*2+1]=0xFF;
  587.                                                         }
  588.                                                         else
  589.                                                         {
  590.                                                                 Buff[k*2]=(byte_read(2+uiCountFontNumber+k*2));
  591.                                                                 Buff[k*2+1]=(byte_read(2+uiCountFontNumber+k*2+1))|(sw[Row-8]);                                                        
  592.                                                         }        
  593.                                                 }
  594.                                                 break;
  595.                                         case 1: //靜態(tài)顯示
  596.                                         case 2:                                                
  597.                                                 break;
  598.                                         case 3:        //擦除
  599.                                                 for(k=0;k<=ucNumRows;k++)
  600.                                                 {
  601.                                                         if(Row<8)
  602.                                                         {
  603.                                                                 Buff[k*2]=(byte_read(2+uiCountFontNumber+k*2))|(~sw[Row]);
  604.                                                         }
  605.                                                         else
  606.                                                         {
  607.                                                                 Buff[k*2+1]=(byte_read(2+uiCountFontNumber+k*2+1))|(~sw[Row-8]);                                                        
  608.                                                         }        
  609.                                                 }                 
  610.                                         break;
  611.                                         default:
  612.                                                 break;
  613.                                 }
  614.                                 if(++Row>=16)
  615.                                 {
  616.                                         Row=0;
  617.                                         Mod++;
  618.                                         if(Mod>3)
  619.                                         {
  620.                                                 Mod=0;
  621.                                                 if(Stop_move==0) //是否暫停移動
  622.                                                 {
  623.                                                         uiCountFontNumber+=64;        
  624.                                                 }
  625.                                         }
  626.                                        
  627.                                 }
  628.                                 }                                                                           
  629.                                 break;
  630.                                 case 0x06://立體顯示兩顆心動畫
  631.                                          for(k=0;k<4;k++)
  632.                                          {
  633.                                                 for( uiicount = 0;uiicount<32;uiicount++)
  634.                                     {                                                               
  635.                                        
  636.                                                         P2=Buff[uiicount*2];
  637.                                                         P4=Buff[uiicount*2+1];
  638.                                                         P5=Buff[uiicount*2+1]>>4;
  639.                                                         delay(2);
  640.                                                         P2=P4=P5=0XFF;
  641.                                        if(BIT_timeout)
  642.                                                    {
  643.                                                             
  644.                                                           break;
  645.                                                    }
  646.                                                   }
  647.                                            }
  648.                                         for(k=0;k<32;k++)
  649.                                         {
  650.                                        
  651.                                                 Buff[k*2]=flash[uiCountFontNumber+k*2];
  652.                                                 Buff[k*2+1]=flash[uiCountFontNumber+k*2+1];
  653.                                        
  654.                                         }
  655.                                         if(++Row>=8)
  656.                                         {
  657.                                                 Row=0;
  658.                                                 uiCountFontNumber+=64;
  659.                                                 if(uiCountFontNumber>=192)
  660.                                                         {uiCountFontNumber=0;}        
  661.                                                 
  662.                                         }                                       
  663.                                         break;
  664.                                 case 0x07://立體顯示心形動畫
  665.                                          for(k=0;k<4;k++)
  666.                                          {
  667.                                                 for( uiicount = 0;uiicount<32;uiicount++)
  668.                                     {                                                               
  669.                                        
  670.                                                         P2=Buff[uiicount*2];
  671.                                                         P4=Buff[uiicount*2+1];
  672.                                                         P5=Buff[uiicount*2+1]>>4;
  673.                                                         delay(2);
  674.                                                         P2=P4=P5=0XFF;
  675.                                        if(BIT_timeout)
  676.                                                    {
  677.                                                             
  678.                                                           break;
  679.                                                    }
  680.                                                   }
  681.                                            }
  682.                                         for(k=0;k<32;k++)
  683.                                         {
  684.                                        
  685.                                                 Buff[k*2]=xinxing[uiCountFontNumber+k*2];
  686.                                                 Buff[k*2+1]=xinxing[uiCountFontNumber+k*2+1];
  687.                                        
  688.                                         }
  689.                                         if(++Row>=8)
  690.                                         {
  691.                                                 Row=0;
  692.                                                 uiCountFontNumber+=64;
  693.                                                 if(uiCountFontNumber>=576)
  694.                                                         {uiCountFontNumber=0;}        
  695.                                                 
  696.                                         }                                       
  697.                                         break;
  698.                                 case 0x08://立體顯示笑臉動畫
  699.                                          for(k=0;k<4;k++)
  700.                                          {
  701.                                                 for( uiicount = 0;uiicount<32;uiicount++)
  702.                                     {                                                               
  703.                                        
  704.                                                         P2=Buff[uiicount*2];
  705.                                                         P4=Buff[uiicount*2+1];
  706.                                                         P5=Buff[uiicount*2+1]>>4;
  707.                                                         delay(2);
  708.                                                         P2=P4=P5=0XFF;
  709.                                        if(BIT_timeout)
  710.                                                    {
  711.                                                             
  712.                                                           break;
  713.                                                    }
  714.                                                   }
  715.                                            }
  716.                                         for(k=0;k<32;k++)
  717.                                         {
  718.                                        
  719.                                                 Buff[k*2]=xiaolian[uiCountFontNumber+k*2];
  720.                                                 Buff[k*2+1]=xiaolian[uiCountFontNumber+k*2+1];
  721.                                        
  722.                                         }
  723.                                         if(++Row>=15)
  724.                                         {
  725.                                                 Row=0;
  726.                                                 uiCountFontNumber+=64;
  727.                                                 if(uiCountFontNumber>=256)
  728.                                                         {uiCountFontNumber=0;}        
  729.                                                 
  730.                                         }                                       
  731.                                         break;
  732.                                 case 0x09://打印字效果
  733.                                 
  734.                                                 for( uiicount = 0;uiicount<176;uiicount++)
  735.                                     {                                                               
  736.                                        
  737.                                                         P2=Buff[uiicount*2];
  738.                                                         P4=Buff[uiicount*2+1];
  739.                                                         P5=Buff[uiicount*2+1]>>4;
  740.                                                         delay(1);
  741.                                                         P2=P4=P5=0XFF;
  742.                                        if(BIT_timeout)
  743.                                                    {
  744.                                                             
  745.                                                           break;
  746.                                                    }
  747.                                                   }
  748.                                                 
  749.                                                 ucline=0;
  750.                                         for(k=0;k<176;k++)
  751.                                         {
  752.                                        
  753.                                                 if(k<ucLine_count)
  754.                                                 {
  755.                                                         Buff[k*2]=byte_read(2+uiCountFontNumber+k*2);
  756.                                                         Buff[k*2+1]=byte_read(2+uiCountFontNumber+k*2+1);
  757.                                                 }
  758.                                                 else if(k<(ucLine_count+16))
  759.                                                 {
  760.                                                         
  761.                                                         if((bDot==1)&&(ucLine_count==160))
  762.                                                         {
  763.                                                                 Buff[k*2]=0XFF;
  764.                                                                 Buff[k*2+1]=0XFF;        
  765.                                                         }
  766.                                                         else
  767.                                                         {
  768.                                                                 Buff[k*2]=line[ucline++];
  769.                                                                 Buff[k*2+1]=line[ucline++];        
  770.                                                         }
  771.                                                 }
  772.                                                 else
  773.                                                 {
  774.                                                         
  775.                                                         Buff[k*2]=0XFF;
  776.                                                         Buff[k*2+1]=0XFF;        
  777.                                                 }
  778.                                        
  779.                                         }
  780.                                         if(++Row>=10)                                                
  781.                                         {
  782.                                                 Row=0;
  783.                                                 bDot=~bDot;
  784.                                                 if(ucLine_count<160)
  785.                                                 {
  786.                                                         ucLine_count=ucLine_count+16;
  787.                                                 }                                                        
  788.                                                 if(ucLine_count>=160)
  789.                                                         {
  790.                                                                 if(++Stop_time>4)
  791.                                                                 {
  792.                                                                         Stop_time=0;                                                               
  793.                                                                         ucLine_count=0;
  794.                                                                         uiCountFontNumber+=320;
  795.                                                                         if(uiCountFontNumber>=uiPrintFontNumber)
  796.                                                                         {
  797.                                                                                 uiCountFontNumber=0;        
  798.                                                                         }
  799.                                                                 }
  800.                                                         }        
  801.                                                 
  802.                                         }                                                                                
  803.                                         break;
  804.                         case 0x02:        //數(shù)字時鐘模式
  805.                                 du1302();
  806.                                 Led1=1;
  807.                                 Led3=1;
  808.                                 if( ++uiCountFontNumber >uiFontNumber ) //uiFontNumber
  809.                     {
  810.                         
  811.                                         uiCountFontNumber = 0;
  812.                                        
  813.                     }
  814.                                  uiicount = uiCountFontNumber;                                 
  815.                                 display();
  816.                                 break;
  817.                         /*********************/
  818.                
  819.                         case 0x04:        //平面顯示字體模式
  820.                                 Led3=1;
  821.                                 if(Stop_move==0)
  822.                                 {
  823.                                         uiCountFontNumber++;
  824.                                 }                                            
  825.                     if( uiCountFontNumber>uiFontNumber_P )
  826.                     {
  827.                         uiCountFontNumber=0 ;
  828.                     }            
  829.                     for(uiicountTwo=uiCountFontNumber;uiicountTwo<ucNumRows_p+uiCountFontNumber;uiicountTwo++)
  830.                     {                              
  831.                         P1=byte_read(0x3602+uiicountTwo*2);
  832.                         P0=byte_read(0x3603+uiicountTwo*2);
  833.                                         P2=byte_read(2+uiicountTwo*4);//讀取內(nèi)部EEPROM字幕數(shù)據(jù) 數(shù)據(jù)在2地址后 所以要加上2
  834.                                         P4=byte_read(3+uiicountTwo*4);
  835.                                         P5=byte_read(3+uiicountTwo*4)>>4;
  836.                                         delay(1);
  837.                                         P2=P4=P5=0XFF;
  838.                                         P2=byte_read(4+uiicountTwo*4);//讀取內(nèi)部EEPROM字幕數(shù)據(jù) 數(shù)據(jù)在2地址后 所以要加上2
  839.                                         P4=byte_read(5+uiicountTwo*4);
  840.                                         P5=byte_read(5+uiicountTwo*4)>>4;                                
  841.                                         delay(1);
  842.                                         P1=0xFF;
  843.                                         P0=0XFF;
  844.                                         P2=P4=P5=0XFF;                                
  845.                        if(BIT_timeout)
  846.                                    {
  847.                                           break;
  848.                                    }
  849.                                 }
  850.                                 break;
  851.                         default:
  852.                                 break;
  853.                 }
  854.                   
  855.         }
  856.         if(Error==0) //上電后如果紅外對管 不正常 (無起點檢測)會以流水燈形式跑起來,流水燈也可檢測LED焊接是否正常
  857.         {
  858.                 for(k=0;k<8;k++)
  859.                         {                                
  860.                                 P0=~liushui[k];
  861.                                 P1=~liushui[k];
  862.                                 P2=~liushui[k];
  863.                                 P3=~liushui[k]|0x0F;
  864.                                 P4=~liushui[k];
  865.                                 P5=~liushui[k];               
  866.                             delay_200ms();

  867.                         }               
  868.         }
  869. }
復制代碼

代碼下載: 基于STC12的pov彩燈程序設計.7z (1.19 MB, 下載次數(shù): 0)





歡迎光臨 (http://www.izizhuan.cn/bbs/) Powered by Discuz! X3.1
亚洲一区成人| 亚洲精品国产精品乱码不卡| 亚洲综合天堂网| 黄页网址在线观看| 国产精品视频一区二区三区综合| 国产日韩一区二区三区在线播放| 综合自拍亚洲综合图不卡区| 在线精品国产欧美| 蜜桃传媒视频麻豆一区 | 中文字幕在线永久| 亚洲精品人妻无码| 裸体xxxx视频在线| 偷拍亚洲精品| 国产性做久久久久久| 亚洲美女福利视频网站| 鲁鲁狠狠狠7777一区二区| 秘密基地免费观看完整版中文| 国产成人三级在线播放| 尤物视频网站在线观看| 久久99国产精品久久99大师| 91女神在线视频| 亚洲欧洲日韩国产| 亚洲精品国产系列| 午夜剧场免费在线观看| 最新天堂网www| 日韩免费电影| 亚洲综合网站| 成人精品一区二区三区四区| 日韩精品视频免费专区在线播放| 麻豆传媒一区二区| 国产激情av在线| 第四色播日韩| 日本精品裸体写真集在线观看| 青椒成人免费视频| 欧美大胆一级视频| 欧美日韩国产一二| 亚洲天堂网av在线| www黄com| 极品尤物一区| 国产精品青草久久| 欧美激情中文网| 成年人视频在线免费| 一级片免费观看视频| 国产剧情在线观看| 亚洲小说欧美另类婷婷| 欧美影院午夜播放| 99视频在线播放| 香蕉视频久久久| 免费看片黄色| 国产suv精品一区二区四区视频| 1313精品午夜理伦电影| 91色婷婷久久久久合中文| 日韩中文字幕视频在线观看| 日韩中字在线观看| 国产男男gay体育生网站| 午夜在线免费观看视频| 国产亚洲毛片| 精品国产三级a在线观看| 亚洲国产激情一区二区三区| 800av免费在线观看| 日韩欧美在线番号| 亚洲美女黄色| 精品成a人在线观看| 四虎影院一区二区| 中文文字幕一区二区三三| 岛国在线大片| 日韩成人伦理电影在线观看| 日韩成人激情在线| 黄色大片中文字幕| 精品人妻午夜一区二区三区四区 | 99久久久精品| 欧美极品在线视频| 四川一级毛毛片| 久久精品国产亚洲777| 欧洲精品久久久久毛片完整版| 91免费视频网| 奇米4444一区二区三区| 极品白嫩的小少妇| 奇米影视888狠狠狠| 欧美日韩看看2015永久免费 | 农村妇女精品一二区| 人妻一区二区三区四区| 欧美羞羞视频| 国产欧美精品一区aⅴ影院| 欧美综合第一页| 日韩一级视频在线观看| www.999av| 在线精品国产| 亚洲精品在线观| 日韩欧美不卡在线| 97一区二区三区| 99久久这里有精品| 亚洲男人的天堂网| 91久久国产自产拍夜夜嗨| 麻豆视频在线观看| 国产一二三四| 国产精品网址| 欧美性xxxxx极品娇小| 日本一区免费观看| 国产精品久久欧美久久一区| av最新在线| 久久久精品蜜桃| 国产在线观看精品一区二区三区| 成人免费毛片东京热| 国产二区视频在线观看| 国产毛片精品一区| 久久青草福利网站| 欧美熟妇激情一区二区三区| 在线免费中文字幕| 麻豆成人久久精品二区三区小说| 欧美激情第一页xxx| 欧美熟妇一区二区| 一区二区三区不卡在线视频| 日本欧美加勒比视频| 久久婷婷国产麻豆91天堂| 精品人妻在线视频| 无限国产资源| 美女一区二区久久| 国产69久久精品成人| 欧美视频www| 日韩三级影院| 香蕉久久精品| 欧美日韩国产一级片| 青青草视频在线免费播放| 欧美18一14sex性处hd| 欧洲激情视频| 精品亚洲va在线va天堂资源站| www.国产福利| 91国内精品在线视频| 久久激情久久| 668精品在线视频| 国产成人自拍网站| 青草在线视频| 日韩毛片一二三区| 视频一区二区三区在线观看| 亚洲剧场午夜在线观看| 欧美激情久久久久久久久久久| 欧美一区二区三区日韩| 性刺激的欧美三级视频| 四虎黄色影院| 美女精品一区二区| 国产精品成av人在线视午夜片| 日韩欧美一区二区一幕| 色香欲www7777综合网| 欧美日韩在线视频观看| 免费无遮挡无码永久视频| 你懂的网站在线观看网址| 亚洲成人直播| 91高清视频在线免费观看| 久久黄色小视频| 写真福利精品福利在线观看| 一本一道波多野结衣一区二区| 国产在线精品91| 午夜av噜噜噜噜噜噜| 老汉av免费一区二区三区| 91精品久久久久久久久青青| 97视频免费在线| 蜜桃成人av| 日韩在线视频免费观看高清中文| 国产成人无码精品久久二区三| 国产福利在线播放麻豆| 亚洲黄色性网站| 黄色a级片免费看| 九九热视频在线| 秋霞成人午夜伦在线观看| 国产精品丝袜一区二区三区| 一级黄色大片免费观看| 另类尿喷潮videofree| 亚洲国产又黄又爽女人高潮的| 国产毛片毛片毛片毛片毛片毛片| 91露出在线| 玉米视频成人免费看| 欧美国产视频一区| 性直播在线观看| 成人激情动漫在线观看| 欧美成人午夜影院| 久久精品国产av一区二区三区| 深夜视频一区二区| 欧美一区二区三区播放老司机| 师生出轨h灌满了1v1| 日韩成人影视| 亚洲成人高清在线| 超碰在线97免费| 日韩av成人| 亚洲三级免费观看| 日韩中文字幕在线视频观看| 又黄又爽无遮挡| 亚洲国产精品激情在线观看| 亚洲理论电影在线观看| 美女视频黄a视频全免费观看| 91丨九色丨蝌蚪富婆spa| 亚洲国产精品一区二区第四页av| 美女免费视频网站| 懂色av一区二区三区免费看| 日韩国产精品一区二区三区| 可以免费看黄色的网站| 懂色av中文字幕一区二区三区| 亚洲美女搞黄| 九七伦理97伦理| 国产午夜亚洲精品理论片色戒 | 另类小说第一页| 国内精品偷拍视频| 久操精品在线| 欧美精品videossex88| 亚洲精品国产精品国自产网站按摩| 久久aimee| 欧美成人国产va精品日本一级| 99超碰在线观看| 欧美色网址大全| 欧美一区二区色| 亚洲精品一区二区三区不卡| 欧美三级网页| 亚洲在线观看视频| 国产剧情av片巨作醉酒女邻居 | 91香蕉视频污| 国产玉足脚交久久欧美| 中出在线观看| 亚洲午夜精品久久久久久久久| 超碰在线97免费| 高清免费电影在线观看| 欧美日韩高清不卡| 大吊一区二区三区| 欧美xxxx性| 日韩最新中文字幕电影免费看| 国产男人搡女人免费视频| 青青草成人影院| 国产欧美va欧美va香蕉在线| 久久精品亚洲7777影院| 国产高清在线观看免费不卡| av中文字幕av| 久久国产精品高清一区二区三区| 亚洲国产日韩a在线播放| 黑人性生活视频| 卡通欧美亚洲| 一本久久综合亚洲鲁鲁| 亚洲天堂中文在线| 国产欧美二区| 日韩精品久久久毛片一区二区| 成人h动漫在线| 亚洲综合在线免费观看| 性猛交╳xxx乱大交| 国模一区二区| 久久人人爽人人爽爽久久| 99精品免费观看| 老司机免费视频久久| 亚洲开发第一视频在线播放| 动漫黄在线观看| 黑人巨大精品欧美一区免费视频| 国产熟妇久久777777| 日本精品视频| 日av在线播放中文不卡| 欧美性另类69xxxx| 99精品国产99久久久久久白柏| 北条麻妃视频在线| sm久久捆绑调教精品一区| 亚洲性夜色噜噜噜7777| 日韩精品视频播放| 欧美99在线视频观看| 久久96国产精品久久99软件| 成人频在线观看| 欧美亚洲自拍偷拍| 日日骚一区二区三区| 国产hs免费高清在线观看| 99er热精品视频| 三级小视频在线观看| 亚洲欧美区自拍先锋| 一色屋精品亚洲香蕉网站| 五月六月丁香婷婷| 最新日韩一区| 97精品久久久| 成人午夜国产福到在线| 中文av字幕一区| 精品中文字幕在线播放| 波多野结衣在线一区二区| 国产成人亚洲综合青青| 毛片基地网站| 午夜久久久久久| 麻豆视频在线免费看| 综合久久一区| 亚洲一区二区三区免费看| 日本免费在线视频| 国产小视频91| 五月婷中文字幕| 久久综合视频网| 影音先锋人妻啪啪av资源网站| 国产精品极品国产中出| 96pao国产成视频永久免费| 二区中文字幕| 91精品国产福利| 96日本xxxxxⅹxxx17| 高清av一区二区| 亚洲av无一区二区三区久久| 韩国精品福利一区二区三区| 高清av免费一区中文字幕| 传媒视频在线| 日韩av在线资源| 国产成人手机在线| 久久亚洲一级片| 亚洲av无码一区二区二三区| 日韩欧美一区免费| 天堂社区 天堂综合网 天堂资源最新版| 高清av电影在线观看| 国产一区二区三区免费视频| 最近中文字幕mv免费高清电影| 国产精品全国免费观看高清| a资源在线观看| 欧美精品一线| 免费一级特黄毛片| 精品久久99| 亚洲v日韩v综合v精品v| 免费在线观看一级毛片| 中文日韩电影网站| 国产不卡一卡2卡三卡4卡5卡在线| 亚洲主播在线播放| 欧美福利视频一区二区| 麻豆精品一二三| 中文写幕一区二区三区免费观成熟| 奇米777国产一区国产二区| 欧美一级爱爱| caoporn视频在线观看| 国产成人综合精品| 一级片在线观看| 中文字幕欧美国内| 天堂视频在线| 91精品综合久久久久久| 日本精品一区二区在线观看| 亚洲欧洲av色图| 免费看日韩毛片| 国产91精品入口| 亚洲色成人网站www永久四虎| 亚洲东热激情| 日本人69视频| 国产区精品区| 国产玉足脚交久久欧美| 亚洲国产aⅴ精品一区二区| 麻豆传媒一区二区| 小草在线视频免费播放| 91久久夜色精品国产网站| 麻豆app在线观看| 久久久久久网址| 亚洲美女在线免费观看| 尤物九九久久国产精品的分类| 人人干人人草| 亚洲成人黄色在线| 国产精品入口麻豆免费观看| 欧美日韩一区高清| 视频区小说区图片区| 福利微拍一区二区| 好吊视频一区二区三区| 亚洲综合免费观看高清完整版在线| 中文字幕在线日本| 国产欧美日韩视频在线观看| 日本网站在线播放| 91免费视频大全| 懂色av.com| aa级大片欧美| 久久久久久久久久99| 盗摄精品av一区二区三区| 卡一卡二卡三在线观看| 美女网站色91| 亚洲色图14p| 日本午夜一区二区| 日韩精品无码一区二区三区久久久| 首页亚洲欧美制服丝腿| 30一40一50老女人毛片| 奇米888四色在线精品| 在线 丝袜 欧美 日韩 制服| 日韩精品欧美精品| 中文字幕人妻一区二区| 蜜臀精品一区二区三区在线观看 | 亚洲日本伊人| 色综合天天综合网国产成人综合天 | 亚洲老妇色熟女老太| 亚洲成人精品一区二区| 成人午夜福利视频| 色欧美日韩亚洲| 羞羞漫画网18久久app| 欧美日韩亚洲综合在线| 男人精品网站一区二区三区| 日韩一区二区三| 美女喷水网站| 最近免费中文字幕视频2019 | 亚洲成在人线在线播放| 成人毛片在线免费观看| 在线观看免费视频综合| 热re66久久精品国产99re| 日韩免费在线观看| 操操操日日日| www.日韩.com| 欧洲成人av| 国产日韩专区在线| 黄在线观看免费网站ktv| 免费精品视频一区| 911亚洲精品| 久久久久久久久久久久久久国产| 一区二区三区网站| 精品一区二区三区四区五区六区| 秋霞电影一区二区| 欧美极品aaaaabbbbb| 国产精品久久久久久一区二区三区|