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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8926|回復: 1
收起左側

搖搖棒的詳細制作資料 含狀態遷移圖 原理圖 程序

[復制鏈接]
ID:161768 發表于 2017-6-28 01:48 | 顯示全部樓層 |閱讀模式
手握方法.jpg

基于單片機的搖搖棒 狀態遷移圖

013330c7772m0xmu77p9n2.png 013401ojjstlswyyjzy1yu.png

原理圖:
013449dffc5fcv5rr1lfcz.png


單片機源程序如下:
  1. //--------------------------------------------------------
  2. // 項目:搖搖棒
  3. // 模塊:主程序
  4. // 說明:
  5. // 設計:張俊(版權所有,引用者請保留原作者姓名)
  6. //--------------------------------------------------------
  7. /*
  8. 版本說明:
  9. 2006-08-07        v01.01
  10.         測試版本
  11.         ACLK = TACLK = 32768Hz, MCLK = SMCLK = default DCO
  12.         每2S中斷一次,對P1.0~P1.6口輸出取反

  13. 2006-08-07        v01.02
  14.         測試版本
  15.         改變計時器計數模式

  16. 2006-08-08        v01.03
  17.         測試版本

  18. 2006-08-11        v01.04
  19.         測試版本
  20.         已經可以顯示時間了,并且時間也可以運行了
  21.         但是時間還不可調節

  22. 2006-08-12        v01.05
  23.         增加按鍵和蜂鳴器功能(按鍵與LED口復用IO口)

  24. 2006-08-14        v01.06
  25.         增加工作模式,不同模式下顯示和按鍵內容不同
  26.         
  27. 2006-08-16        v01.07
  28.         修改部分BUG

  29. 2006-08-20        v01.08
  30.         1.完成整點報時功能,每次整點鳴叫2聲
  31.         2.取消分鐘提示功能(因為程序空間不夠了)
  32.         3.完善秒表功能
  33.         4.增加一個延時自動退出功能,60秒內未按鍵,也未觸發慣性開關,則返回模式0
  34.         5.當無鍵計時>60秒,則禁止按鍵喚醒,必須通過慣性開關喚醒
  35.                 經過這樣改動后,待機電流由16UA下降到了6UA.
  36. */


  37. //--------------------------------------------------------
  38. //插入文件包
  39. //--------------------------------------------------------
  40. #include  
  41. //--------------------------------------------------------
  42. //--------------------------------------------------------
  43. //重新命名數據類型
  44. //--------------------------------------------------------

  45. typedef unsigned char        tU08;                        //unsigned 8 bit definition
  46. typedef unsigned char        tU8;                        //unsigned 8 bit definition
  47. typedef unsigned int        tU16;                        //unsigned 16 bit definition
  48. typedef unsigned long        tU32;                        //unsigned 32 bit definition

  49. typedef signed char        tS08;                        //signed 8 bit definition
  50. typedef signed char        tS8;                        //signed 8 bit definition
  51. typedef signed int        tS16;                        //signed 16 bit definition
  52. typedef signed long        tS32;                        //signed 32 bit definition

  53. typedef float                tF32;
  54. typedef double                tF64;

  55. //--------------------------------------------------------
  56. //顯示段碼表(A類代碼)
  57. //--------------------------------------------------------
  58. const tU08 LCD_TAB_A[]=
  59. {                                                        //編號                字符
  60.         0x3E,        0x41,        0x41,        0x41,        0x3E,                //0                0
  61.         0x00,        0x42,        0x7F,        0x40,        0x00,                //1                1
  62.         0x42,        0x61,        0x51,        0x49,        0x46,                //2                2
  63.         0x21,        0x41,        0x45,        0x4B,        0x31,                //3                3
  64.         0x18,        0x14,        0x12,        0x7F,        0x10,                //4                4
  65.         0x27,        0x45,        0x45,        0x45,        0x39,                //5                5
  66.         0x3C,        0x4A,        0x49,        0x49,        0x30,                //6                6
  67.         0x01,        0x01,        0x71,        0x0D,        0x03,                //7                7
  68.         0x36,        0x49,        0x49,        0x49,        0x36,                //8                8
  69.         0x06,        0x49,        0x49,        0x29,        0x1E,                //9                9

  70.         0x7C,        0x12,        0x11,        0x12,        0x7C,                //10                A                 
  71.         0x7F,        0x49,        0x49,        0x49,        0x36,                //11                B               
  72.         0x3E,        0x41,        0x41,        0x41,        0x22,                //12                C                 
  73.         0x7F,        0x41,        0x41,        0x22,        0x1C,                //13                D               
  74.         0x7F,        0x49,        0x49,        0x49,        0x41,                //14                E                 
  75.         0x7F,        0x09,        0x09,        0x09,        0x01,                //15                F                 
  76.         0x3E,        0x41,        0x49,        0x49,        0x3A,                //16                G
  77.         0x7F,        0x08,        0x08,        0x08,        0x7F,                //17                H
  78.         0x00,        0x41,        0x7F,        0x41,        0x00,                //18                I
  79.         0x00,        0x21,        0x41,        0x3F,        0x01,                //19                J
  80.         0x7F,        0x08,        0x14,        0x22,        0x41,                //20                K               
  81.         0x7F,        0x40,        0x40,        0x40,        0x40,                //21                L               
  82.         0x7F,        0x02,        0x0C,        0x02,        0x7F,                //22                M               
  83.         0x7F,        0x04,        0x08,        0x10,        0x7F,                //23                N
  84.         0x3E,        0x41,        0x41,        0x41,        0x3E,                //24                O               
  85.         0x7F,        0x09,        0x09,        0x09,        0x06,                //25                P               
  86.         0x3E,        0x41,        0x51,        0x21,        0x5E,                //26                Q               
  87.         0x7F,        0x09,        0x19,        0x29,        0x46,                //27                R               
  88.         0x26,        0x49,        0x49,        0x49,        0x32,                //28                S               
  89.         0x01,        0x01,        0x7F,        0x01,        0x01,                //29                T
  90.         0x3F,        0x40,        0x40,        0x40,        0x3F,                //30                U               
  91.         0x1F,        0x20,        0x40,        0x20,        0x1F,                //31                V               
  92.         0x3F,        0x40,        0x30,        0x40,        0x3F,                //32                W               
  93.         0x63,        0x14,        0x08,        0x14,        0x63,                //33                X               
  94.         0x03,        0x04,        0x78,        0x04,        0x03,                //34                Y               
  95.         0x61,        0x51,        0x49,        0x45,        0x43,                //35                Z

  96.         0x00,        0x00,        0x00,        0x00,        0x00,                //36                空格
  97.         0x7F,        0x7F,        0x7F,        0x7F,        0x7F,                //37                全亮▉
  98.         0x00,        0x00,        0x36,        0x00,        0x00,                //38                冒號:
  99.         0x00,        0x08,        0x1C,        0x08,        0x00,                //39                點.
  100.         0x08,        0x08,        0x08,        0x08,        0x08                //40                中劃線-

  101.         //0x01,        0x3C,        0x42,        0x42,        0x24,                //39                攝氏度符號C
  102.         //0x40,        0x40,        0x40,        0x40,        0x40,                //40                下劃線_
  103.         //0x08,        0x08,        0x3E,        0x08,        0x08,                //41                加號+
  104.         //0x22,        0x14,        0x08,        0x14,        0x22,                //43                乘號*
  105.         //0x08,        0x08,        0x2A,        0x08,        0x08,                //44                除號/
  106.         //0x14,        0x14,        0x14,        0x14,        0x14,                //45                等號=

  107. };

  108. //顯緩區
  109. #define        disp_queue_sum        8                                //待顯示字符串隊列長度
  110. tU08        disp_queue[disp_queue_sum];                        //待顯示字符串隊列

  111. //時間系統
  112. //tU08 TIME_Y;                                          //當前時間"年"(00~99)
  113. //tU08 TIME_MO;                                          //當前時間"月"(1~12)
  114. //tU08 TIME_D;                                          //當前時間"日"(1~31)
  115. //tU08 TIME_W;                                          //當前時間"星期幾"(1~7)

  116. tU08 TIME_H;                                                  //當前時間"時"(0~23)
  117. tU08 TIME_M;                                                  //當前時間"分"(0~59)
  118. tU08 TIME_S;                                                  //當前時間"秒"(0~59)

  119. //無鍵計時器
  120. tU08 NOKEY_JSQ;                                          //無鍵計時器(每秒+1)

  121. //秒表系統
  122. tU08 RUN_H;                                                  //秒表時間"時"(0~99)
  123. tU08 RUN_M;                                                  //秒表時間"分"(0~59)
  124. tU08 RUN_S;                                                  //秒表時間"秒"(0~59)
  125. tU08 RUN_MD;                                                  //秒表狀態(0=停止,1=運行)

  126. //定時系統
  127. tU08 TIMER_H;                                                  //定時時間"時"(0~23)
  128. tU08 TIMER_M;                                                  //定時時間"分"(0~59)
  129. tU08 SP_M;                                                  //蜂鳴器鳴叫時間設置值(0~99分)(說明:0=定時關閉)
  130. tU08 SP_RUN;                                                  //蜂鳴器鳴叫時間運行值(0~99分)(說明:0=定時關閉)

  131. //工作模式
  132. tU08 WK_MODE;                                                  //工作模式

  133. //溫度系統
  134. //tU08 TEMP;                                                  //當前溫度

  135. //附加功能
  136. tU08 FUN_ZDBS;                                          //整點報時(0=禁止,1=使能)
  137. //tU08 FUN_FZTS;                                                //分鐘提示(0=禁止,1=使能)



  138. /*
  139. //--------------------------------------------------------
  140. //延時程序
  141. //--------------------------------------------------------
  142. void delay()
  143. {
  144.         unsigned short i;
  145.         for(i=500; i>0; i--)
  146.         {
  147.                 asm ("nop");
  148.         }
  149. }
  150. */

  151. //--------------------------------------------------------
  152. //延時若干時間
  153. //入口: 延時時間=i*基本時間
  154. //--------------------------------------------------------
  155. void delay_n(tU16 i)
  156. {
  157.         for ( ; i!=0 ; i-- )
  158.         {
  159.                 asm ("nop");
  160.         }
  161. }
  162. /*
  163. //--------------------------------------------------------
  164. //顯示當前時間年
  165. //--------------------------------------------------------
  166. void display_TIME_Y()
  167. {
  168.         disp_queue[0] = TIME_Y / 10;                 //年
  169.         disp_queue[1] = TIME_Y % 10;
  170. }
  171. //--------------------------------------------------------
  172. //顯示當前時間月
  173. //--------------------------------------------------------
  174. void display_TIME_MO()
  175. {
  176.         disp_queue[3] = TIME_MO / 10;                 //月
  177.         disp_queue[4] = TIME_MO % 10;
  178. }
  179. //--------------------------------------------------------
  180. //顯示當前時間日
  181. //--------------------------------------------------------
  182. void display_TIME_D()
  183. {
  184.         disp_queue[6] = TIME_D / 10;                 //日
  185.         disp_queue[7] = TIME_D % 10;
  186. }
  187. */
  188.         
  189. //--------------------------------------------------------
  190. //顯示當前時間時
  191. //--------------------------------------------------------
  192. void display_TIME_H()
  193. {
  194.         disp_queue[0] = TIME_H / 10;                 //時
  195.         disp_queue[1] = TIME_H % 10;
  196. }
  197. //--------------------------------------------------------
  198. //顯示當前時間分
  199. //--------------------------------------------------------
  200. void display_TIME_M()
  201. {
  202.         disp_queue[3] = TIME_M / 10;                 //分
  203.         disp_queue[4] = TIME_M % 10;
  204. }
  205. //--------------------------------------------------------
  206. //顯示當前時間秒
  207. //--------------------------------------------------------
  208. void display_TIME_S()
  209. {
  210.         disp_queue[6] = TIME_S / 10;                 //秒
  211.         disp_queue[7] = TIME_S % 10;
  212. }

  213. //--------------------------------------------------------
  214. //顯示鬧鐘TM
  215. //--------------------------------------------------------
  216. void display_TM()
  217. {
  218.         disp_queue[0] = 29;                         //"T"
  219.         disp_queue[1] = 22;                         //"M"
  220. }
  221. //--------------------------------------------------------
  222. //顯示鬧鐘時
  223. //--------------------------------------------------------
  224. void display_TIMER_H()
  225. {
  226.         disp_queue[3] = TIMER_H / 10;                 //時
  227.         disp_queue[4] = TIMER_H % 10;
  228. }
  229. //--------------------------------------------------------
  230. //顯示鬧鐘分
  231. //--------------------------------------------------------
  232. void display_TIMER_M()
  233. {
  234.         disp_queue[6] = TIMER_M / 10;                 //分
  235.         disp_queue[7] = TIMER_M % 10;
  236. }

  237. //--------------------------------------------------------
  238. //顯示鬧鐘"▉▉"
  239. //--------------------------------------------------------
  240. void display_ALL1()
  241. {
  242.         disp_queue[0] = 37;                         //"▉"
  243.         disp_queue[1] = 37;                         //"▉"
  244. }
  245. //--------------------------------------------------------
  246. //顯示鬧鐘"▉▉"
  247. //--------------------------------------------------------
  248. void display_ALL2()
  249. {
  250.         disp_queue[3] = 37;                         //"▉"
  251.         disp_queue[4] = 37;                         //"▉"
  252. }
  253. //--------------------------------------------------------
  254. //顯示鬧鐘"▉▉"
  255. //--------------------------------------------------------
  256. void display_ALL3()
  257. {
  258.         disp_queue[6] = 37;                         //"▉"
  259.         disp_queue[7] = 37;                         //"▉"
  260. }

  261. //--------------------------------------------------------
  262. //顯示分隔符號":  :"
  263. //--------------------------------------------------------
  264. void display_COL()
  265. {
  266.         disp_queue[2] = 38;                          //":"
  267.         disp_queue[5] = 38;                          //":"
  268. }
  269. //--------------------------------------------------------
  270. //顯示分隔符號"-  -"
  271. //--------------------------------------------------------
  272. void display_LINE()
  273. {
  274.         disp_queue[2] = 40;                         //"-"
  275.         disp_queue[5] = 40;                         //"-"
  276. }

  277. //--------------------------------------------------------
  278. //顯示"SET -O"
  279. //--------------------------------------------------------
  280. void display_SET()
  281. {
  282.         disp_queue[0] = 28;                         //"S"
  283.         disp_queue[1] = 14;                         //"E"
  284.         disp_queue[2] = 29;                         //"T"
  285.         disp_queue[4] = 40;                         //"-"
  286.         disp_queue[5] = 24;                         //"O"
  287. }



  288. //--------------------------------------------------------
  289. //刷新待顯示字符串
  290. //出口: disp_queue[]=待顯示字符串隊列
  291. //--------------------------------------------------------
  292. void new_display()
  293. {
  294.         //====根據工作模式判斷
  295.         switch( WK_MODE )                                        //根據工作模式判斷
  296.         {
  297.                 //case  0:                                //顯示當前時間        
  298.                 //        display_TIME_H();                         //時
  299.                 //        display_TIME_M();                         //分
  300.                 //        display_TIME_S();                         //秒
  301.                 //        display_COL();                          //":  :"
  302.                 //        break;               
  303. /*        
  304.                 case  1:                                //顯示當前日期        
  305.                         display_TIME_Y();                         //年
  306.                         display_TIME_MO();                         //月
  307.                         display_TIME_D();                         //日
  308.                         display_LINE();                          //"-  -"
  309.                         break;               

  310.                 case  2:                                //顯示星期幾        
  311.                         disp_queue[0] = 36;                         //" "
  312.                         disp_queue[1] = 32;                         //"W"
  313.                         disp_queue[2] = 14;                         //"E"
  314.                         disp_queue[3] = 14;                        //"E"
  315.                         disp_queue[4] = 20;                         //"K"
  316.                         disp_queue[5] = 36;                         //" "
  317.                         disp_queue[6] = TIME_W % 10;                 //星期幾
  318.                         disp_queue[7] = 36;                         //" "
  319.                         break;               

  320.                 case  3:                                //顯示溫度        
  321.                         disp_queue[0] = 29;                         //"T"
  322.                         disp_queue[1] = 14;                         //"E"
  323.                         disp_queue[2] = 22;                         //"M"
  324.                         disp_queue[3] = 25;                         //"P"
  325.                         disp_queue[4] = 36;                         //" "
  326.                         disp_queue[5] = TEMP / 10;                 //當前溫度
  327.                         disp_queue[6] = TEMP % 10;
  328.                         disp_queue[7] = 39;                         //"攝氏度符號C"
  329.                         break;               
  330. */
  331.                 case  4:                                //顯示鬧鐘時間
  332.                         display_TM();                                //"TM"
  333.                         disp_queue[2] = 36;                         //" "
  334.                         display_TIMER_H();                         //"定時時間"時""
  335.                         disp_queue[5] = 38;                         //":"
  336.                         display_TIMER_M();                         //定時時間"分"
  337.                         break;               

  338.                 case  5:                                //顯示秒表時間
  339.                         disp_queue[0] = RUN_H / 10;                 //時
  340.                         disp_queue[1] = RUN_H % 10;
  341.                         disp_queue[2] = 39;                          //"."
  342.                         disp_queue[3] = RUN_M / 10;                //分
  343.                         disp_queue[4] = RUN_M % 10;
  344.                         disp_queue[5] = 39;                          //"."
  345.                         disp_queue[6] = RUN_S / 10;                 //秒
  346.                         disp_queue[7] = RUN_S % 10;         
  347.                         break;               

  348.                 case  6:                                //顯示作者信息"zhangjun"
  349.                         disp_queue[0] = 35;                         //"Z"
  350.                         disp_queue[1] = 17;                         //"H"
  351.                         disp_queue[2] = 10;                         //"A"
  352.                         disp_queue[3] = 23;                         //"N"
  353.                         disp_queue[4] = 16;                         //"G"
  354.                         disp_queue[5] = 19;                         //"J"
  355.                         disp_queue[6] = 30;                         //"U"
  356.                         disp_queue[7] = 23;                         //"N"
  357.                         break;               

  358.                 case  7:                                //顯示當前時間"時"
  359.                         display_TIME_H();                         //時
  360.                         display_ALL2();                         //"▉▉"
  361.                         display_ALL3();                         //"▉▉"
  362.                         display_COL();                          //":  :"
  363.                         break;               

  364.                 case  8:                                //顯示當前時間"分""秒"
  365.                         display_ALL1();                         //"▉▉"
  366.                         display_TIME_M();                         //分
  367.                         display_TIME_S();                         //秒
  368.                         display_COL();                          //":  :"
  369.                         break;               
  370. /*

  371.                 case  9:                                //顯示當前時間"年"
  372.                         display_TIME_Y();                         //年
  373.                         display_ALL2();                         //"▉▉"
  374.                         display_ALL3();                         //"▉▉"
  375.                         display_LINE();                          //"-  -"
  376.                         break;               

  377.                 case  10:                                //顯示當前時間"月"
  378.                         display_ALL1();                         //"▉▉"
  379.                         display_TIME_MO();                         //月
  380.                         display_ALL3();                         //"▉▉"
  381.                         display_LINE();                          //"-  -"
  382.                         break;               

  383.                 case  11:                                //顯示當前時間"日"
  384.                         display_ALL1();                         //"▉▉"
  385.                         display_ALL2();                         //"▉▉"
  386.                         display_TIME_D();                         //日
  387.                         display_LINE();                          //"-  -"
  388.                         break;               
  389. */
  390.                 case  12:                                //顯示定時時間"時"
  391.                         display_TM();                                //"TM"
  392.                         disp_queue[2] = 36;                         //" "
  393.                         display_TIMER_H();                         //"定時時間"時""
  394.                         disp_queue[5] = 38;                         //":"
  395.                         display_ALL3();                         //"▉▉"
  396.                         break;               

  397.                 case  13:                                //顯示定時時間"分"
  398.                         display_TM();                                //"TM"
  399.                         disp_queue[2] = 36;                         //" "
  400.                         display_ALL2();                         //"▉▉"
  401.                         disp_queue[5] = 38;                         //":"
  402.                         display_TIMER_M();                         //定時時間"分"
  403.                         break;               

  404.                 case  14:                                //顯示蜂鳴器鳴叫時間
  405.                         display_TM();                                //"TM"
  406.                         disp_queue[2] = 36;                         //" "
  407.                         disp_queue[3] = 28;                         //"S"
  408.                         disp_queue[4] = 25;                         //"P"
  409.                         disp_queue[5] = 38;                         //":"
  410.                         disp_queue[6] = SP_M / 10;                 //蜂鳴器鳴叫時間
  411.                         disp_queue[7] = SP_M % 10;
  412.                         break;               

  413.                 case  15:                                //顯示整點報時功能
  414.                         display_SET();                                //"SET -O"
  415.                         disp_queue[3] = 1;                         //"1"
  416.                         if ( FUN_ZDBS != 0 )
  417.                         {
  418.                                 disp_queue[6] = 23;                         //"N"
  419.                                 disp_queue[7] = 36;                         //" "
  420.                         }
  421.                         else
  422.                         {
  423.                                 disp_queue[6] = 15;                         //"F"
  424.                                 disp_queue[7] = 15;                         //"F"
  425.                         }
  426.                         break;               
  427. /*
  428.                 case  16:                                //顯示分鐘提示功能
  429.                         display_SET();                                //"SET -O"
  430.                         disp_queue[3] = 2;                         //"2"
  431.                         if ( FUN_FZTS != 0 )
  432.                         {
  433.                                 disp_queue[6] = 23;                         //"N"
  434.                                 disp_queue[7] = 36;                         //" "
  435.                         }
  436.                         else
  437.                         {
  438.                                 disp_queue[6] = 15;                         //"F"
  439.                                 disp_queue[7] = 15;                         //"F"
  440.                         }
  441.                         break;               
  442. */
  443.                   default:                                //以上條件都不滿足時,顯示當前時間
  444.                         display_TIME_H();                         //時
  445.                         display_TIME_M();                         //分
  446.                         display_TIME_S();                         //秒
  447.                         display_COL();                          //":  :"
  448.                         break;               
  449.         }
  450.                               

  451. }

  452. //--------------------------------------------------------
  453. //顯示掃描程序
  454. //入口: disp_queue[]=待顯示字符串隊列
  455. //--------------------------------------------------------
  456. void display_cnt()
  457. {
  458.         tU08 i;
  459.         tU08 j;

  460.         //====延時等待
  461.         P1OUT &= 0x80;                                                //清除顯示
  462.         delay_n(15000);
  463.         
  464.         //====掃描顯示隊列中的字符
  465.         for (i=0; i        {
  466.                 //====顯示當前字符
  467.                 for (j=0; j<5; j++)                                //j=列號(0~4)
  468.                 {
  469.                         P1OUT |= LCD_TAB_A[ disp_queue[i] * 5 + j ];        //送顯當前字符的當前列
  470.                         delay_n(150);                                        //列顯示延時
  471.                         P1OUT &= 0x80;                                        //清除顯示
  472.                         delay_n(10);                                        //列間隔延時
  473.                 }

  474.                 //====字符間隔延時
  475.                 delay_n(250);
  476.         }
  477. }

  478. //--------------------------------------------------------
  479. //IO初始化程序(復用口配置給key)
  480. //--------------------------------------------------------
  481. void IO_init_key()
  482. {
  483.         if (NOKEY_JSQ >= 60)                                //當無鍵計時>60秒,則禁止按鍵喚醒,必須通過慣性開關喚醒
  484.         {
  485.                 P1OUT = 0x10;                                        //P1口輸出狀態
  486.                 P1DIR = 0xEF;                                        //P1口IO狀態(0=輸入,1=輸出)
  487.                 //P1REN = 0x00;                                   //P1口上拉使能(0=禁止,1=使能)
  488.         
  489.                 P1IE |= 0x10;                                        // P14 中斷使能
  490.                
  491.         }
  492.         else
  493.         {
  494.                 P1OUT = 0x70;                                        //P1口輸出狀態
  495.                 P1DIR = 0x8F;                                        //P1口IO狀態(0=輸入,1=輸出)
  496.                 //P1REN = 0x00;                                   //P1口上拉使能(0=禁止,1=使能)
  497.         
  498.                 P1IE |= 0x70;                                        // P16~P14 中斷使能
  499.         }

  500.         P1IES |= 0x00;                                         // P1口觸發邊沿選擇 (0=上升沿有效,1=下降沿有效)
  501.         P1IFG = 0x00;                                        // IFG cleared

  502. }      

  503. //--------------------------------------------------------
  504. //IO初始化程序(復用口配置給led)
  505. //--------------------------------------------------------
  506. void IO_init_led()
  507. {
  508.         P1OUT = 0x00;                                        //P1口輸出狀態
  509.         P1DIR = 0xFF;                                        //P1口IO狀態(0=輸入,1=輸出)
  510.         //P1REN = 0x00;                                   //P1口上拉使能(0=禁止,1=使能)

  511.         //P1IE |= 0x00;                                        // P16~P14 中斷禁止
  512.         //P1IES |= 0x00;                                         // P1口觸發邊沿選擇 (0=上升沿有效,1=下降沿有效)
  513.         //P1IFG = 0x00;                                        // IFG cleared
  514. }      

  515. //--------------------------------------------------------
  516. //參數初始化程序
  517. //--------------------------------------------------------
  518. void parameter_init()
  519. {
  520.         //TIME_Y = 6;                                          //當前時間"年"(00~99)
  521.         //TIME_MO =1;                                          //當前時間"月"(1~12)
  522.         //TIME_D =1;                                          //當前時間"日"(1~31)
  523.         TIME_H =12;                                          //當前時間"時"(0~23)
  524.         TIME_M = 0;                                          //當前時間"分"(0~59)
  525.         TIME_S = 0;                                          //當前時間"秒"(0~119)

  526.         RUN_H = 0;                                        //秒表時間"時"(0~23)
  527.         RUN_M = 0;                                        //秒表時間"分"(0~59)
  528.         RUN_S = 0;                                        //秒表時間"秒"(0~119)
  529.         RUN_MD = 0;                                        //秒表狀態(0=停止,1=運行)
  530.         
  531.         TIMER_H = 7;                                        //定時時間"時"(0~23)
  532.         TIMER_M = 15;                                        //定時時間"分"(0~59)
  533.         SP_M = 10;                                        //蜂鳴器鳴叫時間設置值(0~99分)(說明:0=定時關閉)
  534.         //SP_RUN = 0;                                        //蜂鳴器鳴叫時間運行值
  535.         
  536.         WK_MODE = 0;                                        //工作模式

  537.         FUN_ZDBS = 1;                                          //整點報時(0=禁止,1=使能)
  538.         //FUN_FZTS = 0;                                          //分鐘提示(0=禁止,1=使能)

  539. }      
  540. //--------------------------------------------------------
  541. //初始化程序
  542. //--------------------------------------------------------
  543. void init()
  544. {
  545.         WDTCTL = WDTPW + WDTHOLD;                        //停止WDT
  546.         
  547.         IO_init_key();                                        //IO初始化程序(復用口配置給key)
  548.         parameter_init();                                //參數初始化程序


  549.         //定時器中斷設置
  550.         CCTL0 = CCIE;                                        //CCR0 中斷使能
  551.         CCR0 = 32768-1;                                        //定時器計數上限
  552.         TACTL = TASSEL_1 + MC_1;                        //ACLK, contmode
  553.                                                         //定時器A時鐘源選擇: 1 - ACLK
  554.                                                         //定時器A計數模式: 1 - Up to CCR0


  555. }

  556. //--------------------------------------------------------
  557. //主程序
  558. //--------------------------------------------------------
  559. void main(void)
  560. {

  561.         init();                                                //====初始化

  562.         
  563.         _BIS_SR(LPM3_bits + GIE);                        //Enter LPM3 w/ interrupt

  564.         /*
  565.         //====循環主體
  566.         while (1)                                         // Loop
  567.         {
  568.                 //asm  ( "nop" ) ;

  569.                 if (0x80 & P1IN)                        //如果P1.7=1
  570.                 {
  571.                         P1OUT &= 0x80;                        //清除顯示
  572.                 }  
  573.                 else                                        //否則
  574.                 {
  575.                         new_display();                        //刷新待顯示字符串
  576.                         display_cnt();                        //顯示掃描程序


  577.                                 
  578.                 }
  579.         }
  580.         */
  581.   
  582. }

  583. //--------------------------------------------------------
  584. //蜂鳴器控制程序
  585. //--------------------------------------------------------
  586. void SP_CNT()
  587. {
  588.                 P1OUT |= 0x80;                        //開蜂鳴器
  589.                 delay_n(20000);                        //鳴叫延時
  590.                 P1OUT &= 0x7F;                        //關蜂鳴器

  591. }
  592. //--------------------------------------------------------
  593. //Timer_A3 Interrupt Vector (TAIV) handler
  594. //Timer_A3 中斷服務程序
  595. //說明:        根據TAIV寄存器判斷,執行不同的中斷響應
  596. //中斷頻率=32768/(32768) = 1Hz
  597. //--------------------------------------------------------
  598. // Timer A0 interrupt service routine
  599. #pragma vector=TIMERA0_VECTOR
  600. __interrupt void Timer_A (void)
  601. {

  602. //時鐘系統計時
  603.         TIME_S ++;
  604.         if ( TIME_S > 59 )
  605.         {
  606.                 TIME_S = 0 ;

  607.                 //蜂鳴器鳴叫時間運行值!=0時,運行值-1
  608.                 if ( SP_RUN !=0 )
  609.                 {
  610.                         SP_RUN--;
  611.                 }

  612.                 TIME_M ++ ;

  613.                 if ( TIME_M > 59 )
  614.                 {
  615.                         TIME_M = 0 ;

  616.                         
  617.                         if ( FUN_ZDBS != 0 )        //整點報時功能        
  618.                         {
  619.                                 //SP_RUN = SP_RUN + 1;                //鳴叫一分鐘
  620.                                 SP_CNT();                        //鳴叫一聲
  621.                                 delay_n(60000);                        //鳴叫延時
  622.                                 SP_CNT();                        //鳴叫一聲
  623.                         }

  624.                         TIME_H ++ ;
  625.                         if ( TIME_H > 23 )
  626.                         {
  627.                                 TIME_H = 0 ;
  628.                                 
  629.                                 /*
  630.                                 TIME_D ++ ;
  631.                                 if ( TIME_D > 31)
  632.                                 {
  633.                                         TIME_D = 1 ;
  634.                                         TIME_MO ++ ;
  635.                                         if ( TIME_MO > 12 )
  636.                                         {
  637.                                                 TIME_MO = 1 ;
  638.                                                 TIME_Y ++ ;
  639.                                                 if ( TIME_Y > 99 )
  640.                                                 {
  641.                                                         TIME_Y = 0 ;
  642.                                                 }
  643.                                         }
  644.                                 }
  645.                                 */
  646.                                 
  647.                         }
  648.                 }
  649.         }

  650. //當當前時間=定時時間時,開始鳴叫
  651.         if (( TIME_H == TIMER_H ) && (TIME_M == TIMER_M) && ( TIME_S < 10))
  652.         {
  653.                 SP_RUN = SP_M;
  654.         }

  655. //蜂鳴器鳴叫時間運行值!=0時,鳴叫
  656.         if ( SP_RUN != 0 )
  657.         {
  658.                 SP_CNT();                        //鳴叫一聲
  659.                 //delay_n(40000);                        //鳴叫延時
  660.                 //SP_CNT();                        //鳴叫一聲
  661.         }

  662. //秒表系統計時
  663.         if (RUN_MD != 0 )
  664.         {
  665.                 RUN_S ++;
  666.                 if ( RUN_S > 59 )
  667.                 {
  668.                         RUN_S = 0 ;
  669.                         RUN_M ++ ;
  670.                         if ( RUN_M > 59 )
  671.                         {
  672.                                 RUN_M = 0 ;
  673.                                 RUN_H ++ ;
  674.                                 if ( RUN_H > 99 )
  675.                                 {
  676.                                         RUN_H = 0 ;
  677.                                 }
  678.                         }
  679.                 }
  680.         }

  681. //無鍵計時
  682.         if (NOKEY_JSQ >= 60)                                //當無鍵計時>60秒,則執行
  683.         {
  684.                 WK_MODE = 0 ;                                //切換工作模式
  685.                
  686.         }
  687.         else
  688.         {
  689.                 NOKEY_JSQ ++ ;                          //無鍵計時器(每秒+1)
  690.         }
  691.         
  692.         

  693. //        
  694.         IO_init_key();                                        //IO初始化程序(復用口配置給key)

  695. }



  696. //--------------------------------------------------------
  697. //位置信號處理功能
  698. //--------------------------------------------------------
  699. void wz_fun()
  700. {
  701.         SP_RUN = 0;                                        //蜂鳴器鳴叫時間運行值=0,取消鳴叫               
  702.         NOKEY_JSQ = 0 ;                                  //無鍵計時器=0

  703.         IO_init_led();                                        //IO初始化程序(復用口配置給led)
  704.         new_display();                                        //刷新待顯示字符串
  705.         display_cnt();                                        //顯示掃描程序


  706. }
  707.       
  708. //--------------------------------------------------------
  709. //按鍵A信號處理功能
  710. //--------------------------------------------------------
  711. void key_a_fun()
  712. {
  713.         SP_CNT();                        //鳴叫一聲
  714.         NOKEY_JSQ = 0 ;                                          //無鍵計時器=0

  715.         //====根據工作模式判斷
  716.         switch( WK_MODE )                                        //根據工作模式判斷
  717.         {
  718.                 case  0:                                //顯示當前時間        
  719.                         WK_MODE = 4 ;                                //切換工作模式
  720.                         break;               
  721. /*        
  722.                 case  1:                                //顯示當前日期        
  723.                         WK_MODE = 2 ;                                //切換工作模式
  724.                         break;               

  725.                 case  2:                                //顯示星期幾        
  726.                         WK_MODE = 3 ;                                //切換工作模式
  727.                         break;               

  728.                 case  3:                                //顯示溫度        
  729.                         WK_MODE = 4 ;                                //切換工作模式
  730.                         break;               

  731.                 case  4:                                //顯示鬧鐘時間
  732.                         RUN_S = 0 ;                                  //秒表時間"秒"(0~59)
  733.                         RUN_M = 0 ;                                  //秒表時間"分"(0~59)
  734.                         RUN_H = 0 ;                                  //秒表時間"時"(0~23)
  735.                         WK_MODE = 5 ;                                //切換工作模式
  736.                         break;               

  737.                 case  5:                                //顯示秒表時間
  738.                         WK_MODE = 6 ;                                //切換工作模式
  739.                         break;               
  740. */
  741.                 case  6:                                //顯示作者信息

  742.                         WK_MODE = 0 ;                                //切換工作模式
  743.                         break;               

  744.                 case  7:                                //顯示當前時間"時"
  745.                         if ( TIME_H < 23 )                        //時+1(0~23)        
  746.                         {
  747.                                 TIME_H ++ ;               
  748.                         }
  749.                         else
  750.                         {
  751.                                 TIME_H = 0 ;
  752.                         }
  753.                         break;               

  754.                 case  8:                                //顯示當前時間"分""秒"
  755.                         TIME_S = 0;                                //秒=0
  756.                         if ( TIME_M < 59 )                        //分+1(0~59)
  757.                         {
  758.                                 TIME_M ++ ;                                
  759.                         }
  760.                         else
  761.                         {
  762.                                 TIME_M = 0 ;
  763.                         }
  764.                         break;               
  765. /*
  766.                 case  9:                                //顯示當前時間"年"
  767.                         if ( TIME_Y < 99 )                        //年+1(0~99)
  768.                         {
  769.                                 TIME_Y ++ ;                                
  770.                         }
  771.                         else
  772.                         {
  773.                                 TIME_Y = 0 ;
  774.                         }
  775.                         break;               

  776.                 case  10:                                //顯示當前時間"月"
  777.                         if ( TIME_MO < 12 )                        //月+1(1~12)
  778.                         {
  779.                                 TIME_MO ++ ;                                
  780.                         }
  781.                         else
  782.                         {
  783.                                 TIME_MO = 1 ;
  784.                         }
  785.                         break;               

  786.                 case  11:                                //顯示當前時間"日"
  787.                         if ( TIME_D < 31 )                        //日+1(1~31)
  788.                         {
  789.                                 TIME_D ++ ;                                
  790.                         }
  791.                         else
  792.                         {
  793.                                 TIME_D = 1 ;
  794.                         }
  795.                         break;               
  796. */
  797.                 case  12:                                //顯示定時時間"時"
  798.                         if ( TIMER_H < 23 )                        //時+1(0~23)        
  799.                         {
  800.                                 TIMER_H ++ ;               
  801.                         }
  802.                         else
  803.                         {
  804.                                 TIMER_H = 0 ;
  805.                         }
  806.                         break;               

  807.                 case  13:                                //顯示定時時間"分"
  808.                         if ( TIMER_M < 59 )                        //分+1(0~59)        
  809.                         {
  810.                                 TIMER_M ++ ;               
  811.                         }
  812.                         else
  813.                         {
  814.                                 TIMER_M = 0 ;
  815.                         }
  816.                         break;               

  817.                 case  14:                                //顯示蜂鳴器鳴叫時間
  818.                         if ( SP_M < 99 )                        //蜂鳴器鳴叫時間+1(0~59)        
  819.                         {
  820.                                 SP_M ++ ;               
  821.                         }
  822.                         else
  823.                         {
  824.                                 SP_M = 0 ;
  825.                         }
  826.                         break;               

  827.                 case  15:                                //顯示整點報時功能
  828.                         FUN_ZDBS ^= 0x01;                //整點報時功能取反
  829.                         FUN_ZDBS &= 0X01;
  830.                         break;               

  831. /*
  832.                 case  16:                                //顯示分鐘提示功能
  833.                         FUN_FZTS ^= 0x01;                //分鐘提示功能取反
  834.                         FUN_FZTS &= 0X01;
  835.                         break;               
  836. */
  837.                   default:                                //以上條件都不滿足時,顯示當前時間
  838.                         WK_MODE ++ ;                                //切換工作模式
  839.                         break;        
  840.         }


  841. }      




  842. //--------------------------------------------------------
  843. //按鍵B信號處理功能
  844. //--------------------------------------------------------
  845. void key_b_fun()
  846. {
  847.         SP_CNT();                        //鳴叫一聲
  848.         NOKEY_JSQ = 0 ;                                          //無鍵計時器=0

  849.         //====根據工作模式判斷
  850.         switch( WK_MODE )                                        //根據工作模式判斷
  851.         {
  852.                 case  0:                                //顯示當前時間        
  853.                         WK_MODE = 7 ;                                //切換工作模式
  854.                         break;               
  855. /*        
  856.                 case  1:                                //顯示當前日期        
  857.                         WK_MODE = 9 ;                                //切換工作模式
  858.                         break;               

  859.                 case  2:                                //顯示星期幾        
  860.                         break;               

  861.                 case  3:                                //顯示溫度        
  862.                         TEMP ++ ;                                //當前溫度+1
  863.                         break;               
  864. */
  865.                 case  4:                                //顯示鬧鐘時間
  866.                         WK_MODE = 12 ;                                //切換工作模式
  867.                         break;               

  868. ……………………

  869. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
013522ym5b9yfama1bm1lm.png
所有資料51hei提供下載:
http://m.izizhuan.cn/bbs/dpj-88797-1.html




慣性開關實物圖.JPG
慣性開關示意圖.GIF
揮動方法.jpg
控制部分.jpg
模擬效果.gif
完整外形.jpg
顯示部分.jpg
效果1.jpg
效果2.jpg
效果3.jpg
回復

使用道具 舉報

ID:223986 發表于 2017-8-2 11:43 | 顯示全部樓層
不錯,有詳細點的組裝圖嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
亚洲福利在线视频| 免费看涩涩视频软件| 影音先锋在线中文| 狠狠色噜噜狠狠狠8888米奇| av漫画网站| 日本暖暖在线视频| 免费日韩成人| 一级片在线播放| 日本久久一级片| 亚洲精品天堂在线观看| 91黑丝在线| www免费在线观看| 国产电影一区| 欧美日韩hd| av一本久道久久综合久久鬼色| 亚洲综合在线视频| 亚洲国产精品视频在线观看 | 人人妻人人澡人人爽| 少妇太紧太爽又黄又硬又爽| 色av中文字幕| 欧美写真视频一区| 欧美freesex| 日韩精品dvd| 国产制服丝袜一区| 亚洲观看高清完整版在线观看| 精品久久久久久久久久久院品网| 久久露脸国产精品| 亚洲欧美久久234| 永久看看免费大片| 久久青青草原亚洲av无码麻豆| 欧美三级成人观看| 最新91在线| jizzyou欧美16| 欧美精品麻豆| 国产亚洲一二三区| 日韩欧美一级二级三级久久久| 97视频在线观看播放| 亚洲精品在线视频观看| 影音先锋资源av| 在线免费观看视频网站| eeuss影院www免费看| 毛片网站在线看| 久久性感美女视频| 91丨porny丨户外露出| 51午夜精品国产| 91高清视频免费观看| 在线观看日韩羞羞视频| 亚洲精品乱码久久久久久久| 国产乱淫片视频| 国产www在线观看| 精品三区视频| 久久一区二区三区四区五区 | 欧美一区二区三区爽爽爽| 亚洲第一成人在线视频| 日漫免费在线观看网站| 日韩精品成人在线观看| 美国毛片一区二区| 91成人国产精品| 人九九综合九九宗合| 日韩xxxx视频| www.天天色| 成年人免费在线视频网站| 乱馆动漫1~6集在线观看| 午夜精品久久久久99热蜜桃导演| 国产精品福利在线播放| 中文字幕日韩精品在线| 日韩欧美99| 亚洲AV无码成人精品区明星换面 | 午夜影院久久久| 久久久久久91香蕉国产| 青青视频免费在线观看| 男人操女人的视频网站| 在线观看天堂| 久久野战av| 免费人成精品欧美精品 | 日韩av中文字幕在线| eeuss一区二区三区| 亚洲精品久久久久久| 国产偷人妻精品一区二区在线| 国产传媒视频在线观看| 欧美三级午夜理伦三级在线观看| 99精品热视频| 一本一道久久a久久精品逆3p| 日本在线高清视频一区| 激情高潮到大叫狂喷水| 国产xxxx做受性欧美88| 欧美一区 二区 三区| 免费xxxx性欧美18vr| 精品视频在线免费观看| 亚洲va久久久噜噜噜久久天堂| 免费高清视频在线观看| 欧美综合视频在线| 羞羞视频在线观看不卡| 先锋a资源在线看亚洲| 欧美亚洲高清一区| 国产精品永久入口久久久| 中文字幕av观看| 黄色三级生活片| 一区二区三区在线|网站| 丝袜综合欧美| 日本人妖一区二区| 亚洲第一视频在线观看| 日韩精品久久久免费观看| 欧美日韩在线国产| 日本亚洲天堂| 欧美亚洲精品在线| 亚洲一二三专区| 国产欧美精品一区二区三区介绍 | 精品国偷自产在线| 日韩av在线第一页| 国产黄a三级三级看三级| 免费在线午夜视频| 久久亚洲色图| 亚洲精品视频网上网址在线观看| 无码毛片aaa在线| 伊人成年综合网| avav免费在线观看| 久久一区二区三区四区五区 | 一区二区久久久久久| 国产精品av免费在线观看| 国产麻豆剧传媒精品国产| 欧美乱大交xxxxx另类| 欧美精品高清| 久久久国产精品麻豆| 午夜精品一区二区三区在线视| 黑人性生活视频| 天堂在线网站| 亚洲动漫在线观看| 欧美日韩免费在线观看| 国产精品一区二区三区免费| www深夜成人a√在线| 欧美h版电影| 欧美精品成人| 亚洲爱爱爱爱爱| 91成人综合网| 日批免费在线观看| 欧美少妇激情| 亚洲免费大片在线观看| 亚洲一区二区三区毛片| 久久精品视频免费在线观看| 亚洲成人男人天堂| 亚洲欧美久久| 最新日韩中文字幕| 中文字幕一二三区| 99热精品免费| 黄动漫在线免费观看| 影音先锋日韩资源| 日韩高清a**址| 欧美精品色婷婷五月综合| 久久午夜宅男免费网站| 91嫩草精品| 欧美日韩在线视频一区二区| 欧美在线一二三区| 综合久久中文字幕| 色戒汤唯在线| 亚洲欧洲成人精品av97| 超碰97在线播放| 免费黄色av片| 在线看片国产福利你懂的| 欧美国产精品中文字幕| 97伦理在线四区| 人人草在线观看| 色在线中文字幕| 亚洲视频每日更新| 久久人人九九| 精品国产亚洲一区二区麻豆| 欧美jizz18| 色综合一个色综合亚洲| 青青草免费在线视频观看| 亚洲欧美激情在线观看| 日本亚洲视频| 欧美三级三级三级爽爽爽| 佐佐木明希av| 欧美18一14sex性处hd| 五月综合久久| 精品国产亚洲在线| 日本中文字幕影院| 四虎国产精品成人免费4hu| 影音先锋久久久| 久久精品国产一区二区三区| 91精品人妻一区二区| 宅男视频免费在线观看视频| 狠狠色丁香久久婷婷综合_中| 欧美一级大片视频| 国产在线观看99| 麻豆自创视频在线观看| 午夜久久一区| 日韩色av导航| 你懂得视频在线观看| 欧美另类极品| 国产精品久久久久久久久快鸭| 久久本道综合色狠狠五月| xxxx国产精品| 一级二级在线观看| 麻豆精品新av中文字幕| 国产脚交av在线一区二区| 日韩特黄一级片| 欧美舌奴丨vk视频| 色综合久久综合网欧美综合网 | 欧美 亚洲 另类 激情 另类| 成人国产激情在线| 在线免费av一区| 搡女人真爽免费午夜网站| 成人av小说网| 久久精品二区亚洲w码| 国产精品视频自在线| 中文字幕 国产| 成人在线超碰| 精品国产乱码久久久久久久久| 亚洲天堂网站在线| 九九九伊在人线综合| 国产午夜一区二区三区| 午夜精品福利一区二区| 国内精品女同女同一区二区三区| 欧美日韩综合| 欧美亚洲免费电影| 无码人妻丰满熟妇精品区| 1204国产成人精品视频| 日韩高清人体午夜| 又色又爽的视频| 国产盗摄——sm在线视频| 精品日韩视频在线观看| 五月婷婷狠狠操| 在线看三级网站视频| 久久久久久久av麻豆果冻| 亚洲精品9999| 九色视频入口| 国产精品88888| 久久精品日产第一区二区三区乱码 | 亚洲精品一区在线观看香蕉| 丝袜美腿中文字幕| av中文字幕在线看| 在线免费不卡电影| 蜜桃色一区二区三区| 国产素人视频在线观看| 日韩欧美主播在线| 在线免费观看av网| 黄色网页在线免费观看| 欧美视频在线观看免费网址| 欧美午夜精品理论片| 欧美性videos| 日韩欧中文字幕| 亚洲av综合色区无码另类小说| av软件在线观看| 精品婷婷伊人一区三区三| 在线免费观看污视频| zzzwww在线看片免费| 91精品久久久久久久91蜜桃| 免费a v网站| 国产精品一二三产区| 欧美一区二区私人影院日本| 97在线观看免费视频| 国产另类xxxxhd高清| 日韩美女天天操| fc2ppv在线播放| 91嫩草国产线观看亚洲一区二区| 日韩久久免费视频| 日本一级片免费看| 校花撩起jk露出白色内裤国产精品| 欧美大胆在线视频| 国产精品久久久久久久免费看| 在线国产一区二区| 91九色极品视频| 国产大奶视频| 波多野洁衣一区| 丁香六月激情婷婷| 国产在线网站| 欧美日韩综合一区| fc2ppv在线播放| 亚洲综合小说图片| 国产91精品网站| 四虎www视频| 国产经典欧美精品| 国产精品一色哟哟| 国产一级免费在线观看| 色婷婷av一区二区三区软件| 亚洲永久精品ww.7491进入| 日韩伦理一区二区| 久久国产精品久久久久| 国产三级第一页| 午夜综合激情| 九九热久久免费视频| 欧美一区二区公司| 美女久久一区| 你懂的视频在线一区二区| japanesexxxxfree在线观看| 中文字幕精品一区二区精品绿巨人| 狠狠热免费视频| 伦理在线一区| 国产香蕉97碰碰久久人人| 天天干天天操天天操| 在线成人亚洲| 欧美极品一区| 黄页网址大全在线观看| 日韩欧美aaa| 欧美色图一区二区| 天天天综合网| 久久99精品久久久久久秒播放器| 99在线免费观看| 天天影视网天天综合色在线播放 | 久久精品国产清自在天天线 | 亚洲国产wwwccc36天堂| 国产三级黄色片| 亚洲美女15p| 亚洲精品欧美极品| 美女av在线免费观看| 午夜欧美视频在线观看| а天堂中文在线资源| 欧美特黄一级大片| 国产综合动作在线观看| 性综艺节目av在线播放| 欧美艳星brazzers| 800av免费在线观看| 亚洲国产一区二区三区a毛片| 神马影院我不卡午夜| 国产视频网站在线| 亚洲国产精品yw在线观看 | 亚洲欧美成人影院| 亚洲国模精品一区| 精品人妻无码一区二区色欲产成人 | 国产精品久久国产精麻豆99网站| 久久无码专区国产精品s| 美女视频免费精品| 中文字幕欧美精品日韩中文字幕| 99久久久久成人国产免费| 国产一二精品视频| 中文字幕精品一区二区三区在线| 少妇精品视频在线观看| 国产精品盗摄久久久| 色偷偷亚洲第一综合| 欧美在线观看视频一区二区 | 午夜影院免费视频| 久久久久久亚洲综合影院红桃| 亚洲最大视频网| 日本欧美韩国国产| 久久国产精品久久| av中文天堂在线| 中文字幕亚洲第一| 国内精品不卡一区二区三区| 亚洲黄一区二区三区| 欧美性猛交xxxxx少妇| 激情视频一区二区三区| 国产精品无码人妻一区二区在线 | 国产精品午夜av| 国产亚洲一区在线播放| 成人av电影观看| 日韩在线观看免费全| seba5欧美综合另类| 五月开心婷婷久久| 伊人中文字幕在线观看| 国产成人午夜电影网| 天天插天天射天天干| 婷婷精品进入| 国产精品久久久久久久久电影网| 日韩成人影音| 成人在线视频网| 高清福利在线观看| 久久精品成人一区二区三区| 免费人成a大片在线观看动漫| 欧美在线不卡一区| 国产毛片在线视频| 国产三级久久久| 三级影片在线看| 麻豆精品一区二区综合av| 97人人模人人爽人人澡| 欧美色女视频| 国产毛片久久久久久国产毛片| 国产一区二区色噜噜| 国产精品.com| 中文字幕中文字幕在线十八区 | 性一交一黄一片| 999视频精品| 欧美一级片免费播放| 视频一区视频二区欧美| 免费看成人片| 625成人欧美午夜电影| 91在线观看免费网站| 成人高清网站| 91精品国产沙发| 色综合久久网女同蕾丝边| 久久婷婷国产麻豆91天堂| 69日本xxxxxxxxx49| 国产亚洲精品美女久久久| 你懂的在线视频观看| 精品国产伦一区二区三区观看体验| 亚洲成人国产综合| 欧洲一区在线电影| 日韩一区二区三区不卡| 精品日本高清在线播放| 肥臀熟女一区二区三区| 亚洲成人福利片| jlzzjlzzjlzz亚洲人| 亚洲国产欧美一区二区三区丁香婷| 中文字幕人妻互换av久久| 国产精品国产自产拍高清av| 国产伦精品一区二区三区视频网站| 久久久五月婷婷| 黑人一级大毛片| 欧美国产激情一区二区三区蜜月| 国产美女激情视频|