久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4922|回復: 6
收起左側

簡易單片機電子琴源程序Proteus仿真設計 洞洞板和工業制板PCB文件都有

  [復制鏈接]
ID:618143 發表于 2019-10-26 12:30 | 顯示全部樓層 |閱讀模式
由高音階的七個音和低音階的七個音組成的14鍵的簡易電子琴。
帶有錄音回放,演奏歌曲功能。
0.jpg
Altium Designer畫的單片機電子琴原理圖和PCB圖如下:(51hei附件中可下載工程文件)
電路PCB(洞洞板)
0.jpg

電路PCB(工業制板)
0.jpg

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載).
0.jpg

元件清單:
元件名稱    參考數量   
STC89C52RC    1   
IC底座    1   
排阻 4.7K/10K    1   
11.0592M/12M晶振    1   
30pf瓷片電容    2   
10uf電解電容    1   
33Ω電阻    1    根據實際情況選擇
10K電阻    2   
按鍵開關    18   
排針    3   
S8050    2   
跳線    10    根據實際情況選擇
喇叭    1   
線路板/洞洞板    1   

電子琴程序源碼(含固定曲)
源程序如下:
  1. #include <STC89C5xRC.H>
  2. #include <intrins.h>

  3. #define PKEY P1                                                                        //定義4x4按鍵接的IO口        行掃描
  4. sbit PLAY = P2^0;                                                                //播放按鍵
  5. sbit SPK  = P2^2;                                                                //音頻信號輸出

  6. #define ALLSONG         3                                                          //歌曲總數 按實際寫
  7. #define CODEMAX 30                                                                //最大音符數

  8. unsigned char tone_h;               
  9. unsigned char tone_l;                        

  10. unsigned char t1_flag   = 0;                                        //用于記錄定時器1進入中斷的次數
  11. unsigned char PressTime = 0;                                        //按鍵按下的時間(節拍)

  12. unsigned char code chuzhi[3][16]={                          //音調對應的計數初值
  13.                                 0xff,0xff,                                                //用任意值占0位,因為音調從1開始
  14.                                 0xf8,0x8c,                                                //低1  
  15.                                 0xf9,0x5b,                                                //低2                 
  16.                                 0xfa,0x15,                                                //低3                 
  17.                                 0xfa,0x67,                                                //低4                 
  18.                                 0xfb,0x04,                                                //低5                 
  19.                                 0xfb,0x90,                                                //低6                 
  20.                                 0xfc,0x0c,                                                //低7

  21.                                 0xff,0xff,                                                //占0位
  22.                                 0xfc,0x44,                                                //中1   
  23.                                 0xfc,0xac,                                                //中2
  24.                                 0xfd,0x09,                                                //中3
  25.                                 0xfd,0x34,                                                //中4
  26.                                 0xfd,0x82,                                                //中5
  27.                                 0xfd,0xc8,                                                //中6
  28.                                 0xfe,0x06,                                                //中7   
  29.                
  30.                                 0xff,0xff,                                                //占0位
  31.                                 0xfe,0x22,                                                //高1                           
  32.                                 0xfe,0x56,                                                //高2               
  33.                                 0xfe,0x85,                                                //高3               
  34.                                 0xfe,0x9a,                                                //高4               
  35.                                 0xfe,0xc1,                                                //高5               
  36.                                 0xfe,0xe4,                                                //高6               
  37.                                 0xff,0x03                                                 //高7                             
  38.                                                 };        



  39. unsigned int code srkl[] = {                                         //生日快樂
  40.         205,205,406,405,411,807,
  41.         205,205,406,405,412,811,
  42.         205,205,415,413,411,407,406,
  43.         314,114,413,411,413,812,
  44.         305,105,406,405,411,807,
  45.         305,105,406,405,412,811,
  46.         305,105,415,413,411,
  47.         407,406,314,114,413,411,412,811,410,
  48.         0xffff        
  49. };


  50. unsigned int code lq1990[] = {                                        //戀曲1990歌詞
  51.         613,213,412,411,613,213,412,                                //前奏
  52.         411,613,213,412,411,1213,110,                                //前奏
  53.         215,215,215,215,413,412,                                        //烏溜溜的黑眼珠
  54.         613,211,211,212,413,1206,                                        //和你的笑臉
  55.         212,213,212,213,415,213,212,                                //怎么也難忘記
  56.         612,211,211,206,405,1213,110,                                //你 容顏的轉變
  57.         215,215,215,215,213,212,                                        //輕飄飄的舊時
  58.         613,211,211,212,213,1206,                                        //光 就這么溜走
  59.         212,213,212,213,415,213,212,                                //轉頭回去看看
  60.         612,205,213,212,413,1211,110,                                //時 已匆匆數年
  61.         
  62.         215,215,215,215,413,412,                                        //蒼茫茫的天涯
  63.         613,211,211,212,413,1206,                                        //路 是你的漂泊
  64.         212,213,212,213,415,213,212,                                //尋尋覓覓長相
  65.         612,211,211,206,405,1213,110,                                //守 是我的腳步
  66.         215,215,215,215,213,212,                                        //黑漆漆的孤枕
  67.         613,211,211,212,213,1206,                                        //邊 是你的溫柔
  68.         212,213,212,213,415,213,212,                                //醒來時的清晨
  69.         612,205,213,212,413,1211,110,                                //里 是我的哀愁
  70.         
  71.         215,215,215,215,413,412,                                        //轟隆隆的雷雨
  72.         613,211,211,212,413,1206,                                        //聲 在我的窗前
  73.         212,213,212,213,415,213,212,                                //怎么也難忘記
  74.         612,211,211,206,405,1213,110,                                //你 離去的轉變
  75.         215,215,215,215,213,212,                                        //孤單單的身影
  76.         613,211,211,212,213,1206,                                        //后 寂寥的心情
  77.         212,213,212,213,415,213,212,                                //永遠無怨
  78.         612,205,213,212,413,1211,110,                                //的 是我的雙眼
  79.         
  80.         615,213,415,416,                                                        //或許明日
  81.         621,216,421,416,                                                        //太陽西下
  82.         415,415,415,416,1213,                                                //倦鳥已歸時
  83.         212,213,212,213,415,413,                                        //你將已經踏上
  84.         612,211,411,413,1212,210,                                        //舊時的歸途
  85.         613,213,412,413,                                                        //人生難得
  86.         615,213,415,416,                                                        //再次尋覓
  87.         421,421,421,422,1216,                                                //相知的伴侶
  88.         221,221,221,221,416,415,                                        //生命終究難舍
  89.         212,412,212,412,413,1215,1610,        1610,                //藍藍的白云天
  90.         
  91.         0xFFFF,                                                                                //結束
  92. };


  93. void delayms(unsigned int a)                                        //延時函數
  94. {
  95.         unsigned char i, j;
  96.         unsigned int b=0;
  97.         for(b=0;b<a;b++)
  98.         {

  99.                 _nop_();
  100.                 _nop_();
  101.                 _nop_();
  102.                 i = 11;
  103.                 j = 190;
  104.                 do
  105.                 {
  106.                         while (--j);
  107.                 } while (--i);
  108.         }
  109. }


  110. void Timer1_Init(void)                                                        //定時器1,測量按鍵持續的節拍數
  111. {
  112.         EA = 1;
  113.         ET1 = 1;
  114.         TMOD &= 0x0F;
  115.         TMOD |= 0x10;
  116.         TH1 = (65536-25000)/256;
  117.         TL1 = (65536-25000)%256;                                        //25ms中斷一次
  118. }


  119. void timer1() interrupt 3
  120. {
  121.         TH1 = (65536-25000)/256;
  122.         TL1 = (65536-25000)%256;                                        //25ms中斷一次
  123.         t1_flag++;
  124.         if(t1_flag == 5)                                                        //125ms
  125.         {
  126.                 t1_flag = 0;
  127.                 if(PressTime < 16)                                                //最多16 即最長4秒
  128.                         PressTime++;
  129.         }
  130. }

  131. /***************************
  132.         按鍵掃描函數 【行掃描】
  133.         低4位接行,高4位接列
  134.                 鍵值分布
  135.         0        1        2        3
  136.         4        5        6        7
  137.         8        9        10        11
  138.         12        13        14        15
  139. ****************************/
  140. unsigned char keyScan(void)
  141. {
  142.         unsigned char hang;                                                        //行
  143.         unsigned char key;
  144.         unsigned char temp;
  145.         for(hang = 0;hang < 4;hang++)
  146.         {
  147.                 PKEY = ~(1<<hang);               
  148.                 temp = PKEY&0xF0;                                                //取高4位的值
  149.                 temp >>= 4;                                                                //將高四位右移到低四位
  150.                 if(temp  != 0x0F)                                                //有按鍵按下
  151.                 {
  152.                         switch(temp)
  153.                         {
  154.                                 case 14:key = 4*hang+0;break;        //temp:1110
  155.                                 case 13:key = 4*hang+1;break;        //temp:1101
  156.                                 case 11:key = 4*hang+2;break;        //temp:1011
  157.                                 case 7:        key = 4*hang+3;break;        //temp:0111
  158.                         }
  159.                         break;                                                                //有鍵按下,獲取鍵值后,終止掃描
  160.                 }
  161.                 else                                                                        //沒有按鍵按下 返回255
  162.                         key = 255;
  163.         }
  164.         return key;
  165. }


  166. void RhythmDelay(unsigned int pai)                                //節拍延時
  167. {
  168.         while(pai--)
  169.         {
  170.                 delayms(20);
  171.         }        
  172. }

  173. //======================
  174. //定時器0 產生音調
  175. //======================
  176. void Timer0_Init(void)
  177. {
  178.         EA = 1;
  179.         ET0 = 1;
  180.         TMOD &= 0xF0;
  181.         TMOD |= 0x01;
  182.         PT0 = 1;
  183.         TH0 = 255;
  184.         TL0 = 255;
  185. }
  186. //======================
  187. //定時器0中斷  每進入一次,SPK取反
  188. //======================
  189. void timer0() interrupt 1
  190. {
  191.         TH0 = tone_h;
  192.         TL0 = tone_l;
  193.         SPK = ~SPK;
  194. }
  195. //======================
  196. //存儲彈奏的歌曲
  197. //0xffff代表歌曲結束
  198. //千位與百位表示節拍
  199. //十位:低中高音[分別是0,1,2]
  200. //個位:音調[0~7] [0代表不發聲]
  201. //======================
  202. unsigned int  music[CODEMAX] =
  203. {
  204.         215,215,215,215,413,412,                                                //烏溜溜的黑眼珠
  205.         613,211,211,212,413,1206,                                                //和你的笑臉
  206.         212,213,212,213,415,213,212,                                        //怎么也難忘記
  207.         612,211,211,206,405,1213,110,                                        //你 容顏的轉變
  208.         0xffff,
  209. };
  210. //====================================
  211. //播放函數
  212. //播放完畢后返回1,否則返回0
  213. //music:歌曲數組,note:發第幾個音
  214. //====================================
  215. unsigned char PlayMusic(unsigned int *music,unsigned int note)
  216. {
  217.         unsigned char yin1;        //低中高音 0,1,2
  218.         unsigned char yin2;        //音調 0~7  0代表不發聲,但有節拍
  219.         unsigned char jiepai;//節拍
  220.         
  221.         if(music[note] == 0xffff)        //如果歌曲結束
  222.                 return 1;                                //返回1
  223.         else
  224.         {
  225.                 if(music[note]%10 != 0)        //音調不為0 【音調為0時表示不發聲,但有節拍】
  226.                 {
  227.                         yin1 = music[note]%100/10;
  228.                         yin2 = music[note]%10;
  229.                         tone_h = TH0 = chuzhi[yin1][yin2*2 ];                //音調高位 【二維數組 第1維表示低中高音,第二維表示音調】
  230.                         tone_l = TL0 = chuzhi[yin1][yin2*2 + 1];        //音調低位
  231.                         TR0 = 1;                //開啟定時器0 開始發聲
  232.                 }
  233.                 jiepai = music[note]/100;
  234.                 RhythmDelay(jiepai);        //節拍
  235.                
  236.                 TR0 = 0;                //已經響夠節拍數,停止發聲。
  237.                 TR1 = 0;                //停止顯示節拍
  238.                
  239.                 delayms(30);                //每個節拍結束后,停一段時間
  240.                 return 0;
  241.         }
  242. }
  243. //======================
  244. //主函數
  245. //======================
  246. void main(void)
  247. {        
  248.         unsigned char key = 255;
  249.         unsigned char save = 0;
  250.         unsigned int note = 0;                //音符
  251.         unsigned char note2 = 0;
  252.         unsigned char play_flag = 0;
  253.         unsigned char yin1 = 0;                //低中高音 0,1,2
  254.         unsigned char yin2 = 1;                //音調 0~7,0代表不發聲,但有節拍
  255.         
  256.         unsigned char PlayID = 0;        //播放歌曲的序號
  257.         unsigned char PlayIDb = 0;        //上次播放的歌曲序號
  258.         
  259.         music[CODEMAX-1] = 0xffff;                //防止歌曲數組無0xffff出現錯誤
  260.         
  261.         Timer0_Init();//定時器0 產生音調
  262.         Timer1_Init();//定時器1 測量按鍵持續的節拍數
  263.         
  264.         
  265.         
  266.         while(1)
  267.         {
  268.                 if(PLAY == 0)                //按下PLAY鍵
  269.                 {
  270.                         PLAY = 0;        //引腳置0 進入播放模式
  271.                         
  272.                         //切換了播放歌曲,從第0個音符開始播放,
  273.                         if(PlayID != PlayIDb)
  274.                         {
  275.                                 PlayIDb = PlayID;
  276.                                 note = 0;
  277.                         }
  278.                         
  279.                         
  280.                         
  281. //==================== 重點 ========================
  282.                         if(play_flag %2 == 0)                //play_flag為偶數時播放,奇數時暫停播放
  283.                         {                        
  284.                                 if(PlayID == 0)
  285.                                 {
  286.                                         if(PlayMusic(music,note) == 0)                //播放音符
  287.                                                 note++;                                //為結束播放下一個音符
  288.                                         else
  289.                                         {
  290.                                                 if(PlayID < ALLSONG-1)        PlayID++;//播放下一首
  291.                                                 else                        PlayID = 0;
  292.                                         }
  293.                                 }
  294.                                 
  295.                                 else if(PlayID == 1)
  296.                                 {
  297.                                         if(PlayMusic(srkl,note) == 0)                //播放音符
  298.                                                 note++;                                //為結束播放下一個音符
  299.                                         else
  300.                                         {
  301.                                                 if(PlayID < ALLSONG-1)                PlayID++;        //播放下一首
  302.                                                 else                                PlayID = 0;
  303.                                         }
  304.                                 }
  305.                                 else if(PlayID == 2)
  306.                                 {
  307.                                         if(PlayMusic(lq1990,note) == 0)                //播放音符
  308.                                                 note++;                                //為結束播放下一個音符
  309.                                         else
  310.                                         {
  311.                                                 if(PlayID < ALLSONG-1)                PlayID++;        //播放下一首
  312.                                                 else                                                PlayID = 0;
  313.                                         }
  314.                                 }
  315.                         }
  316. //===================================================================                        
  317.                         key = keyScan();                                //要稍微按久一點才有反應
  318.                         if(key == 15)                                        //按下15號按鍵,停止播放
  319.                         {
  320.                                 
  321.                                 
  322.                                 PLAY = 1;
  323.                                 note = 0;                                //停止后再按播放,從頭開始播放。
  324.                                 play_flag = 0;
  325.                                 
  326.                                 TR0 = 0;
  327.                                 tone_h = TH0 = chuzhi[2][2*2];                        
  328.                                 tone_l = TL0 = chuzhi[2][2*2+1];                        
  329.                                 TR0 = 1;
  330.                                 delayms(100);                                //按鍵后響一聲
  331.                                 TR0 = 0;
  332.                                 
  333.                                 while(keyScan() != 255);                //放開按鍵時(255時) 跳出循環
  334.                         }
  335.                         else if(key == 13)                                //按下13號鍵 暫停與暫停后播放
  336.                         {
  337.                                 play_flag++;
  338.                                 
  339.                                 if(play_flag %2 == 0)        //播放
  340.                         
  341.                                 
  342.                                 TR0 = 0;
  343.                                 tone_h = TH0 = chuzhi[2][2*2];                        
  344.                                 tone_l = TL0 = chuzhi[2][2*2+1];                        
  345.                                 TR0 = 1;
  346.                                 delayms(100);                                //開始或者暫停都響一聲
  347.                                 TR0 = 0;
  348.                                 while(keyScan() != 255);        //放開按鍵時(255時) 跳出循環
  349.                         }
  350.                         else if(key == 12)                //播放上一首
  351.                         {
  352.                                 if(PlayID > 0)                PlayID--;
  353.                                 else                                         PlayID = ALLSONG-1;
  354.                                 
  355.                                 TR0 = 0;
  356.                                 tone_h = TH0 = chuzhi[2][2*2];                        
  357.                                 tone_l = TL0 = chuzhi[2][2*2+1];                        
  358.                                 TR0 = 1;
  359.                                 delayms(100);                                //按鍵后響一聲
  360.                                 TR0 = 0;
  361.                                 
  362.                                 while(keyScan() != 255);        //放開按鍵時(255時) 跳出循環
  363.                         }
  364.                         else if(key == 14)                //播放下一首
  365.                         {
  366.                                 if(PlayID < ALLSONG-1)                PlayID++;
  367.                                 else                                PlayID = 0;
  368.                                 
  369.                                 TR0 = 0;
  370.                                 tone_h = TH0 = chuzhi[2][2*2];                        
  371.                                 tone_l = TL0 = chuzhi[2][2*2+1];                        
  372.                                 TR0 = 1;
  373.                                 delayms(100);                                //按鍵后響一聲
  374.                                 TR0 = 0;
  375.                                 
  376.                                 while(keyScan() != 255);        //放開按鍵時(255時) 跳出循環
  377.                         }
  378.                 }//=================  彈奏模式 =====================
  379.                 else if(PLAY == 1)                                
  380.                 {
  381.                         PlayID = 0;
  382.                         note = 0;
  383.                         
  384.         
  385.                         
  386.                         
  387.                         key = keyScan();
  388.                         
  389.                         if(key == 0)                                //按下0鍵開始記錄
  390.                         {
  391.                                 if(save == 0)                        //第一次按 表示開始彈奏
  392.                                 {
  393.                                         save = 1;                        //標記,存儲
  394.                                         note2 = 0;               
  395.                                         tone_h = TH0 = chuzhi[0][1*2];                        
  396.                                         tone_l = TL0 = chuzhi[0][1*2+1];                        
  397.                                         TR0 = 1;
  398.                                         delayms(100);        //開始錄制,響一短低音
  399.                                         TR0 = 0;
  400.                                 }
  401.                                 else                                                        //第二次按 表示彈奏結束 寫入結束符0xffff
  402.                                 {
  403.                                         save = 0;                        //標記,結束存儲
  404.                                         music[note2] = 0xffff;
  405.                                        
  406.                                         tone_h = TH0 = chuzhi[1][3*2];                        
  407.                                         tone_l = TL0 = chuzhi[1][3*2+1];                        
  408.                                         TR0 = 1;
  409.                                         delayms(100);        //錄制完成,響一短高音
  410.                                         TR0 = 0;
  411.                                 }
  412.                                 while(keyScan() != 255);                //放開按鍵時(255時) 跳出循環
  413.                         }
  414.                         else if(key != 255)        //按下1~15鍵
  415.                         {
  416.                                 t1_flag = 0;
  417.                                 PressTime = 0;
  418.                                 TH1 = (65536-25000)/256;
  419.                                 TL1 = (65536-25000)%256;                //25ms中斷一次
  420.                                 TR1 = 1;                        //開啟定時器1,開始計算按鍵按下時間
  421.                                 
  422.                                 //判斷被按下按鍵的鍵值
  423.                                 if(key >= 1 && key <= 7)                                //按鍵 1~7
  424.                                 {        yin1 = 0;        yin2 = key+0;        }                //低音        
  425.                                 
  426.                                 else if(key >= 8 && key <= 11)                        //按鍵 8~11
  427.                                 {        yin1 = 1;        yin2 = key - 4;        }                //中音        
  428.                                 
  429.                                 else if(key >= 12 && key <= 15)                        //按鍵 12~15
  430.                                 {        yin1 = 2;        yin2 = key - 8;        }                //高音        
  431.                                 
  432.                                 
  433.                                 tone_h = TH0 = chuzhi[yin1][yin2*2];                        //音調高位 【二維數組 第1維表示低中高音,第二維表示音調】
  434.                                 tone_l = TL0 = chuzhi[yin1][yin2*2+1];                //音調低位
  435.                                 if(yin2 != 0)        //非0音時,開啟定時器0,發聲
  436.                                         TR0 = 1;
  437.                                 
  438.                                 while(1)                        //釋放按鍵時 跳出循環
  439.                                 {                                                

  440.                                         key = keyScan();
  441.                                         if(key == 255)                //放開按鍵
  442.                                         {
  443.                                                 TR1 = 0;
  444.                                                 TR0 = 0;                                //停止發聲
  445.                                                 if(save == 1)                //save變量為1時,將彈奏的信息保存
  446.                                                 {
  447.                                                         TR1 = 0;                        //關閉定時器1,停止
  448.                                                         music[note2] = (unsigned int)PressTime*100 + yin1*10 + yin2;
  449.                                                         if(note2 < CODEMAX - 2)                                //長度有限制
  450.                                                                 note2++;
  451.                                                 }
  452.                                                 break;
  453.                                         }
  454.                                 }
  455.                         }
  456.                         
  457.                 }
  458.         }
  459. }
