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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

小白菜的學習之路系列之四—歡天喜地搖搖棒

查看數: 5149 | 評論數: 4 | 收藏 4
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2014-12-20 18:22

正文摘要:

一 背景話說年就要過去了,某人的生日也快到了。送個什么東西好呢?小白菜開始思考了,上次送是一條小白菜自己設計定做的項鏈(銀的,不貴的,同學們可以試一下哦,保證讓小女生感動的不得了……咳咳,有點跑題了。 ...

回復

ID:71861 發表于 2015-1-8 17:06
不錯不錯
ID:70650 發表于 2014-12-20 18:27
Delay.c文件:
  1. /*
  2. ================================================================================
  3. * 開發環境  : Keil4
  4. * 文件名    : Delay.C
  5. * 程序員    : 3htech
  6. * 開發時間  : 2012-06-08
  7. * 描述      : 軟件延時函數驅動。不同內核的單片機、晶振、分頻數、指令所用的周期數不同
  8. *           :都會導致延時時間的不同。所以本驅動需要進行移植修改。
  9. * 生存條件  :
  10. ===============================================================================
  11. //修 改  :
  12. //日 期  :
  13. //描  述  :
  14. ================================================================================
  15. ================================================================================
  16. */

  17. //------------------------------    程序開關    ------------------------------//
  18. //----------------------------------------------------------------------------//
  19. // 名稱 :
  20. // 功能 :
  21. //----------------------------------------------------------------------------//


  22. //------------------------------ 系統頭文件包含 ------------------------------//

  23. //----------------------------- 自定義頭文件包含 -----------------------------//
  24. #include"Delay.h"



  25. ////////////////////////////////////////////////////////////////////////////////
  26. //                            本文件專用函數定義                              //
  27. ////////////////////////////////////////////////////////////////////////////////
  28. //----------------------------------------------------------------------------//
  29. //                      xxxx函數 (僅限本文件使用)
  30. //函數名稱:
  31. //函數功能:
  32. //入口參數:無
  33. //出口參數:無
  34. //重要說明:無
  35. //----------------------------------------------------------------------------//
  36. //修改日期:
  37. //修改人員:
  38. //修改內容:
  39. //----------------------------------------------------------------------------//

  40. ////////////////////////////////////////////////////////////////////////////////
  41. //                          本文件專用函數定義結束                            //
  42. ////////////////////////////////////////////////////////////////////////////////







  43. ////////////////////////////////////////////////////////////////////////////////
  44. //                             對外服務函數定義                               //
  45. ////////////////////////////////////////////////////////////////////////////////

  46. //----------------------------------------------------------------------------//
  47. //                      軟件延時n個毫秒函數 (對外提供服務)
  48. //函數名稱:Delay_MS
  49. //函數功能:STC90C52,Fcpu = 12MHz,12T條件下,精確的軟件延時n個毫秒。
  50. //入口參數:n,8位無符號數,延時的毫秒數。n的最大值為255,即255毫秒。小心您的看門狗。
  51. //出口參數:無。
  52. //重要說明:
  53. //編寫日期:2012-11-29
  54. //----------------------------------------------------------------------------//
  55. extern void Delay_MS(uint8 n)
  56. {
  57.     uint8 i;
  58.     for( ; n > 0; n--)
  59.     {
  60.         for(i = 200; i > 0; i--)
  61.         {
  62.             // 空。
  63.         }
  64.         for(i = 200; i > 0; i--)
  65.         {
  66.             // 空。
  67.         }
  68.         for(i = 94; i > 0; i--)
  69.         {
  70.             // 空。
  71.         }
  72.     }
  73. }

  74. //----------------------------------------------------------------------------//
  75. //                      軟件延時n個毫秒函數 (對外提供服務)
  76. //函數名稱:Delay_us
  77. //函數功能:STC90C52,Fcpu = 12MHz,12T條件下,精確的軟件延時n x 50個毫秒。
  78. //入口參數:n,8位無符號數,延時50微秒的倍數。n的最大值為255,即255 x 50微秒秒。
  79. //出口參數:無。
  80. //重要說明:
  81. //編寫日期:2012-11-29
  82. //測試結果:
  83. //  期望值-->實際值:
  84. //   50us -->  63us
  85. //  100us --> 112us
  86. //  150us --> 161us
  87. //  200us --> 210us
  88. //  250us --> 259us
  89. //  300us --> 308us
  90. //  400us --> 406us
  91. //  500us --> 504us
  92. //----------------------------------------------------------------------------//
  93. extern void Delay_50us(uint8 n)
  94. {
  95.     uint8 i;

  96.     if(0 == n)
  97.     {
  98.         return;
  99.     }

  100.     for( ; n > 0; n--)
  101.     {
  102.         for(i = 20; i > 0; i--)
  103.         {
  104.             // 空。
  105.         }
  106.     }
  107. }
  108. ////////////////////////////////////////////////////////////////////////////////
  109. //                           對外服務函數定義結束                             //
  110. ////////////////////////////////////////////////////////////////////////////////



  111. //------------------------------    文件結束    ------------------------------//
復制代碼
ID:70650 發表于 2014-12-20 18:26
TypeRedefine.H文件:
  1. /*
  2. ********************************************************************************
  3. *                                     WIT
  4. *                             淄博威特電氣有限公司
  5. *
  6. *     地址:山東省淄博市張店區淄博市高新技術開發區政通路135號高創中心E座2層
  7. *                  (c) Copyright 2012,   All Rights Reserved
  8. *                                www.weitedq.com
  9. * 開發環境  : Keil4
  10. * 文件名    : TypeRedefine.H
  11. * 程序員    : 3htech
  12. * 開發時間  : 2012-06-04
  13. * 描述      : 類型重新定義。
  14. * 生存條件  : 自由存在。
  15. *-------------------------------------------------------------------------------
  16. * 修 改    :
  17. * 日 期    :
  18. * 描  述    :
  19. *-------------------------------------------------------------------------------
  20. ********************************************************************************
  21. */


  22. //------------------------------    文件開關    ------------------------------//
  23. // 防止文件包含時多次編本文件,與本文件結尾處的endif對應。
  24. #ifndef     _TYPEREDEFINE_H_
  25.     #define _TYPEREDEFINE_H_
  26. //----------------------------------------------------------------------------//




  27. //------------------------------ 系統頭文件包含 ------------------------------//
  28. #include<stdio.H>       // 為了使用NULL的定義。

  29. //----------------------------- 自定義頭文件包含 -----------------------------//
  30. //無
  31. //--------------------------------  類型聲明  --------------------------------//
  32. //----------------------------------------------------------------------------//
  33. //類型名稱:
  34. //類型功能:
  35. //成員詳解:
  36. //重要說明:
  37. //----------------------------------------------------------------------------//


  38. //------------------------------  全局變量定義  ------------------------------//
  39. //無


  40. //--------------------------------------------------------------//
  41. //                     類型重新定義
  42. //名稱:類型重新定義
  43. //功能:
  44. //      51系列單片機應用下的類型重新定義。
  45. //      使用的是8位單片機,因此char是8位,int為16位,long為32位
  46. //--------------------------------------------------------------//

  47. typedef  bit  bdata   uint1;    //  無符號1 位整型變量需要加前綴u1

  48. typedef unsigned char uint8;    // 無符號8 位整型,前綴u8
  49. typedef   signed char  int8;    // 有符號8 位整型,前綴i8

  50. typedef unsigned int  uint16;   // 無符號16位整型,前綴u16
  51. typedef   signed int   int16;   // 有符號16位整型,前綴i16

  52. typedef unsigned long uint32;   // 無符號32位整型,前綴u32
  53. typedef   signed long  int32;   // 有符號32位整型,前綴i32

  54. typedef  float         flt32;   // 單精度浮點數(32位長度),前綴f32



  55. //-------------------------------   宏定義   ---------------------------------//
  56. //----------------------------------------------------------------------------//
  57. //宏名    :TURE, FALSE
  58. //功能    :錯誤標志或操作完成標志。
  59. //重要說明:無
  60. //----------------------------------------------------------------------------//
  61. #ifndef TRUE
  62.     #define TRUE  0
  63. #endif

  64. #ifndef FALSE
  65.     #define FALSE 1
  66. #endif
  67. //------------------------------    文件開關    ------------------------------//
  68. // 防止文件包含時多次編本文件,與本文件開頭處的 #ifndef 對應。
  69. #endif
  70. //----------------------------------------------------------------------------//


  71. //------------------------------    文件結束    ------------------------------//
復制代碼
ID:70650 發表于 2014-12-20 18:24
主程序預覽:
  1. #include "Config.H"


  2. //========================================================================//
  3. //                              慣性開關                                  //
  4. //========================================================================//
  5. sbit InertiaSwitch = P2^7;  // 為0時表示開關閉合了。
  6. //========================================================================//
  7. //                      顯示允許函數 (對外提供服務)
  8. //函數名稱:App_YYB_Disp_Enable ()
  9. //函數功能:檢查當前是否允許顯示
  10. //入口參數:無。
  11. //出口參數:TRUE = 運動到最左邊,口線電平被拉低,允許啟動顯示。FALSE = 其他位置,不允許顯示。
  12. //重要說明:
  13. //編寫日期:2012-11-29
  14. //測試結果:
  15. //========================================================================//
  16. // 函數返回值:
  17. extern uint8 App_YYB_Disp_Enable(void)
  18. {
  19.     // 閉合后口線電平為低
  20.     if(0 == InertiaSwitch)
  21.     {
  22.         Delay_MS(30);   // 在剛觸發時,搖搖棒剛行進到最左邊,此時速度很低,因而若立即啟動顯示,則必然會使字顯示的很少,所以延時一段時間。
  23.                         // 在搖搖棒速度上來之后再啟動顯示。

  24.         return TRUE;
  25.     }
  26.     else
  27.     {
  28.         return FALSE;
  29.     }
  30. }

  31. //========================================================================//
  32. //                              顯示部分                                  //
  33. //========================================================================//


  34. //========================================================================//
  35. //變量名稱:u8Picture
  36. //變量功能:保存需要顯示的數據
  37. //作用域  :全局變量、僅限本文件
  38. //重要說明:,僅適用于本程序。
  39. //========================================================================//

  40. static uint8 code u8Picture[4][32] =
  41. {

  42.     0xFF,0xFF,0xFF,0xEF,0xFF,0xEF,0xFE,0xEF,0x00,0x6F,0x80,0xEF,0xEE,0xEF,0xEE,0xEF,    // 與
  43.     0xEE,0xEF,0xEE,0xEF,0xEE,0xCF,0xEE,0xED,0xEE,0xFC,0xCE,0x01,0xFC,0x03,0xFE,0xFF,

  44.     0xFF,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xBE,0xFF,0xBE,0xFF,0xBE,0xFD,0xBE,0xFD,    // 子
  45.     0xB8,0x00,0xB0,0x01,0xA6,0xFF,0x8E,0xFF,0x1E,0xFF,0xBE,0xFF,0xFC,0xFF,0xFE,0xFF,

  46.     0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x80,0x01,0xB7,0xFF,0xB4,0x07,0xB6,0x0F,0xB6,0xEF,    // 同
  47.     0xB6,0xEF,0xB6,0x07,0xA4,0x0D,0xB6,0xFD,0x80,0x00,0x00,0x01,0xBF,0xFF,0xFF,0xFF,

  48.     0xFF,0xFF,0xFB,0xDF,0xF7,0xBF,0xCE,0x00,0x18,0x01,0xBD,0xFF,0xFF,0xFF,0xFB,0xFF,    // 行
  49.     0xBB,0xFF,0xBB,0xFD,0xBB,0xFD,0xB8,0x00,0xB8,0x01,0x3B,0xFF,0xB3,0xFF,0xFB,0xFF,

  50. };

  51. //========================================================================//
  52. //                      顯示一列數據函數 (對外提供服務)
  53. //函數名稱:App_YYB_Disp_Colum ()
  54. //函數功能:顯示一列數據。
  55. //入口參數:u8UpByte為16位的上半部分數據,u8DownByte為下半部分數據
  56. //出口參數:無。
  57. //重要說明:
  58. //編寫日期:2012-11-29
  59. //測試結果:
  60. //========================================================================//
  61. static void App_YYB_Disp_Colum(uint8 u8UpByte, uint8 u8DownByte)
  62. {
  63.     P1 = u8UpByte;
  64.     P0 = u8DownByte;

  65.     Delay_50us(10);  // 延時500us,可自行調節

  66.     P1 = 0xFF;      // 關閉顯示
  67.     P0 = 0xFF;
  68. }
  69. //========================================================================//
  70. //                      顯示圖像函數 (對外提供服務)
  71. //函數名稱:App_YYB_Disp()
  72. //函數功能:顯示一幅圖片。漢字點陣實際上也是一幅圖片
  73. //入口參數:u8disp_Enable:是否起動顯示。TRUE = 允許起動顯示,FALSE = 不允許顯示。
  74. //出口參數:無。
  75. //重要說明:
  76. //編寫日期:2012-11-29
  77. //測試結果:
  78. //========================================================================//
  79. extern void App_YYB_Disp(uint8 u8disp_Enable)
  80. {
  81.     uint8 i, k;

  82.     if(FALSE == u8disp_Enable)
  83.     {
  84.         return; // 一個函數最好只有一個出口,顯然,這里不符合要求。
  85.     }


  86.     for(i = 0; i < 4; i++)  // 要顯示的4個漢字
  87.     {
  88.         for(k = 0; k < 16; k++) // 這里,一個漢字有16列
  89.         {
  90.             App_YYB_Disp_Colum(u8Picture[i][2*k], u8Picture[i][2*k + 1]);
  91.         }

  92.         Delay_MS(1);
  93.     }

  94.     Delay_MS(20);
  95. }
  96. //========================================================================//
  97. //                               主函數                                   //
  98. //========================================================================//
  99. void main(void)
  100. {
  101.     uint8 u8State;

  102.     while(1)
  103.     {
  104.         u8State = App_YYB_Disp_Enable();

  105.         App_YYB_Disp(u8State);
  106.     }
  107. }




復制代碼

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av在线一区二区三区 | 先锋资源网站 | 久久精品97 | 成人av播放 | 综合九九 | 国产激情在线 | 亚洲va中文字幕 | 亚洲欧美中文日韩在线v日本 | 日韩欧美国产精品一区 | 伊人一二三| 久久久久久毛片免费观看 | 在线视频一区二区 | www久久爱 | 欧美一区在线看 | 成年人在线视频 | 国产精品99久久久久久动医院 | 成年人在线视频 | 日日综合 | 久久一区二 | 欧美久久电影 | 91一区二区在线观看 | 色天堂视频 | 久久在视频 | 婷婷丁香综合网 | 九九综合 | www.精品国产 | 亚洲性人人天天夜夜摸 | 成人午夜免费福利视频 | 久久亚洲一区二区 | 欧美99 | 欧美精品成人一区二区三区四区 | 永久www成人看片 | 欧美99久久精品乱码影视 | 韩国欧洲一级毛片 | 国产欧美精品在线观看 | 日韩在线欧美 | 日韩欧美手机在线 | 国产一级影片 | 成人av电影免费在线观看 | 国产成人一区二区三区 | 日本久草 |