復制代碼
0.png 0.png
所有資料51hei提供下載:
基于51單片機的電子琴設計2019-6-25 133408.7z (1.9 MB, 下載次數: 111)

評分

參與人數 2黑幣 +80 收起 理由
1963781320 + 30 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:649660 發表于 2019-11-26 14:02 | 顯示全部樓層
51hei電子論壇有你更精彩!!!!!!!
回復

使用道具 舉報

ID:777557 發表于 2020-6-12 19:41 來自手機 | 顯示全部樓層
贊  要是實現實時彈奏并記憶功能 改怎么弄?
回復

使用道具 舉報

ID:982529 發表于 2021-11-24 18:26 來自手機 | 顯示全部樓層
樓主那個喇叭呢,喇叭怎么接線,那個PCB的文件都沒有
回復

使用道具 舉報

ID:982529 發表于 2021-11-24 21:53 來自手機 | 顯示全部樓層
誰知道這個東西的實物喇叭該接到哪里去嗎?
回復

使用道具 舉報

ID:262 發表于 2021-11-26 01:37 | 顯示全部樓層
wssbwssb 發表于 2021-11-24 21:53
誰知道這個東西的實物喇叭該接到哪里去嗎?

仿真原理圖上面有,初步用Proteus7.5初步仿真了下 可以運行 ,喇叭是p2.2通過三極管放大輸出的,,所以接在三極管旁邊的那個接線柱上面的
回復

使用道具 舉報

ID:987923 發表于 2021-12-15 18:44 | 顯示全部樓層
heicad 發表于 2021-11-26 01:37
仿真原理圖上面有,初步用Proteus7.5初步仿真了下 可以運行 ,喇叭是p2.2通過三極管放大輸出的,,所以接在三 ...

樓主你好 麻煩問一下 具體咋接啊,我接到P1的任意兩個上面  喇叭都不響。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区在线视频 | 欧美精品乱码99久久影院 | 亚洲一区综合 | 欧美区在线观看 | 日本高清视频在线播放 | a在线视频 | 亚洲小视频在线观看 | 在线国产视频 | 国产精品1区2区3区 欧美 中文字幕 | 欧美亚洲视频 | 成av在线| 精品一区二区三区在线观看国产 | 亚洲免费三区 | 亚洲 欧美 日韩在线 | 中文字幕在线电影观看 | 国产一区二区三区视频免费观看 | 亚洲精品福利视频 | 99色综合 | 亚洲综合色婷婷 | 欧美精品一二三区 | 欧美二区三区 | h视频免费在线观看 | 欧美一区二区三区国产 | 久久综合久久综合久久综合 | 色视频在线播放 | a黄在线观看 | 久久网一区二区 | 国产日韩视频 | 成人性生交大免费 | 成人久久久 | 国产精品视频入口 | 中文字幕国产第一页 | www日本高清 | 激情欧美一区二区三区中文字幕 | 久久久性色精品国产免费观看 | 成人久久网| 久久久久一区 | 亚洲视频精品在线 | 四虎影视一区二区 | 国产精品久久福利 | 国产真实乱全部视频 |